unictype/bidi*: Rename modules.
[gnulib.git] / ChangeLog
1 2011-03-26  Bruno Haible  <bruno@clisp.org>
2
3         unictype/bidi*: Rename modules.
4         * modules/unictype/bidiclass-all: Renamed from
5         modules/unictype/bidicategory-all.
6         * modules/unictype/bidiclass-name: Renamed from
7         modules/unictype/bidiclass-name.
8         (Description): Update.
9         * modules/unictype/bidiclass-name-tests: Renamed from
10         modules/unictype/bidicategory-name-tests.
11         * modules/unictype/bidiclass-byname: Renamed from
12         modules/unictype/bidicategory-byname.
13         (Description): Update.
14         * modules/unictype/bidiclass-byname-tests: Renamed from
15         modules/unictype/bidicategory-byname-tests.
16         * modules/unictype/bidiclass-of: Renamed from
17         modules/unictype/bidicategory-of.
18         (Description): Update.
19         * modules/unictype/bidiclass-of-tests: Renamed from
20         modules/unictype/bidicategory-of-tests.
21         * modules/unictype/bidiclass-test: Renamed from
22         modules/unictype/bidicategory-test.
23         (Description): Update.
24         * modules/unictype/bidiclass-test-tests: Renamed from
25         modules/unictype/bidicategory-test-tests.
26         * modules/unictype/bidicategory-all: New file, a simple redirection.
27         * modules/unictype/bidicategory-name: Likewise.
28         * modules/unictype/bidicategory-byname: Likewise.
29         * modules/unictype/bidicategory-of: Likewise.
30         * modules/unictype/bidicategory-test: Likewise.
31         * modules/unictype/property-bidi-* (Dependencies): Update.
32         * lib/unictype/bidi_*.c: Update comment.
33
34 2011-03-26  Bruno Haible  <bruno@clisp.org>
35
36         unictype/bidi*: Rename functions, part 2.
37         * modules/unictype/bidicategory-name (configure.ac): Update required
38         libunistring version.
39         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
40
41 2011-03-25  Bruno Haible  <bruno@clisp.org>
42
43         New module 'unictype/combining-class-all'.
44         * modules/unictype/combining-class-all: New file.
45
46         Tests for module 'unictype/combining-class-byname'.
47         * modules/unictype/combining-class-byname-tests: New file.
48         * tests/unictype/test-combiningclass_byname.c: New file.
49
50         New module 'unictype/combining-class-byname'.
51         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
52         * lib/unictype/combiningclass_byname.c: New file.
53         * lib/unictype/combiningclass_byname.gperf: New file.
54         * modules/unictype/combining-class-byname: New file.
55
56         Tests for module 'unictype/combining-class-longname'.
57         * modules/unictype/combining-class-longname-tests: New file.
58         * tests/unictype/test-combiningclass_longname.c: New file.
59
60         New module 'unictype/combining-class-longname'.
61         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
62         * lib/unictype/combiningclass_longname.c: New file.
63         * modules/unictype/combining-class-longname: New file.
64
65         Tests for module 'unictype/combining-class-name'.
66         * modules/unictype/combining-class-name-tests: New file.
67         * tests/unictype/test-combiningclass_name.c: New file.
68
69         New module 'unictype/combining-class-name'.
70         * lib/unictype.in.h (uc_combining_class_name): New declaration.
71         * lib/unictype/combiningclass_name.c: New file.
72         * modules/unictype/combining-class-name: New file.
73
74 2011-03-25  Bruno Haible  <bruno@clisp.org>
75
76         unictype/combining-class: Rename source files.
77         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
78         of unictype/combining.h.
79         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
80         Update.
81         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
82         * modules/unictype/combining-class (Description): Fix.
83         (Files, Makefile.am): Update.
84         * tests/unictype/test-combiningclass.c: Renamed from
85         tests/unictype/test-combining.c.
86         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
87
88 2011-03-25  Bruno Haible  <bruno@clisp.org>
89
90         unictype: Update list of canonical combining classes.
91         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
92
93 2011-03-25  Bruno Haible  <bruno@clisp.org>
94
95         unictype/category-byname: Recognize long names as well.
96         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
97         a long name.
98         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
99         unictype/categ_byname.h.
100         (UC_CATEGORY_INDEX_*): New enumeration values.
101         (uc_general_category_byname): Use uc_general_category_lookup and
102         convert from index to value.
103         * lib/unictype/categ_byname.gperf: New file.
104         * modules/unictype/category-byname (Files): Add
105         lib/unictype/categ_byname.gperf.
106         (Depends-on): Add gperf.
107         (Makefile.am): Add rule for generating unictype/categ_byname.h.
108         * tests/unictype/test-categ_byname.c (main): Test the recognition of
109         long names.
110
111         Tests for module 'unictype/category-longname'.
112         * modules/unictype/category-longname-tests: New file.
113         * tests/unictype/test-categ_longname.c: New file.
114
115         New module 'unictype/category-longname'.
116         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
117         * lib/unictype/categ_longname.c: New file.
118         * modules/unictype/category-longname: New file.
119         * modules/unictype/category-all (Depends-on): Add it.
120
121 2011-03-25  Bruno Haible  <bruno@clisp.org>
122
123         Tests for module 'unictype/category-LC'.
124         * modules/unictype/category-LC-tests: New file.
125         * tests/unictype/test-categ_LC.c: New file, automatically generated.
126
127         New module 'unictype/category-LC'.
128         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
129         (UC_CATEGORY_LC): New declaration.
130         (UC_CASED_LETTER): New macro.
131         * lib/gen-uni-tables.c (is_category_LC): New function.
132         (output_categories): Also handle category LC.
133         (UC_CATEGORY_MASK_LC): New enumeration value.
134         (general_category_byname): Also handle category LC.
135         * lib/unictype/categ_LC.c: New file.
136         * lib/unictype/categ_LC.h: New file, automatically generated.
137         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
138         category LC.
139         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
140         * modules/unictype/category-LC: New file.
141         * modules/unictype/category-byname (Depends-on): Add
142         unictype/category-LC.
143         * modules/unictype/category-all (Depends-on): Likewise.
144
145 2011-03-25  Eric Blake  <eblake@redhat.com>
146
147         xmalloc: revert yesterday's regression
148         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
149         realloc's underlying behavior (allowing allocation of zero-size
150         objects, especially if malloc-gnu is also in use).
151
152 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
153
154         maint.mk: add missing version to VC-tag
155         * top/maint.mk: git tag was missing actual tag name; add it.
156
157         valgrind: do leak checking, and exit with code 1 on error (not 0)
158         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
159         to VALGRIND.
160
161 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
162
163         posix-modules: say what it does.
164         * posix-modules: Add a line to the --help output saying what it does.
165
166 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
167
168         xmalloc: Do not leak if underlying realloc is C99 compatible.
169         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
170         This avoids a leak on C99-based systems.  See
171         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
172
173 2011-03-24  Eric Blake  <eblake@redhat.com>
174
175         realloc: document portability problem
176         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
177         passing 0 size to realloc.
178
179 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
180
181         doc: update users.txt
182         * users.txt: Add cvsps, tmpwatch
183
184 2011-03-23  Matt Rice  <ratmice@gmail.com>
185
186         doc: update users.txt
187         * users.txt: Add gdb.
188
189 2011-03-23  Jim Meyering  <meyering@redhat.com>
190
191         doc: update users.txt
192         Looking through matches up to the following URL (there are still
193         several more pages), I found several projects that use gnulib:
194         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
195         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
196         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
197
198 2011-03-22  Bruno Haible  <bruno@clisp.org>
199
200         unictype/bidi*: Rename functions.
201         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
202         uc_bidi_class, uc_is_bidi_class): New declarations.
203         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
204         uc_bidi_category_byname.
205         (uc_bidi_category_byname): New function.
206         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
207         u_bidi_category_name.
208         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
209         (uc_bidi_category_name): New function.
210         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
211         uc_bidi_category.
212         (uc_bidi_category): New function.
213         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
214         uc_is_bidi_category. Invoke uc_bidi_class.
215         (uc_is_bidi_category): New function.
216         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
217         instead of uc_bidi_category_byname.
218         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
219         instead of uc_bidi_category_name.
220         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
221         uc_bidi_category.
222         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
223         instead of uc_is_bidi_category.
224
225 2011-03-21  Bruno Haible  <bruno@clisp.org>
226
227         New module 'unictype/joininggroup-all'.
228         * modules/unictype/joininggroup-all: New file.
229
230         Tests for module 'unictype/joininggroup-of'.
231         * modules/unictype/joininggroup-of-tests: New file.
232         * tests/unictype/test-joininggroup_of.c: New file.
233         * tests/unictype/test-joininggroup_of.h: New file, automatically
234         generated by gen-uni-tables.
235
236         New module 'unictype/joininggroup-of'.
237         * modules/unictype/joininggroup-of: New file.
238         * lib/unictype/joininggroup_of.c: New file.
239         * lib/unictype/joininggroup_of.h: New file, automatically generated by
240         gen-uni-tables.
241
242         Tests for module 'unictype/joininggroup-byname'.
243         * modules/unictype/joininggroup-byname-tests: New file.
244         * tests/unictype/test-joininggroup_byname.c: New file.
245
246         New module 'unictype/joininggroup-byname'.
247         * modules/unictype/joininggroup-byname: New file.
248         * lib/unictype/joininggroup_byname.c: New file.
249         * lib/unictype/joininggroup_byname.gperf: New file.
250
251         Tests for module 'unictype/joininggroup-name'.
252         * modules/unictype/joininggroup-name-tests: New file.
253         * tests/unictype/test-joininggroup_name.c: New file.
254
255         New module 'unictype/joininggroup-name'.
256         * modules/unictype/joininggroup-name: New file.
257         * lib/unictype/joininggroup_name.c: New file.
258         * lib/unictype/joininggroup_name.h: New file.
259
260         New module 'unictype/joiningtype-all'.
261         * modules/unictype/joiningtype-all: New file.
262
263         Tests for module 'unictype/joiningtype-of'.
264         * modules/unictype/joiningtype-of-tests: New file.
265         * tests/unictype/test-joiningtype_of.c: New file.
266         * tests/unictype/test-joiningtype_of.h: New file, automatically
267         generated by gen-uni-tables.
268
269         New module 'unictype/joiningtype-of'.
270         * modules/unictype/joiningtype-of: New file.
271         * lib/unictype/joiningtype_of.c: New file.
272         * lib/unictype/joiningtype_of.h: New file, automatically generated by
273         gen-uni-tables.
274
275         Tests for module 'unictype/joiningtype-byname'.
276         * modules/unictype/joiningtype-byname-tests: New file.
277         * tests/unictype/test-joiningtype_byname.c: New file.
278
279         New module 'unictype/joiningtype-byname'.
280         * modules/unictype/joiningtype-byname: New file.
281         * lib/unictype/joiningtype_byname.c: New file.
282
283         Tests for module 'unictype/joiningtype-name'.
284         * modules/unictype/joiningtype-name-tests: New file.
285         * tests/unictype/test-joiningtype_name.c: New file.
286
287         New module 'unictype/joiningtype-name'.
288         * modules/unictype/joiningtype-name: New file.
289         * lib/unictype/joiningtype_name.c: New file.
290
291         unictype: Add support for Arabic shaping properties.
292         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
293         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
294         declarations.
295         (UC_JOINING_GROUP_*): New enumeration values.
296         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
297         declarations.
298         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
299         (unicode_joining_type): New variable.
300         (UC_JOINING_GROUP_*): New enumeration values.
301         (unicode_joining_group): New variable.
302         (fill_arabicshaping, joining_type_as_c_identifier,
303         output_joining_type_test, output_joining_type,
304         joining_group_as_c_identifier, output_joining_group_test,
305         output_joining_group): New functions.
306         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
307         fill_arabicshaping and output_joining_type_test, output_joining_type,
308         output_joining_group_test, output_joining_group.
309         Reported by Simon Josefsson.
310
311 2011-03-21  Jim Meyering  <meyering@redhat.com>
312
313         strftime: fix a bug in yesterday's change
314         * lib/strftime.c (add): Accommodate width's initial value of -1.
315         Otherwise, nstrftime would copy uninitialized data into
316         the result buffer.
317
318 2011-03-21  Jim Meyering  <meyering@redhat.com>
319
320         tests: add strftime-tests module
321         * tests/test-strftime.c: New file.
322         * modules/strftime-tests: New module.
323
324 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
325
326         strftime: don't assume a byte count fits in 'int'
327         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
328         found this problem by static analysis, using gcc -Wstrict-overflow
329         (GCC 4.5.2, x86-64).  This reported an optimization that depended
330         on an integer overflow having undefined behavior, but it turns out
331         that the argument is a size, which might not fit in 'int' anyway,
332
333 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
334
335         stdio: don't require ignore_value around fwrite
336
337         This patch works around libc bug 11959
338         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
339         Without this patch, applications must often write
340         ignore_value (fwrite (...)) even though the ignore_value is
341         not helpful here.  It's common to write many objects, using
342         fwrite/printf/etc., and then use ferror to detect output error.
343
344         I considered making this patch optional, but decided against it,
345         because libc is obviously being inconsistent here: there is no
346         reason libc should insist that user code must inspect fwrite
347         return's value without also insisting that it inspect printf's,
348         putchar's, etc.  If user code wants to have a strict style where
349         all these functions' values are checked (so that ferror need not
350         be checked), we could add support for that style in a new gnulib
351         module, but in the meantime it's better to be consistent and to
352         support common usage.
353
354         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
355         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
356         that we are compiling in checking mode, and if not C++, and
357         if not already wrapping fwrite for some other reason.
358         (fwrite): #define to rpl_fwrite if the latter is defined.
359
360 2011-03-20  Bruno Haible  <bruno@clisp.org>
361
362         verror: Fix compilation error introduced on 2011-02-13.
363         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
364         instead of __attribute__.
365         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
366
367 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
368             Bruno Haible  <bruno@clisp.org>
369
370         socklen: do not depend on sys_socket
371         While trying to modify Emacs to use gnulib's socklen module,
372         I discovered a circular dependency: socklen depends on sys_socket
373         and vice versa.  Emacs can use socklen, but it does not need
374         sys_socket because it has its own substitute for sys/socket.h.
375         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
376         gl_TYPE_SOCKLEN_T.
377         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
378         gl_PREREQ_SYS_H_SOCKET.
379         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
380         gl_PREREQ_SYS_H_SOCKET.
381         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
382         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
383         * modules/socklen (Depends-on): Do not depend on sys_socket.
384         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
385
386 2011-03-20  Jim Meyering  <meyering@redhat.com>
387
388         maint.mk: sort file names *after* new transformation
389         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
390         prefix would have led to an unwarranted failure in GNU parted.
391         Sort after that transformation.
392
393 2011-03-19  Jim Meyering  <meyering@redhat.com>
394
395         maint.mk: fix po-file syntax-check rule
396         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
397         Patch by Bruno Haible.
398
399 2011-03-19  Bruno Haible  <bruno@clisp.org>
400
401         socklen: Update comment.
402         * m4/socklen.m4: Update comment about platforms.
403
404 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
405             Bruno Haible  <bruno@clisp.org>
406
407         inet_ntop, inet_pton: Simplify.
408         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
409         documented to provide socklen_t and we already depend on sys_socket.
410         * modules/inet_pton (Depends-on): Likewise.
411         * lib/arpa_inet.in.h: Adjust comment.
412
413 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
414             Bruno Haible  <bruno@clisp.org>
415
416         netdb: Simplify.
417         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
418         documented to provide socklen_t and we already depend on sys_socket.
419         * lib/netdb.in.h: Adjust comment.
420
421 2011-03-19  Bruno Haible  <bruno@clisp.org>
422
423         sys_socket, netdb: Document problem with socklen_t.
424         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
425         platforms.
426         * doc/posix-headers/netdb.texi: Likewise.
427
428 2011-03-18  Eric Blake  <eblake@redhat.com>
429
430         maint.mk: let po check work in VPATH build
431         * top/maint.mk (po_file): Allow cfg.mk override.
432         (sc_po_check): Allow VPATH use.
433         Reported by Jiri Denemark.
434
435 2011-03-16  Jim Meyering  <meyering@redhat.com>
436
437         maint.mk: allow fine-grained syntax-check exclusion via Make variables
438         Before, you would have had to create one .x-sc_ file per rule in order
439         to exempt offending files.  Now, you may instead use a Make variable --
440         usually defined in cfg.mk -- whose name identifies the affected rule.
441         * top/maint.mk (_sc_excl): Define.
442         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
443         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
444
445 2011-03-13  Bruno Haible  <bruno@clisp.org>
446
447         ignore-value tests: Avoid warnings.
448         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
449         empty for gcc < 3.4.
450
451 2011-03-13  Bruno Haible  <bruno@clisp.org>
452
453         passfd: Fix link error on Solaris.
454         * modules/passfd (Description): Correct.
455         (Depends-on): Add socketlib.
456         (Link): New section.
457         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
458
459 2011-03-13  Bruno Haible  <bruno@clisp.org>
460
461         passfd: Fix link error on AIX 5.2.
462         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
463
464 2011-03-13  Bruno Haible  <bruno@clisp.org>
465
466         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
467         * lib/sys_socket.in.h: Include <stddef.h>.
468         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
469         CMSG_FIRSTHDR. Remove unused variable.
470
471 2011-03-13  Bruno Haible  <bruno@clisp.org>
472
473         passfd: Fix compilation error on OpenBSD.
474         * lib/passfd.c: Include <sys/uio.h>.
475
476 2011-03-13  Bruno Haible  <bruno@clisp.org>
477
478         passfd test: Fix warnings.
479         * tests/test-passfd.c: Include <sys/wait.h>.
480         (main): Fix typo.
481
482 2011-03-13  Bruno Haible  <bruno@clisp.org>
483
484         passfd module, part 4, tweaks.
485         * tests/test-passfd.c: Reorder includes.
486         (main): Fix perror and printf calls.
487
488 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
489
490         passfd module, part 4.
491         * modules/passfd-tests: New file.
492         * tests/test-passfd.c: New file.
493
494 2011-03-13  Jim Meyering  <meyering@redhat.com>
495
496         Makefile: rely on GNU make; derive syntax-check rule names
497         Rather than requiring that each sc_ rule be listed as a dependent
498         of "check", use features of GNU make to derive the list.
499         * Makefile (syntax-check-rules): Define.
500         (check): Depend on the new variable, not the hard-coded list.
501
502 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
503             Bruno Haible  <bruno@clisp.org>
504
505         passfd module, part 3.
506         * lib/passfd.h (recvfd): Add a flags argument.
507         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
508         (recvfd): Add a flags argument.
509         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
510         exists.
511         * modules/passfd (Depends-on): Add cloexec.
512         Suggested by Eric Blake.
513
514 2011-03-13  Bruno Haible  <bruno@clisp.org>
515
516         passfd module, part 2, tweaks.
517         * modules/passfd (Files): Reorder.
518         (Depends-on): Remove errno.
519         (Include): Remove <sys/socket.h>, <sys/un.h>.
520         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
521         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
522         specification header. Include <sys/socket.h> always. Don't include
523         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
524         (sendfd): Clarify that it sets errno when it fails.
525         (recvfd): Fix specification.
526
527 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
528
529         passfd module, part 2.
530         * modules/passfd: New file.
531         * lib/passfd.h: New file.
532         * lib/passfd.c: New file.
533
534 2011-03-12  Bruno Haible  <bruno@clisp.org>
535
536         wcswidth, mbswidth: Avoid integer overflow.
537         * lib/wcswidth.c: Include <limits.h>.
538         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
539         * lib/mbswidth.c: Include <limits.h>.
540         (mbsnwidth): Avoid 'int' overflow.
541         Reported by Jim Meyering.
542
543 2011-03-12  Bruno Haible  <bruno@clisp.org>
544
545         futimens, utimensat: Avoid endless recursion on Solaris 10.
546         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
547         Solaris.
548         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
549         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
550
551 2011-03-11  Jim Meyering  <meyering@redhat.com>
552
553         maint.mk: relax a regexp to accommodate other formatting styles
554         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
555         between "ngettext" and the following "(".
556
557 2011-03-11  Pádraig Brady <P@draigBrady.com>
558
559         maint.mk: suppress a false positive warning
560         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
561         diagnostics are marked with ngettext.
562
563 2011-03-10  Eric Blake  <eblake@redhat.com>
564
565         wchar: add explicit dependencies, for Tru64
566         * modules/mbmemcasecoll (Depends-on): Add wchar.
567         * modules/mbtowc (Depends-on): Likewise.
568         * modules/vasnprintf (Depends-on): Likewise.
569         * modules/unistdio/u-printf-args (Depends-on): Likewise.
570         * modules/wctomb (Depends-on): Likewise.
571         Reported by Peter O'Gorman.
572
573 2011-03-08  Bruno Haible  <bruno@clisp.org>
574
575         passfd module, part 1, tweaks.
576         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
577         Improve indentation. Improve AC_MSG_CHECKING messages.
578         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
579         gl_SOCKET_FAMILIES.
580
581 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
582
583         passfd module, part 1.
584         * m4/afunix.m4: New file.
585         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
586         sockets.
587
588 2011-03-08  Bruno Haible  <bruno@clisp.org>
589
590         regex-quote: New API.
591         * lib/regex-quote.h: Include <stdbool.h>.
592         (struct regex_quote_spec): New type.
593         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
594         New declarations.
595         (regex_quote_length, regex_quote_copy, regex_quote): Take a
596         'const struct regex_quote_spec *' argument.
597         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
598         (pcre_special): New constant.
599         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
600         New functions.
601         (regex_quote_length, regex_quote_copy, regex_quote): Take a
602         'const struct regex_quote_spec *' argument.
603         * modules/regex-quote (Depends-on): Add stdbool.
604         * tests/test-regex-quote.c (check): Update for new API. Add test for
605         anchored results.
606         * NEWS: Mention the API change.
607         Reported by Reuben Thomas and Eric Blake.
608
609 2011-03-06  Bruno Haible  <bruno@clisp.org>
610
611         regex-quote: Fix creation of POSIX extended regular expressions.
612         * lib/regex-quote.c (ere_special): Add grouping and alternation
613         operators.
614
615 2011-03-05  Bruno Haible  <bruno@clisp.org>
616
617         doc: Improve doc regarding autopoint vs. gnulib.
618         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
619         disable autopoint while running autoreconf.
620         Suggested by Ralf Wildenhues.
621
622 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
623
624         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
625         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
626
627 2011-03-03  Bruce Korb  <bkorb@gnu.org>
628
629         parse-duration: remove xalloc.h dependency
630         * lib/parse-duration.c (parse_period): handle NULL return from
631         strdup instead of calling xstrdup().
632         * modules/parse-duration: remove "xalloc" dependency
633
634 2011-03-03  Matthew Booth  <mbooth@redhat.com>
635
636         bootstrap: honor m4_base when running aclocal
637         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
638
639 2011-03-02  Jim Meyering  <meyering@redhat.com>
640
641         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
642         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
643         on request from Matt Booth.
644
645 2011-03-01  Eric Blake  <eblake@redhat.com>
646
647         test-link: work on Hurd
648         * tests/test-link.h (test_link): Hurd rejects linking directories
649         with EISDIR instead of the POSIX-mandated EPERM.
650
651 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
652
653         stdio: simplify by moving files to printf-posix, sigpipe
654         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
655         since this symbol is needed only if printf is replaced.
656         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
657         Require gl_ASM_SYMBOL_PREFIX.
658         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
659         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
660         (Depends-on): Add 'raise'.
661         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
662         * modules/stdio (Files): Remove lib/stdio-write.c,
663         m4/asm-underscore.m4.
664         (Depends-on): Remove 'raise'.
665
666         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
667         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
668         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
669         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
670
671 2011-02-28  Bruno Haible  <bruno@clisp.org>
672
673         localcharset: Assume ANSI C behaviour of free().
674         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
675         calling free().
676         Suggested by Simon Josefsson <simon@josefsson.org>.
677
678 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
679             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
680             Bruno Haible  <bruno@clisp.org>  (tiny change)
681
682         On Cygwin, use /proc file system instead of win32 API.
683         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
684         Win32 file names.
685         (DllMain): Simplify by removing Cygwin specific code.
686         (find_shared_library_fullname): Use Linux specific implementation also
687         for Cygwin.
688         (get_shared_library_fullname): Update accordingly.
689         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
690         Win32 file names.
691         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
692         Cygwin specific code.
693
694 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
695             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
696
697         Fix OpenMP flag detection for various Fortran compilers.
698         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
699         OpenMP-conditional compilation construct, to force compile
700         failure with missing OpenMP flag.
701         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
702
703 2011-02-25  Eric Blake  <eblake@redhat.com>
704
705         strstr: expand test coverage
706         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
707         compilation.
708         * tests/test-memmem.c (main): Duplicate tests.
709         * tests/test-strcasestr.c (main): Likewise.
710         * tests/test-c-strcasestr.c (main): Likewise.
711
712 2011-02-25  Jim Meyering  <meyering@redhat.com>
713
714         maint.mk: detect missing-NL-at-EOF, too
715         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
716         it also detects when a file lacks a newline at EOF.
717         (require_exactly_one_NL_at_EOF_): Renamed from
718         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
719         since people may well have .x-sc_... file names tied to the
720         existing name.  Suggested by Eric Blake.
721
722 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
723
724         dirname: move m4/dos.m4 functionality into lib/dosname.h
725
726         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
727         extracts symbols from it, puts them into config.h; but it's much
728         easier to use the symbols directly.  filename.h already does this,
729         but it disagrees with dos.m4 in some respects.  This patch
730         introduces a different include file dosname.h that packages up
731         dos.m4, and then later we can work on merging filename.h and
732         dosname.h.  Applications that need only the easy-to-configure
733         symbols should consider including dosname.h rather than dirname.h.
734         * NEWS: Mention incompatible changes.
735         * m4/dos.m4: Remove.
736         * lib/dosname.h, modules/dosname: New files.
737         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
738         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
739         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
740         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
741         Include dosname.h, not dirname.h.
742         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
743         Include dosname.h, for definitions of symbols like ISSLASH
744         that used to be in config.h.
745         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
746         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
747         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
748         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
749         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
750         * modules/rmdir (Files): Likewise.
751         * modules/stat (Files): Likewise.
752         * modules/unlink (Files): Likewise.
753         * modules/dirname-lgpl (Depends-on): Add dosname.
754         * modules/lstat (Depends-on): Likewise.
755         * modules/openat (Depends-on): Likewise.
756         * modules/rmdir (Depends-on): Likewise.
757         * modules/savewd (Depends-on): Likewise.
758         * modules/stat (Depends-on): Likewise.
759         * modules/unlink (Depends-on): Likewise.
760         * modules/openat (Depends-on): Remove dirname-lgpl.
761         * modules/savewd (Depends-on): Likewise.
762         * tests/test-dirname.c: Do not use removed symbols like
763         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
764         the remaining symbols, e.g., ISSLASH ('\\').
765
766 2011-02-25  Eric Blake  <eblake@redhat.com>
767
768         strstr: revert patches that introduced bug and pessimization
769         * lib/str-two-way.h: Add another reference.
770         (two_way_short_needle, two_way_long_needle): Revert changes from
771         2011-02-24; they pessimize search speed.
772         (critical_factorization): Partially revert changes from
773         2010-06-22; they violate the requirement that the left half of the
774         needle be smaller than the period of the needle.
775
776 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
777
778         filenamecat: remove unnecessary dependency on dirname-lgpl
779         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
780         is no direct dependency, just an indirect one via filenamecat-lgpl.
781
782         remove: remove unnecessary use of m4/dos.m4
783         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
784         * modules/remove (FILES): Remove m4/dos.m4.
785
786         * lib/openat-proc.c: Don't include dirname.h; not needed.
787
788         backupfile: remove unnecessary use of m4/dos.m4
789         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
790         of its symbols are used by the backupfile code.  backupfile.c does
791         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
792         for the rare case of programs that want all their backup file
793         names to live within 8+3 limits, and dos.m4 doesn't address that.
794         * modules/backupfile (Files): Remove m4/dos.m4.
795
796 2011-02-24  Jim Meyering  <meyering@redhat.com>
797
798         strstr: fix a bug whereby strstr would mistakenly return NULL
799         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
800         in period calculation.
801         (two_way_long_needle): Likewise.
802         The original problem was reported by Mike Stump in
803         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
804         Ralf Wildenhues provided the short needle and haystack.
805         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
806         Add a more involved test to trigger the bug in two_way_long_needle.
807
808 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
809
810         gnulib-tool: remove use of bold display in help screen
811         * gnulib-tool (func_usage): Do not use bold display anymore in the
812         help screen.  That was just meant to be a temporary emphasis for a
813         backward-incompatible change.
814
815 2011-02-23  Bruno Haible  <bruno@clisp.org>
816
817         Fix misindentation of preprocessor directives.
818         * lib/argp-namefrob.h: Reindent preprocessor directives.
819         * lib/getopt_int.h (struct _getopt_data): Likewise.
820         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
821         * lib/vasnprintf.c (decode_long_double): Likewise.
822         * tests/test-argmatch.c: Insert blank lines, for clarity.
823         * tests/test-exclude.c: Likewise.
824
825 2011-02-22  Bruno Haible  <bruno@clisp.org>
826
827         ioctl: Fix for MacOS X in 64-bit mode.
828         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
829         value.
830         Suggested by Eric Blake.
831         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
832
833 2011-02-22  Jim Meyering  <meyering@redhat.com>
834
835         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
836         * Makefile (sc_cpp_indent_check): Don't limit the check to files
837         in lib/.
838
839 2011-02-22  Eric Blake  <eblake@redhat.com>
840
841         maint: avoid any CDPATH issue
842         * Makefile (sc_cpp_indent_check): Anchor cd argument.
843
844         maint: adjust cpp indentation for my modules, as well
845         * Makefile (sc_cpp_indent_check): Add my name.
846         * lib/fbufmode.c: Filter through cppi.
847         * lib/fpurge.c: Likewise.
848         * lib/freadable.c: Likewise.
849         * lib/freading.c: Likewise.
850         * lib/fwritable.c: Likewise.
851         * lib/fwriting.c: Likewise.
852         * lib/sigaction.c: Likewise.
853
854 2011-02-22  Jim Meyering  <meyering@redhat.com>
855
856         maint: adjust cpp indentation to reflect nesting depth
857         I.e., in a block of code that begins with an unnested "#if",
858         put one space between the "#" in column 1 and following token.
859         For example,
860         -#include <sys/vfs.h>
861         +# include <sys/vfs.h>
862         Do this only in .c files that are part of a module I maintain.
863         * lib/linkat.c: Filter through cppi.
864         * lib/nanosleep.c: Likewise.
865         * lib/openat.c: Likewise.
866         * lib/openat-die.c: Likewise.
867         * lib/dup3.c: Likewise.
868         * lib/fchownat.c: Likewise.
869         * lib/flock.c: Likewise.
870         * lib/fsync.c: Likewise.
871         * lib/fts.c: Likewise.
872         * lib/getpass.c: Likewise.
873         * lib/gettimeofday.c: Likewise.
874         * lib/userspec.c: Likewise.
875         * Makefile (sc_cpp_indent_check): New rule, to check this.
876
877 2011-02-22  Bruno Haible  <bruno@clisp.org>
878
879         New module 'wctomb'.
880         * lib/stdlib.in.h (wctomb): New declaration.
881         * lib/wctomb.c: New file.
882         * lib/wctomb-impl.h: New file.
883         * m4/wctomb.m4: New file.
884         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
885         REPLACE_WCTOMB.
886         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
887         REPLACE_WCTOMB.
888         * modules/wctomb: New file.
889         * tests/test-stdlib-c++.cc: Test signature of wctomb.
890         * doc/posix-functions/wctomb.texi: Mention the new module.
891         * modules/wctob (Depends-on): Add wctomb.
892
893 2011-02-22  Bruno Haible  <bruno@clisp.org>
894
895         New module 'mbtowc'.
896         * lib/stdlib.in.h (mbtowc): New declaration.
897         * lib/mbtowc.c: New file.
898         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
899         * m4/mbtowc.m4: New file.
900         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
901         REPLACE_MBTOWC.
902         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
903         REPLACE_MBTOWC.
904         * modules/mbtowc: New file.
905         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
906         * doc/posix-functions/mbtowc.texi: Mention the new module.
907         * modules/btowc (Depends-on): Add mbtowc.
908
909 2011-02-22  Bruno Haible  <bruno@clisp.org>
910
911         wcrtomb: Add more tests for native Windows platforms.
912         * tests/test-wcrtomb-w32-1.sh: New file.
913         * tests/test-wcrtomb-w32-2.sh: New file.
914         * tests/test-wcrtomb-w32-3.sh: New file.
915         * tests/test-wcrtomb-w32-4.sh: New file.
916         * tests/test-wcrtomb-w32-5.sh: New file.
917         * tests/test-wcrtomb-w32.c: New file.
918         * modules/wcrtomb-tests (Files): Add them.
919         (Makefile.am): Arrange to run these tests.
920         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
921         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
922
923 2011-02-20  Bruno Haible  <bruno@clisp.org>
924
925         wcrtomb: Enhance test.
926         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
927
928 2011-02-20  Bruno Haible  <bruno@clisp.org>
929
930         mbrtowc: Tiny optimization.
931         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
932
933 2011-02-20  Jim Meyering  <meyering@redhat.com>
934
935         test-exclude.c: remove unmatched #endif
936         * tests/test-exclude.c: Remove stray #endif, left over from
937         the change of a week ago.
938
939 2011-02-19  Jim Meyering  <meyering@redhat.com>
940
941         git-version-gen: skip "-dirty" check when appropriate
942         * build-aux/git-version-gen: Don't run any git commands when the
943         version string comes from .tarball-version.  Prior to this, we
944         would run git update-index --refresh even from a just-unpacked
945         tarball directory, and that could affect a .git/ directory in a
946         parent of the build directory.  Reported by Mike Frysinger.
947
948 2011-02-19  Bruno Haible  <bruno@clisp.org>
949
950         unictype/property-byname: Reduce the size of the 'data' segment.
951         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
952
953 2011-02-19  Bruno Haible  <bruno@clisp.org>
954
955         unictype/scripts: Reduce the size of the 'data' segment.
956         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
957         '%pic'.
958         * lib/unictype/scripts_byname.gperf: Regenerated.
959
960 2011-02-19  Bruno Haible  <bruno@clisp.org>
961
962         stdint: Update documentation.
963         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
964
965 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
966
967         stdint: omit redundant check for wchar.h
968         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
969         always tests whether wchar.h exists, so remove the now-redundant test.
970
971 2011-02-18  Bruno Haible  <bruno@clisp.org>
972
973         stdint: Cut dependency to module 'wchar'.
974         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
975         include the necessary prerequisites.
976         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
977         * modules/stdint (Depends-on): Remove wchar.
978         (Makefile.am): Substitute HAVE_WCHAR_H.
979         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
980
981 2011-02-18  Eric Blake  <eblake@redhat.com>
982
983         longlong: skip, rather than fail, on cross-compilation
984         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
985         when cross-compiling; regression from 2011-02-16.
986
987 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
988
989         * NEWS: Mention 2011-02-08 change to stdlib.
990
991 2011-02-17  Bruno Haible  <bruno@clisp.org>
992
993         getloadavg: Add comments about platforms.
994         * m4/getloadavg.m4: Add comment.
995         * lib/getloadavg.c: Likewise.
996
997 2011-02-17  Bruno Haible  <bruno@clisp.org>
998
999         getloadavg: Fix link error on Solaris 2.6.
1000         * modules/getloadavg (Link): New section.
1001         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
1002         linking test-getloadavg.
1003         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
1004         getloadavg.
1005
1006 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
1007
1008         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
1009         It was 'int', but this doesn't match the IRIX 6.5 manual.
1010         Suggested by Bruno Haible in
1011         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
1012
1013 2011-02-17  Bruno Haible  <bruno@clisp.org>
1014
1015         havelib: Fix comments.
1016         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
1017         change.
1018
1019 2011-02-17  Bruno Haible  <bruno@clisp.org>
1020
1021         havelib: Update config.rpath.
1022         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
1023
1024 2011-02-17  Bruno Haible  <bruno@clisp.org>
1025
1026         getloadavg test: Add some plausibility checks.
1027         * tests/test-getloadavg.c (check_avg): Print a warning when the value
1028         is improbable.
1029
1030 2011-02-16  Eric Blake  <eblake@redhat.com>
1031
1032         maintainer-makefile: make syntax-check a no-op from tarballs
1033         * top/maint.mk (no-vc-detected): New rule.
1034         (local-checks-available): Use it to avoid hanging if someone tries
1035         'make syntax-check' from a tarball.  Also append to any non-syntax
1036         checks already defined in cfg.mk.
1037
1038 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
1039
1040         longlong: tune, particularly for common case of c99
1041
1042         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
1043         or running anything if c99, or if unsigned long long int does not
1044         work.  In either case, we know the answer without further tests.
1045         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
1046         it at most once, and use its results for both long long int and
1047         unsigned long long int.  This is more likely to be efficient in
1048         the common case where the program wants to check for both long
1049         long int and unsigned long long int.
1050         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
1051         since the answer is already known.
1052
1053 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
1054
1055         getloadavg: set errno
1056         * lib/getloadavg.c: Set errno when returning -1.  If no other
1057         error number looks appropriate, set it to ENOSYS if the getloadavg
1058         looks like it can't possibly ever work, ENOTSUP otherwise.
1059         Suggested by Bruno Haible in
1060         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
1061
1062         getloadavg: trim unused parts and speed up 'configure'
1063         * NEWS: Document this.
1064         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
1065         always compiled if getloadavg is absent.
1066         Move test code to ...
1067         * tests/test-getloadavg.c: New file, containing previous
1068         contents of test from lib/getloadavg.c.  It also contains
1069         suggestions by Bruno Haible in
1070         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
1071         * modules/getloadavg-tests: New file.
1072         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
1073         Do tests in the same order as they're needed for getloadavg.c.
1074         Omit setgid-related tests that generate symbols KMEM_GROUP,
1075         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
1076         Do only the tests that are needed to see whether the system has
1077         getloadavg, moving the other tests into ...
1078         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
1079         NLIST_NAME_UNION; nobody should be using it.  Do not define
1080         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
1081         relevant, as the user of this module shouldn't care how getloadavg
1082         is implemented.
1083
1084         getloadavg: omit unused var
1085         * lib/getloadavg.c (getloadavg): Omit unused local variable.
1086
1087 2011-02-15  Jim Meyering  <meyering@redhat.com>
1088
1089         doc: update users.txt
1090         * users.txt: Update iwhd's URL.
1091
1092 2011-02-13  Bruno Haible  <bruno@clisp.org>
1093
1094         Consistent macro naming for macros that use GCC __attribute__.
1095         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
1096         _ATTRIBUTE_NONNULL_.
1097         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
1098         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
1099         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
1100         ATTRIBUTE_DEPRECATED.
1101         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
1102         ATTRIBUTE_NORETURN.
1103         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
1104         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
1105         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
1106         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
1107         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
1108         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
1109         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
1110         ATTRIBUTE_SENTINEL.
1111         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
1112         ATTRIBUTE_RETURN_CHECK.
1113         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
1114         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
1115         ATTRIBUTE_NORETURN.
1116         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
1117         Reported by Paul Eggert.
1118
1119 2011-02-13  Bruno Haible  <bruno@clisp.org>
1120
1121         Don't interfere with a program's definition of __attribute__.
1122         * lib/argp.h (__attribute__): Remove definition.
1123         (_GL_ATTRIBUTE_FORMAT): New macro.
1124         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
1125         * lib/argp-fmtstream.h (__attribute__): Remove definition.
1126         (_GL_ATTRIBUTE_FORMAT): New macro.
1127         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
1128         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
1129         GCC 3 or newer.
1130         * lib/error.h (__attribute__): Remove definition.
1131         (_GL_ATTRIBUTE_FORMAT): New macro.
1132         (error, error_at_line): Use it.
1133         * lib/hash.h (__attribute__): Remove definition.
1134         (ATTRIBUTE_WUR): Update definition. Define always.
1135         * lib/openat.h (__attribute__): Remove definition.
1136         (ATTRIBUTE_NORETURN): Update definition. Define always.
1137         * lib/sigpipe-die.h (__attribute__): Remove definition.
1138         (ATTRIBUTE_NORETURN): Update definition. Define always.
1139         * lib/vasnprintf.h (__attribute__): Remove definition.
1140         (_GL_ATTRIBUTE_FORMAT): New macro.
1141         (asnprintf, vasnprintf): Use it.
1142         * lib/xalloc.h (__attribute__): Remove definition.
1143         (ATTRIBUTE_NORETURN): Update definition. Define always.
1144         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
1145         * lib/xmemdup0.h (__attribute__): Remove definition.
1146         (ATTRIBUTE_NORETURN): Update definition. Define always.
1147         * lib/xprintf.h (__attribute__): Remove definition.
1148         (_GL_ATTRIBUTE_FORMAT): New macro.
1149         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
1150         * lib/xstrtol.h (__attribute__): Remove definition.
1151         (ATTRIBUTE_NORETURN): Update definition. Define always.
1152         * lib/xvasprintf.h (__attribute__): Remove definition.
1153         (_GL_ATTRIBUTE_FORMAT): New macro.
1154         (xasprintf, xvasprintf): Use it.
1155         * tests/test-argmatch.c (__attribute__): Remove definition.
1156         (ATTRIBUTE_NORETURN): Update definition. Define always.
1157         * tests/test-exclude.c (__attribute__): Remove definition.
1158         (ATTRIBUTE_NORETURN): Update definition. Define always.
1159         Reported by Paul Eggert.
1160
1161 2011-02-13  Bruno Haible  <bruno@clisp.org>
1162
1163         mbrtowc: Add more tests for native Windows platforms.
1164         * tests/test-mbrtowc-w32-1.sh: New file.
1165         * tests/test-mbrtowc-w32-2.sh: New file.
1166         * tests/test-mbrtowc-w32-3.sh: New file.
1167         * tests/test-mbrtowc-w32-4.sh: New file.
1168         * tests/test-mbrtowc-w32-5.sh: New file.
1169         * tests/test-mbrtowc-w32.c: New file.
1170         * modules/mbrtowc-tests (Files): Add them.
1171         (Makefile.am): Arrange to run these tests.
1172         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
1173         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
1174
1175 2011-02-13  Bruno Haible  <bruno@clisp.org>
1176
1177         mbrtowc: Work around native Windows bug.
1178         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
1179         guess when no suitable locale for testing was found.
1180         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
1181
1182 2011-02-13  Bruno Haible  <bruno@clisp.org>
1183
1184         mbsinit: Work around mingw bug.
1185         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
1186         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
1187         Windows.
1188         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
1189
1190 2011-02-13  Bruno Haible  <bruno@clisp.org>
1191
1192         mbsinit: Don't crash for a NULL argument.
1193         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
1194         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
1195
1196 2011-02-13  Bruno Haible  <bruno@clisp.org>
1197
1198         Don't interfere with a program's definition of __attribute__.
1199         * lib/stdio.in.h (__attribute__): Remove definition.
1200         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
1201         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
1202         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
1203         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
1204         * lib/string.in.h (__attribute__): Remove definition.
1205         Reported by Paul Eggert.
1206
1207 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
1208
1209         stdlib: don't get in the way of non-GCC __attribute__
1210         See thread starting at
1211         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
1212         Revert previous stdlib change, installing the following instead:
1213         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
1214         to get in the way of a non-GCC compiler that supports __attribute__.
1215         (_GL_ATTRIBUTE_RETURN): New macro.
1216         (_Exit): Use it instead of __attribute__.
1217
1218 2011-02-12  Bruno Haible  <bruno@clisp.org>
1219
1220         quotearg test: Avoid test failure on mingw.
1221         * tests/test-quotearg.sh: Convert the locale identifier from native
1222         Windows syntax to Unix syntax.
1223
1224 2011-02-12  Bruno Haible  <bruno@clisp.org>
1225
1226         setlocale: Prefer gnulib's override over libintl's override.
1227         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
1228         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
1229         GNULIB_defined_setlocale is set.
1230
1231 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
1232
1233         stdlib: support non-GCC __attribute__
1234
1235         Fix a serious and tricky problem encountered when attempting to
1236         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
1237         5.5, but it crashed due to memory corruption on Solaris 10 with
1238         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
1239         bits that are otherwise zero.  This tagging is optional inside
1240         Emacs but is preferred and is used when __attribute__ ((__aligned
1241         (8))) works, as it does with both recent-enough GCC and with Sun C
1242         5.11.  However, Sun C 5.11 is not GCC and does not #define
1243         __GNUC__ and __GNUC_MINOR__.
1244
1245         When I added the getloadavg module to Emacs, it brought in
1246         stdlib.in.h, which contained this fragment:
1247
1248            #ifndef __attribute__
1249            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
1250            #  define __attribute__(Spec)   /* empty */
1251            # endif
1252            #endif
1253
1254         When files that include <stdlib.h> were compiled with Sun C 5.11,
1255         the above code disabled __attribute__ ((__aligned (8))), which
1256         caused variables to not be properly aligned, which eventually led
1257         to the pointer corruption mentioned above.  (This was a bit hard
1258         to diagnose, unfortunately.)
1259
1260         Several "#define __attribute__(X) /* empty */" code snippets need
1261         to be eradicated from Gnulib to work with non-GCC compilers that
1262         support __attribute__.  The Autoconf way to do this is to test for
1263         each kind of attribute that we want support for, and selectively
1264         enable that in source code.
1265
1266         Fix this problem just for stdlib.h, by adding a test for the
1267         __noreturn__ attribute, and change stdlib.in.h to use that test
1268         when needed.  This technique can be easily generalized to the
1269         other *.in.h files and attributes, and a similar technique can be
1270         used for *.h and *.c files.  This patch is enough to solve the
1271         problem for Emacs + getloadavg, and I thought I'd publish it for
1272         feedback before undertaking further, similar fixes in other
1273         modules.
1274
1275         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
1276         because it's not needed for stdlib.h.  It merely substitutes the
1277         value directly into stdlib.h.  We may well need to #define it, or
1278         similar symbols, for other modules, but it's nice to also have an
1279         option to not #define it for applications like Emacs that do not
1280         need it.
1281
1282         * lib/stdlib.in.h (__attribute__): Do not #define.
1283         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
1284         be defined only if the _Exit module is also used.
1285         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
1286         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
1287         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
1288         platforms.
1289         * modules/_Exit (Files): Add m4/attribute.m4.
1290         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
1291         * m4/attribute.m4: New file.
1292
1293 2011-02-12  Bruno Haible  <bruno@clisp.org>
1294
1295         wcsrtombs: Work around bug on native Windows.
1296         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
1297         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
1298         instead of len.
1299         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
1300
1301 2011-02-12  Bruno Haible  <bruno@clisp.org>
1302
1303         mbsrtowcs: Work around bug on native Windows.
1304         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
1305         against mingw bug.
1306         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
1307
1308 2011-02-12  Bruno Haible  <bruno@clisp.org>
1309
1310         Avoid setlocale bugs in tests.
1311         * modules/btowc (Dependencies): Add setlocale.
1312         * modules/c-strcase (Dependencies): Likewise.
1313         * modules/mbmemcasecmp (Dependencies): Likewise.
1314         * modules/mbmemcasecoll (Dependencies): Likewise.
1315         * modules/mbrtowc (Dependencies): Likewise.
1316         * modules/mbscasecmp (Dependencies): Likewise.
1317         * modules/mbscasestr (Dependencies): Likewise.
1318         * modules/mbschr (Dependencies): Likewise.
1319         * modules/mbscspn (Dependencies): Likewise.
1320         * modules/mbsinit (Dependencies): Likewise.
1321         * modules/mbsncasecmp (Dependencies): Likewise.
1322         * modules/mbsnrtowcs (Dependencies): Likewise.
1323         * modules/mbspbrk (Dependencies): Likewise.
1324         * modules/mbspcasecmp (Dependencies): Likewise.
1325         * modules/mbsrchr (Dependencies): Likewise.
1326         * modules/mbsrtowcs (Dependencies): Likewise.
1327         * modules/mbsspn (Dependencies): Likewise.
1328         * modules/mbsstr (Dependencies): Likewise.
1329         * modules/nl_langinfo (Dependencies): Likewise.
1330         * modules/quotearg (Dependencies): Likewise.
1331         * modules/unicase/locale-language (Dependencies): Likewise.
1332         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
1333         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
1334         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
1335         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
1336         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
1337         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
1338         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
1339         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
1340         * modules/vasnprintf-posix (Dependencies): Likewise.
1341         * modules/wcrtomb (Dependencies): Likewise.
1342         * modules/wcsnrtombs (Dependencies): Likewise.
1343         * modules/wcsrtombs (Dependencies): Likewise.
1344
1345 2011-02-12  Bruno Haible  <bruno@clisp.org>
1346
1347         setlocale: Workaround native Windows bug.
1348         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
1349         succeeds but sets LC_CTYPE to "C", report a failure.
1350         * tests/test-setlocale2.sh: New file.
1351         * tests/test-setlocale2.c: New file.
1352         * modules/setlocale-tests (Files): Add the new files.
1353         (Makefile.am): Enable test-setlocale2.sh test.
1354         * doc/posix-functions/setlocale.texi: Mention workaround.
1355
1356 2011-02-11  Bruno Haible  <bruno@clisp.org>
1357
1358         Tests for module 'setlocale'.
1359         * modules/setlocale-tests: New file.
1360         * tests/test-setlocale1.sh: New file.
1361         * tests/test-setlocale1.c: New file.
1362
1363         New module 'setlocale'.
1364         * lib/locale.in.h (setlocale): New declaration.
1365         * lib/setlocale.c: New file, based on
1366         gettext/gettext-runtime/intl/setlocale.c.
1367         * m4/setlocale.m4: New file.
1368         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
1369         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
1370         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
1371         REPLACE_SETLOCALE.
1372         * modules/setlocale: New file.
1373         * tests/test-locale-c++.cc: Test the declaration of setlocale.
1374         * doc/posix-functions/setlocale.texi: Mention the new module.
1375
1376 2011-02-11  Bruno Haible  <bruno@clisp.org>
1377
1378         Prepare for locale dependent tests on mingw.
1379         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
1380         because it has the wrong locale encoding.
1381         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
1382         French_France.1252 instead of "fr".
1383         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
1384         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
1385         because it has the wrong locale encoding.
1386         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
1387         native Windows, try Turkish_Turkey.65001.
1388         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
1389         Chinese_China.54936.
1390
1391         Prepare for locale dependent tests on mingw.
1392         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
1393         differently.
1394         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
1395         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
1396         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
1397         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
1398
1399 2011-02-11  Eric Blake  <eblake@redhat.com>
1400
1401         strptime: avoid compiler warnings
1402         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
1403         compiler warnings about dead code.
1404         Reported by Daniel P. Berrange.
1405
1406 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
1407
1408         doc: update users.txt
1409         * users.txt: Add rcs.
1410
1411 2011-02-10  John W. Eaton  <jwe@gnu.org>
1412
1413         doc: update users.txt
1414         * users.txt: Add octave.
1415
1416 2011-02-10  Jim Meyering  <meyering@redhat.com>
1417
1418         doc: update users.txt
1419         * users.txt: Add iwhd.
1420
1421 2011-02-09  Bruno Haible  <bruno@clisp.org>
1422
1423         gnulib-tool: Make copyright notice adjustment more robust.
1424         * gnulib-tool (func_import): In sed_transform_main_lib_file,
1425         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
1426         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
1427         License".
1428         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
1429
1430 2011-02-06  Bruno Haible  <bruno@clisp.org>
1431
1432         New module 'towctrans'.
1433         * modules/towctrans: New file.
1434         * lib/wctype.in.h (towctrans): New declaration.
1435         * lib/towctrans.c: New file.
1436         * lib/towctrans-impl.h: New file.
1437         * m4/towctrans.m4: New file.
1438         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
1439         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
1440         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
1441         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
1442         * doc/posix-functions/towctrans.texi: Mention the new module.
1443
1444 2011-02-06  Bruno Haible  <bruno@clisp.org>
1445
1446         New module 'wctrans'.
1447         * modules/wctrans: New file.
1448         * lib/wctype.in.h (wctrans): New declaration.
1449         * lib/wctrans.c: New file.
1450         * lib/wctrans-impl.h: New file.
1451         * m4/wctrans.m4: New file.
1452         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
1453         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
1454         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
1455         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
1456         * doc/posix-functions/wctrans.texi: Mention the new module.
1457
1458 2011-02-06  Bruno Haible  <bruno@clisp.org>
1459
1460         New module 'iswctype'.
1461         * modules/iswctype: New file.
1462         * lib/wctype.in.h (iswctype): New declaration.
1463         * lib/iswctype.c: New file.
1464         * lib/iswctype-impl.h: New file.
1465         * m4/iswctype.m4: New file.
1466         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
1467         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
1468         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
1469         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
1470         * doc/posix-functions/iswctype.texi: Mention the new module and the
1471         HP-UX 11.00 problem.
1472
1473 2011-02-06  Bruno Haible  <bruno@clisp.org>
1474
1475         New module 'wctype'.
1476         * modules/wctype: Change to represent the wctype() substitute.
1477         * lib/wctype.in.h (wctype): New declaration.
1478         * lib/wctype.c: New file.
1479         * lib/wctype-impl.h: New file.
1480         * m4/wctype.m4: New file.
1481         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
1482         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
1483         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
1484         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
1485         * doc/posix-functions/wctype.texi: Mention the new module and the
1486         HP-UX 11.00 problem.
1487
1488 2011-02-06  Bruno Haible  <bruno@clisp.org>
1489
1490         wctype-h: Ensure wctype_t and wctrans_t are defined.
1491         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
1492         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
1493         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
1494         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
1495         HAVE_WCTRANS_T.
1496         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
1497
1498 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
1499
1500         flock: fix license typo
1501
1502         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
1503         omitted.
1504
1505 2011-02-08  Bruno Haible  <bruno@clisp.org>
1506
1507         Split large sed scripts, for HP-UX sed.
1508         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
1509         to avoid HP-UX limit of 99 commands, in the near future.
1510         * modules/stdlib (Makefile.am): Likewise.
1511         * modules/unistd (Makefile.am): Likewise.
1512         * modules/wchar (Makefile.am): Likewise.
1513         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
1514         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
1515         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
1516
1517 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
1518             Bruno Haible  <bruno@clisp.org>
1519
1520         stdlib: improve random_r modularization
1521         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
1522         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
1523         you also need the random_r module to get this material right.
1524         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
1525         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
1526         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
1527
1528 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
1529
1530         stdlib: don't depend on stdint
1531         * lib/stdlib.in.h: Don't include <stdint.h> merely because
1532         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
1533         be independent of whether stdint.h is needed.
1534         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
1535         here, instead of ...
1536         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
1537         struct random_data should be using the random_r module, not just
1538         the stdlib module (which wouldn't make sense: what package needs
1539         just struct random_data without also needing random_r?).
1540         * modules/stdlib (Depends-on): Remove stdint.
1541
1542         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
1543         See the thread rooted at
1544         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
1545         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
1546         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
1547         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
1548         __VMS)); previously it was always included (via fcntl--.h).
1549         (getloadavg): Do not use c_strtod.  Instead, approximate it by
1550         hand; this is good enough for load averages.  Also, do not use
1551         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
1552         flags directly if available and don't bother otherwise.  (Packages
1553         that need the extra reliability should use the modules that define
1554         these flags on older platforms that lack them.)
1555         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
1556         fcntl-safer.
1557
1558 2011-02-08  Jim Meyering  <meyering@redhat.com>
1559
1560         di-set.h, ino-map.h: add multiple-inclusion guard
1561         Technically, the guard is required only for ino-map.h, due to its
1562         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
1563         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
1564         * lib/ino-map.h: Likewise.
1565
1566 2011-02-06  Bruno Haible  <bruno@clisp.org>
1567
1568         iswblank: Ensure declaration on glibc systems.
1569         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
1570         * modules/iswblank (Dependencies): Add 'extensions'.
1571         * doc/posix-functions/iswblank.texi: Document the glibc problem.
1572
1573 2011-02-06  Bruno Haible  <bruno@clisp.org>
1574
1575         New module 'iswblank'.
1576         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
1577         * modules/iswblank: New file.
1578         * modules/wctype-h (Files): Remove lib/iswblank.c.
1579         (Makefile.am): Substitute GNULIB_ISWBLANK.
1580         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
1581         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
1582         (gl_WCTYPE_H_DEFAULTS): New macro.
1583         (gl_WCTYPE_H): Require it. Remove iswblank related code.
1584         * modules/iswblank-tests: New file.
1585         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
1586         * tests/test-wctype-h.c (main): Remove iswblank tests.
1587         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
1588         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
1589         of 'wctype-h'.
1590         * NEWS: Mention the change.
1591         * modules/mbchar (Depends-on): Add iswblank.
1592
1593 2011-02-08  Bruno Haible  <bruno@clisp.org>
1594
1595         di-set tests: Refactor.
1596         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
1597         unnecessary includes.
1598         (ASSERT): Remove macro.
1599         (main): Make C90 compliant by avoiding variable declaration after
1600         statement.
1601         * modules/di-set-tests (Files): Add tests/macros.h.
1602
1603 2011-02-08  Bruno Haible  <bruno@clisp.org>
1604
1605         ino-map tests: Refactor.
1606         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
1607         unnecessary includes.
1608         (ASSERT): Remove macro.
1609         (main): Make C90 compliant by avoiding variable declaration after
1610         statement.
1611         * modules/ino-map-tests (Files): Add tests/macros.h.
1612
1613 2011-02-08  Jim Meyering  <meyering@redhat.com>
1614
1615         di-set: add "const" to a cast
1616         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
1617         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
1618
1619 2011-02-06  Bruno Haible  <bruno@clisp.org>
1620
1621         Rename module 'wctype' to 'wctype-h'.
1622         * modules/wctype-h: Renamed from modules/wctype.
1623         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
1624         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
1625         (Files, Depends-on, Makefile.am): Update.
1626         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
1627         (Files, Makefile.am): Update.
1628         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
1629         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
1630         * doc/posix-headers/wctype.texi: Update.
1631         * doc/posix-functions/iswalnum.texi: Update.
1632         * doc/posix-functions/iswalpha.texi: Update.
1633         * doc/posix-functions/iswblank.texi: Update.
1634         * doc/posix-functions/iswcntrl.texi: Update.
1635         * doc/posix-functions/iswdigit.texi: Update.
1636         * doc/posix-functions/iswgraph.texi: Update.
1637         * doc/posix-functions/iswlower.texi: Update.
1638         * doc/posix-functions/iswprint.texi: Update.
1639         * doc/posix-functions/iswpunct.texi: Update.
1640         * doc/posix-functions/iswspace.texi: Update.
1641         * doc/posix-functions/iswupper.texi: Update.
1642         * doc/posix-functions/iswxdigit.texi: Update.
1643         * doc/posix-functions/towlower.texi: Update.
1644         * doc/posix-functions/towupper.texi: Update.
1645         * NEWS: Mention the change.
1646         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
1647         * modules/mbchar (Dependencies): Likewise.
1648         * modules/mbswidth (Dependencies): Likewise.
1649         * modules/quotearg (Dependencies): Likewise.
1650         * modules/regex (Dependencies): Likewise.
1651         * modules/wcscasecmp (Dependencies): Likewise.
1652         * modules/wcsncasecmp (Dependencies): Likewise.
1653         * modules/wcwidth (Dependencies): Likewise.
1654
1655 2011-02-06  Bruno Haible  <bruno@clisp.org>
1656
1657         New module 'wcswidth'.
1658         * modules/wcswidth: New file.
1659         * lib/wchar.in.h (wcswidth): New declaration.
1660         * lib/wcswidth.c: New file.
1661         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
1662         * m4/wcswidth.m4: New file.
1663         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
1664         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
1665         REPLACE_WCSWIDTH.
1666         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
1667         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
1668         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
1669         * doc/posix-functions/wcswidth.texi: Mention the new module.
1670
1671 2011-02-06  Bruno Haible  <bruno@clisp.org>
1672
1673         New module 'wcstok'.
1674         * modules/wcstok: New file.
1675         * lib/wchar.in.h (wcstok): New declaration.
1676         * lib/wcstok.c: New file.
1677         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
1678         * m4/wcstok.m4: New file.
1679         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
1680         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
1681         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
1682         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
1683         * doc/posix-functions/wcstok.texi: Mention the new module.
1684
1685 2011-02-06  Bruno Haible  <bruno@clisp.org>
1686
1687         New module 'wcsstr'.
1688         * modules/wcsstr: New file.
1689         * lib/wchar.in.h (wcsstr): New declaration.
1690         * lib/wcsstr.c: New file.
1691         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
1692         * m4/wcsstr.m4: New file.
1693         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
1694         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
1695         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
1696         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
1697         * doc/posix-functions/wcsstr.texi: Mention the new module.
1698
1699 2011-02-06  Bruno Haible  <bruno@clisp.org>
1700
1701         New module 'wcspbrk'.
1702         * modules/wcspbrk: New file.
1703         * lib/wchar.in.h (wcspbrk): New declaration.
1704         * lib/wcspbrk.c: New file.
1705         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
1706         * m4/wcspbrk.m4: New file.
1707         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
1708         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
1709         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
1710         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
1711         * doc/posix-functions/wcspbrk.texi: Mention the new module.
1712
1713 2011-02-06  Bruno Haible  <bruno@clisp.org>
1714
1715         New module 'wcsspn'.
1716         * modules/wcsspn: New file.
1717         * lib/wchar.in.h (wcsspn): New declaration.
1718         * lib/wcsspn.c: New file.
1719         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
1720         * m4/wcsspn.m4: New file.
1721         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
1722         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
1723         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
1724         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
1725         * doc/posix-functions/wcsspn.texi: Mention the new module.
1726
1727 2011-02-06  Bruno Haible  <bruno@clisp.org>
1728
1729         New module 'wcscspn'.
1730         * modules/wcscspn: New file.
1731         * lib/wchar.in.h (wcscspn): New declaration.
1732         * lib/wcscspn.c: New file.
1733         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
1734         * m4/wcscspn.m4: New file.
1735         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
1736         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
1737         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
1738         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
1739         * doc/posix-functions/wcscspn.texi: Mention the new module.
1740
1741 2011-02-06  Bruno Haible  <bruno@clisp.org>
1742
1743         New module 'wcsrchr'.
1744         * modules/wcsrchr: New file.
1745         * lib/wchar.in.h (wcsrchr): New declaration.
1746         * lib/wcsrchr.c: New file.
1747         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
1748         * m4/wcsrchr.m4: New file.
1749         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
1750         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
1751         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
1752         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
1753         * doc/posix-functions/wcsrchr.texi: Mention the new module.
1754
1755 2011-02-06  Bruno Haible  <bruno@clisp.org>
1756
1757         New module 'wcschr'.
1758         * modules/wcschr: New file.
1759         * lib/wchar.in.h (wcschr): New declaration.
1760         * lib/wcschr.c: New file.
1761         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
1762         * m4/wcschr.m4: New file.
1763         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
1764         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
1765         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
1766         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
1767         * doc/posix-functions/wcschr.texi: Mention the new module.
1768
1769 2011-02-06  Bruno Haible  <bruno@clisp.org>
1770
1771         New module 'wcsdup'.
1772         * modules/wcsdup: New file.
1773         * lib/wchar.in.h (wcsdup): New declaration.
1774         * lib/wcsdup.c: New file.
1775         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
1776         * m4/wcsdup.m4: New file.
1777         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
1778         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
1779         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
1780         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
1781         * doc/posix-functions/wcsdup.texi: Mention the new module.
1782
1783 2011-02-06  Bruno Haible  <bruno@clisp.org>
1784
1785         New module 'wcsxfrm'.
1786         * modules/wcsxfrm: New file.
1787         * lib/wchar.in.h (wcsxfrm): New declaration.
1788         * lib/wcsxfrm.c: New file.
1789         * lib/wcsxfrm-impl.h: New file.
1790         * m4/wcsxfrm.m4: New file.
1791         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
1792         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
1793         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
1794         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
1795         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
1796
1797 2011-02-06  Bruno Haible  <bruno@clisp.org>
1798
1799         New module 'wcscoll'.
1800         * modules/wcscoll: New file.
1801         * lib/wchar.in.h (wcscoll): New declaration.
1802         * lib/wcscoll.c: New file.
1803         * lib/wcscoll-impl.h: New file.
1804         * m4/wcscoll.m4: New file.
1805         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
1806         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
1807         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
1808         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
1809         * doc/posix-functions/wcscoll.texi: Mention the new module.
1810
1811 2011-02-06  Bruno Haible  <bruno@clisp.org>
1812
1813         New module 'wcsncasecmp'.
1814         * modules/wcsncasecmp: New file.
1815         * lib/wchar.in.h (wcsncasecmp): New declaration.
1816         * lib/wcsncasecmp.c: New file.
1817         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
1818         * m4/wcsncasecmp.m4: New file.
1819         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
1820         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
1821         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
1822         HAVE_WCSNCASECMP.
1823         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
1824         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
1825
1826 2011-02-06  Bruno Haible  <bruno@clisp.org>
1827
1828         New module 'wcscasecmp'.
1829         * modules/wcscasecmp: New file.
1830         * lib/wchar.in.h (wcscasecmp): New declaration.
1831         * lib/wcscasecmp.c: New file.
1832         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
1833         * m4/wcscasecmp.m4: New file.
1834         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
1835         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
1836         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
1837         HAVE_WCSCASECMP.
1838         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
1839         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
1840
1841 2011-02-05  Bruno Haible  <bruno@clisp.org>
1842
1843         New module 'wcsncmp'.
1844         * modules/wcsncmp: New file.
1845         * lib/wchar.in.h (wcsncmp): New declaration.
1846         * lib/wcsncmp.c: New file.
1847         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
1848         * m4/wcsncmp.m4: New file.
1849         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
1850         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
1851         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
1852         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
1853         * doc/posix-functions/wcsncmp.texi: Mention the new module.
1854
1855 2011-02-05  Bruno Haible  <bruno@clisp.org>
1856
1857         New module 'wcscmp'.
1858         * modules/wcscmp: New file.
1859         * lib/wchar.in.h (wcscmp): New declaration.
1860         * lib/wcscmp.c: New file.
1861         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
1862         * m4/wcscmp.m4: New file.
1863         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
1864         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
1865         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
1866         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
1867         * doc/posix-functions/wcscmp.texi: Mention the new module.
1868
1869 2011-02-05  Bruno Haible  <bruno@clisp.org>
1870
1871         New module 'wcsncat'.
1872         * modules/wcsncat: New file.
1873         * lib/wchar.in.h (wcsncat): New declaration.
1874         * lib/wcsncat.c: New file.
1875         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
1876         * m4/wcsncat.m4: New file.
1877         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
1878         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
1879         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
1880         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
1881         * doc/posix-functions/wcsncat.texi: Mention the new module.
1882
1883 2011-02-05  Bruno Haible  <bruno@clisp.org>
1884
1885         New module 'wcscat'.
1886         * modules/wcscat: New file.
1887         * lib/wchar.in.h (wcscat): New declaration.
1888         * lib/wcscat.c: New file.
1889         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
1890         * m4/wcscat.m4: New file.
1891         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
1892         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
1893         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
1894         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
1895         * doc/posix-functions/wcscat.texi: Mention the new module.
1896
1897 2011-02-05  Bruno Haible  <bruno@clisp.org>
1898
1899         New module 'wcpncpy'.
1900         * modules/wcpncpy: New file.
1901         * lib/wchar.in.h (wcpncpy): New declaration.
1902         * lib/wcpncpy.c: New file.
1903         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
1904         * m4/wcpncpy.m4: New file.
1905         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
1906         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
1907         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
1908         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
1909         * doc/posix-functions/wcpncpy.texi: Mention the new module.
1910
1911 2011-02-05  Bruno Haible  <bruno@clisp.org>
1912
1913         New module 'wcsncpy'.
1914         * modules/wcsncpy: New file.
1915         * lib/wchar.in.h (wcsncpy): New declaration.
1916         * lib/wcsncpy.c: New file.
1917         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
1918         * m4/wcsncpy.m4: New file.
1919         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
1920         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
1921         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
1922         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
1923         * doc/posix-functions/wcsncpy.texi: Mention the new module.
1924
1925 2011-02-05  Bruno Haible  <bruno@clisp.org>
1926
1927         New module 'wcpcpy'.
1928         * modules/wcpcpy: New file.
1929         * lib/wchar.in.h (wcpcpy): New declaration.
1930         * lib/wcpcpy.c: New file.
1931         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
1932         * m4/wcpcpy.m4: New file.
1933         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
1934         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
1935         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
1936         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
1937         * doc/posix-functions/wcpcpy.texi: Mention the new module.
1938
1939 2011-02-05  Bruno Haible  <bruno@clisp.org>
1940
1941         New module 'wcscpy'.
1942         * modules/wcscpy: New file.
1943         * lib/wchar.in.h (wcscpy): New declaration.
1944         * lib/wcscpy.c: New file.
1945         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
1946         * m4/wcscpy.m4: New file.
1947         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
1948         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
1949         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
1950         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
1951         * doc/posix-functions/wcscpy.texi: Mention the new module.
1952
1953 2011-02-05  Bruno Haible  <bruno@clisp.org>
1954
1955         New module 'wcsnlen'.
1956         * modules/wcsnlen: New file.
1957         * lib/wchar.in.h (wcsnlen): New declaration.
1958         * lib/wcsnlen.c: New file.
1959         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
1960         * m4/wcsnlen.m4: New file.
1961         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
1962         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
1963         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
1964         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
1965         * doc/posix-functions/wcsnlen.texi: Mention the new module.
1966
1967 2011-02-05  Bruno Haible  <bruno@clisp.org>
1968
1969         New module 'wcslen'.
1970         * modules/wcslen: New file.
1971         * lib/wchar.in.h (wcslen): New declaration.
1972         * lib/wcslen.c: New file.
1973         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
1974         * m4/wcslen.m4: New file.
1975         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
1976         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
1977         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
1978         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
1979         * doc/posix-functions/wcslen.texi: Mention the new module.
1980
1981 2011-02-05  Bruno Haible  <bruno@clisp.org>
1982
1983         New module 'wmemset'.
1984         * modules/wmemset: New file.
1985         * lib/wchar.in.h (wmemset): New declaration.
1986         * lib/wmemset.c: New file.
1987         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
1988         * m4/wmemset.m4: New file.
1989         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
1990         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
1991         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
1992         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
1993         * doc/posix-functions/wmemset.texi: Mention the new module.
1994
1995 2011-02-05  Bruno Haible  <bruno@clisp.org>
1996
1997         New module 'wmemmove'.
1998         * modules/wmemmove: New file.
1999         * lib/wchar.in.h (wmemmove): New declaration.
2000         * lib/wmemmove.c: New file.
2001         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
2002         * m4/wmemmove.m4: New file.
2003         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
2004         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
2005         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
2006         HAVE_WMEMMOVE.
2007         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
2008         * doc/posix-functions/wmemmove.texi: Mention the new module.
2009
2010 2011-02-05  Bruno Haible  <bruno@clisp.org>
2011
2012         New module 'wmemcpy'.
2013         * modules/wmemcpy: New file.
2014         * lib/wchar.in.h (wmemcpy): New declaration.
2015         * lib/wmemcpy.c: New file.
2016         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
2017         * m4/wmemcpy.m4: New file.
2018         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
2019         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
2020         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
2021         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
2022         * doc/posix-functions/wmemcpy.texi: Mention the new module.
2023
2024 2011-02-05  Bruno Haible  <bruno@clisp.org>
2025
2026         New module 'wmemcmp'.
2027         * modules/wmemcmp: New file.
2028         * lib/wchar.in.h (wmemcmp): New declaration.
2029         * lib/wmemcmp.c: New file.
2030         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
2031         * m4/wmemcmp.m4: New file.
2032         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
2033         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
2034         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
2035         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
2036         * doc/posix-functions/wmemcmp.texi: Mention the new module.
2037
2038 2011-02-07  Jim Meyering  <meyering@redhat.com>
2039
2040         di-set, ino-map: new modules, from coreutils
2041         * lib/di-set.c: New file.
2042         * lib/di-set.h: Likewise.
2043         * lib/ino-map.c: Likewise.
2044         * lib/ino-map.h: Likewise.
2045         * modules/di-set: Likewise.
2046         * modules/di-set-tests: Likewise.
2047         * modules/ino-map: Likewise.
2048         * modules/ino-map-tests: Likewise.
2049         * tests/test-di-set.c: Likewise.
2050         * tests/test-ino-map.c: Likewise.
2051
2052 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
2053
2054         getloadavg: merge minor changes from Emacs
2055
2056         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
2057         (getloadavg): Use memset, not bzero.
2058
2059         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
2060         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2061         clash (bug#86).
2062
2063 2010-11-14  Bruno Haible  <bruno@clisp.org>
2064
2065         Allow multiple gnulib generated replacements to coexist.
2066         * lib/getopt.in.h (struct option): Avoid identical redefinition.
2067         * lib/inttypes.in.h (imaxdiv_t): Likewise.
2068         * lib/langinfo.in.h (nl_item): Likewise.
2069         * lib/math.in.h (_NaN, NAN): Likewise.
2070         * lib/netdb.in.h (struct addrinfo): Likewise.
2071         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
2072         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
2073         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
2074         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
2075         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
2076         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
2077         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
2078         pthread_mutexattr_init, pthread_mutexattr_settype,
2079         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
2080         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
2081         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
2082         pthread_spin_trylock, pthread_spin_unlock): Likewise.
2083         * lib/sched.in.h (struct sched_param): Likewise.
2084         * lib/se-selinux.in.h (security_class_t, security_context_t,
2085         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
2086         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
2087         lsetfilecon, fsetfilecon, security_check_context,
2088         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
2089         Likewise.
2090         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
2091         Likewise.
2092         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
2093         _gl_function_taking_int_returning_void_t, union sigval,
2094         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
2095         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
2096         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
2097         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
2098         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
2099         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
2100         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
2101         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
2102         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
2103         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
2104         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
2105         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
2106         socklen_t, rpl_fd_isset): Likewise.
2107         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
2108         * lib/sys_time.in.h (struct timeval): Likewise.
2109         * lib/sys_times.in.h (struct tms): Likewise.
2110         * lib/sys_utsname.in.h (struct utsname):
2111         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
2112         * lib/unistd.in.h (getpagesize): Likewise.
2113         * lib/wchar.in.h (mbstate_t): Likewise.
2114         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
2115         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
2116         towlower, towupper): Likewise.
2117         Reported by Sam Steingold <sds@gnu.org>.
2118
2119 2011-02-05  Eric Blake  <eblake@redhat.com>
2120
2121         unsetenv: work around Haiku issues
2122         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
2123         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
2124
2125 2010-12-30  Bruce Korb  <bkorb@gnu.org>
2126
2127         libposix: avoid calling error() within libposix
2128         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
2129         is defined.
2130
2131 2011-02-05  Eric Blake  <eblake@redhat.com>
2132
2133         strerror_r-posix: port to cygwin
2134         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
2135         implementation.
2136         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
2137         * tests/test-strerror_r.c (main): Fix test.
2138         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
2139         issue.
2140
2141 2011-02-05  Bruno Haible  <bruno@clisp.org>
2142
2143         New module 'wmemchr'.
2144         * modules/wmemchr: New file.
2145         * lib/wchar.in.h (wmemchr): New declaration.
2146         * lib/wmemchr.c: New file.
2147         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
2148         * m4/wmemchr.m4: New file.
2149         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
2150         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
2151         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
2152         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
2153         * doc/posix-functions/wmemchr.texi: Mention the new module.
2154
2155 2011-02-04  Eric Blake  <eblake@redhat.com>
2156
2157         fdopendir: detect FreeBSD bug
2158         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
2159         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
2160
2161 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
2162
2163         stdbool: do not define HAVE_STDBOOL_H
2164         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
2165         AC_HEADER_STDBOOL.  All uses changed.  Do not define
2166         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
2167         imported from the latest Autoconf git.  It was motivated by Emacs,
2168         which uses gnulib but does not need HAVE_STDBOOL_H.
2169
2170 2011-02-04  Bruno Haible  <bruno@clisp.org>
2171
2172         wcsnrtombs: Prepare for new module wwcsnrtombs.
2173         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
2174         * lib/wcsnrtombs.c: Include it.
2175         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
2176
2177         wcsrtombs: Prepare for new module wwcsrtombs.
2178         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
2179         * lib/wcsrtombs.c: Include it.
2180         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
2181
2182         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
2183         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
2184         * lib/mbsnrtowcs.c: Include it.
2185         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
2186
2187         mbsrtowcs: Prepare for new module mbsrtowwcs.
2188         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
2189         * lib/mbsrtowcs.c: Include it.
2190         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
2191
2192 2011-02-04  Bruno Haible  <bruno@clisp.org>
2193
2194         vasnprintf: Reduce use of malloc for small format strings.
2195         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
2196         (arguments): Add room for the first 7 arguments.
2197         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
2198         (char_directives, u8_directives, u16_directives, u32_directives): Add
2199         room for the first 7 directives.
2200         * lib/printf-parse.c: Include <string.h>.
2201         (PRINTF_PARSE): Change memory handling code so that it uses the first
2202         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
2203         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
2204         Reported by Pádraig Brady <P@draigbrady.com>.
2205
2206 2011-01-31  Eric Blake  <eblake@redhat.com>
2207
2208         dup2: work around Haiku bug
2209         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
2210         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
2211         * doc/posix-functions/dup2.texi (dup2): Document the bug.
2212         * tests/test-dup2.c (main): Enhance test.
2213
2214 2011-01-31  Simon Josefsson  <simon@josefsson.org>
2215
2216         doc: off_t is not available in eglibc 2.11.2 stdio.h.
2217         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
2218         declared by eglibc 2.11.2.
2219         * lib/stdio.in.h: Likewise.
2220
2221 2011-01-31  Eric Blake  <eblake@redhat.com>
2222
2223         ignore-value: add missing test dependency
2224         * tests/test-ignore-value.c: Revert previous change; stdio.h
2225         provides off_t.
2226         * modules/ignore-value-tests (Depends-on): Add missing dependency.
2227
2228 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
2229
2230         mktime: clarify long_int width checking
2231         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
2232         the top level, to make it clearer that the assumption about
2233         long_int width is being checked.  See
2234         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
2235
2236 2011-01-30  Simon Josefsson  <simon@josefsson.org>
2237
2238         ignore-value: Fix self-test.
2239         * tests/test-ignore-value.c: Include sys/types.h for off_t.
2240
2241 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
2242
2243         TYPE_MAXIMUM: avoid theoretically undefined behavior
2244         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
2245         negative number, which the C Standard says has undefined behavior.
2246         In practice this is not a problem, but might as well do it by the book.
2247         Reported by Rich Felker and Eric Blake; see
2248         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
2249         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
2250         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
2251         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
2252         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
2253         * m4/stdint.m4 (gl_STDINT_H): Likewise.
2254         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
2255
2256         mktime: #undef mktime before #defining it
2257         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
2258
2259         mktime: systematically normalize tm_isdst comparisons
2260         * lib/mktime.c (isdst_differ): New function.
2261         (__mktime_internal): Use it systematically for all isdst comparisons.
2262         This completes the fix for libc BZ #6723, and removes the need for
2263         normalizing tm_isdst.  See
2264         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
2265         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
2266
2267         mktime: fix some integer overflow issues and sidestep the rest
2268
2269         This was prompted by a bug report by Benjamin Lindner for MinGW
2270         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
2271         His bug is due to signed integer overflow (0 - INT_MIN), and I
2272         I scanned through mktime.c looking for other integer overflow
2273         problems, fixing all the bugs I found.
2274
2275         Although the C Standard says the resulting code is still not safe
2276         in the presence of integer overflow, in practice it should be good
2277         enough for all real-world two's-complement implementations, except
2278         for debugging environments that deliberately trap on integer
2279         overflow (e.g., gcc -ftrapv).
2280
2281         * lib/mktime.c (WRAPV): New macro.
2282         (SHR): Also check that long_int and time_t shift right in the
2283         usual way, before using the fast-but-unportable method.
2284         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
2285         used.  The code already assumed two's complement, so there's
2286         no need to test for alternatives.  All uses removed.
2287         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
2288         the C standard.  Problem reported by Rich Felker in
2289         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
2290         (twos_complement_arithmetic): Also check long_int and time_t.
2291         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
2292         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
2293         (__mktime_internal): Avoid integer overflow with unary subtraction
2294         in two instances where -1 - X is an adequate replacement for -X,
2295         since the calculations are approximate.
2296
2297 2011-01-29  Eric Blake  <eblake@redhat.com>
2298
2299         mktime: avoid infinite loop
2300         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
2301         type; behavior is still undefined but portable to all known targets.
2302         Reported by Rich Felker.
2303
2304 2011-01-29  Simon Josefsson  <simon@josefsson.org>
2305
2306         rename, unlink, same-inode: Relicense.
2307         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
2308         * modules/unlink (License): Likewise.
2309         * modules/same-inode (License): Likewise.
2310
2311 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
2312
2313         mktime: avoid problems on NetBSD 5 / i386
2314         * lib/mktime.c (long_int): New type.  This works around a problem
2315         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
2316         but time_t is 64 bits, and where I expect the existing code is
2317         wrong in some cases.
2318         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
2319         (ydhms_diff): Bring back the compile-time check for wide-enough
2320         year and yday.
2321
2322         mktime: fix misspelling in comment
2323         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
2324         This merges all recent glibc changes of importance.
2325
2326 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2327
2328         move-if-change: cope with concurrent mv of identical file.
2329         * build-aux/move-if-change (CMPPROG): Accept environment
2330         variable as an override for `cmp'.
2331         (usage): Document CMPPROG.
2332         Adjust comparison to drop stdout.  Cope with failure of mv if
2333         the target file exists and is identical to the source, for
2334         parallel builds.
2335         Report from H.J. Lu against binutils in PR binutils/12283.
2336
2337 2011-01-28  Bruce Korb  <bkorb@gnu.org>
2338
2339         * users.txt: Mention sharutils.
2340
2341 2011-01-28  Simon Josefsson  <simon@josefsson.org>
2342
2343         * users.txt: Mention OATH Toolkit.
2344
2345 2011-01-27  Bruno Haible  <bruno@clisp.org>
2346
2347         Prepare for supporting FreeBSD 10.
2348         * build-aux/config.libpath: Remove handling of freebsd1*.
2349
2350 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
2351
2352         Prepare for supporting FreeBSD 10.
2353         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
2354         match FreeBSD 10.0.
2355
2356 2011-01-27  Bruno Haible  <bruno@clisp.org>
2357
2358         vma-iter, get-rusage-as: Add OpenBSD support.
2359         * modules/vma-iter (configure.ac): Test for mquery.
2360         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
2361         * lib/vma-iter.c: Include <sys/mman.h>.
2362         (vma_iterate): Add an implementation based on mquery().
2363         * lib/resource-ext.h (get_rusage_as): Update comments.
2364         * lib/get-rusage-as.c: Likewise.
2365         * lib/get-rusage-data.c: Likewise.
2366
2367 2011-01-26  Karl Berry  <karl@gnu.org>
2368
2369         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
2370         variables to make it easier to override the makeinfo program used.
2371
2372 2011-01-26  Eric Blake  <eblake@redhat.com>
2373
2374         fcntl: work around Haiku F_DUPFD bugs
2375         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
2376         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
2377         cloexec bit on duplication.
2378         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
2379
2380 2011-01-26  Bruno Haible  <bruno@clisp.org>
2381
2382         Enable memory leak tests on AIX.
2383         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
2384         * tests/test-fprintf-posix3.c (main): Likewise.
2385
2386 2011-01-26  Bruno Haible  <bruno@clisp.org>
2387
2388         Tests for module 'get-rusage-data'.
2389         * modules/get-rusage-data-tests: New file.
2390         * tests/test-get-rusage-data.c: New file.
2391
2392         New module 'get-rusage-data'.
2393         * lib/resource-ext.h (get_rusage_data): New declaration.
2394         * lib/get-rusage-data.c: New file.
2395         * modules/get-rusage-data: New file.
2396
2397 2011-01-25  Bruno Haible  <bruno@clisp.org>
2398
2399         get-rusage-as: Allow for easier testing.
2400         * lib/resource-ext.h (get_rusage_as): Add comment.
2401         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
2402         (main): New function for interactive testing.
2403
2404 2011-01-25  Bruno Haible  <bruno@clisp.org>
2405
2406         vma-iter: Treat Haiku like BeOS.
2407         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
2408         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
2409
2410 2011-01-25  Eric Blake  <eblake@redhat.com>
2411
2412         c-stack: fix regression on cygwin when libsigsegv is present
2413         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
2414
2415 2011-01-24  Bruno Haible  <bruno@clisp.org>
2416
2417         vma-iter: Avoid empty intervals.
2418         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
2419         on an empty interval.
2420
2421 2011-01-24  Jim Meyering  <meyering@redhat.com>
2422
2423         u64: remove unnecessary #include
2424         * lib/u64.h: Don't include <stddef.h>.  It was not used.
2425
2426 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2427
2428         Allow the user to avoid the GNULIB_TEST_* macros.
2429         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
2430
2431 2011-01-23  Bruno Haible  <bruno@clisp.org>
2432
2433         New module 'vma-iter'.
2434         * lib/vma-iter.h: New file.
2435         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
2436         * modules/vma-iter: New file.
2437         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
2438         for get_rusage_as_via_iterator.
2439         (vma_iterate_callback): New function.
2440         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
2441         * modules/get-rusage-as (Depends-on): Add vma-iter.
2442
2443 2011-01-23  Bruno Haible  <bruno@clisp.org>
2444
2445         uninorm: Tweak includes.
2446         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
2447         Reported by Jim Meyering.
2448
2449 2011-01-23  Bruno Haible  <bruno@clisp.org>
2450
2451         get-rusage-as: Improve on NetBSD.
2452         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
2453         /proc, like on FreeBSD.
2454
2455 2011-01-23  Jim Meyering  <meyering@redhat.com>
2456
2457         xreadlink.h: remove unnecessary #include
2458         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
2459
2460         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
2461         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
2462
2463 2011-01-23  Bruno Haible  <bruno@clisp.org>
2464
2465         get-rusage-as: Fix bug.
2466         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
2467         original limit when aborting the first loop.
2468
2469 2011-01-23  Bruno Haible  <bruno@clisp.org>
2470
2471         wctype: Ensure valid C syntax.
2472         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
2473         unconditionally, instead of gl_NEXT_HEADERS conditionally.
2474
2475 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
2476
2477         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
2478         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
2479         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
2480         as they are needed only for configure's test case.
2481         This removes two unnecessary symbols from config.h.
2482
2483         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
2484         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
2485         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
2486         AC_CHECK_HEADERS_ONCE on a header that we also invoke
2487         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
2488         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
2489         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
2490         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
2491         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
2492         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
2493         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
2494         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
2495         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
2496         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
2497         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
2498         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
2499         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
2500         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
2501
2502 2011-01-21  Eric Blake  <eblake@redhat.com>
2503
2504         maintainer-makefile: work with older git for submodule check
2505         * top/maint.mk (public-submodule-commit): Rewrite to avoid
2506         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
2507         Reported by Matthias Bolte.
2508
2509         bootstrap: minor portability fixes
2510         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
2511         (usage): Omit leading capital and trailing . on help phrases, per
2512         GNU Coding Standards.
2513         (check_versions, top level): Prefix messages with script name.
2514
2515 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
2516
2517         bootstrap: support --no-git option
2518         * build-aux/bootstrap: Add --no-git option, to be used when
2519         --gnulib-srcdir points to the exact desired checkout.
2520
2521 2011-01-21  Eric Blake  <eblake@redhat.com>
2522
2523         strerror_r-posix: work with glibc 2.13
2524         * lib/strerror_r.c (strerror_r): Fix return type.
2525
2526 2011-01-21  Pádraig Brady  <P@draigBrady.com>
2527             Bruno Haible  <bruno@clisp.org>
2528
2529         uN_strstr: New unit tests.
2530         * modules/unistr/u8-strstr-tests: New file.
2531         * modules/unistr/u16-strstr-tests: New file.
2532         * modules/unistr/u32-strstr-tests: New file.
2533         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
2534         * tests/unistr/test-u8-strstr.c: New file.
2535         * tests/unistr/test-u16-strstr.c: New file.
2536         * tests/unistr/test-u32-strstr.c: New file.
2537
2538 2011-01-21  Pádraig Brady  <P@draigBrady.com>
2539             Bruno Haible  <bruno@clisp.org>
2540
2541         Make uN_strstr functions O(n) worst-case.
2542         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
2543         16-bit and 32-bit unit cases, use the unibyte algorithm from
2544         lib/mbsstr.c.
2545         * lib/unistr/u8-strstr.c: Include <string.h>.
2546         (UNIT_IS_UINT8_T): New macro.
2547         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
2548         (U_STRLEN, U_STRNLEN): New macros.
2549         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
2550         (U_STRLEN, U_STRNLEN): New macros.
2551         * modules/unistr/u8-strstr (Depends-on): Add strstr.
2552         (configure.ac): Update required libunistring version.
2553         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
2554         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
2555         malloca.
2556         (configure.ac): Update required libunistring version.
2557         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
2558         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
2559         malloca.
2560         (configure.ac): Update required libunistring version.
2561
2562 2011-01-21  Pádraig Brady  <P@draigBrady.com>
2563             Bruno Haible  <bruno@clisp.org>
2564
2565         Prepare for faster uN_strstr functions.
2566         * lib/str-kmp.h: Support definable UNITs.
2567         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
2568         needle_len argument.
2569         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
2570         * lib/mbscasestr.c (mbscasestr): Likewise.
2571
2572 2011-01-21  Pádraig Brady <P@draigBrady.com>
2573
2574         malloca-tests: make faster by unsetting MALLOC_PERTURB_
2575         * tests/test-malloca.c (main): Unset the environment variable
2576         to greatly speed up the test.
2577         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
2578         * modules/malloca-tests: Depend on unsetenv.
2579
2580 2011-01-21  Pádraig Brady <P@draigBrady.com>
2581
2582         ignore-value: remove stdint dependency
2583         * lib/ignore-value.h: Remove <stdint.h>
2584         * modules/ignore-value: Remove stdint dependency.
2585
2586 2011-01-21  Jim Meyering  <meyering@redhat.com>
2587
2588         maint.mk: adjust variable name to be consistent with other gl_ vars
2589         * top/maint.mk (gl_public_submodule_commit): Rename the variable
2590         to be lower case.
2591
2592 2011-01-20  Jim Meyering  <meyering@redhat.com>
2593
2594         maint.mk: make "check" depend on public-submodule-commit by default
2595         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
2596
2597 2011-01-20  Bruno Haible  <bruno@clisp.org>
2598
2599         mbfile, mbiter: Complete change from 2008-12-21.
2600         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
2601         * m4/mbiter.m4 (gl_MBITER): Likewise.
2602
2603 2011-01-20  Jim Meyering  <meyering@redhat.com>
2604
2605         init.sh: insert space between each function name and "()"
2606         * tests/init.sh: Make it a little easier to see that a function's
2607         name is "warn_", and not "warn" when looking at the first part of
2608         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
2609
2610 2011-01-20  Jim Meyering  <meyering@redhat.com>
2611
2612         mountlist: clean up code formatting
2613         * lib/mountlist.c (read_file_system_list): Split a long line,
2614         correct bracing style, use NULL in place of "(struct statfs *)0",
2615         don't parenthesize return value, add spaces around "=" and after
2616         ";-in-for-stmt".
2617
2618 2011-01-14  Markus Duft <mduft@gentoo.org>
2619
2620         mountlist: add support for Interix
2621         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
2622         Apply statvfs to all entries of /dev/fs.
2623         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
2624         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
2625
2626 2011-01-20  Jim Meyering  <meyering@redhat.com>
2627
2628         maint.mk: improve the public-submodule-commit rule
2629         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
2630         to suppress printing of its commands... unless V=1.
2631         Add git submodule's --quiet option to suppress printing of e.g.,
2632         "Entering gnulib" output.
2633         "cd" into $(srcdir) before running git submodule.
2634
2635 2011-01-20  Bruno Haible  <bruno@clisp.org>
2636
2637         include_next: Fix bug introduced on 2011-01-18.
2638         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
2639         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
2640         ac_cv_header_... variable if the second argument is not 'check'.
2641         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
2642         gl_NEXT_HEADERS_INTERNAL.
2643
2644 2011-01-20  Bruno Haible  <bruno@clisp.org>
2645
2646         Allow the user to avoid the GNULIB_TEST_* macros.
2647         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
2648         Suggested by Paul Eggert.
2649
2650 2011-01-14  Jim Meyering  <meyering@redhat.com>
2651
2652         bootstrap: avoid failure when there is no .gitmodules file
2653         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
2654         has been assigned to, even when its value is the empty string.
2655         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
2656         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
2657         Reported by John W. Eaton <jwe@gnu.org>.
2658
2659 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
2660
2661         assume <ctype.h>, ..., <time.h> exist
2662         For years gnulib has been assuming the existence of the headers
2663         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
2664         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
2665         them, since they don't appear to be needed.
2666         * README (Portability guidelines): Document this.
2667         * lib/flock.c: Assume <fcntl.h> exists.
2668         * lib/regex_internal.h: Assume <locale.h> exists.
2669         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
2670         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
2671         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
2672         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
2673         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
2674         * m4/regex.m4 (gl_REGEX): Likewise.
2675         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
2676         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
2677         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
2678         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
2679         * tests/test-argp.c: Likewise.
2680         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
2681
2682         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
2683         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
2684         AA_APPLE_UNIVERSAL_BUILD.  See
2685         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
2686         * NEWS: Document this.
2687
2688 2011-01-19  Eric Blake  <eblake@redhat.com>
2689
2690         c-stack: assume stack overflow if SA_SIGINFO unsupported
2691         * lib/c-stack.c (SIGACTION_WORKS): Rename...
2692         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
2693         sigaction will work.
2694         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
2695         behavior match Linux.
2696         * tests/test-c-stack.c (main): Prefer NULL for pointers.
2697
2698         stdbool-tests: accomodate Haiku
2699         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
2700
2701         binary-io: fix O_TEXT on Haiku
2702         * modules/binary-io (Depends-on): Add fcntl-h.
2703         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
2704         than blindly undefining O_TEXT.
2705         Reported by Scott McCreary.
2706
2707 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
2708
2709         include_next: do not check for standard headers like stddef.h
2710
2711         I found this problem when modifying Emacs to use gnulib.
2712         I noticed that it added HAVE_STDDEF_H to config.h, even though
2713         gnulib always assumes <stddef.h> exists as per README and this
2714         symbol is unnecessary.
2715         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
2716         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
2717         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
2718         faster for headers like stddef.h that are known to exist.
2719         (gl_CHECK_NEXT_HEADERS): Use it.
2720         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
2721         rather than gl_CHECK_NEXT_HEADERS.
2722         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
2723         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
2724
2725 2011-01-18  Eric Blake  <eblake@redhat.com>
2726
2727         ansi-c++-opt: skip C++ dependency style if C++ is unused
2728         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
2729         tests when we know C++ compilation is not desired.
2730         Reported by Scott McCreary.
2731
2732 2011-01-18  Bruno Haible  <bruno@clisp.org>
2733
2734         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
2735         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
2736         (main): Perform test also when getrlimit and setrlimit don't exist or
2737         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
2738         limiting the address space size using setrlimit, compare the address
2739         space size before and after the the test.
2740         * tests/test-dprintf-posix2.c: Likewise.
2741         * tests/test-fprintf-posix3.sh: Update skip messages.
2742         * tests/test-dprintf-posix2.sh: Likewise.
2743         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
2744         * modules/dprintf-posix-tests (Depends-on): Likewise.
2745         Reported by Bruce Korb <bkorb@gnu.org> and
2746         Gary V. Vaughan <gary@gnu.org>.
2747
2748 2011-01-18  Bruno Haible  <bruno@clisp.org>
2749
2750         get-rusage-as: Improvement for Cygwin.
2751         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
2752         areas that are merely reserved.
2753
2754 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
2755
2756         strftime: remove dependencies on multibyte modules
2757
2758         strftime depended on mbrlen, mbsinit, and wchar, but these modules
2759         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
2760         only if __osf__ is defined, and I suspect OSF doesn't need these
2761         other modules.  If my guess is wrong, we'll need to come up with a
2762         variant of strftime that doesn't need the multibyte modules.
2763
2764         I discovered this problem when attempting modify Emacs to use the
2765         strftime module.  With the previous gnulib, this caused Emacs to
2766         need 31 new files, ranging from lib/config.charset to
2767         m4/wint_t.m4.  This was overkill and I expect would be offputting
2768         to the Emacs maintainers.  After this change, only 6 new files are
2769         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
2770         stdbool.m4, and tm_gmtoff.m4.
2771
2772         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
2773         Suggested by Bruno Haible in
2774         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
2775         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
2776         and do not check for wchar.h.
2777         * modules/strftime (Files): Remove m4/mbstate_t.m4.
2778         (Depends-on): Remove mbrlen, mbsinit, wchar.
2779
2780 2011-01-18  Bruno Haible  <bruno@clisp.org>
2781
2782         Tests for module 'get-rusage-as'.
2783         * modules/get-rusage-as-tests: New file.
2784         * tests/test-get-rusage-as.c: New file.
2785
2786         New module 'get-rusage-as'.
2787         * modules/get-rusage-as: New file.
2788         * lib/resource-ext.h: New file.
2789         * lib/get-rusage-as.c: New file.
2790
2791 2011-01-17  Eric Blake  <eblake@redhat.com>
2792
2793         sigaction: relax license from LGPLv3+ to LGPLv2+
2794         * modules/sigaction (License): Relax to LGPLv2+.
2795
2796 2011-01-14  Bruno Haible  <bruno@clisp.org>
2797
2798         filemode: Make function declarations usable in C++ mode.
2799         * lib/filemode.h: Enclose function declarations in extern "C" block.
2800         Reported by John W. Eaton <jwe@gnu.org>.
2801
2802 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
2803
2804         save-cwd: no longer include "xgetcwd.h"
2805         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
2806         This avoids a compilation failure in projects that use save-cwd
2807         without also using the xgetcwd module.
2808
2809 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
2810
2811         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
2812         This is so that a program like Emacs, which needs only dtoastr,
2813         does not have to bother with distributing and compiling ftoastr
2814         and ldtoastr.
2815         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
2816         * modules/dtoastr, modules/ldtoastr: New files.
2817         * modules/ftoastr: Now works just for 'float'.
2818         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
2819         (Makefile.am): Remove ftoastr.h (not needed and no effect),
2820         dtoastr.c, ldtoastr.c.
2821
2822 2011-01-11  Jim Meyering  <meyering@redhat.com>
2823
2824         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
2825         There is no need to work around the lack of the fchdir function,
2826         since gnulib can now provide a replacement when required.
2827         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
2828         * modules/save-cwd (Depends-on): Add fchdir.
2829
2830 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
2831
2832         openat, save-cwd: avoid xmalloc
2833
2834         This removes a direct (but undocumented) dependency of openat on
2835         xalloc, along with an indirect dependency via save-cwd.  It also
2836         removes a dependency of save-cwd on xgetcwd, and thereby
2837         indirectly on xalloc.  This change causes the openat substitute
2838         to fall back on save_cwd when memory is tight, and for save_cwd to
2839         fail instead of dying when memory is tight, but that's good enough.
2840         Problem and initial idea for fix reported by Bastien Roucaries in
2841         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
2842
2843         * lib/openat-proc.c: Include stdlib.h (for malloc), not
2844         xalloc.h (for xmalloc).
2845         (openat_proc_name): Use malloc, not xmalloc.
2846         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
2847         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
2848
2849         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
2850         This avoids heap allocation for file names whose lengths are in
2851         the range 512..1023, with the upper bound increasing to at most
2852         4031 depending on the platform's PATH_MAX.  (We do not want
2853         pathmax.h here as it might supply a non-constant PATH_MAX.)
2854         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
2855         Perhaps they should be moved to malloca.h?
2856         (OPENAT_BUFFER_SIZE): Use them.
2857
2858 2011-01-10  Bruno Haible  <bruno@clisp.org>
2859
2860         doc: Update users.txt.
2861         * users.txt: Add recutils.
2862
2863 2011-01-09  Karl Berry  <karl@gnu.org>
2864
2865         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
2866
2867         * doc/configmake.texi: New file.
2868         * doc/gnulib.texi: Include it.
2869         * modules/configmake: Move documentation from here.
2870
2871 2011-01-09  Bruno Haible  <bruno@clisp.org>
2872
2873         Update to Unicode 6.0.0.
2874         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
2875         (get_lbp): Update for Unicode 6.0.0.
2876         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
2877         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
2878         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
2879         U+11001, U+11038..U+11046. Remove U+06DE.
2880         (uc_width): Fix bounds of planes.
2881         * tests/uniwidth/test-uc_width2.sh: Same updates as in
2882         lib/uniwidth/width.c.
2883         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
2884         trailing whitespace removed.
2885         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
2886         without comments, but with the original copyright notice.
2887         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
2888         * lib/unicase/ignorable.h: Likewise.
2889         * lib/unicase/tocasefold.h: Likewise.
2890         * lib/unicase/tolower.h: Likewise.
2891         * lib/unicase/totitle.h: Likewise.
2892         * lib/unicase/toupper.h: Likewise.
2893         * lib/unictype/bidi_of.h: Likewise.
2894         * lib/unictype/blocks.h: Likewise.
2895         * lib/unictype/categ_C.h: Likewise.
2896         * lib/unictype/categ_Cn.h: Likewise.
2897         * lib/unictype/categ_L.h: Likewise.
2898         * lib/unictype/categ_Ll.h: Likewise.
2899         * lib/unictype/categ_Lm.h: Likewise.
2900         * lib/unictype/categ_Lo.h: Likewise.
2901         * lib/unictype/categ_Lu.h: Likewise.
2902         * lib/unictype/categ_M.h: Likewise.
2903         * lib/unictype/categ_Mc.h: Likewise.
2904         * lib/unictype/categ_Me.h: Likewise.
2905         * lib/unictype/categ_Mn.h: Likewise.
2906         * lib/unictype/categ_N.h: Likewise.
2907         * lib/unictype/categ_Nd.h: Likewise.
2908         * lib/unictype/categ_No.h: Likewise.
2909         * lib/unictype/categ_P.h: Likewise.
2910         * lib/unictype/categ_Po.h: Likewise.
2911         * lib/unictype/categ_S.h: Likewise.
2912         * lib/unictype/categ_Sc.h: Likewise.
2913         * lib/unictype/categ_Sk.h: Likewise.
2914         * lib/unictype/categ_Sm.h: Likewise.
2915         * lib/unictype/categ_So.h: Likewise.
2916         * lib/unictype/categ_of.h: Likewise.
2917         * lib/unictype/combining.h: Likewise.
2918         * lib/unictype/ctype_alnum.h: Likewise.
2919         * lib/unictype/ctype_alpha.h: Likewise.
2920         * lib/unictype/ctype_graph.h: Likewise.
2921         * lib/unictype/ctype_lower.h: Likewise.
2922         * lib/unictype/ctype_print.h: Likewise.
2923         * lib/unictype/ctype_punct.h: Likewise.
2924         * lib/unictype/ctype_upper.h: Likewise.
2925         * lib/unictype/decdigit.h: Likewise.
2926         * lib/unictype/digit.h: Likewise.
2927         * lib/unictype/numeric.h: Likewise.
2928         * lib/unictype/pr_alphabetic.h: Likewise.
2929         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
2930         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
2931         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
2932         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
2933         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
2934         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
2935         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
2936         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
2937         * lib/unictype/pr_case_ignorable.h: Likewise.
2938         * lib/unictype/pr_cased.h: Likewise.
2939         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
2940         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
2941         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
2942         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
2943         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
2944         * lib/unictype/pr_combining.h: Likewise.
2945         * lib/unictype/pr_composite.h: Likewise.
2946         * lib/unictype/pr_currency_symbol.h: Likewise.
2947         * lib/unictype/pr_decimal_digit.h: Likewise.
2948         * lib/unictype/pr_deprecated.h: Likewise.
2949         * lib/unictype/pr_format_control.h: Likewise.
2950         * lib/unictype/pr_grapheme_base.h: Likewise.
2951         * lib/unictype/pr_grapheme_extend.h: Likewise.
2952         * lib/unictype/pr_grapheme_link.h: Likewise.
2953         * lib/unictype/pr_id_continue.h: Likewise.
2954         * lib/unictype/pr_id_start.h: Likewise.
2955         * lib/unictype/pr_ideographic.h: Likewise.
2956         * lib/unictype/pr_lowercase.h: Likewise.
2957         * lib/unictype/pr_math.h: Likewise.
2958         * lib/unictype/pr_numeric.h: Likewise.
2959         * lib/unictype/pr_other_alphabetic.h: Likewise.
2960         * lib/unictype/pr_other_id_continue.h: Likewise.
2961         * lib/unictype/pr_other_math.h: Likewise.
2962         * lib/unictype/pr_punctuation.h: Likewise.
2963         * lib/unictype/pr_sentence_terminal.h: Likewise.
2964         * lib/unictype/pr_terminal_punctuation.h: Likewise.
2965         * lib/unictype/pr_unassigned_code_value.h: Likewise.
2966         * lib/unictype/pr_unified_ideograph.h: Likewise.
2967         * lib/unictype/pr_uppercase.h: Likewise.
2968         * lib/unictype/pr_xid_continue.h: Likewise.
2969         * lib/unictype/pr_xid_start.h: Likewise.
2970         * lib/unictype/scripts.h: Likewise.
2971         * lib/unictype/scripts_byname.gperf: Likewise.
2972         * lib/unictype/sy_java_ident.h: Likewise.
2973         * lib/unigbrk/gbrkprop.h: Likewise.
2974         * lib/unilbrk/lbrkprop1.h: Likewise.
2975         * lib/unilbrk/lbrkprop2.h: Likewise.
2976         * lib/uninorm/decomposition-table2.h: Likewise.
2977         * lib/uniwbrk/wbrkprop.h: Likewise.
2978         * tests/unicase/test-cased.c: Likewise.
2979         * tests/unicase/test-ignorable.c: Likewise.
2980         * tests/unicase/test-uc_tolower.c: Likewise.
2981         * tests/unicase/test-uc_totitle.c: Likewise.
2982         * tests/unicase/test-uc_toupper.c: Likewise.
2983         * tests/unictype/test-categ_C.c: Likewise.
2984         * tests/unictype/test-categ_Cn.c: Likewise.
2985         * tests/unictype/test-categ_L.c: Likewise.
2986         * tests/unictype/test-categ_Ll.c: Likewise.
2987         * tests/unictype/test-categ_Lm.c: Likewise.
2988         * tests/unictype/test-categ_Lo.c: Likewise.
2989         * tests/unictype/test-categ_Lu.c: Likewise.
2990         * tests/unictype/test-categ_M.c: Likewise.
2991         * tests/unictype/test-categ_Mc.c: Likewise.
2992         * tests/unictype/test-categ_Me.c: Likewise.
2993         * tests/unictype/test-categ_Mn.c: Likewise.
2994         * tests/unictype/test-categ_N.c: Likewise.
2995         * tests/unictype/test-categ_Nd.c: Likewise.
2996         * tests/unictype/test-categ_No.c: Likewise.
2997         * tests/unictype/test-categ_P.c: Likewise.
2998         * tests/unictype/test-categ_Po.c: Likewise.
2999         * tests/unictype/test-categ_S.c: Likewise.
3000         * tests/unictype/test-categ_Sc.c: Likewise.
3001         * tests/unictype/test-categ_Sk.c: Likewise.
3002         * tests/unictype/test-categ_Sm.c: Likewise.
3003         * tests/unictype/test-categ_So.c: Likewise.
3004         * tests/unictype/test-ctype_alnum.c: Likewise.
3005         * tests/unictype/test-ctype_alpha.c: Likewise.
3006         * tests/unictype/test-ctype_graph.c: Likewise.
3007         * tests/unictype/test-ctype_lower.c: Likewise.
3008         * tests/unictype/test-ctype_print.c: Likewise.
3009         * tests/unictype/test-ctype_punct.c: Likewise.
3010         * tests/unictype/test-ctype_upper.c: Likewise.
3011         * tests/unictype/test-decdigit.h: Likewise.
3012         * tests/unictype/test-digit.h: Likewise.
3013         * tests/unictype/test-numeric.h: Likewise.
3014         * tests/unictype/test-pr_alphabetic.c: Likewise.
3015         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
3016         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
3017         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
3018         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
3019         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
3020         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
3021         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
3022         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
3023         * tests/unictype/test-pr_case_ignorable.c: Likewise.
3024         * tests/unictype/test-pr_cased.c: Likewise.
3025         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
3026         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
3027         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
3028         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
3029         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
3030         * tests/unictype/test-pr_combining.c: Likewise.
3031         * tests/unictype/test-pr_composite.c: Likewise.
3032         * tests/unictype/test-pr_currency_symbol.c: Likewise.
3033         * tests/unictype/test-pr_decimal_digit.c: Likewise.
3034         * tests/unictype/test-pr_deprecated.c: Likewise.
3035         * tests/unictype/test-pr_format_control.c: Likewise.
3036         * tests/unictype/test-pr_grapheme_base.c: Likewise.
3037         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
3038         * tests/unictype/test-pr_grapheme_link.c: Likewise.
3039         * tests/unictype/test-pr_id_continue.c: Likewise.
3040         * tests/unictype/test-pr_id_start.c: Likewise.
3041         * tests/unictype/test-pr_ideographic.c: Likewise.
3042         * tests/unictype/test-pr_lowercase.c: Likewise.
3043         * tests/unictype/test-pr_math.c: Likewise.
3044         * tests/unictype/test-pr_numeric.c: Likewise.
3045         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
3046         * tests/unictype/test-pr_other_id_continue.c: Likewise.
3047         * tests/unictype/test-pr_other_math.c: Likewise.
3048         * tests/unictype/test-pr_punctuation.c: Likewise.
3049         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
3050         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
3051         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
3052         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
3053         * tests/unictype/test-pr_uppercase.c: Likewise.
3054         * tests/unictype/test-pr_xid_continue.c: Likewise.
3055         * tests/unictype/test-pr_xid_start.c: Likewise.
3056         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
3057         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
3058         changes.
3059         * lib/unictype/categ_Cc.h: Likewise.
3060         * lib/unictype/categ_Cf.h: Likewise.
3061         * lib/unictype/categ_Co.h: Likewise.
3062         * lib/unictype/categ_Cs.h: Likewise.
3063         * lib/unictype/categ_Lt.h: Likewise.
3064         * lib/unictype/categ_Nl.h: Likewise.
3065         * lib/unictype/categ_Pc.h: Likewise.
3066         * lib/unictype/categ_Pd.h: Likewise.
3067         * lib/unictype/categ_Pe.h: Likewise.
3068         * lib/unictype/categ_Pf.h: Likewise.
3069         * lib/unictype/categ_Pi.h: Likewise.
3070         * lib/unictype/categ_Ps.h: Likewise.
3071         * lib/unictype/categ_Z.h: Likewise.
3072         * lib/unictype/categ_Zl.h: Likewise.
3073         * lib/unictype/categ_Zp.h: Likewise.
3074         * lib/unictype/categ_Zs.h: Likewise.
3075         * lib/unictype/ctype_blank.h: Likewise.
3076         * lib/unictype/ctype_cntrl.h: Likewise.
3077         * lib/unictype/ctype_digit.h: Likewise.
3078         * lib/unictype/ctype_space.h: Likewise.
3079         * lib/unictype/ctype_xdigit.h: Likewise.
3080         * lib/unictype/mirror.h: Likewise.
3081         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
3082         * lib/unictype/pr_bidi_block_separator.h: Likewise.
3083         * lib/unictype/pr_bidi_common_separator.h: Likewise.
3084         * lib/unictype/pr_bidi_control.h: Likewise.
3085         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
3086         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
3087         * lib/unictype/pr_bidi_european_digit.h: Likewise.
3088         * lib/unictype/pr_bidi_pdf.h: Likewise.
3089         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
3090         * lib/unictype/pr_bidi_whitespace.h: Likewise.
3091         * lib/unictype/pr_dash.h: Likewise.
3092         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
3093         * lib/unictype/pr_diacritic.h: Likewise.
3094         * lib/unictype/pr_extender.h: Likewise.
3095         * lib/unictype/pr_hex_digit.h: Likewise.
3096         * lib/unictype/pr_hyphen.h: Likewise.
3097         * lib/unictype/pr_ids_binary_operator.h: Likewise.
3098         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
3099         * lib/unictype/pr_ignorable_control.h: Likewise.
3100         * lib/unictype/pr_iso_control.h: Likewise.
3101         * lib/unictype/pr_join_control.h: Likewise.
3102         * lib/unictype/pr_left_of_pair.h: Likewise.
3103         * lib/unictype/pr_line_separator.h: Likewise.
3104         * lib/unictype/pr_logical_order_exception.h: Likewise.
3105         * lib/unictype/pr_non_break.h: Likewise.
3106         * lib/unictype/pr_not_a_character.h: Likewise.
3107         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
3108         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
3109         * lib/unictype/pr_other_id_start.h: Likewise.
3110         * lib/unictype/pr_other_lowercase.h: Likewise.
3111         * lib/unictype/pr_other_uppercase.h: Likewise.
3112         * lib/unictype/pr_paired_punctuation.h: Likewise.
3113         * lib/unictype/pr_paragraph_separator.h: Likewise.
3114         * lib/unictype/pr_pattern_syntax.h: Likewise.
3115         * lib/unictype/pr_pattern_white_space.h: Likewise.
3116         * lib/unictype/pr_private_use.h: Likewise.
3117         * lib/unictype/pr_quotation_mark.h: Likewise.
3118         * lib/unictype/pr_radical.h: Likewise.
3119         * lib/unictype/pr_soft_dotted.h: Likewise.
3120         * lib/unictype/pr_space.h: Likewise.
3121         * lib/unictype/pr_titlecase.h: Likewise.
3122         * lib/unictype/pr_variation_selector.h: Likewise.
3123         * lib/unictype/pr_white_space.h: Likewise.
3124         * lib/unictype/pr_zero_width.h: Likewise.
3125         * lib/unictype/sy_c_ident.h: Likewise.
3126         * lib/unictype/sy_c_whitespace.h: Likewise.
3127         * lib/unictype/sy_java_whitespace.h: Likewise.
3128         * lib/uninorm/composition-table.gperf: Likewise.
3129         * lib/uninorm/decomposition-table1.h: Likewise.
3130         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
3131         LB8.
3132         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
3133         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
3134         * modules/unictype/*: Bump version number of expected libunistring
3135         version.
3136
3137 2011-01-09  Bruno Haible  <bruno@clisp.org>
3138
3139         Update to Unicode 5.2.0.
3140         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
3141         trailing whitespace removed.
3142
3143 2011-01-09  Bruno Haible  <bruno@clisp.org>
3144
3145         New Unicode character properties, from Unicode 5.2.0.
3146         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
3147         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
3148         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
3149         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
3150         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
3151         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
3152         uc_is_property_cased, uc_is_property_case_ignorable,
3153         uc_is_property_changes_when_lowercased,
3154         uc_is_property_changes_when_uppercased,
3155         uc_is_property_changes_when_titlecased,
3156         uc_is_property_changes_when_casefolded,
3157         uc_is_property_changes_when_casemapped): New declarations.
3158         * lib/unictype/pr_byname.gperf: Add the new properties.
3159         * modules/unictype/property-byname (Depends-on): Depend on the new
3160         properties modules.
3161         * modules/unictype/property-all (Depends-on): Likewise.
3162         * MODULES.html.sh (Unicode string functions): Add
3163         unictype/property-case-ignorable, unictype/property-cased,
3164         unictype/property-changes-when-casefolded,
3165         unictype/property-changes-when-casemapped,
3166         unictype/property-changes-when-lowercased,
3167         unictype/property-changes-when-titlecased,
3168         unictype/property-changes-when-uppercased.
3169
3170         New module 'unictype/property-changes-when-casemapped'.
3171         * modules/unictype/property-changes-when-casemapped: New file.
3172         * lib/unictype/pr_changes_when_casemapped.c: New file.
3173         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
3174         generated by gen-uni-tables.
3175         * modules/unictype/property-changes-when-casemapped-tests: New file.
3176         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
3177         automatically generated by gen-uni-tables.
3178
3179         New module 'unictype/property-changes-when-casefolded'.
3180         * modules/unictype/property-changes-when-casefolded: New file.
3181         * lib/unictype/pr_changes_when_casefolded.c: New file.
3182         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
3183         generated by gen-uni-tables.
3184         * modules/unictype/property-changes-when-casefolded-tests: New file.
3185         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
3186         automatically generated by gen-uni-tables.
3187
3188         New module 'unictype/property-changes-when-titlecased'.
3189         * modules/unictype/property-changes-when-titlecased: New file.
3190         * lib/unictype/pr_changes_when_titlecased.c: New file.
3191         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
3192         generated by gen-uni-tables.
3193         * modules/unictype/property-changes-when-titlecased-tests: New file.
3194         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
3195         automatically generated by gen-uni-tables.
3196
3197         New module 'unictype/property-changes-when-uppercased'.
3198         * modules/unictype/property-changes-when-uppercased: New file.
3199         * lib/unictype/pr_changes_when_uppercased.c: New file.
3200         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
3201         generated by gen-uni-tables.
3202         * modules/unictype/property-changes-when-uppercased-tests: New file.
3203         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
3204         automatically generated by gen-uni-tables.
3205
3206         New module 'unictype/property-changes-when-lowercased'.
3207         * modules/unictype/property-changes-when-lowercased: New file.
3208         * lib/unictype/pr_changes_when_lowercased.c: New file.
3209         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
3210         generated by gen-uni-tables.
3211         * modules/unictype/property-changes-when-lowercased-tests: New file.
3212         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
3213         automatically generated by gen-uni-tables.
3214
3215         New module 'unictype/property-case-ignorable'.
3216         * modules/unictype/property-case-ignorable: New file.
3217         * lib/unictype/pr_case_ignorable.c: New file.
3218         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
3219         by gen-uni-tables.
3220         * modules/unictype/property-case-ignorable-tests: New file.
3221         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
3222         generated by gen-uni-tables.
3223
3224         New module 'unictype/property-cased'.
3225         * modules/unictype/property-cased: New file.
3226         * lib/unictype/pr_cased.c: New file.
3227         * lib/unictype/pr_cased.h: New file, automatically generated by
3228         gen-uni-tables.
3229         * modules/unictype/property-cased-tests: New file.
3230         * tests/unictype/test-pr_cased.c: New file, automatically generated by
3231         gen-uni-tables.
3232
3233 2011-01-09  Bruno Haible  <bruno@clisp.org>
3234
3235         Update to Unicode 5.2.0.
3236         * lib/gen-uni-tables.c (output_predicate, output_category,
3237         output_combclass, output_bidi_category, output_decimal_digit_test,
3238         output_decimal_digit, output_digit_test, output_digit,
3239         output_numeric_test, output_numeric, output_mirror, output_scripts,
3240         output_scripts_byname, output_blocks, output_ident_category): Fix
3241         comment header.
3242         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
3243         get_wbp.
3244         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
3245         items.
3246         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
3247         Changes_When_Lowercased, Changes_When_Uppercased,
3248         Changes_When_Titlecased, Changes_When_Casefolded,
3249         Changes_When_Casemapped.
3250         (is_property_alphabetic, is_property_default_ignorable_code_point):
3251         Update for Unicode 5.2.0.
3252         (is_property_cased, is_property_case_ignorable,
3253         is_property_changes_when_lowercased,
3254         is_property_changes_when_uppercased,
3255         is_property_changes_when_titlecased,
3256         is_property_changes_when_casefolded,
3257         is_property_changes_when_casemapped): New functions.
3258         (output_properties): Output also the properties cased, case_ignorable,
3259         changes_when_lowercased, changes_when_uppercased,
3260         changes_when_titlecased, changes_when_casefolded,
3261         changes_when_casemapped.
3262         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
3263         Unicode TR#11 revision 17 -> 19.
3264         (LBP_CP): New enumeration value.
3265         (LBP_*): Adjust values accordingly.
3266         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
3267         TR#14 revision 22 -> 24.
3268         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
3269         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
3270         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
3271         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
3272         is_WBP_MIDLETTER.
3273         (output_composition_tables): Allow for 24 bits instead of 16 bits in
3274         the code1 and code2 of each composition rule.
3275         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
3276         * lib/unicase/ignorable.h: Likewise.
3277         * lib/unicase/tocasefold.h: Likewise.
3278         * lib/unicase/tolower.h: Likewise.
3279         * lib/unicase/totitle.h: Likewise.
3280         * lib/unicase/toupper.h: Likewise.
3281         * lib/unictype/bidi_of.h: Likewise.
3282         * lib/unictype/blocks.h: Likewise.
3283         * lib/unictype/categ_C.h: Likewise.
3284         * lib/unictype/categ_Cf.h: Likewise.
3285         * lib/unictype/categ_Cn.h: Likewise.
3286         * lib/unictype/categ_L.h: Likewise.
3287         * lib/unictype/categ_Ll.h: Likewise.
3288         * lib/unictype/categ_Lm.h: Likewise.
3289         * lib/unictype/categ_Lo.h: Likewise.
3290         * lib/unictype/categ_Lu.h: Likewise.
3291         * lib/unictype/categ_M.h: Likewise.
3292         * lib/unictype/categ_Mc.h: Likewise.
3293         * lib/unictype/categ_Mn.h: Likewise.
3294         * lib/unictype/categ_N.h: Likewise.
3295         * lib/unictype/categ_Nd.h: Likewise.
3296         * lib/unictype/categ_Nl.h: Likewise.
3297         * lib/unictype/categ_No.h: Likewise.
3298         * lib/unictype/categ_P.h: Likewise.
3299         * lib/unictype/categ_Pd.h: Likewise.
3300         * lib/unictype/categ_Po.h: Likewise.
3301         * lib/unictype/categ_S.h: Likewise.
3302         * lib/unictype/categ_Sc.h: Likewise.
3303         * lib/unictype/categ_So.h: Likewise.
3304         * lib/unictype/categ_of.h: Likewise.
3305         * lib/unictype/combining.h: Likewise.
3306         * lib/unictype/ctype_alnum.h: Likewise.
3307         * lib/unictype/ctype_alpha.h: Likewise.
3308         * lib/unictype/ctype_graph.h: Likewise.
3309         * lib/unictype/ctype_lower.h: Likewise.
3310         * lib/unictype/ctype_print.h: Likewise.
3311         * lib/unictype/ctype_punct.h: Likewise.
3312         * lib/unictype/ctype_upper.h: Likewise.
3313         * lib/unictype/decdigit.h: Likewise.
3314         * lib/unictype/digit.h: Likewise.
3315         * lib/unictype/numeric.h: Likewise.
3316         * lib/unictype/pr_alphabetic.h: Likewise.
3317         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
3318         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
3319         * lib/unictype/pr_bidi_european_digit.h: Likewise.
3320         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
3321         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
3322         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
3323         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
3324         * lib/unictype/pr_combining.h: Likewise.
3325         * lib/unictype/pr_composite.h: Likewise.
3326         * lib/unictype/pr_currency_symbol.h: Likewise.
3327         * lib/unictype/pr_dash.h: Likewise.
3328         * lib/unictype/pr_decimal_digit.h: Likewise.
3329         * lib/unictype/pr_deprecated.h: Likewise.
3330         * lib/unictype/pr_diacritic.h: Likewise.
3331         * lib/unictype/pr_extender.h: Likewise.
3332         * lib/unictype/pr_grapheme_base.h: Likewise.
3333         * lib/unictype/pr_grapheme_extend.h: Likewise.
3334         * lib/unictype/pr_grapheme_link.h: Likewise.
3335         * lib/unictype/pr_id_continue.h: Likewise.
3336         * lib/unictype/pr_id_start.h: Likewise.
3337         * lib/unictype/pr_ideographic.h: Likewise.
3338         * lib/unictype/pr_ignorable_control.h: Likewise.
3339         * lib/unictype/pr_logical_order_exception.h: Likewise.
3340         * lib/unictype/pr_lowercase.h: Likewise.
3341         * lib/unictype/pr_numeric.h: Likewise.
3342         * lib/unictype/pr_other_alphabetic.h: Likewise.
3343         * lib/unictype/pr_punctuation.h: Likewise.
3344         * lib/unictype/pr_sentence_terminal.h: Likewise.
3345         * lib/unictype/pr_terminal_punctuation.h: Likewise.
3346         * lib/unictype/pr_unassigned_code_value.h: Likewise.
3347         * lib/unictype/pr_unified_ideograph.h: Likewise.
3348         * lib/unictype/pr_uppercase.h: Likewise.
3349         * lib/unictype/pr_xid_continue.h: Likewise.
3350         * lib/unictype/pr_xid_start.h: Likewise.
3351         * lib/unictype/pr_zero_width.h: Likewise.
3352         * lib/unictype/scripts.h: Likewise.
3353         * lib/unictype/scripts_byname.gperf: Likewise.
3354         * lib/unictype/sy_java_ident.h: Likewise.
3355         * lib/unigbrk/gbrkprop.h: Likewise.
3356         * lib/unilbrk/lbrkprop1.h: Likewise.
3357         * lib/unilbrk/lbrkprop2.h: Likewise.
3358         * lib/unilbrk/lbrktables.h: Likewise.
3359         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
3360         LBP_CP. Implement rule LB30.
3361         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
3362         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
3363         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
3364         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
3365         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
3366         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
3367         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
3368         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
3369         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
3370         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
3371         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
3372         bits instead of 16 bits in the code1 and code2 of each composition
3373         rule.
3374         (uc_composition): Update for Unicode 5.2.0.
3375         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
3376         * lib/uninorm/decomposition-table2.h: Likewise.
3377         * lib/uniwbrk/wbrkprop.h: Likewise.
3378         * tests/unicase/test-cased.c: Likewise.
3379         * tests/unicase/test-ignorable.c: Likewise.
3380         * tests/unicase/test-uc_tolower.c: Likewise.
3381         * tests/unicase/test-uc_totitle.c: Likewise.
3382         * tests/unicase/test-uc_toupper.c: Likewise.
3383         * tests/unictype/test-categ_C.c: Likewise.
3384         * tests/unictype/test-categ_Cf.c: Likewise.
3385         * tests/unictype/test-categ_Cn.c: Likewise.
3386         * tests/unictype/test-categ_L.c: Likewise.
3387         * tests/unictype/test-categ_Ll.c: Likewise.
3388         * tests/unictype/test-categ_Lm.c: Likewise.
3389         * tests/unictype/test-categ_Lo.c: Likewise.
3390         * tests/unictype/test-categ_Lu.c: Likewise.
3391         * tests/unictype/test-categ_M.c: Likewise.
3392         * tests/unictype/test-categ_Mc.c: Likewise.
3393         * tests/unictype/test-categ_Mn.c: Likewise.
3394         * tests/unictype/test-categ_N.c: Likewise.
3395         * tests/unictype/test-categ_Nd.c: Likewise.
3396         * tests/unictype/test-categ_Nl.c: Likewise.
3397         * tests/unictype/test-categ_No.c: Likewise.
3398         * tests/unictype/test-categ_P.c: Likewise.
3399         * tests/unictype/test-categ_Pd.c: Likewise.
3400         * tests/unictype/test-categ_Po.c: Likewise.
3401         * tests/unictype/test-categ_S.c: Likewise.
3402         * tests/unictype/test-categ_Sc.c: Likewise.
3403         * tests/unictype/test-categ_So.c: Likewise.
3404         * tests/unictype/test-ctype_alnum.c: Likewise.
3405         * tests/unictype/test-ctype_alpha.c: Likewise.
3406         * tests/unictype/test-ctype_graph.c: Likewise.
3407         * tests/unictype/test-ctype_lower.c: Likewise.
3408         * tests/unictype/test-ctype_print.c: Likewise.
3409         * tests/unictype/test-ctype_punct.c: Likewise.
3410         * tests/unictype/test-ctype_upper.c: Likewise.
3411         * tests/unictype/test-decdigit.h: Likewise.
3412         * tests/unictype/test-digit.h: Likewise.
3413         * tests/unictype/test-numeric.h: Likewise.
3414         * tests/unictype/test-pr_alphabetic.c: Likewise.
3415         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
3416         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
3417         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
3418         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
3419         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
3420         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
3421         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
3422         * tests/unictype/test-pr_combining.c: Likewise.
3423         * tests/unictype/test-pr_composite.c: Likewise.
3424         * tests/unictype/test-pr_currency_symbol.c: Likewise.
3425         * tests/unictype/test-pr_dash.c: Likewise.
3426         * tests/unictype/test-pr_decimal_digit.c: Likewise.
3427         * tests/unictype/test-pr_deprecated.c: Likewise.
3428         * tests/unictype/test-pr_diacritic.c: Likewise.
3429         * tests/unictype/test-pr_extender.c: Likewise.
3430         * tests/unictype/test-pr_grapheme_base.c: Likewise.
3431         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
3432         * tests/unictype/test-pr_grapheme_link.c: Likewise.
3433         * tests/unictype/test-pr_id_continue.c: Likewise.
3434         * tests/unictype/test-pr_id_start.c: Likewise.
3435         * tests/unictype/test-pr_ideographic.c: Likewise.
3436         * tests/unictype/test-pr_ignorable_control.c: Likewise.
3437         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
3438         * tests/unictype/test-pr_lowercase.c: Likewise.
3439         * tests/unictype/test-pr_numeric.c: Likewise.
3440         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
3441         * tests/unictype/test-pr_punctuation.c: Likewise.
3442         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
3443         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
3444         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
3445         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
3446         * tests/unictype/test-pr_uppercase.c: Likewise.
3447         * tests/unictype/test-pr_xid_continue.c: Likewise.
3448         * tests/unictype/test-pr_xid_start.c: Likewise.
3449         * tests/unictype/test-pr_zero_width.c: Likewise.
3450         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
3451         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
3452         changed behaviour: line breaking is now disallowed between a letter
3453         or '=' and '('.
3454         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
3455         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
3456         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
3457         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
3458         * tests/uniwidth/test-uc_width2.sh: Same updates as in
3459         lib/uniwidth/width.c.
3460         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
3461         without comments, but with the original copyright notice.
3462         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
3463         changes.
3464         * lib/unictype/categ_Cc.h: Likewise.
3465         * lib/unictype/categ_Co.h: Likewise.
3466         * lib/unictype/categ_Cs.h: Likewise.
3467         * lib/unictype/categ_Lt.h: Likewise.
3468         * lib/unictype/categ_Me.h: Likewise.
3469         * lib/unictype/categ_Pc.h: Likewise.
3470         * lib/unictype/categ_Pe.h: Likewise.
3471         * lib/unictype/categ_Pf.h: Likewise.
3472         * lib/unictype/categ_Pi.h: Likewise.
3473         * lib/unictype/categ_Ps.h: Likewise.
3474         * lib/unictype/categ_Sk.h: Likewise.
3475         * lib/unictype/categ_Sm.h: Likewise.
3476         * lib/unictype/categ_Z.h: Likewise.
3477         * lib/unictype/categ_Zl.h: Likewise.
3478         * lib/unictype/categ_Zp.h: Likewise.
3479         * lib/unictype/categ_Zs.h: Likewise.
3480         * lib/unictype/ctype_blank.h: Likewise.
3481         * lib/unictype/ctype_cntrl.h: Likewise.
3482         * lib/unictype/ctype_digit.h: Likewise.
3483         * lib/unictype/ctype_space.h: Likewise.
3484         * lib/unictype/ctype_xdigit.h: Likewise.
3485         * lib/unictype/mirror.h: Likewise.
3486         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
3487         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
3488         * lib/unictype/pr_bidi_block_separator.h: Likewise.
3489         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
3490         * lib/unictype/pr_bidi_common_separator.h: Likewise.
3491         * lib/unictype/pr_bidi_control.h: Likewise.
3492         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
3493         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
3494         * lib/unictype/pr_bidi_pdf.h: Likewise.
3495         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
3496         * lib/unictype/pr_bidi_whitespace.h: Likewise.
3497         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
3498         * lib/unictype/pr_format_control.h: Likewise.
3499         * lib/unictype/pr_hex_digit.h: Likewise.
3500         * lib/unictype/pr_hyphen.h: Likewise.
3501         * lib/unictype/pr_ids_binary_operator.h: Likewise.
3502         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
3503         * lib/unictype/pr_iso_control.h: Likewise.
3504         * lib/unictype/pr_join_control.h: Likewise.
3505         * lib/unictype/pr_left_of_pair.h: Likewise.
3506         * lib/unictype/pr_line_separator.h: Likewise.
3507         * lib/unictype/pr_math.h: Likewise.
3508         * lib/unictype/pr_non_break.h: Likewise.
3509         * lib/unictype/pr_not_a_character.h: Likewise.
3510         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
3511         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
3512         * lib/unictype/pr_other_id_continue.h: Likewise.
3513         * lib/unictype/pr_other_id_start.h: Likewise.
3514         * lib/unictype/pr_other_lowercase.h: Likewise.
3515         * lib/unictype/pr_other_math.h: Likewise.
3516         * lib/unictype/pr_other_uppercase.h: Likewise.
3517         * lib/unictype/pr_paired_punctuation.h: Likewise.
3518         * lib/unictype/pr_paragraph_separator.h: Likewise.
3519         * lib/unictype/pr_pattern_syntax.h: Likewise.
3520         * lib/unictype/pr_pattern_white_space.h: Likewise.
3521         * lib/unictype/pr_private_use.h: Likewise.
3522         * lib/unictype/pr_quotation_mark.h: Likewise.
3523         * lib/unictype/pr_radical.h: Likewise.
3524         * lib/unictype/pr_soft_dotted.h: Likewise.
3525         * lib/unictype/pr_space.h: Likewise.
3526         * lib/unictype/pr_titlecase.h: Likewise.
3527         * lib/unictype/pr_variation_selector.h: Likewise.
3528         * lib/unictype/pr_white_space.h: Likewise.
3529         * lib/unictype/sy_c_ident.h: Likewise.
3530         * lib/unictype/sy_c_whitespace.h: Likewise.
3531         * lib/unictype/sy_java_whitespace.h: Likewise.
3532         * modules/uni*/*: Bump version number of expected libunistring version.
3533         Reported by Simon Josefsson.
3534
3535 2011-01-09  Karl Heuer  <kwzh@gnu.org>
3536
3537         useless-if-before-free: fix typo in --help and make the internal,
3538         automatic version date update process work once again.
3539         --help output contained a NUL character instead of the
3540         backslash-zero that was intended.  Also, the "must lie within
3541         the first 8 lines" line is on line 9, and hence not getting
3542         automatically updated.
3543         * build-aux/useless-if-before-free: Fix the former by adding a
3544         backslash, and the latter by condensing the three lines of what-it-does
3545         to a single line, leaving one line of slack for the future.
3546
3547 2011-01-09  Bruno Haible  <bruno@clisp.org>
3548
3549         uniwidth/width: Fix width of U+1D173..U+1D17A.
3550         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
3551         symbolic_width, output_width_property_test): New functions.
3552         (main): Invoke output_nonspacing_property, output_width_property_test.
3553         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
3554         U+1D173..U+1D17A.
3555         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
3556         1.
3557         * modules/uniwidth/*: Bump version number of expected libunistring
3558         version.
3559         * modules/unilbrk/*: Likewise.
3560
3561 2011-01-08  Bruno Haible  <bruno@clisp.org>
3562
3563         uninorm tests: Preserve copyright of Unicode data file.
3564         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
3565         Mention modifications.
3566
3567 2011-01-08  Bruno Haible  <bruno@clisp.org>
3568
3569         gen-uni-tables: Prepare for Unicode 5.2.0.
3570         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
3571         (debug_output_lbp, output_lbp): Update.
3572
3573 2011-01-08  Bruno Haible  <bruno@clisp.org>
3574
3575         unilbrk: Clarify gen-uni-tables.c code.
3576         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
3577         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
3578         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
3579
3580 2011-01-07  Bruno Haible  <bruno@clisp.org>
3581
3582         strtod: Restore errno when successfully parsing Infinity or NaN.
3583         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
3584         restore the original errno.
3585
3586 2011-01-07  Bruno Haible  <bruno@clisp.org>
3587
3588         remove test: Avoid failure on HP-UX 11.
3589         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
3590
3591 2011-01-07  Bruno Haible  <bruno@clisp.org>
3592
3593         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
3594         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
3595         error code.
3596
3597 2011-01-07  Pádraig Brady <P@draigBrady.com>
3598
3599         ignore-value: fixup comments, and add Eric Blake
3600         as an author since he rewrote the macros.
3601         * lib/ignore-value.h (ignore_value):  State that
3602         we now support aggregates.  Also specify exactly
3603         when the GCC warn_unused_result feature was added.
3604
3605 2011-01-06  Eric Blake  <eblake@redhat.com>
3606
3607         ignore-value: support aggregate types
3608         * lib/ignore-value.h (ignore_value): Provide separate gcc
3609         definition.
3610         * modules/ignore-value-tests: New test module.
3611         * tests/test-ignore-value.c: New test.
3612
3613         maint.mk: improve sc_prohibit_strcmp regex
3614         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
3615         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
3616         definition of STRNEQ.
3617
3618         signal: work around Haiku issue with SIGBUS
3619         * lib/siglist.h: Add comment.
3620         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
3621         strsignal's favoring of SIGSEGV.
3622         * tests/test-signal.c (main): Avoid test failure.
3623         * doc/posix-headers/signal.texi (signal.h): Document the issue.
3624         Reported by Scott McCreary.
3625
3626         maint.mk: add pre-release check to ensure submodule commits are public
3627         * top/maint.mk (public-submodule-commit): New rule.
3628         (submodule-checks): New variable.
3629         (alpha beta stable): Depend on the variable.
3630
3631 2011-01-05  Pádraig Brady <P@draigBrady.com>
3632         and Jim Meyering  <meyering@redhat.com>
3633
3634         ignore-value: make ignore_value more generic; deprecate ignore_ptr
3635         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
3636         (ATTRIBUTE_DEPRECATED): Define.
3637         (_ignore_case): New function.
3638         (ignore_value): New macro, to replace the old function.
3639         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
3640         * modules/ignore-value (Depends-on): Add stdint.
3641
3642 2011-01-04  Eric Blake  <eblake@redhat.com>
3643
3644         doc: regenerate INSTALL
3645         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
3646         @firstparagraphindent support, now that autoconf dropped it.
3647         (INSTALL_PRELUDE): Reinstate old macro.
3648         * doc/install.texi: Resync from autoconf.
3649         * doc/INSTALL: Reflect recent autoconf update.
3650         * doc/INSTALL.ISO: Likewise.
3651         * doc/INSTALL.UTF-8: Likewise.
3652         Reported by Karl Berry.
3653
3654 2011-01-04  Bruce Korb  <address@hidden>
3655
3656         git-version-gen: avoid a sub-shell
3657         * build-aux/git-version-gen: Redirect stderr in `...` via
3658         "exec 2>...", rather than via an added sub-shell.
3659
3660 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
3661
3662         git-version-gen: use (...) rather than sh -c '...'
3663         * build-aux/git-version-gen: Rather than hard-coding a shell's name
3664         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
3665
3666 2011-01-03  Jim Meyering  <meyering@redhat.com>
3667
3668         git-version-gen: convert leading TABs to spaces
3669         * build-aux/git-version-gen: Expand leading TABs.
3670
3671         git-version-gen: handle failed "git rev-list"
3672         * build-aux/git-version-gen: Rather than leaking a "fatal" error
3673         from git and proceeding as if it had succeeded but printed no SHA1
3674         checksums, suppress the diagnostic and handle the failure.
3675         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
3676
3677         git-version-gen: include command name in one more diagnostic
3678         * build-aux/git-version-gen: When the required .tarball-version file
3679         was missing or unreadable, you might see the diagnostic from "cat",
3680         but no trace of the name of the invoking script.  Now, you still see
3681         the diagnostic from cat, but also get one from "git-version-gen: ".
3682         Inspired by a patch from Bruce Korb.
3683
3684         update-copyright: adjust test to match changed code
3685         * tests/test-update-copyright.sh: Change test's expected output
3686         to match new actual output.
3687
3688 2011-01-02  Bruno Haible  <bruno@clisp.org>
3689
3690         getlogin_r: Avoid test failure on HP-UX 11.
3691         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
3692         ERANGE when the second argument is zero.
3693         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
3694         portability problem.
3695
3696 2011-01-02  Bruce Korb  <bkorb@gnu.org>
3697
3698         * build-aux/update-copyright: doc Simon's changes
3699
3700 2011-01-02  Simon Josefsson  <simon@josefsson.org>
3701
3702         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
3703         environment variable.
3704
3705 2011-01-02  Bruno Haible  <bruno@clisp.org>
3706
3707         unigbrk: Avoid gcc warnings.
3708         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
3709         unused variable.
3710         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
3711         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
3712         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
3713         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
3714         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
3715         Change type of first argument to 'const char *'.
3716         (main): Remove unused variable.
3717         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
3718         type of first argument to 'const char *'.
3719         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
3720         Likewise.
3721         (main): Change type of variable 's'.
3722         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
3723         to 'int'.
3724
3725 2011-01-02  Bruno Haible  <bruno@clisp.org>
3726
3727         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
3728         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
3729         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
3730         bug.
3731         * lib/pwrite.c: Undo 2010-12-31 patch.
3732         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
3733
3734 2011-01-02  Bruno Haible  <bruno@clisp.org>
3735
3736         pread: Fix test whether it works.
3737         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
3738
3739 2011-01-02  Bruno Haible  <bruno@clisp.org>
3740
3741         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
3742         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
3743         ends in "6". Don't require a specific month name. Try also the locale
3744         names found on HP-UX 11 and Solaris 7.
3745
3746 2011-01-02  Bruno Haible  <bruno@clisp.org>
3747
3748         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
3749         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
3750         C linkage.
3751         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
3752
3753 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
3754
3755         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
3756         for consistency, since the "cluster" term is not used elsewhere.
3757         * lib/unigbrk.in.h: Update name.
3758         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
3759         * lib/unigbrk/u16-grapheme-next.c: Update name.
3760         * lib/unigbrk/u16-grapheme-prev.c: Update name.
3761         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
3762         * lib/unigbrk/u32-grapheme-next.c: Update name.
3763         * lib/unigbrk/u32-grapheme-prev.c: Update name.
3764         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
3765         * lib/unigbrk/u8-grapheme-next.c: Update name.
3766         * lib/unigbrk/u8-grapheme-prev.c: Update name.
3767         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
3768         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
3769         Suggested by Bruno Haible.
3770
3771 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
3772
3773         Remove module 'u8-grapheme-len' as too redundant with
3774         'u8-grapheme-next'.
3775         * modules/unigbrk/u8-grapheme-len: Delete file.
3776         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
3777         * lib/unigbrk.in.h: Remove prototype for deleted function.
3778         * lib/unigbrk/u8-grapheme-len.c: Delete file.
3779         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
3780
3781         Remove module 'u16-grapheme-len' as too redundant with
3782         'u16-grapheme-next'.
3783         * modules/unigbrk/u16-grapheme-len: Delete file.
3784         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
3785         * lib/unigbrk.in.h: Remove prototype for deleted function.
3786         * lib/unigbrk/u16-grapheme-len.c: Delete file.
3787         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
3788
3789         Remove module 'u32-grapheme-len' as too redundant with
3790         'u32-grapheme-next'.
3791         * modules/unigbrk/u32-grapheme-len: Delete file.
3792         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
3793         * lib/unigbrk.in.h: Remove prototype for deleted function.
3794         * lib/unigbrk/u32-grapheme-len.c: Delete file.
3795         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
3796
3797         Suggested by Bruno Haible.
3798
3799 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
3800
3801         * unigbrk.in.h: Fix typo: "ben" => "been".
3802         Reported by Bruno Haible.
3803
3804 2011-01-01  Jim Meyering  <meyering@redhat.com>
3805
3806         maint: update almost all copyright ranges to include 2011
3807         Run the new "make update-copyright" rule.
3808
3809 2011-01-01  Jim Meyering  <meyering@redhat.com>
3810
3811         maint: update-copyright: exempt doc/INSTALL*
3812         * Makefile (update-copyright): Also exclude doc/INSTALL*,
3813         since they are generated.  Suggested by Bruno Haible.
3814
3815 2011-01-01  Jim Meyering  <meyering@redhat.com>
3816
3817         maint: refine the update-copyright rule
3818         * Makefile (update-copyright): Also exclude any file that includes
3819         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
3820         code that merely generates the comment.
3821
3822 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
3823
3824         New module 'u8-grapheme-len'.
3825         * modules/unigbrk/u8-grapheme-len: New file.
3826         * modules/unigbrk/u8-grapheme-len-tests: New file.
3827         * lib/unigbrk.in.h: Add prototype for new function.
3828         * lib/unigbrk/u8-grapheme-len.c: New file.
3829         * tests/unigbrk/test-u8-grapheme-len.c: New file.
3830
3831         New module 'u16-grapheme-len'.
3832         * modules/unigbrk/u16-grapheme-len: New file.
3833         * modules/unigbrk/u16-grapheme-len-tests: New file.
3834         * lib/unigbrk.in.h: Add prototype for new function.
3835         * lib/unigbrk/u16-grapheme-len.c: New file.
3836         * tests/unigbrk/test-u16-grapheme-len.c: New file.
3837
3838         New module 'u32-grapheme-len'.
3839         * modules/unigbrk/u32-grapheme-len: New file.
3840         * modules/unigbrk/u32-grapheme-len-tests: New file.
3841         * lib/unigbrk.in.h: Add prototype for new function.
3842         * lib/unigbrk/u32-grapheme-len.c: New file.
3843         * tests/unigbrk/test-u32-grapheme-len.c: New file.
3844
3845         New module 'u8-grapheme-next'.
3846         * modules/unigbrk/u8-grapheme-next: New file.
3847         * modules/unigbrk/u8-grapheme-next-tests: New file.
3848         * lib/unigbrk.in.h: Add prototype for new function.
3849         * lib/unigbrk/u8-grapheme-next.c: New file.
3850         * tests/unigbrk/test-u8-grapheme-next.c: New file.
3851
3852         New module 'u16-grapheme-next'.
3853         * modules/unigbrk/u16-grapheme-next: New file.
3854         * modules/unigbrk/u16-grapheme-next-tests: New file.
3855         * lib/unigbrk.in.h: Add prototype for new function.
3856         * lib/unigbrk/u16-grapheme-next.c: New file.
3857         * tests/unigbrk/test-u16-grapheme-next.c: New file.
3858
3859         New module 'u32-grapheme-next'.
3860         * modules/unigbrk/u32-grapheme-next: New file.
3861         * modules/unigbrk/u32-grapheme-next-tests: New file.
3862         * lib/unigbrk.in.h: Add prototype for new function.
3863         * lib/unigbrk/u32-grapheme-next.c: New file.
3864         * tests/unigbrk/test-u32-grapheme-next.c: New file.
3865
3866         New module 'u8-grapheme-prev'.
3867         * modules/unigbrk/u8-grapheme-prev: New file.
3868         * modules/unigbrk/u8-grapheme-prev-tests: New file.
3869         * lib/unigbrk.in.h: Add prototype for new function.
3870         * lib/unigbrk/u8-grapheme-prev.c: New file.
3871         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
3872
3873         New module 'u16-grapheme-prev'.
3874         * modules/unigbrk/u16-grapheme-prev: New file.
3875         * modules/unigbrk/u16-grapheme-prev-tests: New file.
3876         * lib/unigbrk.in.h: Add prototype for new function.
3877         * lib/unigbrk/u16-grapheme-prev.c: New file.
3878         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
3879
3880         New module 'u32-grapheme-prev'.
3881         * modules/unigbrk/u32-grapheme-prev: New file.
3882         * modules/unigbrk/u32-grapheme-prev-tests: New file.
3883         * lib/unigbrk.in.h: Add prototype for new function.
3884         * lib/unigbrk/u32-grapheme-prev.c: New file.
3885         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
3886
3887         New module 'u8-grapheme-breaks'.
3888         * modules/unigbrk/u8-grapheme-breaks: New file.
3889         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
3890         * lib/unigbrk.in.h: Add prototype for new function.
3891         * lib/unigbrk/u8-grapheme-breaks.c: New file.
3892         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
3893
3894         New module 'u16-grapheme-breaks'.
3895         * modules/unigbrk/u16-grapheme-breaks: New file.
3896         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
3897         * lib/unigbrk.in.h: Add prototype for new function.
3898         * lib/unigbrk/u16-grapheme-breaks.c: New file.
3899         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
3900
3901         New module 'u32-grapheme-breaks'.
3902         * modules/unigbrk/u32-grapheme-breaks: New file.
3903         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
3904         * lib/unigbrk.in.h: Add prototype for new function.
3905         * lib/unigbrk/u32-grapheme-breaks.c: New file.
3906         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
3907
3908         New module 'ulc-grapheme-breaks'.
3909         * modules/unigbrk/ulc-grapheme-breaks: New file.
3910         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
3911         * m4/locale-ar.m4: New file.
3912         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
3913         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
3914         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
3915
3916 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
3917
3918         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
3919         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
3920         modified how this file was generated before I initially submitted
3921         the module, but failed to regenerate it.  This meant that several
3922         of the level2 entries were wrong.
3923         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
3924         Remove the division-by-2 that is folded into the table now that
3925         gbrkprop.h has been regenerated properly.  Now -1 entries are
3926         handled correctly.
3927
3928         New module 'unigbrk/uc-gbrk-prop-tests'.
3929         * modules/unigbrk/uc-gbrk-prop-tests: New file.
3930         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
3931         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
3932         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
3933
3934 2011-01-01  Bruno Haible  <bruno@clisp.org>
3935
3936         Avoid use of hexadecimal escapes.
3937         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
3938         instead of hexadecimal escapes.
3939
3940 2011-01-01  Jim Meyering  <meyering@redhat.com>
3941
3942         maint: new rule to update copyright year ranges
3943         * Makefile (update-copyright): New rule.
3944
3945         maint: indent with TABs in Makefile
3946         * Makefile: Expand leading sequences of spaces to TABs
3947
3948         version-etc: update the copyright year it reports
3949         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
3950
3951 2010-12-31  Bruno Haible  <bruno@clisp.org>
3952
3953         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
3954         * lib/isfinite.c (zerof, zerod, zerol): New variables.
3955         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
3956         zero.
3957
3958 2010-12-31  Bruno Haible  <bruno@clisp.org>
3959
3960         pwrite: Work around HP-UX 11.11 bug.
3961         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
3962         works and set REPLACE_PWRITE if not.
3963         * lib/pwrite.c (pwrite): Add an implementation that uses the system
3964         function.
3965         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
3966
3967 2010-12-31  Bruno Haible  <bruno@clisp.org>
3968
3969         pread: Work around HP-UX 11 bugs.
3970         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
3971         and set REPLACE_PREAD if not.
3972         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
3973
3974 2010-12-31  Eric Blake  <eblake@redhat.com>
3975
3976         nl_langinfo: fix YESEXPR on Irix 6.5
3977         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
3978         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
3979         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
3980         it.
3981
3982 2010-12-31  Bruno Haible  <bruno@clisp.org>
3983
3984         iconv: Document HP-UX 11 bug.
3985         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
3986
3987 2010-12-31  Bruno Haible  <bruno@clisp.org>
3988
3989         ldexpl: Fix link error on HP-UX 11.
3990         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
3991         LDEXPL_LIBM, using $ISNANL_LIBM.
3992
3993 2010-12-31  Eric Blake  <eblake@redhat.com>
3994
3995         ftello: avoid compilation failure with SunStudio c89
3996         * lib/ftello.c (ftello): Use lseek, not llseek.
3997
3998         tests: avoid failing coreutils tests on cygwin
3999         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
4000         (create_exe_shims_): Return 0 when skipping.
4001
4002 2010-12-31  Bruno Haible  <bruno@clisp.org>
4003
4004         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
4005         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
4006
4007 2010-12-31  Bruno Haible  <bruno@clisp.org>
4008
4009         waitpid: Fix link error in C++ mode.
4010         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
4011
4012 2010-12-31  Bruno Haible  <bruno@clisp.org>
4013
4014         isnan: Use GCC built-ins when possible.
4015         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
4016         __builtin_isnan.
4017         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
4018         (isnan): Define using GCC built-ins for GCC >= 4.0.
4019
4020 2010-12-31  Bruno Haible  <bruno@clisp.org>
4021
4022         isnand: Fix mistake.
4023         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
4024         __builtin_isnand.
4025
4026 2010-12-31  Bruno Haible  <bruno@clisp.org>
4027
4028         open: Avoid C++ error on HP-UX 11.
4029         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
4030
4031 2010-12-31  Bruno Haible  <bruno@clisp.org>
4032
4033         time_r: Add missing declarations on HP-UX 11.
4034         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
4035         instead of HAVE_LOCALTIME_R.
4036         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
4037         HAVE_LOCALTIME_R always.
4038         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
4039         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
4040         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
4041         HAVE_LOCALTIME_R.
4042         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
4043         * doc/posix-functions/localtime_r.texi: Likewise.
4044
4045 2010-12-29  Eric Blake  <eblake@redhat.com>
4046
4047         mountlist: tweak previous commit
4048         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
4049         Reported by Paul Eggert.
4050
4051         mountlist: fix local drive detection on cygwin
4052         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
4053         that works for cygwin.
4054
4055 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
4056
4057         ftoastr, snprintf: ftoastr + snprintf module
4058         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
4059         since the snprintf module now should be good enough here.
4060         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
4061         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
4062         and gl_MODULE_INDICATOR([snprintf]), but the former enables
4063         GNULIB_SNPRINTF only for the test directory, and the latter
4064         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
4065         seems to suffice by itself.
4066
4067 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
4068
4069         alloca: one step towards thread-safety
4070         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
4071         need for a static variable.  All callers changed.  This does not
4072         make the alloca replacement thread-safe, but it's one step.
4073
4074         tests: minor indenting change
4075         * tests/init.sh: Sync from coreutils housekeeping patch
4076         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
4077         to keep lines within 80 columns.
4078
4079 2010-12-28  Jim Meyering  <meyering@redhat.com>
4080
4081         regex: don't infloop on persistent failing calloc
4082         * lib/regexec.c (build_trtable): Return failure indication upon
4083         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
4084         In glibc, this was fixed for version 2.13:
4085         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
4086
4087 2010-12-28  Bruno Haible  <bruno@clisp.org>
4088             Paul Eggert <eggert@cs.ucla.edu>
4089
4090         linkat: Make implementation robust against system behaviour variations.
4091         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
4092         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
4093         way, and to -2 if it needs a generic runtime test.
4094         * lib/linkat.c (solaris_optimized_link_immediate,
4095         solaris_optimized_link_follow): New functions.
4096         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
4097         (check_same_link): Use it.
4098
4099 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
4100
4101         New module 'unigbrk/base'.
4102         * modules/unigbrk/base: New file.
4103         * lib/unigbrk.in.h: New file.
4104
4105         New module 'unigbrk/uc-gbrk-prop'.
4106         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
4107         * modules/unigbrk/uc-gbrk-prop: New file.
4108         * lib/unigbrk/gbrkprop.h: New file.
4109         * lib/unigbrk/uc-gbrk-prop.c: New file.
4110
4111         New module 'unigbrk/uc-is-grapheme-break'.
4112         * modules/unigbrk/uc-is-grapheme-break: New file.
4113         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
4114         * lib/unigbrk/uc-is-grapheme-break.c: New file.
4115         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
4116         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
4117         * tests/unigbrk/GraphemeBreakTest.txt: New file.
4118
4119         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
4120
4121 2010-12-27  Bruno Haible  <bruno@clisp.org>
4122
4123         linkat test: Avoid failure on Solaris 11 2010-11.
4124         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
4125
4126 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
4127
4128         utimens: work around glibc rounding bug on more platforms
4129         * lib/utimens.c (fdutimens): Work around rounding bug even if
4130         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
4131         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
4132
4133 2010-12-27  Bruno Haible  <bruno@clisp.org>
4134
4135         select tests: Improve comments.
4136         * tests/test-select.c (do_select): Add comments.
4137
4138 2010-12-27  Bruno Haible  <bruno@clisp.org>
4139
4140         select tests: Safer way of handling timeout.
4141         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
4142         at every invocation.
4143
4144 2010-12-27  Bruno Haible  <bruno@clisp.org>
4145
4146         select tests: Use 'bool' where appropriate.
4147         * tests/test-select.c (connect_to_socket): Change argument type to
4148         'bool'.
4149
4150 2010-12-27  Bruno Haible  <bruno@clisp.org>
4151
4152         select tests: Use existing modules.
4153         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
4154         (configure.ac): Don't test for unistd.h.
4155         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
4156         declared in <unistd.h>.
4157
4158 2010-12-27  Bruno Haible  <bruno@clisp.org>
4159
4160         mbrtowc: Work around a Solaris 7 bug.
4161         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
4162         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
4163         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
4164         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
4165         MBRTOWC_NULL_ARG1_BUG.
4166         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
4167         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
4168         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
4169         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
4170
4171 2010-12-27  Jim Meyering  <meyering@redhat.com>
4172
4173         read-file.c: tweak syntax
4174         * lib/read-file.c (fread_file): Remove space after "*" in function
4175         definitions.
4176
4177 2010-12-27  Bruno Haible  <bruno@clisp.org>
4178
4179         times test: Avoid gcc warnings on OSF/1.
4180         * tests/test-times.c (main): Cast printf arguments from clock_t to
4181         'long int'.
4182
4183 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
4184
4185         utimens: work around glibc rounding bug on older Linux kernels
4186         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
4187         on Linux with a glibc whose utimes might not work, then work
4188         around a longstanding glibc bug involving rounding rather than
4189         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
4190         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
4191
4192 2010-12-26  Bruno Haible  <bruno@clisp.org>
4193
4194         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
4195         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
4196         _GL_CXXALIAS_SYS.
4197         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4198
4199 2010-12-26  Bruno Haible  <bruno@clisp.org>
4200
4201         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
4202         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
4203         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
4204         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
4205         looking for the declaration.
4206         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
4207         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
4208         problem.
4209         * doc/posix-functions/inet_pton.texi: Likewise.
4210
4211 2010-12-26  Bruno Haible  <bruno@clisp.org>
4212
4213         arpa_inet: Use the common idioms with C++ support.
4214         * lib/arpa_inet.in.h: Include c++defs.h.
4215         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
4216         support.
4217         * modules/arpa_inet (Depends-on): Add c++defs.
4218         (Makefile.am): Substitute the contents of c++defs.h.
4219         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
4220         * modules/arpa_inet-c++-tests: New file.
4221         * tests/test-arpa_inet-c++.cc: New file.
4222
4223 2010-12-25  Bruno Haible  <bruno@clisp.org>
4224
4225         Fix more C++ link errors on Solaris 8.
4226         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
4227         $(LIB_EACCESS).
4228         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
4229         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
4230         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
4231         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
4232         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
4233
4234 2010-12-25  Bruno Haible  <bruno@clisp.org>
4235
4236         printf-posix: Fix link error when a non-GCC compiler is used.
4237         * lib/stdio.in.h (printf): When not using GCC, override printf
4238         correctly.
4239         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4240
4241 2010-12-25  Bruno Haible  <bruno@clisp.org>
4242
4243         strerror_r-posix: Update doc.
4244         * doc/posix-functions/strerror_r.texi: Update doc about the return
4245         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
4246
4247 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
4248
4249         utimens: simplify the logic of the previous change
4250         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
4251         This should not affect whether the test succeeds or fails.
4252
4253         utimens: configure better on hosts with NFS clock skew
4254         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
4255         uses the clock of the local host.  It might use the clock of the
4256         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
4257         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
4258
4259 2010-12-25  Bruno Haible  <bruno@clisp.org>
4260
4261         ptsname test: Avoid failure on Solaris.
4262         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
4263         open a pseudo-terminal; don't use BSD-style ptys.
4264         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
4265
4266 2010-12-25  Bruno Haible  <bruno@clisp.org>
4267
4268         ptsname: Avoid ERANGE failure on some systems.
4269         * lib/ptsname.c (buffer): Increase size.
4270
4271 2010-12-25  Bruno Haible  <bruno@clisp.org>
4272
4273         rename, renameat: Avoid test failures at NFS mounted locations.
4274         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
4275         so that subsequent mkdir calls succeed.
4276
4277 2010-12-25  Bruno Haible  <bruno@clisp.org>
4278
4279         iswblank: Fix C++ link error on Solaris 8.
4280         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
4281         _GL_FUNCDECL_SYS.
4282
4283 2010-12-25  Bruno Haible  <bruno@clisp.org>
4284
4285         unistd: Fix C++ link error on Solaris 8.
4286         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
4287
4288 2010-12-25  Bruno Haible  <bruno@clisp.org>
4289
4290         readlink doc: Mention an old glibc bug.
4291         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
4292
4293 2010-12-25  Bruno Haible  <bruno@clisp.org>
4294
4295         fcntl-h: Fix for use of C++ on glibc systems.
4296         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
4297         also on glibc systems in C++ mode.
4298         Reported by Gary V. Vaughan <gary@gnu.org>.
4299
4300 2010-12-25  Bruno Haible  <bruno@clisp.org>
4301
4302         roundl-ieee: Make it work on OSF/1 5.1 with cc.
4303         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
4304
4305 2010-12-25  Bruno Haible  <bruno@clisp.org>
4306
4307         truncl-ieee: Make it work on OSF/1 5.1 with cc.
4308         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
4309         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
4310         test whether truncl works according to ISO C 99 with IEC 60559.
4311         * m4/truncl-ieee.m4: New file.
4312         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
4313         m4/signbit.m4.
4314         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
4315
4316 2010-12-25  Bruno Haible  <bruno@clisp.org>
4317
4318         ceill-ieee: Make it work on OSF/1 5.1 with cc.
4319         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
4320         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
4321         test whether ceill works according to ISO C 99 with IEC 60559.
4322         * m4/ceill-ieee.m4: New file.
4323         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
4324         m4/signbit.m4.
4325         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
4326
4327 2010-12-25  Bruno Haible  <bruno@clisp.org>
4328
4329         Ensure all prerequisites of <wchar.h> are included.
4330         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
4331         before <wchar.h>.
4332         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
4333         gl_MBRLEN_NUL_RETVAL): Likewise.
4334         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
4335         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
4336         AC_FUNC_MBRTOWC): Likewise.
4337         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
4338         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
4339         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
4340         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
4341         Likewise.
4342         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
4343         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
4344         (gl_WCHAR_H): Improve comments.
4345         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
4346
4347 2010-12-25  Bruno Haible  <bruno@clisp.org>
4348
4349         strtok_r: Fix C syntax error in autoconf macro.
4350         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
4351         characters in test program.
4352
4353 2010-12-24  Bruno Haible  <bruno@clisp.org>
4354
4355         ceil, trunc, round: Fix gcc warnings.
4356         * lib/ceil.c (MIN): Undefine before redefining.
4357         * lib/trunc.c (MIN): Likewise.
4358         * lib/round.c (MIN): Likewise.
4359         Include <math.h> first.
4360
4361 2010-12-24  Bruno Haible  <bruno@clisp.org>
4362
4363         select tests: Avoid failures on OSF/1 5.1.
4364         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
4365         failure of closing the last socket; it may fail with ECONNRESET.
4366
4367 2010-12-24  Eric Blake  <eblake@redhat.com>
4368
4369         stdint: avoid HP-UX 10.20 preprocessor bug
4370         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
4371         than #if.
4372         * tests/test-floor2.c (main): Likewise.
4373         Reported by Peter O'Gorman.
4374
4375         pipe: make obsoletion transition easier
4376         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
4377         * modules/pipe (Files): Include revived file.
4378         (Include): Drop reference, to mirror getdate's behavior.
4379
4380 2010-12-24  Bruno Haible  <bruno@clisp.org>
4381
4382         sys_socket: Hide mismatch of declarations on NonStop Kernel.
4383         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
4384         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
4385         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4386
4387 2010-12-24  Bruno Haible  <bruno@clisp.org>
4388
4389         gethostname: Ensure declaration on NonStop Kernel.
4390         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
4391         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4392
4393 2010-12-24  Bruno Haible  <bruno@clisp.org>
4394
4395         sys_select: Ensure all necessary types on NonStop Kernel.
4396         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
4397         include <sys/time.h>.
4398         * doc/posix-headers/sys_select.texi: Mention that it's missing on
4399         NonStop Kernel.
4400         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4401
4402 2010-12-24  Bruno Haible  <bruno@clisp.org>
4403
4404         sys_select: Remove unneeded include.
4405         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
4406         have <sys/select.h>.
4407
4408 2010-12-24  Bruno Haible  <bruno@clisp.org>
4409
4410         gethostname: Provide a fallback for HOST_NAME_MAX.
4411         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
4412         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
4413         instead.
4414         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4415
4416 2010-12-24  Bruno Haible  <bruno@clisp.org>
4417
4418         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
4419         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
4420         (SA_RESTART): Likewise.
4421         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4422
4423 2010-12-24  Bruno Haible  <bruno@clisp.org>
4424
4425         signal: Define NSIG.
4426         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
4427         * tests/test-signal.c (nsig): New variable.
4428         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4429
4430 2010-12-24  Bruno Haible  <bruno@clisp.org>
4431
4432         rename, renameat: Avoid test failures on OSF/1 5.1.
4433         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
4434         alternative error codes.
4435         * tests/test-renameat.c (main): Likewise.
4436
4437 2010-12-24  Bruno Haible  <bruno@clisp.org>
4438
4439         *printf: Detect large precisions bug on Solaris 10/SPARC.
4440         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
4441         by Paul Eggert.
4442         * tests/test-snprintf-posix.h (test_function): Add this test code here
4443         too.
4444         * tests/test-sprintf-posix.h (test_function): Likewise.
4445         * tests/test-vasnprintf-posix.c (test_function): Likewise.
4446         * tests/test-vasprintf-posix.c (test_function): Likewise.
4447         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
4448         around by gnulib.
4449         * doc/posix-functions/printf.texi: Likewise.
4450         * doc/posix-functions/snprintf.texi: Likewise.
4451         * doc/posix-functions/sprintf.texi: Likewise.
4452         * doc/posix-functions/vfprintf.texi: Likewise.
4453         * doc/posix-functions/vprintf.texi: Likewise.
4454         * doc/posix-functions/vsnprintf.texi: Likewise.
4455         * doc/posix-functions/vsprintf.texi: Likewise.
4456         * doc/posix-functions/dprintf.texi: Undo last commit.
4457         * doc/posix-functions/vdprintf.texi: Likewise.
4458
4459 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
4460
4461         tests: port test-fdutimensat.c to Solaris 8
4462         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
4463         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
4464         On Solaris 8, it fails with errno == ENOSYS, because there is no
4465         futimens (so it can't use the fd), and there is no lutimens (so it
4466         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
4467
4468         vsnprintf: make more consistent with snprintf; doc fixes
4469
4470         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
4471         the byte count return problem was promoted from the snprintf-posix
4472         to the snprintf module.
4473         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
4474         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
4475         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
4476         * tests/test-snprintf.c (main): Check the byte count returned.
4477         * tests/test-vsnprintf.c (main): Likewise.
4478
4479 2010-12-23  Eric Blake  <eblake@redhat.com>
4480
4481         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
4482         * modules/sigpipe (License): Relax license.
4483
4484 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
4485
4486         doc: document Solaris printf bug with large float precisions
4487         * doc/posix-functions/dprintf.texi (dprintf):
4488         * doc/posix-functions/fprintf.texi (fprintf):
4489         * doc/posix-functions/printf.texi (printf):
4490         * doc/posix-functions/snprintf.texi (snprintf):
4491         * doc/posix-functions/sprintf.texi (sprintf):
4492         * doc/posix-functions/vdprintf.texi (vdprintf):
4493         * doc/posix-functions/vfprintf.texi (vfprintf):
4494         * doc/posix-functions/vprintf.texi (vprintf):
4495         * doc/posix-functions/vsnprintf.texi (vsnprintf):
4496         * doc/posix-functions/vsprintf.texi (vsprintf):
4497         Mention that these functions mishandle large floating point
4498         precisions on Solaris 10.  The same bug is also present in Solaris
4499         8, and I assume earlier.  This causes "cd gnulib-tests; make
4500         check" to fail on Solaris 8 (and I assume, later) when building
4501         the latest coreutils, in test-vasprintf-posix's call to
4502         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
4503         the wide flavors (e.g., wprintf) so this patch just updates the
4504         documentation for the narrow ones.
4505
4506         test-posixtm.c: add two tests
4507         * tests/test-posixtm.c: Add two tests, to highlight the
4508         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
4509         around this bug; this is merely to document it.
4510
4511 2010-12-22  Bruno Haible  <bruno@clisp.org>
4512
4513         getlogin_r: Work around portability problem on OSF/1.
4514         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
4515         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
4516         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
4517         test for a truncated result.
4518         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
4519         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
4520         * modules/getlogin_r (Depends-on): Add memchr.
4521         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
4522
4523 2010-12-22  Bruno Haible  <bruno@clisp.org>
4524
4525         ptsname: Avoid test failure on OSF/1 5.1.
4526         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
4527         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
4528         (same_slave): New function.
4529         (main): Use it to compare ptsname's result with the expected file name.
4530
4531 2010-12-22  Bruno Haible  <bruno@clisp.org>
4532
4533         Port extended stdio modules to HP NonStop Kernel.
4534         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
4535         macros.
4536         * lib/fbufmode.c: Update comments.
4537         * lib/fflush.c: Likewise.
4538         * lib/fpurge.c: Likewise.
4539         * lib/freadable.c: Likewise.
4540         * lib/freadahead.c: Likewise.
4541         * lib/freading.c: Likewise.
4542         * lib/freadptr.c: Likewise.
4543         * lib/freadseek.c: Likewise.
4544         * lib/fseeko.c: Likewise.
4545         * lib/fseterr.c: Likewise.
4546         * lib/fwritable.c: Likewise.
4547         * lib/fwriting.c: Likewise.
4548         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4549
4550 2010-12-22  Bruno Haible  <bruno@clisp.org>
4551
4552         ttyname_r: Work around bug on OSF/1 5.1.
4553         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
4554         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
4555         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
4556         present.
4557         * lib/ttyname_r.c (ttyname_r): Update comments.
4558
4559 2010-12-22  Bruno Haible  <bruno@clisp.org>
4560
4561         round: Implement result sign according to IEEE 754.
4562         * lib/round.c (MIN, MINUS_ZERO): New macros.
4563         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
4564         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
4565         * tests/test-round-ieee.c (main): Likewise.
4566         * tests/test-roundl-ieee.c (main): Likewise.
4567
4568         trunc: Implement result sign according to IEEE 754.
4569         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
4570         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
4571         * tests/test-trunc2.c: Include minus-zero.h.
4572         (MINUS_ZERO): New macro.
4573         (trunc_reference): Keep in sync with lib/trunc.c.
4574         * tests/test-truncf2.c: Include minus-zero.h.
4575         (MINUS_ZERO): New macro.
4576         (truncf_reference): Keep in sync with lib/trunc.c.
4577         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
4578         * tests/test-trunc-ieee.c (main): Likewise.
4579         * tests/test-truncl-ieee.c (main): Likewise.
4580
4581         ceil: Implement result sign according to IEEE 754.
4582         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
4583         (FUNC): Return -0.0 for -1 < x < 0.
4584         * tests/test-ceil2.c: Include minus-zero.h.
4585         (MINUS_ZERO): New macro.
4586         (ceil_reference): Keep in sync with lib/ceil.c.
4587         * tests/test-ceilf2.c: Include minus-zero.h.
4588         (MINUS_ZERO): New macro.
4589         (ceilf_reference): Keep in sync with lib/ceil.c.
4590         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
4591         * tests/test-ceil-ieee.c (main): Likewise.
4592         * tests/test-ceill-ieee.c (main): Likewise.
4593
4594         floor: Implement result sign according to IEEE 754.
4595         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
4596         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
4597         * tests/test-floorf2.c (floorf_reference): Likewise.
4598         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
4599         * tests/test-floor-ieee.c (main): Likewise.
4600         * tests/test-floorl-ieee.c (main): Likewise.
4601
4602 2010-12-22  Bruno Haible  <bruno@clisp.org>
4603
4604         getaddrinfo: Update doc.
4605         * doc/posix-functions/gai_strerror.texi: Return type is also different
4606         on AIX and HP-UX.
4607
4608 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
4609
4610         getaddrinfo, inet_ntop: Update doc for Solaris.
4611         * doc/posix-functions/gai_strerror.texi: Return type is also an
4612         issue on Solaris 9 and earlier.
4613         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
4614         on Solaris 10 and earlier.
4615
4616 2010-12-21  Bruno Haible  <bruno@clisp.org>
4617
4618         New module 'roundl-ieee'.
4619         * modules/roundl-ieee: New file.
4620         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
4621         test whether roundl works according to ISO C 99 with IEC 60559.
4622         * m4/roundl-ieee.m4: New file.
4623         * modules/roundl-ieee-tests: New file.
4624         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
4625         * tests/test-roundl.c (main): Remove signbit tests.
4626         * modules/roundl-tests (Depends-on): Remove signbit.
4627         * doc/posix-functions/roundl.texi: Mention the new module.
4628
4629 2010-12-21  Bruno Haible  <bruno@clisp.org>
4630
4631         New module 'truncl-ieee'.
4632         * modules/truncl-ieee: New file.
4633         * modules/truncl-ieee-tests: New file.
4634         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
4635         * tests/test-truncl.c (main): Remove signbit tests.
4636         * modules/truncl-tests (Depends-on): Remove signbit.
4637         * doc/posix-functions/truncl.texi: Mention the new module.
4638
4639 2010-12-21  Bruno Haible  <bruno@clisp.org>
4640
4641         New module 'ceill-ieee'.
4642         * modules/ceill-ieee: New file.
4643         * modules/ceill-ieee-tests: New file.
4644         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
4645         * tests/test-ceill.c (main): Remove signbit tests.
4646         * modules/ceill-tests (Depends-on): Remove signbit.
4647         * doc/posix-functions/ceill.texi: Mention the new module.
4648
4649 2010-12-21  Bruno Haible  <bruno@clisp.org>
4650
4651         New module 'floorl-ieee'.
4652         * modules/floorl-ieee: New file.
4653         * modules/floorl-ieee-tests: New file.
4654         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
4655         * tests/test-floorl.c (main): Remove signbit tests.
4656         * modules/floorl-tests (Depends-on): Remove signbit.
4657         * doc/posix-functions/floorl.texi: Mention the new module.
4658
4659 2010-12-21  Bruno Haible  <bruno@clisp.org>
4660
4661         New module 'round-ieee'.
4662         * modules/round-ieee: New file.
4663         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
4664         whether round works according to ISO C 99 with IEC 60559.
4665         * m4/round-ieee.m4: New file.
4666         * modules/round-ieee-tests: New file.
4667         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
4668         * tests/test-round1.c (main): Remove signbit tests.
4669         * modules/round-tests (Depends-on): Remove 'signbit'.
4670         * doc/posix-functions/round.texi: Mention the new module.
4671
4672 2010-12-21  Bruno Haible  <bruno@clisp.org>
4673
4674         New module 'trunc-ieee'.
4675         * modules/trunc-ieee: New file.
4676         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
4677         whether trunc works according to ISO C 99 with IEC 60559.
4678         * m4/trunc-ieee.m4: New file.
4679         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
4680         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
4681         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
4682         * modules/trunc-ieee-tests: New file.
4683         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
4684         * tests/test-trunc1.c (main): Remove signbit tests.
4685         * modules/trunc-tests (Depends-on): Remove 'signbit'.
4686         * doc/posix-functions/trunc.texi: Mention the new module.
4687
4688 2010-12-21  Bruno Haible  <bruno@clisp.org>
4689
4690         New module 'ceil-ieee'.
4691         * modules/ceil-ieee: New file.
4692         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
4693         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
4694         ISO C 99 with IEC 60559.
4695         * m4/ceil-ieee.m4: New file.
4696         * modules/ceil (Files): Add lib/ceil.c.
4697         (Depends-on): Add 'float'.
4698         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
4699         * lib/math.in.h (ceil): New declaration.
4700         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
4701         REPLACE_CEIL.
4702         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
4703         * modules/ceil-ieee-tests: New file.
4704         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
4705         * tests/test-math-c++.cc: Check the signature of 'ceil'.
4706         * doc/posix-functions/ceil.texi: Mention the new module.
4707
4708 2010-12-21  Bruno Haible  <bruno@clisp.org>
4709
4710         New module 'floor-ieee'.
4711         * modules/floor-ieee: New file.
4712         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
4713         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
4714         ISO C 99 with IEC 60559.
4715         * m4/floor-ieee.m4: New file.
4716         * modules/floor (Files): Add lib/floor.c.
4717         (Depends-on): Add 'float'.
4718         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
4719         * lib/math.in.h (floor): New declaration.
4720         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
4721         REPLACE_FLOOR.
4722         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
4723         * modules/floor-ieee-tests: New file.
4724         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
4725         * tests/test-math-c++.cc: Check the signature of 'floor'.
4726         * doc/posix-functions/floor.texi: Mention the new module.
4727
4728 2010-12-21  Bruno Haible  <bruno@clisp.org>
4729
4730         New module 'roundf-ieee'.
4731         * modules/roundf-ieee: New file.
4732         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
4733         test whether roundf works according to ISO C 99 with IEC 60559.
4734         * m4/roundf-ieee.m4: New file.
4735         * modules/roundf-ieee-tests: New file.
4736         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
4737         * tests/test-roundf1.c (main): Remove signbit tests.
4738         * modules/roundf-tests (Depends-on): Remove 'signbit'.
4739         * doc/posix-functions/roundf.texi: Mention the new module.
4740
4741 2010-12-21  Bruno Haible  <bruno@clisp.org>
4742
4743         New module 'truncf-ieee'.
4744         * modules/truncf-ieee: New file.
4745         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
4746         test whether truncf works according to ISO C 99 with IEC 60559.
4747         * m4/truncf-ieee.m4: New file.
4748         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
4749         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
4750         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
4751         * modules/truncf-ieee-tests: New file.
4752         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
4753         * tests/test-truncf1.c (main): Remove signbit tests.
4754         * modules/truncf-tests (Depends-on): Remove 'signbit'.
4755         * doc/posix-functions/truncf.texi: Mention the new module.
4756
4757 2010-12-21  Bruno Haible  <bruno@clisp.org>
4758
4759         New module 'ceilf-ieee'.
4760         * modules/ceilf-ieee: New file.
4761         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
4762         test whether ceilf works according to ISO C 99 with IEC 60559.
4763         * m4/ceilf-ieee.m4: New file.
4764         * modules/ceilf-ieee-tests: New file.
4765         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
4766         * tests/test-ceilf1.c (main): Remove signbit tests.
4767         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
4768         * doc/posix-functions/ceilf.texi: Mention the new module.
4769
4770 2010-12-21  Bruno Haible  <bruno@clisp.org>
4771
4772         New module 'floorf-ieee'.
4773         * modules/floorf-ieee: New file.
4774         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
4775         test whether floorf works according to ISO C 99 with IEC 60559.
4776         * m4/floorf-ieee.m4: New file.
4777         * modules/floorf-ieee-tests: New file.
4778         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
4779         * tests/test-floorf1.c (main): Remove signbit tests.
4780         * modules/floorf-tests (Depends-on): Remove 'signbit'.
4781         * doc/posix-functions/floorf.texi: Mention the new module.
4782
4783 2010-12-21  Bruno Haible  <bruno@clisp.org>
4784
4785         Support for minus zero in autoconf macros.
4786         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
4787         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
4788         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
4789         * tests/minus-zero.h: Update comments.
4790
4791 2010-12-21  Bruno Haible  <bruno@clisp.org>
4792
4793         Tests for module 'ceil'.
4794         * modules/ceil-tests: New file.
4795         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
4796         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
4797
4798 2010-12-21  Bruno Haible  <bruno@clisp.org>
4799
4800         Tests for module 'floor'.
4801         * modules/floor-tests: New file.
4802         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
4803         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
4804
4805 2010-12-21  Bruno Haible  <bruno@clisp.org>
4806
4807         math: Fix indentation.
4808         * lib/math.in.h (floorf): Fix indentation.
4809
4810 2010-12-21  Bruno Haible  <bruno@clisp.org>
4811
4812         Fix cross-compilation guesses on Solaris.
4813         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
4814         not match "solaris2.10".
4815         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
4816         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
4817         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
4818
4819 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
4820
4821         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
4822         This fixes a problem observed with the latest coreutils snapshot
4823         that caused a test to fail on Solaris 8.  src/csplit.c's call
4824         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
4825         earlier, instead of returning the number of bytes that would have
4826         been generated; this causes csplit to incorrectly report memory
4827         exhaustion.
4828         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
4829         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
4830         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
4831         comments to match.
4832         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
4833         Fix typo in matching older versions of Solaris: "solaris2.10"
4834         is matched by the shell pattern "solaris2.[0-9]*".  This matters
4835         only for guessing while cross-compiling.
4836         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
4837
4838 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
4839
4840         ftoastr: fix comment again
4841         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
4842         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
4843         Also, simplify example a bit by using flags = 0.
4844
4845 2010-12-20  Bruno Haible  <bruno@clisp.org>
4846
4847         round*, trunc*: Update documentation regarding glibc.
4848         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
4849         * doc/posix-functions/round.texi: Likewise.
4850         * doc/posix-functions/roundl.texi: Likewise.
4851         * doc/posix-functions/truncf.texi: Likewise.
4852         * doc/posix-functions/trunc.texi: Likewise.
4853         * doc/posix-functions/truncl.texi: Likewise.
4854
4855 2010-12-20  Bruno Haible  <bruno@clisp.org>
4856
4857         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
4858         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
4859         * doc/posix-functions/round.texi: Likewise.
4860         * doc/posix-functions/roundl.texi: Likewise.
4861
4862 2010-12-20  Bruno Haible  <bruno@clisp.org>
4863
4864         ttyname_r: Add missing declaration on HP-UX 11.
4865         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
4866         HAVE_TTYNAME_R.
4867         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
4868         declared. Set HAVE_TTYNAME_R always.
4869         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
4870         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
4871         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
4872         HAVE_TTYNAME_R.
4873         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
4874
4875 2010-12-20  Bruno Haible  <bruno@clisp.org>
4876
4877         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
4878         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
4879         * doc/posix-functions/getlogin_r.texi: Likewise.
4880         * tests/test-getlogin.c: Include <errno.h>.
4881         (main): Avoid test failure on HP-UX 11.11.
4882         * tests/test-getlogin_r.c (main): Likewise.
4883
4884 2010-12-20  Bruno Haible  <bruno@clisp.org>
4885
4886         getlogin_r: Add missing declaration on HP-UX 11.
4887         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
4888         declared also when it exists as a function.
4889         * doc/posix-functions/getlogin_r.texi: Document this workaround.
4890
4891 2010-12-20  Bruno Haible  <bruno@clisp.org>
4892
4893         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
4894         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
4895         through wcrtomb.
4896
4897 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
4898
4899         ftoastr: fix comment
4900         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
4901         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
4902
4903 2010-12-19  Bruno Haible  <bruno@clisp.org>
4904
4905         isnan: Ensure it is a macro.
4906         * lib/math.in.h (isnan): Define as a macro if not already a macro.
4907         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
4908         Solaris.
4909
4910 2010-12-19  Bruno Haible  <bruno@clisp.org>
4911
4912         ldexpl test: Fix link error on OSF/1 5.1.
4913         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
4914
4915 2010-12-19  Bruno Haible  <bruno@clisp.org>
4916
4917         wctype: Make it work in C++ mode on OSF/1 5.1.
4918         * lib/wctype.in.h (iswblank): Declare but not define here.
4919         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
4920         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
4921         * modules/wctype (Files): Add lib/iswblank.c.
4922
4923 2010-12-19  Bruno Haible  <bruno@clisp.org>
4924
4925         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
4926         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
4927         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
4928
4929 2010-12-19  Bruno Haible  <bruno@clisp.org>
4930
4931         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
4932         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
4933         _POSIX_PII_SOCKET.
4934         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
4935         * doc/posix-functions/recvfrom.texi: Likewise.
4936         * doc/posix-functions/send.texi: Likewise.
4937         * doc/posix-functions/sendto.texi: Likewise.
4938
4939 2010-12-19  Bruno Haible  <bruno@clisp.org>
4940
4941         tcgetsid: Add missing declaration on OSF/1 5.1.
4942         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
4943         HAVE_TCGETSID.
4944         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
4945         Don't set HAVE_TCGETSID.
4946         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
4947         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
4948         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
4949         HAVE_TCGETSID.
4950         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
4951
4952 2010-12-19  Bruno Haible  <bruno@clisp.org>
4953
4954         stdio: Fix problem with popen() declaration on OSF/1 5.1.
4955         * lib/stdio.in.h: During the include_next statement, let recursive
4956         includes of this file include only the system header file.
4957
4958 2010-12-19  Bruno Haible  <bruno@clisp.org>
4959
4960         iconv_open: Fix regression from 2010-12-04.
4961         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
4962         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
4963
4964 2010-12-19  Bruno Haible  <bruno@clisp.org>
4965
4966         stdbool test: Avoid a gcc warning.
4967         * tests/test-stdbool.c (main): Fail if e1 is false.
4968         Reported by Jim Meyering.
4969
4970 2010-12-19  Jim Meyering  <meyering@redhat.com>
4971
4972         setenv: restore to working order
4973         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
4974         mistakenly removed.
4975         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
4976         HAVE_SETENV.
4977         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
4978         HAVE_SETENV.
4979
4980 2010-12-19  Bruno Haible  <bruno@clisp.org>
4981
4982         Document some different function declarations on OSF/1 5.1.
4983         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
4984         * doc/posix-functions/inet_ntop.texi: Likewise.
4985         * doc/posix-functions/gethostname.texi: Likewise.
4986         * lib/unistd.in.h (gethostname): Update comment.
4987
4988 2010-12-19  Bruno Haible  <bruno@clisp.org>
4989
4990         doc: Mention vasprintf-posix module.
4991         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
4992         the 'vasprintf-posix' module.
4993         * doc/glibc-functions/vasprintf.texi: Likewise.
4994
4995 2010-12-19  Bruno Haible  <bruno@clisp.org>
4996
4997         unsetenv: Add missing declaration on OSF/1 5.1.
4998         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
4999         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
5000         Don't set HAVE_UNSETENV. In the test program, set _BSD.
5001         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
5002         not HAVE_UNSETENV.
5003         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
5004         HAVE_UNSETENV.
5005         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
5006
5007 2010-12-19  Bruno Haible  <bruno@clisp.org>
5008
5009         setenv: Add missing declaration on OSF/1 5.1.
5010         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
5011         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
5012         declared. Don't set HAVE_SETENV.
5013         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
5014         not HAVE_SETENV.
5015         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
5016         HAVE_SETENV.
5017         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
5018
5019 2010-12-19  Bruno Haible  <bruno@clisp.org>
5020
5021         nl_langinfo tests: Avoid gcc warning.
5022         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
5023
5024 2010-12-19  Bruno Haible  <bruno@clisp.org>
5025
5026         mknod: Avoid error in C++ mode on OSF/1 with GCC.
5027         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
5028         _GL_CXXALIAS_SYS.
5029
5030 2010-12-19  Bruno Haible  <bruno@clisp.org>
5031
5032         stdbool: Relax test.
5033         * tests/test-stdbool.c (e): Don't require that casts from a variable's
5034         address to 'bool' work in static initializer, for compilers other than
5035         GCC.
5036
5037 2010-12-19  Bruno Haible  <bruno@clisp.org>
5038
5039         ftello: Add missing declaration on OSF/1 5.1.
5040         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
5041         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
5042         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
5043         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
5044         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
5045
5046 2010-12-19  Bruno Haible  <bruno@clisp.org>
5047
5048         fseeko: Add missing declaration on OSF/1 5.1.
5049         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
5050         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
5051         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
5052         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
5053         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
5054
5055 2010-12-19  Bruno Haible  <bruno@clisp.org>
5056
5057         fchdir: Add missing declaration on OSF/1 5.1.
5058         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
5059         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
5060         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
5061         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
5062         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
5063
5064 2010-12-19  Bruno Haible  <bruno@clisp.org>
5065
5066         relocatable-prog-wrapper: Separate from relocatable-prog.
5067         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
5068         uninstall-relocwrapper rule here.
5069         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
5070         Reported by Ian Beckwith <ianb@erislabs.net>.
5071
5072 2010-12-19  Bruno Haible  <bruno@clisp.org>
5073
5074         unistr/u8-mbsnlen: Add missing dependency.
5075         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
5076         Reported by Ian Beckwith <ianb@erislabs.net>.
5077
5078 2010-12-19  Bruno Haible  <bruno@clisp.org>
5079
5080         iconv: Make it possible again to use this module without 'iconv-h'.
5081         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
5082         if it is not defined.
5083         Reported by Ian Beckwith <ianb@erislabs.net>.
5084
5085 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
5086
5087         acl: port to Solaris 8 when copying from tmpfs to ufs
5088         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
5089         error number.  Problem observed on Solaris 8 with latest
5090         coreutils, with "mv A B", where A is on a tmpfs file system and B
5091         is on a ufs file system.  This caused coreutils' mv/part-symlink
5092         test to fail.
5093
5094         tests: set fail=0 at start
5095         * tests/init.sh (setup_): Move fail=0 initialization here ...
5096         (mktempd_): ... from here, so that tests can rely on fail being
5097         set to 0 initially.  This fixes a problem in coreutils; see:
5098         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
5099
5100 2010-12-18  Bruno Haible  <bruno@clisp.org>
5101
5102         memmem-simple: Stylistic changes.
5103         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
5104         Fix preprocessor directive indentation.
5105
5106 2010-12-15  Pádraig Brady <P@draigBrady.com>
5107
5108         memmem, memmem-simple: reorganize and expand empty needle check
5109         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
5110         functional checks to memmem-simple so that one has a fully functional
5111         memmem by using just this module.
5112         Restrict the performance only check to the memmem module.
5113         Also expand the empty needle check to ensure the correct
5114         pointer is returned, not just a non NULL pointer.
5115         * doc/glibc-functions/memmem.texi: Rearrange the portability
5116         documentation to correlate with the rearranged checks.
5117         Clarify exactly how the memmem and memmem-simple modules
5118         relate to each other.
5119
5120 2010-12-15  Pádraig Brady <P@draigBrady.com>
5121             Bruno Haible  <bruno@clisp.org>
5122
5123         Improve cross-compilation guesses for uClibc.
5124         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
5125         that uClibc does not have the glibc bug.
5126         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
5127         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
5128
5129 2010-12-14  Eric Blake  <eblake@redhat.com>
5130
5131         configmake: provide fallbacks for oldest supported autotools
5132         * m4/configmake.m4: New file.
5133         * modules/configmake (Files): Ship it.
5134         (configure.ac): Use it to guarantee fallbacks.
5135
5136 2010-12-13  Pádraig Brady <P@draigBrady.com>
5137
5138         read-file: Improve handling of large files
5139         * lib/read-file.c (fread_file): Minimize realloc()s
5140         for regular files, and better manage sizes around SIZE_MAX.
5141
5142 2010-12-13  Eric Blake  <eblake@redhat.com>
5143
5144         cloexec, fcntl: relax license
5145         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
5146         consent from all contributors.
5147         * modules/fcntl (License): Likewise.
5148
5149 2010-12-10  Bruno Haible  <bruno@clisp.org>
5150
5151         Tests for module 'pipe-posix'.
5152         * modules/pipe-posix-tests: New file.
5153         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
5154
5155 2010-12-10  Bruno Haible  <bruno@clisp.org>
5156
5157         pipe-posix: Make it work in C++ mode.
5158         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
5159         (pipe): Use common idiom, not a macro definition.
5160         * lib/pipe.c: New file.
5161         * m4/pipe.m4: New file.
5162         * modules/pipe-posix (Description): Enhance.
5163         (Files): Add lib/pipe.c, m4/pipe.m4.
5164         (configure.ac): Invoke gl_FUNC_PIPE.
5165         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
5166         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
5167         * tests/test-unistd-c++.cc: Check the signature of pipe.
5168
5169 2010-12-10  Bruno Haible  <bruno@clisp.org>
5170
5171         Rename module 'pipe' to 'spawn-pipe'.
5172         * modules/spawn-pipe: New file, renamed from modules/pipe.
5173         (Files, configure.ac, Makefile.am): Update.
5174         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
5175         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
5176         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
5177         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
5178         "spawn-pipe.h" instead of "pipe.h".
5179         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
5180         to gl_SPAWN_PIPE.
5181         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
5182         (Files, Makefile.am): Update.
5183         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
5184         Update.
5185         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
5186         Include "spawn-pipe.h" instead of "pipe.h".
5187         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
5188         * lib/javacomp.c: Likewise.
5189         * lib/javaversion.c: Likewise.
5190         * lib/pipe-filter-gi.c: Likewise.
5191         * lib/pipe-filter-ii.c: Likewise.
5192         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
5193         * modules/javacomp (Depends-on): Likewise.
5194         * modules/javaversion (Depends-on): Likewise.
5195         * modules/pipe-filter-gi (Depends-on): Likewise.
5196         * modules/pipe-filter-ii (Depends-on): Likewise.
5197         * MODULES.html.sh (Executing programs): Update.
5198         * NEWS: Mention the change.
5199
5200 2010-12-10  Eric Blake  <eblake@redhat.com>
5201
5202         pipe-posix: new module
5203         * modules/pipe-posix: New file.
5204         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
5205         (gl_UNISTD_H): Check for declaration.
5206         * modules/unistd (Makefile.am): Substitute it.
5207         * lib/unistd.in.h (pipe): Provide it for mingw.
5208         * doc/posix-functions/pipe.texi (pipe): Update documentation.
5209         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
5210
5211 2010-12-07  Bruno Haible  <bruno@clisp.org>
5212
5213         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
5214         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
5215         u8_strcmp_gnu.
5216         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
5217
5218 2010-12-06  Bruno Haible  <bruno@clisp.org>
5219
5220         Update internal documentation.
5221         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
5222
5223 2010-12-04  Bruno Haible  <bruno@clisp.org>
5224
5225         Put more information about failed tests into the test return codes.
5226         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
5227         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
5228         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5229         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5230         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
5231         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
5232         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
5233         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
5234         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
5235         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5236         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
5237         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
5238         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
5239         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5240         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
5241         returns a bit mask.
5242         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
5243         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
5244         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
5245         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
5246         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
5247         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
5248         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
5249         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
5250         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
5251         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
5252         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
5253         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
5254         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
5255         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
5256         * m4/link.m4 (gl_FUNC_LINK): Likewise.
5257         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
5258         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
5259         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
5260         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
5261         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
5262         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
5263         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
5264         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
5265         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
5266         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
5267         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
5268         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
5269         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
5270         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
5271         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
5272         gl_PRINTF_PRECISION): Likewise.
5273         * m4/regex.m4 (gl_REGEX): Likewise.
5274         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
5275         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
5276         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
5277         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
5278         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
5279         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
5280         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
5281         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
5282         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
5283         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5284         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
5285         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
5286         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
5287         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5288         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5289         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
5290         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
5291         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
5292         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
5293         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
5294         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
5295         enumerated value.
5296         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
5297
5298 2010-12-04  Bruno Haible  <bruno@clisp.org>
5299
5300         Update for Solaris 11 2010-11.
5301         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
5302         Express, released in November 2010.
5303
5304 2010-12-04  Bruno Haible  <bruno@clisp.org>
5305
5306         nproc: Relax license.
5307         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
5308         and Paul Eggert.
5309         Requested by Ludovic Courtès <ludo@gnu.org>.
5310
5311 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
5312
5313         utimecmp: fine-grained src to nearby coarse-grained dest
5314
5315         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
5316         and the source is on a file system with higher-resolution time
5317         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
5318         not work, and the time stamps are close together, the algorithm to
5319         determine the exact resolution from the read-back mtime was buggy:
5320         it had a "!=" where it should have had an "==".  This bug has been
5321         in the code ever since it was introduced to gnulib.
5322         Problem reported by Dan Jacobson in
5323         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
5324
5325 2010-11-30  Bruno Haible  <bruno@clisp.org>
5326
5327         strerror_r-posix: Fix autoconf test.
5328         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
5329
5330 2010-11-28  Bruno Haible  <bruno@clisp.org>
5331             Paul Eggert  <eggert@cs.ucla.edu>
5332
5333         Tests for module 'getdomainname'.
5334         * modules/getdomainname-tests: New file.
5335         * tests/test-getdomainname.c: New file, based on
5336         tests/test-gethostname.c.
5337
5338 2010-11-28  Bruno Haible  <bruno@clisp.org>
5339             Paul Eggert  <eggert@cs.ucla.edu>
5340
5341         getdomainname: Use the system function when possible.
5342         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
5343         (getdomainname): Replace if needed. Provide the declaration if it is
5344         missing. Don't use _GL_CXXALIAS_SYS_CAST.
5345         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
5346         (getdomainname): When the system has getdomainname, call the system
5347         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
5348         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
5349         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
5350         found in libnsl. Look for the declaration also in <netdb.h>. Replace
5351         the function if its second argument is of type 'int' or if it is found
5352         in libnsl.
5353         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
5354         <sys/systeminfo.h> and sysinfo().
5355         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
5356         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5357         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
5358         HAVE_GETDOMAINNAME.
5359         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
5360         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
5361         * doc/glibc-functions/getdomainname.texi: Document the problems with
5362         the getdomainname declaration.
5363
5364 2010-11-28  Bruno Haible  <bruno@clisp.org>
5365
5366         sys_socket: Ensure ss_family field on AIX.
5367         * lib/sys_socket.in.h (ss_family): New macro definition.
5368         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
5369         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
5370         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
5371         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
5372         * modules/sys_socket (Makefile.am): Substitute
5373         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
5374         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
5375
5376 2010-11-27  Bruno Haible  <bruno@clisp.org>
5377
5378         readline: Improve configure output.
5379         * m4/readline.m4 (gl_FUNC_READLINE): Make the
5380         "checking for readline..." result understandable.
5381
5382 2010-11-27  Bruno Haible  <bruno@clisp.org>
5383
5384         *printf-posix: Detect a bug on Solaris 10/x86.
5385         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
5386         for floating-point output.
5387         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
5388         directive.
5389         * tests/test-snprintf-posix.h (test_function): Likewise.
5390         * tests/test-sprintf-posix.h (test_function): Likewise.
5391         * tests/test-vasprintf-posix.c (test_function): Likewise.
5392         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
5393         * doc/posix-functions/printf.texi: Likewise.
5394         * doc/posix-functions/snprintf.texi: Likewise.
5395         * doc/posix-functions/sprintf.texi: Likewise.
5396         * doc/posix-functions/vfprintf.texi: Likewise.
5397         * doc/posix-functions/vprintf.texi: Likewise.
5398         * doc/posix-functions/vsnprintf.texi: Likewise.
5399         * doc/posix-functions/vsprintf.texi: Likewise.
5400         * doc/glibc-functions/obstack_printf.texi: Likewise.
5401         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
5402
5403 2010-11-27  Bruno Haible  <bruno@clisp.org>
5404
5405         Fix link error when module libunistring-optional is in use.
5406         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
5407         * modules/striconveha-tests (Makefile.am): Likewise.
5408
5409 2010-11-27  Bruno Haible  <bruno@clisp.org>
5410
5411         regex: Mention link dependencies.
5412         * modules/regex (Link): New section.
5413         * modules/rpmatch (Link): Likewise.
5414         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
5415
5416 2010-11-27  Bruno Haible  <bruno@clisp.org>
5417
5418         ftoastr: Fix compilation error on Solaris.
5419         * lib/ftoastr.c: Include <config.h>.
5420
5421 2010-11-27  Bruno Haible  <bruno@clisp.org>
5422
5423         getloadavg: Update documentation.
5424         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
5425
5426 2010-11-27  Bruno Haible  <bruno@clisp.org>
5427
5428         sys_socket: Fix test whether the functions are declared.
5429         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
5430         not <sys/select.h>.
5431
5432 2010-11-27  Bruno Haible  <bruno@clisp.org>
5433
5434         getpass: Make sure to get system declaration on some platforms.
5435         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
5436         gl_USE_SYSTEM_EXTENSIONS.
5437         * modules/getpass (Depends-on): Add extensions.
5438
5439 2010-11-26  Bruno Haible  <bruno@clisp.org>
5440
5441         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
5442         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
5443         'iconv' module is present.
5444         (ICONV_CONST): New macro.
5445         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
5446         ICONV_CONST.
5447         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
5448         set ICONV_CONST.
5449         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
5450         here.
5451         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
5452         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
5453         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
5454         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
5455         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
5456         present.
5457
5458 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
5459
5460         ftoastr: comment fix
5461         * lib/ftoastr.c: "little" -> "little or no" in comment
5462
5463 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
5464
5465         stdint: port to GCC 4.3 + OSX + Octave
5466         On this platform, stdint.h is buggy and defines int64_t to long
5467         long int.  The replacement defined it to long int, causing
5468         problems with C++ style name mangling.  Instead, trust the system
5469         definition if INT64_MAX is defined, and likewise for the unsigned
5470         variant.   Problem reported by Jarno Rajahalme in
5471         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
5472         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
5473         and don't mess with int64_t and INT64_MAX in this case.
5474         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
5475
5476 2010-11-24  Bruno Haible  <bruno@clisp.org>
5477
5478         doc: Corrections regarding MacOS X 10.4 and 10.5.
5479         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
5480         MacOS X.
5481         Reported by Simon Josefsson.
5482
5483 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
5484
5485         Uninstall ".bin" files installed by relocwrapper.
5486         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
5487         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
5488         unless it is already there.
5489
5490 2010-11-21  Bruno Haible  <bruno@clisp.org>
5491
5492         Update for NetBSD 5.0.
5493         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
5494         NetBSD; the test fails on NetBSD 5.0.
5495         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
5496         about NetBSD.
5497
5498 2010-11-21  Bruno Haible  <bruno@clisp.org>
5499
5500         Update for HP-UX 11.23 and HP-UX 11.31.
5501         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
5502         HP-UX.
5503
5504 2010-11-21  Bruno Haible  <bruno@clisp.org>
5505
5506         Update for MacOS X 10.5.
5507         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
5508         MacOS X; the test fails on MacOS X 10.5.8.
5509         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
5510         about MacOS X.
5511
5512 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
5513
5514         bootstrap: add bootstrap_sync option.
5515         See discussion at
5516         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
5517         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
5518         * build-aux/bootstrap: Accept --bootstrap-sync to update
5519         bootstrap if it is not identical to the local gnulib's
5520         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
5521         enable this by default.  Accept --no-bootstrap-sync to disable
5522         it.
5523
5524 2010-11-20  Bruno Haible  <bruno@clisp.org>
5525
5526         Ensure that <features.h> is included before __GLIBC__ is tested.
5527         * lib/printf-parse.h: Include <features.h>.
5528         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
5529         Reported by Mike Frysinger <vapier@gentoo.org>.
5530
5531         Ensure that <features.h> is included before __GLIBC__ is tested.
5532         * lib/wchar.in.h: Include <features.h>.
5533         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
5534         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
5535         Reported by Mike Frysinger <vapier@gentoo.org>.
5536
5537         Ensure that <features.h> is included before __GLIBC__ is tested.
5538         * lib/arpa_inet.in.h: Include <features.h>.
5539         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
5540         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
5541         Reported by Mike Frysinger <vapier@gentoo.org>.
5542
5543         Ensure that <features.h> is included before __GLIBC__ is tested.
5544         * build-aux/link-warning.h: Include <features.h>.
5545         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
5546         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
5547         Reported by Mike Frysinger <vapier@gentoo.org>.
5548
5549         Ensure that <features.h> is included before __GLIBC__ is tested.
5550         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
5551         Reported by Mike Frysinger <vapier@gentoo.org>.
5552
5553 2010-11-20  Bruno Haible  <bruno@clisp.org>
5554
5555         memmem: Fix autoconf test.
5556         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
5557
5558 2010-11-20  Bruno Haible  <bruno@clisp.org>
5559
5560         Port to uClibc.
5561         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
5562         * lib/fcntl.in.h: Likewise.
5563         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
5564         * lib/mbrtowc.c (mbrtowc): Likewise.
5565         * lib/relocatable.c (find_shared_library_fullname): Likewise.
5566         * lib/strerror_r.c: Likewise.
5567         * lib/unistr/u8-strnlen.c: Likewise.
5568         * lib/vasnprintf.c (decimal_point_char): Likewise.
5569         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
5570         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
5571         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
5572         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
5573         * tests/test-sigaction.c (handler, main): Likewise.
5574         * lib/freading.h: Treat uClibc like a non-glibc platform.
5575         * lib/freading.c: Likewise.
5576         * lib/gettext.h: Likewise.
5577         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
5578         Likewise.
5579         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
5580         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
5581         * lib/propername.c (proper_name_utf8): Likewise.
5582         * lib/spawn.in.h: Likewise.
5583         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
5584         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
5585         mem_cd_iconveh_internal): Likewise.
5586         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
5587         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
5588         strstr, strcasestr): Likewise.
5589         * lib/unicodeio.c (unicode_to_mb): Likewise.
5590         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
5591         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
5592         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
5593         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
5594         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
5595         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
5596         * lib/unistr/u8-stpncpy.c: Likewise.
5597         * lib/vasnprintf.c (VASNPRINTF): Likewise.
5598         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
5599         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
5600         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
5601         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
5602         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
5603         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
5604         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
5605         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
5606         Likewise.
5607         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
5608         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5609         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
5610         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
5611         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
5612         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
5613         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
5614         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
5615         * tests/test-getopt.h (OPTIND_MIN): Likewise.
5616         * tests/test-striconveha.c (main): Likewise.
5617         * tests/test-vasnprintf-posix.c (test_function): Likewise.
5618         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
5619         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
5620         * doc/posix-functions/getline.texi: Likewise.
5621         Reported by Mike Frysinger <vapier@gentoo.org>.
5622
5623 2010-11-20  Bruno Haible  <bruno@clisp.org>
5624
5625         nproc: Fix condition.
5626         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
5627         HAVE_PTHREAD_AFFINITY_NP.
5628
5629 2010-11-20  Bruno Haible  <bruno@clisp.org>
5630
5631         Fix a comment.
5632         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
5633
5634 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
5635
5636         ftoastr: don't assume snprintf
5637         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
5638         Implement a subset of snprintf here, by using sprintf safely.
5639         * modules/ftoastr (Depends-on): Remove snprintf.
5640
5641 2010-11-19  Jim Meyering  <meyering@redhat.com>
5642
5643         test-rename.h: fix compilation failure
5644         * tests/test-rename.h (test_rename): Add omitted "}".
5645
5646 2010-11-17  Jim Meyering  <meyering@redhat.com>
5647
5648         maint.mk: add a URL discussing the no-@acronym policy
5649         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
5650
5651 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
5652
5653         ftoastr: depend on snprintf, improve comments
5654         * lib/ftoastr.c: Also mention Loitsch's draft.
5655         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
5656         needed in the current implementation, but it might simplify
5657         speeding up the code later.
5658         * modules/ftoastr: Depend on snprintf; this improves portability.
5659         Suggested by Bruno Haible in the same email.
5660
5661         ftoastr: port to hosts lacking strtof and strtold
5662         Problem reported by Bruno Haible in
5663         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
5664         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
5665         environment and strtold (and presumably strtof) are not available.
5666         * modules/ftoastr (Files): Add m4/c-strtod.m4.
5667         (configure.ac): Require gl_C99_STRTOLD.
5668
5669 2010-11-18  Bruno Haible  <bruno@clisp.org>
5670
5671         c-strtold: Avoid link error on AIX 7.
5672         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
5673         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
5674         (gl_C_STRTOLD): Test whether strtold_l exists.
5675         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
5676
5677 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
5678
5679         intprops: new macro INT_BITS_STRLEN_BOUND
5680         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
5681         ftoastr.h.  This exposes an internal of intprops.h that was formerly
5682         not exposed.  Also, it uses a slightly tighter bound than before;
5683         though this makes no practical difference, we might as well be as
5684         tight as we easily can.
5685
5686         ftoastr: new module, for lossless conversion of floats to short strings
5687         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
5688         * modules/ftoastr: New files.
5689
5690 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
5691
5692         bootstrap: port to Solaris sed
5693         * build-aux/bootstrap (get_version): Port to Solaris sed.
5694         See Ralf Wildenhues's note in
5695         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
5696
5697 2010-11-14  Jim Meyering  <meyering@redhat.com>
5698
5699         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
5700         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
5701         and move definition closer to sole use.
5702
5703 2010-11-13  Jim Meyering  <meyering@redhat.com>
5704
5705         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
5706         Now we require at least autoconf-2.59, which means the work-around
5707         is no longer needed.
5708         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
5709         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
5710         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
5711         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
5712         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
5713
5714 2010-11-13  Bruno Haible  <bruno@clisp.org>
5715
5716         rename, renameat: Avoid test failures at NFS mounted locations.
5717         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
5718         functions.
5719         (test_rename): Use assert_nonexistent.
5720         * tests/test-rename.c: Include <dirent.h>.
5721         * tests/test-renameat.c: Likewise.
5722         Reported by Gary V. Vaughan <gary@gnu.org>.
5723
5724         rename, renameat: Document Linux bug with NFS
5725         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
5726         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
5727         * doc/posix-functions/renameat.texi: Likewise.
5728         Suggested by Eric Blake.
5729
5730 2010-11-13  Bruno Haible  <bruno@clisp.org>
5731
5732         rename test: Add comments.
5733         * tests/test-rename.h (test_rename): Add structure and comments.
5734
5735 2010-11-13  Eric Blake  <eblake@redhat.com>
5736
5737         maintainer-makefile: cover a few more files
5738         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
5739         scripts generated within C files, for libvirt.
5740
5741 2010-11-13  Bruno Haible  <bruno@clisp.org>
5742
5743         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
5744         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
5745         character, return the number of bytes that belong together, not always
5746         1.
5747         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
5748         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
5749         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
5750         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
5751         number of bytes of an invalid character.
5752         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
5753         (main): Invoke it.
5754         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
5755         results.
5756         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
5757         malformed byte sequences.
5758         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
5759         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
5760         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
5761         Reported by Ben Pfaff and Paolo Bonzini.
5762
5763 2010-11-13  Bruno Haible  <bruno@clisp.org>
5764
5765         openat: Work around glibc bug with fchownat() and empty file names.
5766         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
5767         (gl_FUNC_FCHOWNAT): Invoke it.
5768         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
5769         * doc/posix-functions/fchownat.texi: Document the glibc bug.
5770         Reported by Gary V. Vaughan <gary@gnu.org>.
5771
5772 2010-11-13  Bruno Haible  <bruno@clisp.org>
5773
5774         openat: Ensure autoconf macro ordering.
5775         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
5776         gl_USE_SYSTEM_EXTENSIONS.
5777         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
5778
5779 2010-11-13  Bruno Haible  <bruno@clisp.org>
5780
5781         Update comments.
5782         * lib/unistr/u8-check.c: Update file name in comments.
5783         * lib/unistr/u8-mblen.c: Likewise.
5784         * lib/unistr/u8-prev.c: Likewise.
5785         * lib/unistr/u8-strmblen.c: Likewise.
5786         * lib/unistr/u8-strmbtouc.c: Likewise.
5787
5788 2010-11-13  Jim Meyering  <meyering@redhat.com>
5789
5790         tests: avoid test failure on Solaris 10 due to lack of PATH export
5791         * tests/test-update-copyright.sh: Don't forget to export PATH.
5792
5793         init.sh: ensure that IFS is defined, just in case...
5794         * tests/init.sh (setup_): Ensure that IFS is defined,
5795         so that saving and restoring it works as expected.  This
5796         appears to be useful at least for an old version of dash
5797         from a long time ago (RH 6).  See here for details:
5798         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
5799
5800         maint.mk: tighten "test a == b" check
5801         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
5802         test to files that contain something like #!/bin/sh.
5803         Without this, coreutils would get two false positives in
5804         the comments of C source files.
5805
5806 2010-11-12  Eric Blake  <eblake@redhat.com>
5807
5808         bootstrap: fix typo in previous attempt
5809         * build-aux/bootstrap (buildreq): Correct the grouping.
5810         Reported by Paul Eggert.
5811
5812         maintainer-makefile: prohibit test x == x
5813         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
5814         Based on a report by Matthias Bolte.
5815
5816         bootstrap: allow FreeBSD gzip
5817         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
5818         which has no '.' and goes to stderr.
5819         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
5820         Reported by Matthias Bolte.
5821
5822         maintainer-makefile: check for i18n setup
5823         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
5824         will likely work.
5825
5826 2010-11-12  Bruno Haible  <bruno@clisp.org>
5827
5828         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
5829         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
5830         * lib/nanosleep.c (nanosleep): Likewise.
5831
5832 2010-11-11  Bruno Haible  <bruno@clisp.org>
5833
5834         fcntl-h: Fix for use of C++ on glibc systems.
5835         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
5836         also on glibc systems in C++ mode.
5837         Reported by Gary V. Vaughan <gary@gnu.org>.
5838
5839 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
5840
5841         mknod: avoid false failure with dash
5842         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
5843
5844 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
5845
5846         unlink: Fix "is it should" typo in diagnostic.
5847         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
5848         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
5849
5850 2010-11-11  Bruno Haible  <bruno@clisp.org>
5851
5852         Tests for module 'strerror_r-posix'.
5853         * modules/strerror_r-posix-tests: New file.
5854         * tests/test-strerror_r.c: New file.
5855         * tests/test-string-c++.cc: Check the signature of strerror_r.
5856
5857         New module 'strerror_r-posix'.
5858         * lib/string.in.h (strerror_r): New declaration.
5859         * lib/strerror_r.c: New file.
5860         * m4/strerror_r.m4: New file.
5861         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
5862         of strerror_r.
5863         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
5864         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
5865         * modules/strerror_r-posix: New file.
5866         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
5867         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
5868         * doc/posix-functions/strerror_r.texi: Mention the new module and the
5869         portability problems.
5870
5871 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
5872
5873         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
5874         line is also considered for output. Quoted function name in shell
5875         command, so temporary files for functions like MyClass::operator()
5876         are removed correctly without errors.
5877
5878 2010-11-09  Bruno Haible  <bruno@clisp.org>
5879
5880         * doc/posix-functions/strerror.texi: List more failing platforms.
5881
5882         * doc/posix-functions/strerror.texi: Add a comment.
5883
5884 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
5885
5886         fdopendir: fix bug on MacOS X when low on file descriptors
5887
5888         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
5889         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
5890         All callers changed.
5891         (fdopendir): Invoke save_cwd at the top level, not after using
5892         multiple dup() calls to use up file descriptors.  Then retry
5893         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
5894         less than the maximum number of open file descriptors, because
5895         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
5896         on Mac OS X 10.6.4 for tar 1.24
5897         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
5898         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
5899         and for tar 1.25
5900         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
5901
5902 2010-11-07  Bruno Haible  <bruno@clisp.org>
5903
5904         vasnprintf: Support I flag on glibc systems.
5905         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
5906         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
5907         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
5908         snprintf function.
5909         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
5910         glibc systems.
5911         * tests/test-vasnprintf-posix3.c: New file.
5912         * modules/vasnprintf-posix-tests (Files): Add it.
5913         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
5914
5915 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
5916
5917         [html] Fix copy/paste bug: Use unique name for compiler warnings.
5918         * MODULES.html.sh: For compiler warnings, use name
5919         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
5920
5921 2010-11-05  Eric Blake  <eblake@redhat.com>
5922
5923         ceil, floor: avoid spurious failure with icc
5924         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
5925         [denormals-as-zero] when optimizing without -mieee-fp option.
5926         * tests/test-floorf2.c (floorf_reference): Likewise.
5927         * tests/test-ceilf1.c (dummy): New function.
5928         (main): Use it to outsmart icc's optimization.
5929         * tests/test-floorf1.c (dummy, main): Likewise.
5930
5931         tests: require working signbit
5932         * modules/ceilf-tests (Depends-on): Add signbit.
5933         * modules/ceill-tests (Depends-on): Likewise.
5934         * modules/floorf-tests (Depends-on): Likewise.
5935         * modules/floorl-tests (Depends-on): Likewise.
5936         * modules/round-tests (Depends-on): Likewise.
5937         * modules/roundf-tests (Depends-on): Likewise.
5938         * modules/roundl-tests (Depends-on): Likewise.
5939         * modules/trunc-tests (Depends-on): Likewise.
5940         * modules/truncf-tests (Depends-on): Likewise.
5941         * modules/truncl-tests (Depends-on): Likewise.
5942
5943         strtod: work around icc bug
5944         * lib/strtod.c (minus_zero): Define to working value.
5945         (strtod): Use it to avoid icc bug.
5946
5947         copysign: enhance tests
5948         * modules/copysign-tests (Files): Add minus-zero.h.
5949         * tests/test-copysign.c (main): Also test zeros.
5950
5951 2010-11-04  Eric Blake  <eblake@redhat.com>
5952
5953         ceil, floor, round, trunc: enhance tests of -0
5954         * tests/test-ceilf1.c (main): Ensure correct sign of result.
5955         * tests/test-ceill.c (main): Likewise.
5956         * tests/test-floorf1.c (main): Likewise.
5957         * tests/test-floorl.c (main): Likewise.
5958         * tests/test-round1.c (main): Likewise.
5959         * tests/test-roundf1.c (main): Likewise.
5960         * tests/test-roundl.c (main): Likewise.
5961         * tests/test-trunc1.c (main): Likewise.
5962         * tests/test-truncf1.c (main): Likewise.
5963         * tests/test-truncl.c (main): Likewise.
5964
5965 2010-11-04  Eric Blake  <eblake@redhat.com>
5966
5967         frexp, tests: work around ICC bug with -zero
5968         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
5969         works with more compilers.
5970         * tests/minus-zero.h: New file.
5971         * modules/ceilf-tests (Files): Include it.
5972         * modules/ceill-tests (Files): Likewise.
5973         * modules/floorf-tests (Files): Likewise.
5974         * modules/floorl-tests (Files): Likewise.
5975         * modules/frexp-nolibm-tests (Files): Likewise.
5976         * modules/frexp-tests (Files): Likewise.
5977         * modules/frexpl-nolibm-tests (Files): Likewise.
5978         * modules/frexpl-tests (Files): Likewise.
5979         * modules/isnan-tests (Files): Likewise.
5980         * modules/isnand-nolibm-tests (Files): Likewise.
5981         * modules/isnand-tests (Files): Likewise.
5982         * modules/isnanf-nolibm-tests (Files): Likewise.
5983         * modules/isnanf-tests (Files): Likewise.
5984         * modules/isnanl-nolibm-tests (Files): Likewise.
5985         * modules/isnanl-tests (Files): Likewise.
5986         * modules/round-tests (Files): Likewise.
5987         * modules/roundf-tests (Files): Likewise.
5988         * modules/roundl-tests (Files): Likewise.
5989         * modules/ldexpl-tests (Files): Likewise.
5990         * modules/signbit-tests (Files): Likewise.
5991         * modules/snprintf-posix-tests (Files): Likewise.
5992         * modules/sprintf-posix-tests (Files): Likewise.
5993         * modules/strtod-tests (Files): Likewise.
5994         * modules/trunc-tests (Files): Likewise.
5995         * modules/truncf-tests (Files): Likewise.
5996         * modules/truncl-tests (Files): Likewise.
5997         * modules/vsnprintf-posix-tests (Files): Likewise.
5998         * modules/vsprintf-posix-tests (Files): Likewise.
5999         * modules/vasnprintf-posix-tests (Files): Likewise.
6000         * modules/vasprintf-posix-tests (Files): Likewise.
6001         * tests/test-ceilf1.c (main): Use it.
6002         * tests/test-ceill.c (main): Likewise.
6003         * tests/test-floorf1.c (main): Likewise.
6004         * tests/test-floorl.c (main): Likewise.
6005         * tests/test-frexp.c (main): Likewise.
6006         * tests/test-frexpl.c (main): Likewise.
6007         * tests/test-isnan.c (main): Likewise.
6008         * tests/test-isnand.h (main): Likewise.
6009         * tests/test-isnanf.h (main): Likewise.
6010         * tests/test-isnanl.h (main): Likewise.
6011         * tests/test-ldexpl.c (main): Likewise.
6012         * tests/test-round.c (main): Likewise.
6013         * tests/test-roundf.c (main): Likewise.
6014         * tests/test-roundl.c (main): Likewise.
6015         * tests/test-signbit.c (test_signbitf, test_signbitd)
6016         (test_signbitl): Likewise.
6017         * tests/test-snprintf-posix.h (test_function): Likewise.
6018         * tests/test-sprintf-posix.h (test_function): Likewise.
6019         * tests/test-strtod.c (main): Likewise.
6020         * tests/test-trunc1.c (main): Likewise.
6021         * tests/test-truncf1.c (main): Likewise.
6022         * tests/test-truncl.c (main): Likewise.
6023
6024         isnanl: work around icc bug
6025         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
6026
6027 2010-11-03  Eric Blake  <eblake@redhat.com>
6028
6029         tests: fix compiler warnings
6030         * tests/test-getopt.h (test_getopt): Fix condition.
6031         * tests/test-getopt_long.h (test_getopt_long): Likewise.
6032         * tests/test-pipe2.c (main): Likewise.
6033         * tests/test-quotearg-simple.c (main): Avoid icc warning.
6034
6035         utimens: fix broken m4 test
6036         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
6037
6038 2010-10-28  Bruno Haible  <bruno@clisp.org>
6039
6040         posix_spawn*, getdtablesize: Relax license.
6041         * modules/posix_spawn (License): Change to LGPLv2+.
6042         * modules/posix_spawnp (License): Likewise.
6043         * modules/posix_spawn-internal (License): Likewise.
6044         * modules/posix_spawnattr_init (License): Likewise.
6045         * modules/posix_spawnattr_getflags (License): Likewise.
6046         * modules/posix_spawnattr_setflags (License): Likewise.
6047         * modules/posix_spawnattr_getpgroup (License): Likewise.
6048         * modules/posix_spawnattr_setpgroup (License): Likewise.
6049         * modules/posix_spawnattr_getschedparam (License): Likewise.
6050         * modules/posix_spawnattr_setschedparam (License): Likewise.
6051         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
6052         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
6053         * modules/posix_spawnattr_getsigdefault (License): Likewise.
6054         * modules/posix_spawnattr_setsigdefault (License): Likewise.
6055         * modules/posix_spawnattr_getsigmask (License): Likewise.
6056         * modules/posix_spawnattr_setsigmask (License): Likewise.
6057         * modules/posix_spawnattr_destroy (License): Likewise.
6058         * modules/posix_spawn_file_actions_init (License): Likewise.
6059         * modules/posix_spawn_file_actions_addclose (License): Likewise.
6060         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
6061         * modules/posix_spawn_file_actions_addopen (License): Likewise.
6062         * modules/posix_spawn_file_actions_destroy (License): Likewise.
6063         * modules/getdtablesize (License): Likewise.
6064         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
6065
6066 2010-10-26  Bruno Haible  <bruno@clisp.org>
6067
6068         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
6069         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
6070         Cygwin and mingw.
6071         Suggested by Eric Blake.
6072
6073 2010-10-26  Bruno Haible  <bruno@clisp.org>
6074
6075         stdio: Work around compilation error due to renameat() on Solaris 10.
6076         * lib/stdio.in.h: Include <unistd.h> on Solaris.
6077         * lib/renameat.c: Don't include <unistd.h> here.
6078         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
6079         Reported by Paul Eggert and Eric Blake.
6080
6081 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
6082
6083         renameat: port to Solaris 10, which declares renameat in unistd.h
6084
6085         * lib/renameat.c: Include unistd.h before stdio.h, because
6086         Solaris 10 declares renameat in unistd.h.  Problem encountered
6087         when building GNU tar 1.24 on Solaris 10.
6088
6089 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
6090
6091         fdopendir: fix C89 compilation
6092         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
6093         compilers.
6094
6095 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
6096
6097         inttostr: simplify by removing unnecessary redundancy
6098         * lib/anytostr.c: Don't include verify.h.
6099         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
6100         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
6101         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
6102         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
6103         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
6104         Likewise.
6105         * modules/inttostr (Depends-on): Remove 'verify'.
6106
6107 2010-10-23  Bruno Haible  <bruno@clisp.org>
6108
6109         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
6110         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
6111         Reported by Eric Blake.
6112
6113 2010-10-23  Bruno Haible  <bruno@clisp.org>
6114
6115         Tests: Fix LOCALE_JA on MirBSD 10.
6116         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
6117         to an UTF-8 locale.
6118         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
6119         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
6120         Reported by Eric Blake.
6121
6122 2010-10-21  Bruno Haible  <bruno@clisp.org>
6123
6124         nl_langinfo test: Avoid test failure on NetBSD 5.
6125         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
6126         Reported by Eric Blake.
6127
6128 2010-10-21  Eric Blake  <eblake@redhat.com>
6129
6130         c-stack: work around libsigsegv 2.8 bug
6131         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
6132         overflow on at least PowerPC64.
6133
6134 2010-10-17  Bruno Haible  <bruno@clisp.org>
6135
6136         userspec: Drop redundant file.
6137         * modules/userspec (Files): Remove lib/inttostr.h.
6138
6139 2010-10-17  Bruno Haible  <bruno@clisp.org>
6140
6141         nl_langinfo tests: Silence some warnings.
6142         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
6143         Reported by Jim Meyering.
6144
6145 2010-10-17  Bruno Haible  <bruno@clisp.org>
6146
6147         Make use of GCC's attribute __alloc_size__.
6148         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
6149         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
6150         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
6151         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
6152         __alloc_size__.
6153         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
6154         Suggested by Jim Meyering.
6155
6156 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
6157
6158         bootstrap: anchor .gitignore entries.
6159         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
6160         with...
6161         (insert_vc_ignore): ... this new function, which prepends `/' to
6162         all .gitignore entries before passing them to
6163         insert_sorted_if_absent.
6164
6165 2010-10-16  Bruno Haible  <bruno@clisp.org>
6166
6167         nextafter: Fix configure check.
6168         * modules/nextafter (configure.ac): Correct expected prototype.
6169
6170 2010-10-16  Bruno Haible  <bruno@clisp.org>
6171
6172         termios: Update documentation.
6173         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
6174
6175 2010-10-16  Bruno Haible  <bruno@clisp.org>
6176
6177         tests: Make them compile with TinyCC.
6178         * tests/test-strstr.c (main): Remove parentheses around array
6179         initializer.
6180
6181 2010-10-15  Eric Blake  <eblake@redhat.com>
6182
6183         ignore-value: make header idempotent
6184         * lib/ignore-value.h: Add double-inclusion guards.
6185         Reported by Stefan Berger.
6186
6187 2010-10-15  Jim Meyering  <meyering@redhat.com>
6188
6189         GNUmakefile: handle "stable" target, not "major"
6190         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
6191         lists in maint.mk and announce-gen.  Without this, "make stable"
6192         would fail to ensure that $(VERSION) is up to date.
6193
6194 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
6195
6196         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
6197         & co.
6198
6199 2010-10-14  Bruno Haible  <bruno@clisp.org>
6200
6201         vasnprintf: Don't set errno to 0.
6202         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
6203         block that sets it to 0.
6204         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
6205
6206 2010-10-14  Bruno Haible  <bruno@clisp.org>
6207
6208         socketlib: Fix.
6209         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
6210         gl_PREREQ_SYS_H_WINSOCK2.
6211         Reported by Ian Beckwith <ianb@erislabs.net>.
6212
6213 2010-10-13  Jim Meyering  <meyering@redhat.com>
6214
6215         test-select-stdin.c: avoid warn_unused_result warnings
6216         * tests/test-select-stdin.c: Include "macros.h".
6217         ASSERT that read and fflush succeed.
6218
6219 2010-10-13  Jim Meyering  <meyering@redhat.com>
6220
6221         git-version-gen: do require git-VC'd files in cwd
6222         * build-aux/git-version-gen: Reject a git version string
6223         if there are no commits associated with the current directory.
6224         This avoids an unlikely false-positive (unrelated dir whose parent
6225         repository also contains a tag matching v*), as pointed out
6226         by Giuseppe Scrivano in
6227         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
6228
6229 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
6230
6231         argv-iter: omit nonconforming declaration
6232         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
6233         enum arg_iter_err declaration, which doesn't conform to C99.
6234         Solaris 10 cc warns about this.
6235
6236 2010-10-13  Eric Blake  <eblake@redhat.com>
6237
6238         termios: fix compilation on mingw
6239         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
6240         (gl_TERMIOS_H): Adjust it on mingw.
6241         * modules/termios (Makefile.am): Substitute new key.
6242         * lib/termios.in.h (includes): Make include_next conditional.
6243         * doc/posix-headers/termios.texi (termios.h): Update
6244         documentation.
6245         Reported by Daniel P. Berrange.
6246
6247 2010-10-13  Jim Meyering  <meyering@redhat.com>
6248
6249         git-version-gen: don't require that .git/ be in the current dir
6250         * build-aux/git-version-gen: Adjust this script so that it works
6251         when run from any working directory beneath the top-level .git/-
6252         containing directory.  Inspired by a patch from Giuseppe Scrivano,
6253         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
6254
6255         test-select: avoid warn_unused_result warnings
6256         * tests/test-select.c: Include "macros.h".
6257         ASSERT that each call to read, write, and pipe succeeds.
6258         While not technically required, also check each "close".
6259         * modules/select-tests (Files): Add tests/macros.h.
6260
6261         test-symlinkat: remove declaration of unused local
6262         * tests/test-symlinkat.c (main): Remove unused local, "buf".
6263
6264         test-inttostr: avoid shadowing warnings
6265         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
6266         and use malloc rather than the stack for the same reason as
6267         mentioned in the comment justifying the other allocation.
6268
6269 2010-10-11  Bruno Haible  <bruno@clisp.org>
6270
6271         stdlib: Allow multiple gnulib generated replacements to coexist.
6272         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
6273         Reported by Sam Steingold <sds@gnu.org>.
6274
6275 2010-10-11  Jim Meyering  <meyering@redhat.com>
6276
6277         fix a documentation typo
6278         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
6279
6280 2010-10-11  Eric Blake  <eblake@redhat.com>
6281
6282         futimens: work around Solaris 11 bug
6283         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
6284         * tests/test-futimens.h (test_futimens): Enhance, rather than
6285         weaken test.
6286         * doc/posix-functions/futimens.texi (futimens): Document the bug.
6287
6288 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
6289
6290         Indentation.
6291         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
6292         higher-level operators more to the left.
6293
6294 2010-10-11  Jim Meyering  <meyering@redhat.com>
6295
6296         test-futimens: avoid unwarranted test failure on Solaris 5.11
6297         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
6298         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
6299         because it tries to dereference the NULL name argument.
6300
6301 2010-10-11  Bruno Haible  <bruno@clisp.org>
6302
6303         Indentation.
6304         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
6305         indentation.
6306
6307 2010-10-11  Jim Meyering  <meyering@redhat.com>
6308
6309         spawn.in.h: make indentation consistent with parentheses
6310         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
6311         Make indentation consistent with parentheses.
6312
6313 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
6314
6315         Fix mismatched parens in previous commit
6316         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
6317         parens.
6318
6319 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
6320
6321         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
6322
6323         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
6324         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
6325         * lib/malloca.c: Include "verify.h".
6326         (verify1): Remove, replacing with a verify call.
6327         * lib/relocwrapper.c (verify1): Likewise.
6328         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
6329         Likewise.
6330         * modules/malloca (Depends-on): Add 'verify'.
6331         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
6332         * modules/vasnprintf (Depends-on): Add 'verify'.
6333         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
6334         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
6335         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
6336         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
6337         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
6338         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
6339         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
6340
6341         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
6342
6343         Formerly the style was sometimes 2*X - 1, because the C standard
6344         was wrongly thought to disallow ?: in integral constant expressions.
6345         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
6346         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
6347         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
6348         * lib/stdint.in.h (_verify_intmax_size): Likewise.
6349         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
6350         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
6351         verify that time_t cannot be floating.
6352
6353 2010-10-08  Eric Blake  <eblake@redhat.com>
6354
6355         time: enforce recent POSIX ruling that time_t is integral
6356         * lib/time.in.h (__time_t_must_be_integral): Detect any
6357         problematic systems, allowing the rest of gnulib to assume POSIX.
6358
6359 2010-10-08  Jim Meyering  <meyering@redhat.com>
6360
6361         fdopendir: fix a bug on systems lacking openat and /proc support
6362         OpenBSD 4.7 is one such system.  The most noticeable effect was
6363         failure of any application making nontrivial use of fts: rm, du,
6364         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
6365           ./rm: traversal failed: `a': Bad file descriptor
6366         Debugging that, you see that even though FD 6 was closed just
6367         prior to the opendir call in fd_clone_opendir, its resulting
6368         dir->dd_fd was 8, rather than the expected value of 6:
6369
6370         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
6371         93                close (fd);
6372         (gdb) n
6373         94                dir = fd_clone_opendir (dupfd);
6374         (gdb) n
6375         95                saved_errno = errno;
6376         (gdb) p dir->dd_fd
6377         $11 = 8
6378
6379         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
6380         The problem is that on OpenBSD, fd_clone_opendir has to resort
6381         to using the old-style save/restore CWD mechanism, due to its
6382         lack of openat/proc support, and *that* would steal the FD (6)
6383         that opendir was supposed to use.
6384
6385         The fix is to squirrel away the desired FD so that save_cwd uses a
6386         different one, and then free the dest FD right before calling opendir.
6387         That guarantees opendir will use the required file descriptor.
6388
6389         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
6390
6391 2010-10-08  Bruno Haible  <bruno@clisp.org>
6392
6393         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
6394         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
6395
6396 2010-10-08  Bruno Haible  <bruno@clisp.org>
6397
6398         nanosleep: Make replacement POSIX compliant.
6399         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
6400         is out of range.
6401         Reported by Jim Meyering.
6402
6403 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
6404
6405         bootstrap: add hook for altering gnulib.mk, for Bison
6406         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
6407         the Bison bootstrapping process can rewrite file names and variables
6408         in this file before later parts of 'bootstrap' use the file.
6409         Bison wants to include lib/gnulib.mk from the top-level makefile,
6410         so it needs the file names in this file to be relative to the top
6411         level, not relative to lib; plus it needs variable names to be
6412         rewritten.
6413         (slurp): Use the new function.
6414
6415         bootstrap: reformat for readability
6416         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
6417
6418 2010-10-08  Eric Blake  <eblake@redhat.com>
6419
6420         docs: update cygwin progress
6421         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
6422         1.7.7.
6423         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
6424         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
6425         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
6426         * doc/posix-functions/carg.texi (carg): Likewise.
6427         * doc/posix-functions/cargf.texi (cargf): Likewise.
6428         * doc/posix-functions/casin.texi (casin): Likewise.
6429         * doc/posix-functions/casinf.texi (casinf): Likewise.
6430         * doc/posix-functions/casinh.texi (casinh): Likewise.
6431         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
6432         * doc/posix-functions/catan.texi (catan): Likewise.
6433         * doc/posix-functions/catanf.texi (catanf): Likewise.
6434         * doc/posix-functions/catanh.texi (catanh): Likewise.
6435         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
6436         * doc/posix-functions/ccos.texi (ccos): Likewise.
6437         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
6438         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
6439         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
6440         * doc/posix-functions/cexp.texi (cexp): Likewise.
6441         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
6442         * doc/posix-functions/cimag.texi (cimag): Likewise.
6443         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
6444         * doc/posix-functions/clog.texi (clog): Likewise.
6445         * doc/posix-functions/clogf.texi (clogf): Likewise.
6446         * doc/posix-functions/conj.texi (conj): Likewise.
6447         * doc/posix-functions/conjf.texi (conjf): Likewise.
6448         * doc/posix-functions/cpow.texi (cpow): Likewise.
6449         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
6450         * doc/posix-functions/cproj.texi (cproj): Likewise.
6451         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
6452         * doc/posix-functions/creal.texi (creal): Likewise.
6453         * doc/posix-functions/crealf.texi (crealf): Likewise.
6454         * doc/posix-functions/csin.texi (csin): Likewise.
6455         * doc/posix-functions/csinf.texi (csinf): Likewise.
6456         * doc/posix-functions/csinh.texi (csinh): Likewise.
6457         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
6458         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
6459         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
6460         * doc/posix-functions/ctan.texi (ctan): Likewise.
6461         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
6462         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
6463         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
6464         * doc/posix-headers/complex.texi (complex.h): Likewise.
6465
6466 2010-10-07  Jim Meyering  <meyering@redhat.com>
6467
6468         parse-datetime: avoid compilation failure on OpenBSD 4.7
6469         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
6470         This works around a compilation failure on OpenBSD 4.7:
6471         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
6472
6473 2010-10-07  Eric Blake  <eblake@redhat.com>
6474
6475         docs: update cygwin progress
6476         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
6477         1.7.6.
6478         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
6479         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
6480         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
6481         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
6482         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
6483         Likewise.
6484         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
6485         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
6486         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
6487         Likewise.
6488         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
6489         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
6490         Likewise.
6491         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
6492         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
6493         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
6494         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
6495         Likewise.
6496         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
6497         Likewise.
6498         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
6499
6500         docs: update parse-datetime history
6501         * doc/parse-datetime.texi (Authors of parse_datetime): Better
6502         documentation of this function's history and alternatives.
6503
6504         cygwin: use more robust version check
6505         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
6506         exclude an eventual cygwin 1.9.1.
6507         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
6508         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
6509         (gl_FUNC_STRCASESTR): Likewise.
6510         Reported by Bruno Haible.
6511
6512 2010-10-06  Bruno Haible  <bruno@clisp.org>
6513
6514         string, sys_select: Avoid #including large headers unless necessary.
6515         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
6516         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
6517         OSF/1, BeOS, Haiku.
6518         Reported by Jim Meyering.
6519
6520 2010-10-05  Eric Blake  <eblake@redhat.com>
6521
6522         memmem, strstr, strcasestr: fix bug with long periodic needle
6523         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
6524         periodic needle having false positive.
6525         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
6526         and cygwin 1.7.7.
6527         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
6528         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
6529         (gl_FUNC_STRCASESTR): Likewise.
6530         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
6531         * tests/test-memmem.c (main): Expose the bug.
6532         * tests/test-strcasestr.c (main): Likewise.
6533         * tests/test-strstr.c (main): Likewise.
6534         * tests/test-c-strcasestr.c (main): Likewise.
6535         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
6536         * doc/posix-functions/strstr.texi (strstr): Likewise.
6537         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
6538         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
6539
6540 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
6541
6542         parse-datetime: do some more renaming
6543         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
6544         parse_datetime, not get_date.  Mention the renaming.
6545         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
6546         in comments.
6547         * m4/bison.m4: Likewise.
6548
6549 2010-10-05  Eric Blake  <eblake@redhat.com>
6550
6551         parse-datetime: better name than get_date
6552         * NEWS: Reword the deprecation notice.
6553         * modules/get_date: Rename to modules/parse-datetime.
6554         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
6555         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
6556         * lib/get_date.y: Rename to lib/parse-datetime.y.
6557         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
6558         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
6559         * doc/getdate.texi: Provide fallback wrapper.
6560         * lib/getdate.h: Move guts, and wrap...
6561         * lib/parse-datetime.h: ...new file.
6562         * lib/parse-datetime.y (get_date): Rename...
6563         (parse_datetime): ...to this.
6564         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
6565         (gl_PARSE_DATETIME): ...to this.
6566         * doc/posix-functions/getdate.texi (get_date): Provide fallback
6567         documentation.
6568         * modules/getdate (Files): Provide fallback docs and header.
6569         (Notice, Depends-on): Update references.
6570         * tests/test-parse-datetime.c: Likewise.
6571         * DEPENDENCIES: Likewise.
6572         * MODULES.html.sh (Date and time <time.h>): Likewise.
6573         * doc/parse-datetime.texi (Date input formats)
6574         (Authors of parse_datetime): Likewise.
6575         * modules/parse-datetime (Files, configure.ac, Makefile.am)
6576         (Include): Likewise.
6577         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
6578         * gnulib-tool: Likewise.
6579         * m4/bison.m4 (gl_BISON): Likewise.
6580         Suggested by Bruno Haible.
6581
6582 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
6583
6584         more ports to Solaris tr, which needs [] around ranges
6585         * gnulib-tool: Solaris tr needs [] around ranges.
6586         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
6587         * tests/test-pipe-filter-gi1.c (main): Likewise.
6588         * tests/test-pipe-filter-ii1.c (main): Likewise.
6589
6590 2010-10-05  Eric Blake  <eblake@redhat.com>
6591
6592         bootstrap: fix Solaris regression
6593         * build-aux/bootstrap (check_versions): Solaris tr still needs []
6594         around ranges.
6595         Reported by Pádraig Brady.
6596
6597         bootstrap: work with pkg-config
6598         * build-aux/bootstrap (check_versions): Also transliterate - in
6599         prerequisite name.
6600         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
6601         prerequisites that were already found, to avoid confusion.
6602         Reported by Justin Clift.
6603
6604         faccessat: remove unused wrappers
6605         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
6606         presence of these wrappers dragged in -lgen on Solaris.
6607         Reported by Clemens Brogi; fix suggested by Paul Eggert.
6608
6609 2010-10-05  Jim Meyering  <meyering@redhat.com>
6610
6611         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
6612         * Makefile (sc_pragma_columns): New syntax-check rule.
6613
6614 2010-10-04  Bruno Haible  <bruno@clisp.org>
6615
6616         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
6617         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
6618         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
6619         Reported by Bruce Korb and Eric Blake.
6620
6621 2010-10-04  Bruno Haible  <bruno@clisp.org>
6622
6623         threadlib: Make option --with-libpth-prefix work.
6624         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
6625         use $LIBPTH, not just -lpth.
6626
6627 2010-10-04  Bruno Haible  <bruno@clisp.org>
6628
6629         Avoid line length limitation from HP NonStop system header files.
6630         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
6631         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
6632         * lib/ctype.in.h: Likewise.
6633         * lib/dirent.in.h: Likewise.
6634         * lib/errno.in.h: Likewise.
6635         * lib/fcntl.in.h: Likewise.
6636         * lib/float.in.h: Likewise.
6637         * lib/getopt.in.h: Likewise.
6638         * lib/iconv.in.h: Likewise.
6639         * lib/inttypes.in.h: Likewise.
6640         * lib/langinfo.in.h: Likewise.
6641         * lib/locale.in.h: Likewise.
6642         * lib/math.in.h: Likewise.
6643         * lib/netdb.in.h: Likewise.
6644         * lib/netinet_in.in.h: Likewise.
6645         * lib/poll.in.h: Likewise.
6646         * lib/pthread.in.h: Likewise.
6647         * lib/pty.in.h: Likewise.
6648         * lib/sched.in.h: Likewise.
6649         * lib/se-selinux.in.h: Likewise.
6650         * lib/search.in.h: Likewise.
6651         * lib/signal.in.h: Likewise.
6652         * lib/spawn.in.h: Likewise.
6653         * lib/stdarg.in.h: Likewise.
6654         * lib/stddef.in.h: Likewise.
6655         * lib/stdint.in.h: Likewise.
6656         * lib/stdio.in.h: Likewise.
6657         * lib/stdlib.in.h: Likewise.
6658         * lib/string.in.h: Likewise.
6659         * lib/strings.in.h: Likewise.
6660         * lib/sys_file.in.h: Likewise.
6661         * lib/sys_ioctl.in.h: Likewise.
6662         * lib/sys_select.in.h: Likewise.
6663         * lib/sys_socket.in.h: Likewise.
6664         * lib/sys_stat.in.h: Likewise.
6665         * lib/sys_time.in.h: Likewise.
6666         * lib/sys_times.in.h: Likewise.
6667         * lib/sys_utsname.in.h: Likewise.
6668         * lib/sys_wait.in.h: Likewise.
6669         * lib/sysexits.in.h: Likewise.
6670         * lib/termios.in.h: Likewise.
6671         * lib/time.in.h: Likewise.
6672         * lib/unistd.in.h: Likewise.
6673         * lib/wchar.in.h: Likewise.
6674         * lib/wctype.in.h: Likewise.
6675         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
6676         * modules/ctype (Makefile.am): Likewise.
6677         * modules/dirent (Makefile.am): Likewise.
6678         * modules/errno (Makefile.am): Likewise.
6679         * modules/fcntl-h (Makefile.am): Likewise.
6680         * modules/float (Makefile.am): Likewise.
6681         * modules/getopt-posix (Makefile.am): Likewise.
6682         * modules/iconv-h (Makefile.am): Likewise.
6683         * modules/inttypes (Makefile.am): Likewise.
6684         * modules/langinfo (Makefile.am): Likewise.
6685         * modules/locale (Makefile.am): Likewise.
6686         * modules/math (Makefile.am): Likewise.
6687         * modules/netdb (Makefile.am): Likewise.
6688         * modules/netinet_in (Makefile.am): Likewise.
6689         * modules/poll-h (Makefile.am): Likewise.
6690         * modules/pthread (Makefile.am): Likewise.
6691         * modules/pty (Makefile.am): Likewise.
6692         * modules/sched (Makefile.am): Likewise.
6693         * modules/search (Makefile.am): Likewise.
6694         * modules/selinux-h (Makefile.am): Likewise.
6695         * modules/signal (Makefile.am): Likewise.
6696         * modules/spawn (Makefile.am): Likewise.
6697         * modules/stdarg (Makefile.am): Likewise.
6698         * modules/stddef (Makefile.am): Likewise.
6699         * modules/stdint (Makefile.am): Likewise.
6700         * modules/stdio (Makefile.am): Likewise.
6701         * modules/stdlib (Makefile.am): Likewise.
6702         * modules/string (Makefile.am): Likewise.
6703         * modules/strings (Makefile.am): Likewise.
6704         * modules/sys_file (Makefile.am): Likewise.
6705         * modules/sys_ioctl (Makefile.am): Likewise.
6706         * modules/sys_select (Makefile.am): Likewise.
6707         * modules/sys_socket (Makefile.am): Likewise.
6708         * modules/sys_stat (Makefile.am): Likewise.
6709         * modules/sys_time (Makefile.am): Likewise.
6710         * modules/sys_times (Makefile.am): Likewise.
6711         * modules/sys_utsname (Makefile.am): Likewise.
6712         * modules/sys_wait (Makefile.am): Likewise.
6713         * modules/sysexits (Makefile.am): Likewise.
6714         * modules/termios (Makefile.am): Likewise.
6715         * modules/time (Makefile.am): Likewise.
6716         * modules/unistd (Makefile.am): Likewise.
6717         * modules/wchar (Makefile.am): Likewise.
6718         * modules/wctype (Makefile.am): Likewise.
6719
6720 2010-10-04  Bruno Haible  <bruno@clisp.org>
6721
6722         read-file tests: Avoid a test failure on NonStop Kernel.
6723         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
6724         a regular file.
6725         Reported by Joachim Schmitz <schmitz@hp.com>.
6726
6727 2010-10-03  Bruno Haible  <bruno@clisp.org>
6728
6729         gnulib-tool: Fixes for --create-testdir with --libtool.
6730         * gnulib-tool (func_get_automake_snippet): Don't augment
6731         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
6732         an executable.
6733         (func_create_testdir): Handle module 'alloca' like func_import.
6734         Reported by Bruce Korb <bruce.korb@gmail.com>.
6735
6736 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
6737
6738         Avoid some lines longer than 80 characters.
6739         * lib/stdint.in.h: Break long comment lines.
6740         * lib/math.in.h: Likewise.
6741         (_GL_NUM_UINT_WORDS): New macro, for readability.
6742         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
6743         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
6744         * lib/stdlib.in.h: Likewise.
6745         * lib/spawn.in.h: Likewise.
6746         * lib/sys_socket.in.h: Update an URL.
6747         * lib/sys_stat.in.h: Break long line.
6748
6749 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
6750
6751         Improve pmccabe2html.
6752         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
6753         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
6754         when the sources change. Remove the line in the HTML about "Used
6755         ranges" (which implied that there might be other unused ranges),
6756         rename "Resume" to "Summary" (easier to understand for more users).
6757         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
6758         styles, and some unnecessary blank lines.
6759
6760 2010-10-03  Bruno Haible  <bruno@clisp.org>
6761             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
6762
6763         acl: Add support for ACLs on NonStop Kernel.
6764         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
6765         Check whether the function aclsort() exists.
6766         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
6767         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
6768         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
6769         (acl_nontrivial [HAVE_ACLSORT]: New function.
6770         (file_has_acl): Implement for NonStop Kernel.
6771         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
6772         (qset_acl): Implement for NonStop Kernel.
6773         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
6774         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
6775         (main): Implement for NonStop Kernel.
6776         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
6777         Kernel. Handle this flavor.
6778         * tests/test-set-mode-acl.sh: Likewise.
6779         * tests/test-copy-acl.sh: Likewise.
6780         * tests/test-copy-file.sh: Likewise.
6781
6782 2010-10-03  Bruno Haible  <bruno@clisp.org>
6783
6784         Info about ACLs on NonStop Kernel.
6785         * doc/acl-resources.txt: Add info about NonStop Kernel.
6786         References by Joachim Schmitz <schmitz@hp.com>.
6787
6788 2010-10-02  Bruno Haible  <bruno@clisp.org>
6789
6790         Define missing EDQUOT on NonStop Kernel.
6791         * lib/errno.in.h (EDQUOT): Assign a value if missing.
6792         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
6793         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
6794         missing.
6795         * doc/posix-headers/errno.texi: Mention the NSK bug.
6796         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
6797         Reported by Joachim Schmitz <schmitz@hp.com>.
6798
6799 2010-10-02  Bruno Haible  <bruno@clisp.org>
6800
6801         Update doc for POSIX:2008.
6802         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
6803         Update URL of POSIX specification.
6804
6805 2010-10-02  Bruno Haible  <bruno@clisp.org>
6806
6807         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
6808         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
6809         from gnulib, not from Automake.
6810
6811 2010-10-02  Bruno Haible  <bruno@clisp.org>
6812
6813         New module 'system-posix'.
6814         * modules/system-posix: New file.
6815         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
6816         module is present.
6817         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
6818         GNULIB_SYSTEM_POSIX.
6819         * modules/stdlib (Depends-on): Remove sys_wait.
6820         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
6821         * doc/posix-functions/system.texi: Mention the new module.
6822         * doc/posix-headers/stdlib.texi: Likewise.
6823         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
6824         define test_sys_wait_macros to a no-op.
6825         Reported by Sam Steingold <sds@gnu.org>.
6826
6827 2010-09-30  Bruno Haible  <bruno@clisp.org>
6828
6829         More renaming from 'getdate' to 'get_date'.
6830         * doc/get_date.texi: Renamed from doc/getdate.texi.
6831         * modules/get_date (Files): Update.
6832         * MODULES.html.sh (Date and time <time.h>): Update.
6833         * DEPENDENCIES: Update.
6834         * gnulib-tool: Update comment.
6835         * m4/bison.m4 (gl_BISON): Likewise.
6836         * m4/get_date.m4 (gl_GET_DATE): Likewise.
6837
6838 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
6839
6840         bootstrap: support ACLOCAL_FLAGS during aclocal
6841         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
6842         can add additional -I dir for third-party .m4 files.
6843
6844 2010-09-30  Eric Blake  <eblake@redhat.com>
6845
6846         bootstrap: use glibtoolize on MacOS
6847         * build-aux/bootstrap (check_versions): Convert libtool into
6848         libtoolize.
6849         (tool search): Move libtool check earlier, and look for
6850         glibtoolize for MacOS.
6851         (gnulib_tool_options): Auto-add --libtool when appropriate.
6852         Reported by Justin Clift.
6853
6854         poll: fix typo that broke test on MacOS
6855         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
6856         Reported by Justin Clift.
6857
6858         getdate: rename to get_date
6859         Note: getdate.h is not renamed, to minimize client impact.
6860         * modules/getdate: Mark obsolete.  Move old contents...
6861         * modules/get_date: ...to new module name.
6862         * modules/getdate-tests: Move...
6863         * modules/get_date-tests: ...here.
6864         * m4/getdate.m4: Move...
6865         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
6866         * lib/getdate.y: Move...
6867         * lib/get_date.y: ...here.
6868         * tests/test-getdate.c: Move...
6869         * tests/test-get_date.c: ...here.
6870         * doc/posix-functions/getdate.texi (getdate): Update name.
6871         * NEWS: Mention the change.
6872
6873 2010-09-29  Bruno Haible  <bruno@clisp.org>
6874
6875         Separate the module 'waitpid' from the module 'sys_wait'.
6876         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
6877         present.
6878         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
6879         gl_MODULE_INDICATOR_FOR_TESTS.
6880         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
6881         * modules/sys_wait (Depends-on): Remove waitpid.
6882         (Makefile.am): Substitute GNULIB_WAITPID.
6883         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
6884         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
6885         signature only if the 'waitpid' module is present.
6886         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
6887         * NEWS: Mention the change.
6888         * modules/grantpt (Depends-on): Add waitpid.
6889         * modules/wait-process (Depends-on): Likewise.
6890
6891 2010-09-29  Bruno Haible  <bruno@clisp.org>
6892
6893         More tests for module 'sys_wait'.
6894         * modules/sys_wait-c++-tests: New file.
6895         * tests/test-sys_wait-c++.cc: New file.
6896         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
6897         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
6898
6899 2010-09-29  Bruno Haible  <bruno@clisp.org>
6900
6901         New module 'waitpid'.
6902         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
6903         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
6904         Don't include <process.h>.
6905         (waitpid): Declare only, using modern idiom.
6906         * m4/waitpid.m4: New file.
6907         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
6908         * modules/waitpid: New file.
6909         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
6910         (Makefile.am): Update.
6911         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
6912
6913 2010-09-28  Bruno Haible  <bruno@clisp.org>
6914
6915         poll: Assume ANSI C.
6916         * lib/poll.c (poll): Use an ANSI C declaration.
6917
6918 2010-09-28  Bruno Haible  <bruno@clisp.org>
6919
6920         poll-h: Create poll.h on all platforms.
6921         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
6922         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
6923         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
6924         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
6925         (gl_REPLACE_POLL_H): Don't set POLL_H.
6926         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
6927         * modules/poll-h (Depends-on): Add include_next.
6928         (Makefile.am): Create poll.h unconditionally. Substitute also
6929         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
6930
6931 2010-09-28  Bruno Haible  <bruno@clisp.org>
6932
6933         Tests for module 'poll-h'.
6934         * modules/poll-h-c++-tests: New file.
6935         * tests/test-poll-h-c++.cc: New file.
6936
6937         Tests for module 'poll-h'.
6938         * modules/poll-h-tests: New file.
6939         * tests/test-poll-h.c: New file.
6940
6941 2010-09-28  Bruno Haible  <bruno@clisp.org>
6942
6943         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
6944         * modules/poll-h (Depends-on): Add 'extensions'.
6945
6946 2010-09-28  Bruno Haible  <bruno@clisp.org>
6947
6948         New module 'poll-h'.
6949         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
6950         (poll): Use modern idiom.
6951         * modules/poll-h: New file.
6952         * modules/poll (Files): Remove lib/poll.in.h.
6953         (Depends-on): Add poll-h.
6954         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
6955         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
6956         * m4/poll_h.m4: New file.
6957         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
6958         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
6959         and invoke gl_REPLACE_POLL_H.
6960         * lib/poll.c: Use common idiom.
6961         * tests/test-poll.c: Likewise.
6962         * doc/posix-headers/poll.texi: Mention the poll-h module.
6963         Suggested by Eric Blake.
6964
6965 2010-09-26  Bruno Haible  <bruno@clisp.org>
6966
6967         sys_wait: Implement WSTOPSIG.
6968         * lib/sys_wait.in.h (WSTOPSIG): New macro.
6969         Reported by Simon Josefsson.
6970
6971 2010-09-26  Simon Josefsson  <simon@josefsson.org>
6972
6973         stdlib, sys_wait: Avoid compilation error on mingw.
6974         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
6975
6976 2010-09-26  Bruno Haible  <bruno@clisp.org>
6977
6978         stdlib tests: Avoid code duplication.
6979         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
6980         * modules/sys_wait-tests (Files): Likewise.
6981         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
6982         * tests/test-stdlib.c: Include test-sys_wait.h.
6983         (main): Invoke test_sys_wait_macros.
6984         * tests/test-sys_wait.c: Include test-sys_wait.h.
6985         (main): Invoke test_sys_wait_macros.
6986
6987 2010-09-25  Simon Josefsson  <simon@josefsson.org>
6988
6989         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
6990         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
6991         sure Windows sockets are working before calling getaddrinfo.
6992         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
6993         * doc/gnulib.texi (Windows sockets): Fix typo.
6994
6995 2010-09-25  Bruno Haible  <bruno@clisp.org>
6996
6997         Tests for module 'regex-quote'.
6998         * modules/regex-quote-tests: New file.
6999         * tests/test-regex-quote.c: New file.
7000
7001         New module 'regex-quote'.
7002         * lib/regex-quote.h: New file.
7003         * lib/regex-quote.c: New file.
7004         * modules/regex-quote: New file.
7005         Suggested by Reuben Thomas <rrt@sc3d.org>.
7006
7007 2010-09-24  Bruno Haible  <bruno@clisp.org>
7008
7009         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
7010         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
7011
7012 2010-09-23  Bruno Haible  <bruno@clisp.org>
7013
7014         setenv: Relax license.
7015         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
7016         Blake.
7017         Requested by Eric Blake.
7018
7019 2010-09-22  Bruno Haible  <bruno@clisp.org>
7020
7021         termios: Relax license.
7022         * modules/termios (License): Change to LGPLv2+.
7023         Requested by Eric Blake.
7024
7025 2010-09-22  Bruno Haible  <bruno@clisp.org>
7026
7027         threadlib: Allow the package to change the default to 'no'.
7028         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
7029         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
7030         Reported by Paul Eggert.
7031
7032 2010-09-22  Pádraig Brady  <P@draigbrady.com>
7033             Bruno Haible  <bruno@clisp.org>
7034
7035         Fix endless loop in mbmemcasecoll.
7036         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
7037         byte.
7038         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
7039
7040 2010-09-22  Bruno Haible  <bruno@clisp.org>
7041
7042         Tests for module 'memcoll'.
7043         * modules/memcoll-tests: New file.
7044         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
7045
7046         memcoll, xmemcoll: Clarify size vs. length.
7047         * modules/memcoll.c (memcoll0): Clarify specification.
7048         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
7049         passed to collate_error.
7050
7051 2010-09-22  Bruno Haible  <bruno@clisp.org>
7052
7053         Tests for module 'memcasecmp'.
7054         * modules/memcasecmp-tests: New file.
7055         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
7056
7057 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
7058
7059         * lib/pthread.in.h: Add split double-inclusion guard, and include
7060         system <pthread.h> if there is one.  Use @@-style as in other
7061         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
7062         pthread.h doesn't.
7063         (pthread_mutexattr_destroy, pthread_mutexattr_init):
7064         (pthread_mutexattr_settype, pthread_mutex_trylock):
7065         New static inline functions, if there's no system <pthread.h>.
7066         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
7067         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
7068         Approximate with mutexes if the system lacks spinlocks, as in
7069         MacOS.
7070         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
7071         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
7072         @@-style.  Check for spinlocks separately.
7073         (gl_PTHREAD_DEFAULTS): New macro.
7074         * modules/pthread: Redo to use a more typical style for in.h files.
7075
7076 2010-09-21  Eric Blake  <eblake@redhat.com>
7077
7078         net_if: enhance tests
7079         * tests/test-net_if.c (main): Move signature checks earlier.
7080         Print failures to stderr.
7081         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
7082         Document the bug that we do not yet fix.
7083
7084 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
7085
7086         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
7087         about gnulib, not GSS.
7088
7089 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
7090
7091         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
7092         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
7093         for Emacs.
7094         * build-aux/pmccabe2html: Make Makefile.am example code more
7095         cut-and-paste friendly.
7096
7097 2010-09-21  Simon Josefsson  <simon@josefsson.org>
7098
7099         * tests/test-net_if.c: New file.
7100         * modules/net_if-tests: New file.
7101
7102 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
7103
7104         pthread: add pthread_spin_destroy
7105         * lib/pthread.in.h (pthread_spin_destroy): New function.
7106
7107 2010-09-19  Bruno Haible  <bruno@clisp.org>
7108
7109         gnulib-tool: Fix --help output.
7110         * gnulib-tool (func_usage): Fix help message.
7111         Reported by Reuben Thomas <rrt@sc3d.org>.
7112
7113 2010-09-18  Jim Meyering  <meyering@redhat.com>
7114
7115         maint.mk: avoid unexpanded \n in two diagnostics
7116         * top/maint.mk (sc_prohibit_always_true_header_tests):
7117         Don't use a literal \n in a halt=... assignment.  It would not be
7118         expanded, and the two \n bytes would appear in the diagnostic output
7119         rather than the desired newline.  Use halt=$$(printf ... instead.
7120         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
7121
7122 2010-09-18  Bruno Haible  <bruno@clisp.org>
7123
7124         netinet_in: Doc tweak.
7125         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
7126         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7127
7128 2010-09-18  Jim Meyering  <meyering@redhat.com>
7129
7130         init.sh: correct an outdated comment
7131         * tests/init.sh (create_exe_shims_):  s/function/alias/
7132
7133         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
7134         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
7135         a file named "*.exe" is removed between the glob expansion and the
7136         processing of that oddly named file.
7137
7138 2010-09-17  Eric Blake  <eblake@redhat.com>
7139
7140         mirbsd: add some more support
7141         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
7142         in BSD family.
7143         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
7144         devices as OpenBSD.
7145         * m4/host-os.m4 (mirbsd): Add MirBSD.
7146
7147         tests: fix unportable assumption on sys/wait.h
7148         * tests/test-sys_wait.c (main): Relax test.
7149         * tests/test-stdlib.c (main): Likewise.
7150
7151         init.sh: accomodate directory with no .exes
7152         * tests/init.sh: Accomodate directory containing only scripts.
7153
7154         tests: avoid compiler warning
7155         * tests/test-stdlib.c (main): Use the variable.
7156
7157         fdutimens, fdutimensat: update signature, again
7158         * lib/utimens.h (gl_futimens): Delete, and move signature...
7159         (fdutimens): ...here.
7160         (fdutimensat): Rearrange signature.
7161         (lutimensat): Rename variable for clarity.
7162         * lib/fdutimensat.c (fdutimensat): Update signature.
7163         * lib/utimens.c (fdutimens): Likewise.
7164         (gl_futimens): Delete.
7165         (utimens, lutimens): Update callers.
7166         * lib/futimens.c (futimens): Likewise.
7167         * tests/test-fdutimensat.c: Likewise.
7168         * tests/test-utimens.c: Likewise.
7169         * tests/test-futimens.h: Update comment.
7170         * NEWS: Mention this.
7171         Suggested by Paul Eggert.
7172
7173 2010-09-17  Bruno Haible  <bruno@clisp.org>
7174
7175         Take over the maintenance of some older macros from Autoconf.
7176         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
7177         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
7178         GNU Autoconf.
7179         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
7180         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
7181
7182 2010-09-17  Eric Blake  <eblake@redhat.com>
7183
7184         fdutimensat: drop atflag validation
7185         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
7186         with valid fd, to close a race scenario where futimens is
7187         unsupported and FILE was replaced by a symlink.
7188         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
7189         accordingly.
7190         Suggested by Paul Eggert.
7191
7192 2010-09-16  Bruno Haible  <bruno@clisp.org>
7193
7194         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
7195         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
7196
7197 2010-09-16  Bruno Haible  <bruno@clisp.org>
7198
7199         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
7200         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
7201         login_tty exists.
7202         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7203
7204 2010-09-16  Bruno Haible  <bruno@clisp.org>
7205
7206         login_tty: Make the replacement code work on BSD systems.
7207         * lib/login_tty.c: Include <sys/ioctl.h>.
7208         (login_tty): Use ioctl TIOCSCTTY when available.
7209         * modules/login_tty (Depends-on): Add sys_ioctl.
7210         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7211
7212 2010-09-16  Bruno Haible  <bruno@clisp.org>
7213
7214         login_tty: Stricter unit test.
7215         * modules/login_tty-tests (Depends-on): Add tcgetsid.
7216         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
7217         and tcgetsid() after login_tty.
7218         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7219
7220 2010-09-16  Bruno Haible  <bruno@clisp.org>
7221
7222         New module 'tcgetsid'.
7223         * lib/tcgetsid.c: New file.
7224         * m4/tcgetsid.m4: New file.
7225         * modules/tcgetsid: New file.
7226         * modules/termios (Depends-on): Add c++defs, warn-on-use.
7227         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
7228         GNULIB_TCGETSID, HAVE_TCGETSID.
7229         * lib/termios.in.h: Include <sys/types.h>.
7230         (tcgetsid): New declaration.
7231         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
7232         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
7233         * doc/posix-functions/tcgetsid.texi: Mention the new module.
7234         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
7235
7236 2010-09-16  Bruno Haible  <bruno@clisp.org>
7237
7238         Tests for module 'termios'.
7239         * modules/termios-c++-tests: New file.
7240         * modules/termios-tests: New file.
7241         * tests/test-termios-c++.cc: New file.
7242         * tests/test-termios.c: New file.
7243
7244         New module 'termios'.
7245         * modules/termios: New file.
7246         * lib/termios.in.h: New file.
7247         * m4/termios_h.m4: New file.
7248         * doc/posix-headers/termios.texi: Mention the new module.
7249
7250 2010-09-16  Eric Blake  <eblake@redhat.com>
7251
7252         fdutimensat: add an atflag parameter
7253         * lib/fdutimensat.c (fdutimensat): Add new parameter.
7254         * lib/utimens.h (fdutimensat): Update prototype.
7255         * tests/test-fdutimensat.c: Adjust test to match.
7256         * NEWS: Document the change.
7257         Suggested by Paul Eggert.
7258
7259 2010-09-16  Bruno Haible  <bruno@clisp.org>
7260
7261         Fix typos in comments.
7262         * lib/striconveh.h: Fix typo in comment.
7263         * lib/login_tty.c (login_tty): Likewise.
7264
7265 2010-09-15  Bruno Haible  <bruno@clisp.org>
7266
7267         stdlib: clarify MirBSD WEXITSTATUS bug
7268         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
7269         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
7270
7271 2010-09-15  Eric Blake  <eblake@redhat.com>
7272
7273         stdlib: work around MirBSD WEXITSTATUS bug
7274         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
7275         * modules/stdlib (Depends-on): Add sys_wait.
7276         * tests/test-sys_wait.c (main): Enhance test.
7277         * tests/test-stdlib.c (main): Likewise.
7278         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
7279
7280         docs: mention MacOS issue with WEXITSTATUS(constant)
7281         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
7282         issue.
7283         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
7284
7285         strnlen: add tests
7286         * modules/strnlen-tests: New file.
7287         * tests/test-strnlen.c: Likewise.
7288
7289 2010-09-14  Bruno Haible  <bruno@clisp.org>
7290
7291         unistr/base: Avoid link errors when module 'libunistring' is also used.
7292         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
7293         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
7294         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
7295         Declare also when HAVE_LIBUNISTRING is set.
7296         Reported by Pádraig Brady <P@draigbrady.com>.
7297
7298 2010-09-14  Eric Blake  <eblake@redhat.com>
7299
7300         test-rawmemchr: make more robust
7301         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
7302         (Depends-on, configure.ac): Add needed prerequisites to use it.
7303         * modules/memchr-tests (Files, Depends-on, configure.ac):
7304         Likewise, to avoid implicit reliance on memchr module prereqs.
7305         * tests/test-memchr.c (main): Ensure proper masking.
7306         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
7307         reads.
7308
7309         memchr: detect glibc Alpha bug
7310         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
7311         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
7312         Alpha.
7313         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
7314         * tests/test-memchr.c (main): Enhance test.
7315         Reported by Nelson H. F. Beebe.
7316
7317 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
7318
7319         fts, getcwd, glob: audit for dirfd returning -1
7320         * lib/fts.c (opendir): Remove #define; no longer used.
7321         (opendirat): New arg PDIR_FD.  All callers changed.
7322         (fts_build, _opendir2): Use new opendirat to avoid the need for
7323         dirfd, or for checking whether dirfd returns a negative value.
7324         Don't use opendir; always use openat followed by fdopendir.
7325         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
7326         it.
7327         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
7328         returns -1 here.
7329         * modules/fts (Depends-on): Remove dirfd.
7330         * modules/getcwd (Depends-on): Likewise.
7331
7332 2010-09-13  Eric Blake  <eblake@redhat.com>
7333
7334         float: fix broken MirBSD header
7335         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
7336         * doc/posix-headers/float.texi (float.h): Document it.
7337
7338 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
7339
7340         fts: use O_NOFOLLOW to avoid race condition when opening a directory
7341         * lib/fts.c (opendirat): New arg extra_flags.
7342         (__opendir2): Use it to avoid following symlinks when opening
7343         a directory, if symlinks are not supposed to be followed.  See
7344         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
7345
7346         fdopendir: preserve argument fd before returning
7347         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
7348         (fdopendir_with_dup, fd_clone_opendir): New static functions.
7349         (fdopendir): Use them, arranging for FD to be open to the same
7350         directory that it was when it started.  (It might be temporarily
7351         closed while fdopendir is running, so this not thread- or
7352         signal-safe.)  Be careful to do the right thing even when file
7353         descriptors are scarce and dup fails with errno == EMFILE.  See
7354         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
7355
7356 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
7357
7358         regex: Pass the system regex if its only problem is 32-bit regoff_t.
7359         * NEWS: Document change.
7360         * m4/regex.m4: Disable test for regoff_t size.
7361
7362 2010-09-13  Jim Meyering  <meyering@redhat.com>
7363
7364         fts: don't operate on an invalid file descriptor after failed dup
7365         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
7366         negative file descriptor.
7367
7368 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
7369
7370         savedir: add streamsavedir, deprecate fdsavedir
7371         * NEWS: Mention deprecation of fdsavedir.
7372         * lib/savedir.c (streamsavedir): New extern function, whose name
7373         ends in "savedir" to be consistent with the others.  This differs
7374         from savedirstream in that it doesn't close its argument.  The
7375         next version of GNU tar will use this instead of fdsavedir, to
7376         avoid some race conditions and conserve file descriptors.
7377         (savedirstream): Reimplement as a wrapper around streamsavedir.
7378         (fdsavedir): Add a comment deprecating this function.  As far as
7379         I know, only GNU tar used it, and GNU tar doesn't need it any more.
7380         * lib/savedir.h (streamsavedir): New decl.
7381         (fdsavedir): Add a comment deprecating this.
7382
7383 2010-09-10  Bruno Haible  <bruno@clisp.org>
7384
7385         langinfo: Fix last commit.
7386         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
7387         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
7388         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7389
7390 2010-09-10  Bruno Haible  <bruno@clisp.org>
7391
7392         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
7393         * lib/progreloc.c (O_EXEC): Define fallback.
7394
7395 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
7396
7397         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
7398         * NEWS: Document recent changes to fcntl-h.
7399         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
7400         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
7401         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
7402         Similarly for O_SEARCH; this last was already true, but not documented.
7403         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
7404         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
7405         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
7406         Likewise.
7407         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
7408         is zero, not whether it is defined.
7409         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
7410         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
7411         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
7412
7413 2010-09-10  Bruno Haible  <bruno@clisp.org>
7414
7415         langinfo, nl_langinfo: Fix for IRIX 5.3.
7416         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
7417         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
7418         HAVE_LANGINFO_YESEXPR.
7419         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
7420         HAVE_LANGINFO_YESEXPR.
7421         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
7422         HAVE_LANGINFO_T_FMT_AMPM is 0.
7423         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
7424         HAVE_LANGINFO_YESEXPR is 0.
7425         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
7426         NOEXPR.
7427         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
7428         * doc/posix-functions/nl_langinfo.texi: Likewise.
7429         Reported by Eric Blake.
7430
7431 2010-09-10  Bruno Haible  <bruno@clisp.org>
7432
7433         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
7434         * doc/glibc-functions/login_tty.texi: Mention the include file problem
7435         on FreeBSD 8.0 and OpenBSD 4.6.
7436         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
7437         * m4/pty_h.m4 (gl_PTY_H): Likewise.
7438         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
7439         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
7440         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
7441         ac_includes_default.
7442         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7443
7444 2010-09-09  Eric Blake  <eblake@redhat.com>
7445
7446         strsignal: work around NetBSD bug
7447         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
7448         * lib/string.in.h (includes): Likewise.
7449         * doc/posix-functions/strsignal.texi (strsignal): Document the
7450         bug.
7451         Reported by Nelson H. F. Beebe.
7452
7453         gnulib-tool: work with NetBSD /bin/sh
7454         * gnulib-tool (func_cache_var, func_cache_lookup_module)
7455         (func_get_description, func_get_comment, func_get_status)
7456         (func_get_notice, func_get_applicability, func_get_filelist)
7457         (func_get_dependencies, func_get_autoconf_early_snippet)
7458         (func_get_autoconf_snippet, func_get_automake_snippet)
7459         (func_get_include_directive, func_get_link_directive)
7460         (func_get_license, func_get_maintainer, func_import): Avoid
7461         shell syntax errors from parsing syntax extensions.
7462
7463 2010-09-09  Bruno Haible  <bruno@clisp.org>
7464
7465         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
7466         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
7467         a reliable way to determine whether the 'alias' command works.
7468
7469 2010-09-08  Jim Meyering  <meyering@redhat.com>
7470
7471         init.sh: penalize a set-x-impaired shell; don't disqualify it
7472         * tests/init.sh: Too many shells corrupt application stderr when
7473         you set -x, so we can't afford to disqualify them, since at least
7474         on Irix-6.5, that would disqualify all bourne shells.
7475         Instead, use a two-pass approach.
7476         On the first pass, try to find a shell that meets the stricter
7477         condition that set -x does not corrupt stderr.
7478         If no shell meets the stricter condition, retest each candidate
7479         shell, but without that extra condition.  Finally, when
7480         VERBOSE=yes is requested and set -x might cause trouble, simply
7481         issue a warning and refrain from enabling debug output.
7482
7483 2010-09-08  Eric Blake  <eblake@redhat.com>
7484
7485         unsetenv: fix OpenBSD bug
7486         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
7487         * doc/posix-functions/unsetenv.texi (unsetenv): Update
7488         documentation.
7489         Reported by Jim Meyering.
7490
7491         strtod: work around IRIX 6.5 bug
7492         * lib/strtod.c (strtod): Reparse number on shorter string if
7493         exponent parse was invalid.
7494         * tests/test-strtod.c (main): Add check for "0x1p 2".
7495         Reported by Tom G. Christensen.
7496
7497         getopt: optimize previous patch
7498         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
7499         empty variable.  Speed up awk script.
7500         Reported by Paolo Bonzini.
7501
7502 2010-09-08  Jim Meyering  <meyering@redhat.com>
7503
7504         test.sh: disqualify shells for which set -x corrupts stderr
7505         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
7506         and OpenBSD 4.7.  They make it so with "set -x", environment settings
7507         appear in stderr output.  For example, this command:
7508             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
7509         prints "P=1" on those two systems:
7510
7511 2010-09-08  Bruno Haible  <bruno@clisp.org>
7512
7513         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
7514         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
7515         commands, because some shells ignore redirections when there is an
7516         error in the command lookup.
7517         Reported by Eric Blake.
7518
7519 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
7520
7521         * lib/regex.h: Fix a mention of `regex_compile' (should be
7522         `re_compile_pattern').
7523         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
7524         (re_set_registers): Correct name of parameter in comment.
7525
7526         * doc/regex.texi: Add documentation for missing syntax flags.
7527         Remove commented-out documentation of defunct syntax option
7528         RE_NO_EMPTY_ALTS.
7529         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
7530         Add documentation of re_set_registers.
7531         Document trick to re-use a pattern buffer by setting fastmap manually.
7532         Update documentation of struct re_pattern_buffer per public members.
7533         Uncomment documentation of equivalence class operators and
7534         collating symbol operators, since they are now implemented,
7535         Explain leftmost-longest matching in relation to alternatives.
7536         Tidy documentation of substring matching.
7537         Remove POSIX documentation, which is done better in
7538         glibc, and refer the reader there. Keep BSD API documentation, as
7539         that is not readily available elsewhere.
7540
7541 2010-09-07  Eric Blake  <eblake@redhat.com>
7542
7543         getopt: handle POSIXLY_CORRECT set but not exported
7544         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
7545         export state of POSIXLY_CORRECT, due to bash set -o posix.
7546         Reported by Dustin J. Mitchell.
7547
7548 2010-09-05  Bruno Haible  <bruno@clisp.org>
7549
7550         gnulib-tool: Highlight the changed options.
7551         * gnulib-tool (func_usage): Display the --import, --add-import,
7552         --remove-import explanations in bold font.
7553
7554 2010-09-06  Karl Berry  <karl@gnu.org>
7555
7556         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
7557
7558 2010-09-05  Bruno Haible  <bruno@clisp.org>
7559
7560         uniwidth/width: Update comment.
7561         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
7562         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
7563
7564 2010-09-05  Bruno Haible  <bruno@clisp.org>
7565
7566         isinf, isnan: Relax license.
7567         * modules/isinf (License): Change from GPL to LGPL, with consent from
7568         Ben Pfaff.
7569         * modules/isnan (License): Likewise.
7570         Requested by Ludovic Courtès.
7571
7572 2010-09-04  Bruno Haible  <bruno@clisp.org>
7573
7574         gnulib-tool: Help migration from --import to --add-import or --update.
7575         * gnulib-tool: Emit a verbose error message when --import is used
7576         without any module name.
7577
7578 2010-09-04  Bruno Haible  <bruno@clisp.org>
7579
7580         Update doc about gnulib-tool.
7581         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
7582         'gnulib-tool --update' in more detail.
7583         Reported by Eric Blake.
7584
7585 2010-09-04  Bruno Haible  <bruno@clisp.org>
7586
7587         gnulib-tool: Change --import. New options --add/remove-import.
7588         * gnulib-tool: New options --add-import, --remove-import.
7589         (func_usage): Document them.
7590         (have_associative): Define always.
7591         (func_import): In import mode, don't merge the specified settings with
7592         the cached settings. Implement remove-import mode.
7593         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
7594         Explain when to use them versus --import.
7595         (Simple update): Use --add-import instead of --import.
7596         * NEWS: Mention the change.
7597
7598 2010-09-04  Bruno Haible  <bruno@clisp.org>
7599
7600         * doc/gnulib-tool.texi (Initial import): Update paragraph about
7601         separate gnulib.mk.
7602
7603 2010-09-04  Bruno Haible  <bruno@clisp.org>
7604
7605         gnulib-tool: Don't talk about CVS any more.
7606         * gnulib-tool (func_usage, func_import): Write "version control"
7607         instead of CVS.
7608
7609 2010-09-04  Jim Meyering  <meyering@redhat.com>
7610
7611         maint.mk: avoid obscure sc_copyright_check failure in coreutils
7612         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
7613         false positives (whose names may be ill-chosen) when searching
7614         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
7615         would cause a false-positive.
7616
7617         avoid coreutils "make distcheck" failure
7618         Coreutils tests with an absolute build directory name that contains
7619         a space.  Not quoting this directory name caused a failure.
7620         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
7621         * tests/test-vc-list-files-cvs.sh: Likewise.
7622
7623 2010-09-04  Bruno Haible  <bruno@clisp.org>
7624
7625         gnulib-tool: Avoid error when run in a package without Makefile.am.
7626         * gnulib-tool: When collecting the m4dirs in a package that does not
7627         have a Makefile.am, eliminate those directories that contain no
7628         gnulib-cache.m4. Fix expression that counts these directories.
7629
7630 2010-09-04  Bruno Haible  <bruno@clisp.org>
7631
7632         update-copyright test: Improve output when perl is missing or too old.
7633         * tests/test-update-copyright.sh: Move test of Perl version down after
7634         the test whether Perl exists. Provide an explanation relating Perl's
7635         error message to Automake's SKIP: message.
7636
7637 2010-09-04  Bruno Haible  <bruno@clisp.org>
7638
7639         Don't augment PATH in TESTS_ENVIRONMENT.
7640         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
7641         set abs_aux_dir instead of augmenting PATH.
7642         * modules/vc-list-files-tests (Makefile.am): Likewise.
7643         * tests/test-update-copyright.sh: Augment PATH here.
7644         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
7645         path_prepend_.
7646         * tests/test-vc-list-files-git.sh: Likewise.
7647
7648 2010-09-04  Jim Meyering  <meyering@redhat.com>
7649
7650         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
7651         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
7652
7653 2010-09-04  Bruno Haible  <bruno@clisp.org>
7654
7655         strdup: Fix compilation error in C++ mode.
7656         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
7657         the macro.
7658
7659 2010-09-04  Bruno Haible  <bruno@clisp.org>
7660
7661         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
7662         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
7663         macro into a function.
7664         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
7665
7666 2010-09-04  Bruno Haible  <bruno@clisp.org>
7667
7668         Set PATH_SEPARATOR the same way autoconf does.
7669         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
7670         the value of PATH_SEPARATOR the same way autoconf-generated configure
7671         scripts do.
7672         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
7673         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
7674
7675 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
7676
7677         Set PATH_SEPARATOR the same way autoconf does.
7678         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
7679         the same way autoconf-generated configure scripts do.
7680         * posix-modules: Likewise.
7681
7682 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
7683
7684         hash: fix safe_hasher const typo
7685         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
7686         const; otherwise, there is a type error later.
7687
7688 2010-09-02  Jim Meyering  <meyering@redhat.com>
7689
7690         test-update-copyright.sh: require perl 5.8.0
7691         * tests/test-update-copyright.sh: Require 5.8.0,
7692         which Tom G. Christensen has confirmed is adequate,
7693         while 5.6.1 is not.
7694
7695 2010-09-02  Eric Blake  <eblake@redhat.com>
7696
7697         tests: init.sh improvements for re-exec'ing with zsh
7698         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
7699         -vx through shell re-exec.
7700         Reported by Tom G. Christensen.
7701
7702         wctype: fix typo in previous commit
7703         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
7704         Reported by Ludovic Courtès.
7705
7706 2010-09-02  Jim Meyering  <meyering@redhat.com>
7707
7708         test-update-copyright.sh: skip test if Perl is too old
7709         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
7710         Reported by Tom G. Christensen.
7711
7712 2010-09-02  Bruno Haible  <bruno@clisp.org>
7713
7714         wctype: Avoid compilation error on IRIX 6.5.30.
7715         * lib/wctype.in.h (iswblank): Declare with a replacement if
7716         REPLACE_ISWBLANK is set.
7717         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
7718         declared. Set REPLACE_ISWBLANK.
7719         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
7720         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
7721         * doc/posix-headers/wctype.texi: Likewise.
7722         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7723
7724 2010-09-01  Bruno Haible  <bruno@clisp.org>
7725
7726         New module 'socketlib'.
7727         * modules/socketlib: New file.
7728         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
7729         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
7730         * modules/sockets (Depends-on): Add socketlib.
7731         Suggested by Sam Steingold <sds@gnu.org>.
7732
7733 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
7734
7735         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
7736
7737         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
7738         when one needs search access to a directory but not read access.
7739         On systems where it is available, it works in some cases where
7740         O_RDONLY does not, namely on directories that are searchable but
7741         not readable, and which need only to be searchable.  If O_SEARCH
7742         is not available, fall back to the traditional method of using
7743         O_RDONLY.
7744
7745         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
7746         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
7747         when opening a directory that needs only to be searchable.
7748         * lib/chdir-safer.c (chdir_no_follow): Likewise.
7749         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
7750         * lib/openat-proc.c (openat_proc_name): Likewise.
7751         * lib/openat.c (openat_needs_fchdir): Likewise.
7752         * lib/save-cwd.c (save_cwd): Likewise.
7753         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
7754
7755 2010-08-28  Bruno Haible  <bruno@clisp.org>
7756
7757         New module 'host-cpu-c-abi'.
7758         * modules/host-cpu-c-abi: New file.
7759         * m4/host-cpu-c-abi.m4: New file, based on part of
7760         clisp/src/m4/general.m4.
7761         Requested by Sam Steingold <sds@gnu.org>.
7762
7763 2010-08-31  Eric Blake  <eblake@redhat.com>
7764         and Jim Meyering  <meyering@redhat.com>
7765
7766         hash: factor, and guard against misbehaving hasher function
7767         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
7768         of table->hasher's return value.  Also protect against a hash value
7769         so large that adding it to table->bucket results in a NULL pointer.
7770         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
7771         Use it in place of open-coded check-and-abort.
7772
7773 2010-08-30  Bruno Haible  <bruno@clisp.org>
7774
7775         hash: silence spurious clang warning
7776         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
7777         Reported by Eric Blake.
7778
7779 2010-08-30  Eric Blake  <eblake@redhat.com>
7780
7781         strstr, memmem, strcasestr: avoid leaked shell message
7782         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
7783         FreeBSD.
7784         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
7785         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
7786
7787         tests: silence clang warning
7788         * tests/test-malloca.c (do_allocation): Avoid dead store.
7789
7790 2010-08-29  Bruno Haible  <bruno@clisp.org>
7791
7792         gettext: Fix recent mistake.
7793         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
7794
7795 2010-08-29  Bruno Haible  <bruno@clisp.org>
7796
7797         selinux-h: Offer a --without-selinux option.
7798         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
7799         --without-selinux was specified, skip all tests and define
7800         HAVE_SELINUX_SELINUX_H to 0.
7801         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
7802         set LIB_SELINUX to empty.
7803         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
7804         gl_LIBSELINUX. If --without-selinux was specified, replace
7805         selinux/context.h.
7806         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
7807
7808 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7809             Bruno Haible  <bruno@clisp.org>
7810
7811         Make the module 'realloc-gnu' work again on AIX and OSF/1.
7812         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
7813         of HAVE_REALLOC.
7814         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
7815         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
7816         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
7817         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
7818
7819 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7820             Bruno Haible  <bruno@clisp.org>
7821
7822         Make the module 'calloc-gnu' work again on AIX and OSF/1.
7823         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
7824         HAVE_CALLOC.
7825         * lib/xmalloc.c: Update accordingly.
7826         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
7827         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
7828         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
7829
7830 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7831             Bruno Haible  <bruno@clisp.org>
7832
7833         Make the module 'malloc-gnu' work again on AIX and OSF/1.
7834         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
7835         HAVE_MALLOC.
7836         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
7837         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
7838         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
7839
7840 2010-08-29  Bruno Haible  <bruno@clisp.org>
7841
7842         Update modules list.
7843         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
7844         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
7845         (String handling <string.h>): Add astrxfrm.
7846         (File system functions): Add readlinkat.
7847
7848 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7849
7850         Tests for module 'realloc-gnu'.
7851         * modules/realloc-gnu-tests: New file.
7852         * tests/test-realloc-gnu.c: New file.
7853
7854         Tests for module 'calloc-gnu'.
7855         * modules/calloc-gnu-tests: New file.
7856         * tests/test-calloc-gnu.c: New file.
7857
7858         Tests for module 'malloc-gnu'.
7859         * modules/malloc-gnu-tests: New file.
7860         * tests/test-malloc-gnu.c: New file.
7861
7862 2010-08-28  Bruno Haible  <bruno@clisp.org>
7863
7864         Rename module 'realloc' -> 'realloc-gnu'.
7865         * modules/realloc-gnu: New file, copied from modules/realloc.
7866         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
7867         obsolete.
7868         * modules/mgetgroups (Depends-on): Update.
7869         * doc/posix-functions/realloc.texi: Update.
7870         * NEWS: Mention the change.
7871
7872         Rename module 'calloc' -> 'calloc-gnu'.
7873         * modules/calloc-gnu: New file, copied from modules/calloc.
7874         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
7875         obsolete.
7876         * doc/posix-functions/calloc.texi: Update.
7877         * NEWS: Mention the change.
7878
7879         Rename module 'malloc' -> 'malloc-gnu'.
7880         * modules/malloc-gnu: New file, copied from modules/malloc.
7881         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
7882         obsolete.
7883         * modules/argp (Depends-on): Update.
7884         * modules/regex (Depends-on): Update.
7885         * doc/posix-functions/malloc.texi: Update.
7886         * NEWS: Mention the change.
7887
7888 2010-08-28  Eric Blake  <eblake@redhat.com>
7889
7890         pread, pwrite: add missing dependency
7891         * modules/pread (Depends-on): Add extensions.
7892         * modules/pwrite (Depends-on): Likewise.
7893
7894 2010-08-28  Bruno Haible  <bruno@clisp.org>
7895
7896         unistr/u*-strchr: Fix tests dependencies.
7897         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
7898         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
7899         Reported by Ian Beckwith <ianb@erislabs.net>.
7900
7901 2010-08-28  Bruno Haible  <bruno@clisp.org>
7902
7903         read-file: Don't occupy too much unused memory.
7904         * lib/read-file.c (fread_file): Shrink the buffer at the end.
7905
7906 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
7907             Eric Blake  <eblake@redhat.com>
7908             Bruno Haible  <bruno@clisp.org>
7909
7910         read-file: Avoid memory reallocations with regular files.
7911         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
7912         (fread_file): With regular files, use the remaining length as the
7913         initial buffer size.  Check against overflow.
7914         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
7915         sys_stat.
7916
7917 2010-08-28  Bruno Haible  <bruno@clisp.org>
7918
7919         ftello: Relax license.
7920         * modules/ftello (License): Relax to LGPLv2+.
7921         Reported by Eric Blake.
7922
7923 2010-08-28  Bruno Haible  <bruno@clisp.org>
7924
7925         Avoid relocwrapper link errors due to gnulib replacement functions.
7926         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
7927         function.
7928         Reported by Ben Pfaff <blp@cs.stanford.edu>.
7929
7930 2010-08-28  Bruno Haible  <bruno@clisp.org>
7931
7932         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
7933         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
7934         defined.
7935         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
7936         Suggested by Eric Blake.
7937
7938 2010-08-28  Bruno Haible  <bruno@clisp.org>
7939
7940         sys_socket, netdb: Ensure socklen_t gets defined.
7941         * modules/sys_socket (Depends-on): Add socklen.
7942         * modules/netdb (Depends-on): Likewise.
7943         * modules/getaddrinfo (Depends-on): Remove socklen.
7944         * modules/getsockopt (Depends-on): Likewise.
7945         * modules/setsockopt (Depends-on): Likewise.
7946         * tests/test-sys_socket.c: Check that socklen_t is defined.
7947         * tests/test-netdb.c: Likewise.
7948         * m4/socklen.m4: Update comments.
7949         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7950
7951 2010-08-27  Eric Blake  <eblake@redhat.com>
7952
7953         login_tty: add missing dependency
7954         * modules/login_tty (Depends-on): Add pty.
7955
7956 2010-08-26  Eric Blake  <eblake@redhat.com>
7957
7958         lib-symbol-versions: fix m4 quoting
7959         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
7960         format for AC_LINK_IFELSE.
7961
7962         glob: fix compile test
7963         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
7964
7965         btowc: fix missing file
7966         * modules/btowc (Files): Also ship locale-fr.m4.
7967
7968         lseek: fix link test
7969         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
7970         AC_LINK_IFELSE.
7971
7972         include_next: silence autoconf 2.68 warning
7973         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
7974         AC_COMPILE_IFELSE as special.
7975         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
7976         autoconf < 2.68.
7977
7978         acl: fix compilation test
7979         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
7980         AC_COMPILE_IFELSE.
7981
7982 2010-08-26  Bruno Haible  <bruno@clisp.org>
7983
7984         Modernize AC_TRY_RUN invocations.
7985         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
7986         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
7987         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
7988         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
7989         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
7990         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
7991         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
7992         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
7993         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
7994         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
7995         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
7996         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
7997         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
7998         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
7999         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
8000         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
8001         gl_MBRLEN_NUL_RETVAL): Likewise.
8002         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
8003         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
8004         Likewise.
8005         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
8006         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
8007         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
8008         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
8009         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
8010         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
8011         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
8012         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
8013         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
8014         Likewise.
8015         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
8016         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
8017         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
8018         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
8019         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8020         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
8021         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
8022         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
8023         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
8024         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8025
8026 2010-08-26  Bruno Haible  <bruno@clisp.org>
8027
8028         Modernize AC_TRY_LINK invocations.
8029         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
8030         AC_TRY_LINK.
8031         * m4/argp.m4 (gl_ARGP): Likewise.
8032         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
8033         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
8034         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
8035         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
8036         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
8037         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
8038         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
8039         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
8040         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
8041         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
8042         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
8043         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
8044         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
8045         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
8046         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
8047         * m4/hostent.m4 (gl_HOSTENT): Likewise.
8048         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
8049         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
8050         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
8051         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
8052         Likewise.
8053         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
8054         Likewise.
8055         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
8056         Likewise.
8057         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
8058         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
8059         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
8060         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
8061         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
8062         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
8063         * m4/servent.m4 (gl_SERVENT): Likewise.
8064         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
8065         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
8066         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
8067         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
8068         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
8069         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
8070         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
8071         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8072         * modules/tsearch-tests (configure.ac): Likewise.
8073
8074 2010-08-26  Bruno Haible  <bruno@clisp.org>
8075
8076         Modernize AC_TRY_COMPILE invocations.
8077         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
8078         AC_TRY_COMPILE.
8079         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
8080         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
8081         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
8082         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
8083         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
8084         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
8085         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
8086         * m4/lock.m4 (gl_LOCK): Likewise.
8087         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
8088         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
8089         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
8090         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
8091         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
8092         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
8093         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
8094         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
8095         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
8096         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
8097         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
8098         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
8099         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
8100         extraneous semicolon.
8101
8102 2010-08-26  Jim Meyering  <meyering@redhat.com>
8103
8104         stat-time: relax license LGPL
8105         * modules/stat-time (License): Change from GPL to LGPL,
8106         with consent from all contributors, for use in libguile.
8107         Requested by Ludovic Courtès.
8108
8109 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
8110
8111         poll: return immediately on POLLHUP.
8112         * lib/poll.c (poll): Always set timeout before wait_timeout is
8113         computed.
8114
8115 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8116
8117         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
8118         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
8119         rmdir ("dir/.//"), unlinkat.
8120
8121 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
8122
8123         stdbool: avoid spurious failure with modern xlc
8124         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
8125
8126 2010-08-24  Bruno Haible  <bruno@clisp.org>
8127
8128         getloadavg: simplify code
8129         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
8130         gl_have_func. Update comments.
8131
8132 2010-08-24  Eric Blake  <eblake@redhat.com>
8133
8134         getloadavg: don't define SVR4 on cygwin
8135         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
8136         only define SVR4 when -lkvm is required.
8137         Reported by Yaakov Selkowitz.
8138
8139 2010-08-24  Bruno Haible  <bruno@clisp.org>
8140
8141         priv-set: fix comment
8142         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
8143
8144 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
8145
8146         priv-set: fix comments
8147         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
8148         to match code, as suggested by David Bartley in:
8149         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
8150
8151 2010-08-23  Eric Blake  <eblake@redhat.com>
8152
8153         stdbool: avoid rejecting clang
8154         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
8155         * tests/test-stdbool.c: Enable more tests if using the system
8156         <stdbool.h> instead of the gnulib replacement.
8157         (main): Move xlc bug test to a runtime test for all compilers.
8158         Reported by Anders Kaseorg.
8159
8160         argz: fix shell quoting issue
8161         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
8162         Reported by Charles Wilson.
8163
8164 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
8165             Erik Faye-Lund <kusmabite@gmail.com>
8166
8167         poll, select: handle ERROR_BROKEN_PIPE.
8168         * lib/poll.c (win32_compute_revents): Return POLLHUP when
8169         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
8170         * lib/select.c (win32_compute_revents): Do not mark a pipe
8171         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
8172
8173 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
8174
8175         fts: allow compilation with C++
8176         * lib/fts_.h: Specify extern "C" linkage with C++.
8177
8178 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8179
8180         Fix gnulib-tool sed script de-commentation for AIX sed.
8181         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
8182         sed.
8183
8184 2010-08-17  Eric Blake  <eblake@redhat.com>
8185
8186         test-stddef: test for (some) offsetof bugs
8187         * tests/test-stddef.c: Enhance test to ensure correct type of
8188         offsetof.
8189         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
8190         that we are not fixing at this time.
8191
8192 2010-08-15  Bruno Haible  <bruno@clisp.org>
8193
8194         stpncpy: Allow stpncpy to be defined as a macro.
8195         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
8196         if it's already correctly declared.
8197         * lib/string.in.h (stpncpy): Undefine before redefining.
8198         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
8199
8200 2010-08-14  Bruno Haible  <bruno@clisp.org>
8201
8202         Rename module 'memxfrm' to 'amemxfrm'.
8203         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
8204         (amemxfrm): Renamed from memxfrm.
8205         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
8206         (amemxfrm): Renamed from memxfrm.
8207         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
8208         * NEWS: Mention the change.
8209         * MODULES.html.sh (String handling <string.h>): Update.
8210         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
8211         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
8212         * lib/unicase/u16-casexfrm.c: Likewise.
8213         * lib/unicase/u32-casexfrm.c: Likewise.
8214         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
8215         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
8216         * lib/uninorm/u16-normxfrm.c: Likewise.
8217         * lib/uninorm/u32-normxfrm.c: Likewise.
8218         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
8219         memxfrm.
8220         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
8221         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
8222         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
8223         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
8224         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
8225         Suggested by Paul Eggert.
8226
8227 2010-08-14  Bruno Haible  <bruno@clisp.org>
8228
8229         Tests for module 'astrxfrm'.
8230         * modules/astrxfrm-tests: New file.
8231         * tests/test-astrxfrm.c: New file.
8232
8233         New module 'astrxfrm'.
8234         * lib/astrxfrm.h: New file.
8235         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
8236         * modules/astrxfrm: New file.
8237
8238 2010-08-14  Reuben Thomas <rrt@sc3d.org>
8239
8240         regex: Tweak doc.
8241         * doc/regex.texi (Overview): Don't mention regex.c.
8242         (GNU Regular Expression Compiling): Likewise.
8243         (Match-end-of-line Operator): Mention 'not_eol'.
8244
8245 2010-08-14  Brian Gough  <bjg@gnu.org>
8246             Bruno Haible  <bruno@clisp.org>
8247
8248         git-merge-changelog: add doc relating to use with bzr and hg.
8249         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
8250
8251 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
8252
8253         pthread: fix pthread.h creation for srcdir != builddir
8254         * modules/pthread (Makefile.am): Fix the rule to work also in a
8255         non-srcdir build.
8256
8257 2010-08-13  Karl Berry  <karl@gnu.org>
8258
8259         * doc/regex.texi (Predefined Syntaxes): @smallexample.
8260         * doc/posix-*/*: force line break before @url of POSIX
8261         specifications.
8262         Suggested by Werner Lemberg.
8263
8264 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
8265
8266         strtod: fix const diagnostic
8267         * lib/strtod.c (strtod): Don't assign const char * to char *,
8268         as this elicits a warning from GCC when warnings are enabled.
8269
8270 2010-08-10  Pádraig Brady <P@draigbrady.com>
8271         and Eric Blake  <eblake@redhat.com>
8272
8273         copy-acl: ignore ENOTSUP on HP-UX
8274         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
8275         so that it is available for HP-UX.
8276         * lib/copy-acl.c (qcopy_acl): Use it.
8277         Reported by Patrick M. Callahan.
8278
8279 2010-08-10  Eric Blake  <eblake@redhat.com>
8280
8281         open, chown: relax license
8282         * modules/open (License): Change to LGPLv2+, with consent by all
8283         authors, for use in augeas.
8284         * modules/chown (License): Likewise.
8285         * modules/lchown (Likewise): Likewise.
8286         Requested by Adam Stokes.
8287
8288 2010-08-09  Karl Berry  <karl@gnu.org>
8289
8290         * build-aux/ar-lib: new file, import from Automake.
8291         * config/srclist.txt: autocheck for updates.
8292
8293 2010-08-09  Eric Blake  <eblake@redhat.com>
8294
8295         readlinkat: adjust client modules
8296         * modules/areadlinkat (Depends-on): Use readlinkat, not
8297         symlinkat.
8298         * modules/areadlinkat-with-size (Depends-on): Likewise.
8299
8300         mknod: be more vocal about danger of running tests as root
8301         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
8302         root, since that is just asking for problems.
8303         Suggested by Bruno Haible, based on a report by Rainer Tammer.
8304
8305         readlinkat: split into its own module
8306         * modules/symlinkat: Split readlinkat...
8307         * modules/readlinkat: ...into separate module.
8308         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
8309         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
8310         * lib/symlinkat.c (readlinkat): Move...
8311         * lib/readlinkat.c: ...into new file.
8312         * modules/symlinkat-tests: Split readlinkat test...
8313         * modules/readlinkat-tests: ...into separate module.
8314         * tests/test-symlinkat.c: Split...
8315         * tests/test-readlinkat.c: ...into new file.
8316         * NEWS: Document the split.
8317         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
8318         * lib/unistd.in.h (readlinkat): Likewise.
8319         Suggested by Bruno Haible.
8320
8321 2010-08-08  Bruno Haible  <bruno@clisp.org>
8322
8323         memxfrm: Speed up.
8324         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
8325         that usually only one call to strxfrm is necessary for each string
8326         part.
8327         Reported by Paul Eggert <eggert@cs.ucla.edu>.
8328
8329 2010-08-07  Karl Berry  <karl@gnu.org>
8330
8331         * doc/posix-headers/limits.texi,
8332         * doc/posix-functions/malloc.texi,
8333         * doc/posix-functions/strsignal.texi: missing @item.
8334         * doc/ld-version-script.texi: spurious leading i.
8335         * doc/regex.texi (Interval Operators): no commas inside @var.
8336
8337 2010-08-01  Bruno Haible  <bruno@clisp.org>
8338
8339         Integrate the regex documentation.
8340         * doc/gnulib.texi: Define 'cn' index.
8341         (Regular expressions): New a chapter that includes regex.texi and
8342         regexprops-generic.texi.
8343         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
8344         syntax.
8345
8346         Whitespace cleanup.
8347         * doc/regex.texi: Remove trailing spaces.
8348
8349         Add regex documentation.
8350         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
8351         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
8352         Written by Kathy A. Hargreaves and Karl Berry.
8353
8354 2010-08-01  Bruno Haible  <bruno@clisp.org>
8355
8356         link: Update documentation.
8357         * doc/posix-functions/link.texi: Update regarding Solaris.
8358
8359 2010-07-31  Bruno Haible  <bruno@clisp.org>
8360
8361         Update modules list.
8362         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
8363         (String handling <string.h>): Add memcmp2, memxfrm.
8364         (Container data structures): Add xlist, xsublist, xoset.
8365         (Core language properties): Add alignof, unused-parameter.
8366         (Process control, Numeric conversion functions <stdlib.h>): Renamed
8367         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
8368         (Unibyte characters <ctype.h>): New section.
8369         (String handling <string.h>): New section.
8370         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
8371         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
8372         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
8373         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
8374         tan, tanh, tanl, y0, y1, yn.
8375         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
8376         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
8377         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
8378         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
8379         unlockpt, vdprintf, vdprintf-posix.
8380         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
8381         (File system functions): Add concat-filename, sys_file, sys_ioctl,
8382         xconcat-filename.
8383         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
8384         getdtablesize, pipe2, pipe2-safer.
8385         (Security): New section.
8386         (Networking functions): Add accept4.
8387         (Signal handling): Add sigpipe.
8388         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
8389         mbmemcasecoll.
8390         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
8391         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
8392         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
8393         pipe-filter-ii.
8394         (Misc): Add argp-version-etc, login_tty, parse-duration.
8395
8396 2010-07-31  Bruno Haible  <bruno@clisp.org>
8397
8398         Improve doc in MODULES.html.
8399         * modules/linkat (Description): Add the word "function".
8400         * modules/mkfifo (Description): Likewise.
8401         * modules/mknod (Description): Likewise.
8402         * modules/remove (Description): Likewise.
8403         * modules/renameat (Description): Likewise.
8404         * modules/stat (Description): Likewise.
8405         * modules/symlink (Description): Likewise.
8406         * modules/unlink (Description): Likewise.
8407
8408 2010-07-31  Bruno Haible  <bruno@clisp.org>
8409
8410         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
8411         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
8412         option --enable/disable-c++ instead of --enable/disable-cxx.
8413         * NEWS: Mention the change.
8414
8415 2010-07-31  Bruno Haible  <bruno@clisp.org>
8416
8417         readlink, areadlink: Relax test a bit.
8418         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
8419         alternative to ENOTDIR.
8420         * tests/test-areadlink.h (test_areadlink): Likewise.
8421         Reported by Rainer Tammer.
8422
8423 2010-07-31  Bruno Haible  <bruno@clisp.org>
8424
8425         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
8426         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
8427         character, perform the search using U_STRCHR.
8428         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
8429         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
8430         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
8431         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
8432         Suggested by Paolo Bonzini.
8433
8434 2010-07-31  Bruno Haible  <bruno@clisp.org>
8435
8436         unistr/u*-strstr: Fix dependencies.
8437         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
8438         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
8439         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
8440
8441 2010-07-31  Bruno Haible  <bruno@clisp.org>
8442
8443         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
8444         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
8445         the beginning of the loop.
8446         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
8447         cases in 'switch' statement.
8448
8449         unistr/u8-strchr: Fix several bugs.
8450         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
8451         the string. When not found, return NULL, not a pointer near the end.
8452
8453         More tests for unistr/u8-strchr.
8454         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
8455         that the function does not read past the first occurrence of the byte
8456         being searched.
8457         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
8458         * tests/unistr/test-u16-strchr.c (main): New function.
8459         * tests/unistr/test-u32-strchr.c (main): New function.
8460
8461 2010-07-31  Bruno Haible  <bruno@clisp.org>
8462
8463         posix-modules: Ignore backup files of documentation files.
8464         * posix-modules: grep only through files named *.texi.
8465
8466 2010-07-31  Bruno Haible  <bruno@clisp.org>
8467
8468         symlinkat: Fix documentation.
8469         * doc/posix-functions/readlinkat.texi: Fix module name.
8470
8471 2010-07-31  Bruno Haible  <bruno@clisp.org>
8472
8473         fchownat: Replace also when chown has the trailing slash bug.
8474         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
8475         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
8476         introduced on 2010-04-10.
8477         Reported by Rainer Tammer.
8478
8479 2010-07-31  Bruno Haible  <bruno@clisp.org>
8480
8481         linkat: Work around AIX 7.1 bug.
8482         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
8483         whether linkat handles trailing slash correctly. If not, replace linkat
8484         and define LINKAT_TRAILING_SLASH_BUG.
8485         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
8486         check whether (fd1,file1) points to a directory if file1 or file2 ends
8487         in a slash. Code taken from lib/link.c.
8488         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
8489         Reported by Rainer Tammer.
8490
8491 2010-07-31  Bruno Haible  <bruno@clisp.org>
8492
8493         Correctly determine whether pow is available in libc on AIX 7 with xlc.
8494         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
8495         This disables an xlc optimization that was causing wrong test results.
8496         Reported by Rainer Tammer.
8497
8498 2010-07-31  Bruno Haible  <bruno@clisp.org>
8499
8500         iconv: Work around AIX 6.1..7.1 bug.
8501         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
8502         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
8503         cross-compiling, guess no on all versions of AIX.
8504         Reported by Rainer Tammer.
8505
8506 2010-07-31  Bruno Haible  <bruno@clisp.org>
8507
8508         readlink: Relax test a bit.
8509         * tests/test-readlink.h (test_readlink): Allow different errno value
8510         when readlink is called with a file name that ends in / and refers to
8511         a file.
8512         Suggested by Eric Blake.
8513         Reported by Rainer Tammer.
8514
8515 2010-07-31  Bruno Haible  <bruno@clisp.org>
8516
8517         copysign: Does not require -lm on glibc systems.
8518         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
8519         gl_COMMON_DOUBLE_MATHFUNC.
8520         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
8521
8522 2010-07-31  Bruno Haible  <bruno@clisp.org>
8523
8524         duplocale: Work around AIX 7.1 bug.
8525         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
8526         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
8527         * lib/duplocale.c (rpl_duplocale): Update comment.
8528         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
8529         Reported by Rainer Tammer.
8530
8531 2010-07-30  Bruno Haible  <bruno@clisp.org>
8532
8533         dirfd: Avoid link error on AIX 7.1.
8534         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
8535         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
8536         exist, set REPLACE_DIRFD.
8537         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
8538         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
8539         * doc/posix-functions/dirfd.texi: Update.
8540         Reported by Rainer Tammer.
8541
8542 2010-07-30  Eric Blake  <eblake@redhat.com>
8543
8544         strtod: next round of AIX fixes
8545         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
8546         exponent.
8547         * tests/test-strtod.c (main): Enhance tests.
8548         * doc/posix-functions/strtod.texi (strtod): Document next bug.
8549         Reported by Rainer Tammer.
8550
8551         futimens: fix configure check
8552         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
8553         Reported by Bruno Haible.
8554
8555 2010-07-30  Bruno Haible  <bruno@clisp.org>
8556
8557         getline: Update regarding AIX.
8558         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
8559         Reported by Rainer Tammer.
8560
8561 2010-07-30  Bruno Haible  <bruno@clisp.org>
8562
8563         wcwidth: Drop replacement on AIX 7.
8564         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
8565         AIX 7.
8566         Reported by Rainer Tammer.
8567
8568 2010-07-30  Bruno Haible  <bruno@clisp.org>
8569
8570         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
8571         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
8572         a 'char *'.
8573         Reported by Rainer Tammer.
8574
8575 2010-07-30  Bruno Haible  <bruno@clisp.org>
8576
8577         unlink: Update regarding AIX.
8578         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
8579         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
8580         Reported by Rainer Tammer.
8581
8582 2010-07-30  Bruno Haible  <bruno@clisp.org>
8583
8584         symlink: Update regarding AIX.
8585         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
8586         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
8587         Reported by Rainer Tammer.
8588
8589 2010-07-30  Bruno Haible  <bruno@clisp.org>
8590
8591         strndup: Update regarding AIX.
8592         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
8593         AIX 7.
8594         Reported by Rainer Tammer.
8595
8596 2010-07-30  Bruno Haible  <bruno@clisp.org>
8597
8598         stat: Update regarding AIX.
8599         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
8600         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
8601         Reported by Rainer Tammer.
8602
8603 2010-07-30  Bruno Haible  <bruno@clisp.org>
8604
8605         truncl: Fix autoconf test.
8606         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
8607         whether truncl works.
8608         Reported by Rainer Tammer.
8609
8610 2010-07-30  Bruno Haible  <bruno@clisp.org>
8611
8612         round: Update regarding AIX.
8613         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
8614         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
8615         Reported by Rainer Tammer.
8616
8617 2010-07-30  Bruno Haible  <bruno@clisp.org>
8618
8619         rename: Update regarding AIX.
8620         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
8621         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
8622         Reported by Rainer Tammer.
8623
8624 2010-07-30  Bruno Haible  <bruno@clisp.org>
8625
8626         printf.m4: Update regarding AIX.
8627         * m4/printf.m4: Update comments regarding AIX.
8628         Reported by Rainer Tammer.
8629
8630 2010-07-30  Bruno Haible  <bruno@clisp.org>
8631
8632         iconv: Update regarding AIX.
8633         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
8634         AIX 7.
8635         Reported by Rainer Tammer.
8636
8637 2010-07-30  Bruno Haible  <bruno@clisp.org>
8638
8639         getopt: Update regarding AIX.
8640         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
8641         no on AIX.
8642         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
8643         Reported by Rainer Tammer.
8644
8645 2010-07-30  Bruno Haible  <bruno@clisp.org>
8646
8647         ldexpl; Update regarding AIX.
8648         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
8649         on AIX 7.
8650         Reported by Rainer Tammer.
8651
8652 2010-07-30  Bruno Haible  <bruno@clisp.org>
8653
8654         frexpl: Update regarding AIX.
8655         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
8656         on AIX 7.
8657         Reported by Rainer Tammer.
8658
8659 2010-07-30  Bruno Haible  <bruno@clisp.org>
8660
8661         open, fopen: Update regarding AIX.
8662         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
8663         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
8664         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
8665         * doc/posix-functions/fopen.texi: Likewise.
8666         Reported by Rainer Tammer.
8667
8668 2010-07-30  Bruno Haible  <bruno@clisp.org>
8669
8670         chown: Update doc regarding AIX.
8671         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
8672         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
8673         Reported by Rainer Tammer.
8674
8675 2010-07-30  Eric Blake  <eblake@redhat.com>
8676
8677         strtod: fix bug in replacement function on AIX
8678         * lib/strtod.c (strtod): Special case broken "0x" parse in
8679         underlying strtod.
8680         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
8681         * doc/posix-functions/strtod.texi (strtod): Likewise.
8682         Reported by Rainer Tammer.
8683
8684 2010-07-30  Bruno Haible  <bruno@clisp.org>
8685
8686         mbrlen: Fix cross-compilation guess for AIX.
8687         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
8688         guess. Leftover from 2008-12-22.
8689
8690 2010-07-30  Bruno Haible  <bruno@clisp.org>
8691
8692         mbrtowc: Fix cross-compilation guess for AIX.
8693         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
8694         guess. Leftover from 2008-12-21.
8695
8696 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
8697
8698         init.sh: work around trap limitation of some shells
8699         * tests/init.sh (setup_): Move exit trap outside of shell function.
8700
8701 2010-07-29  Eric Blake  <eblake@redhat.com>
8702
8703         strtod: aid debugging
8704         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
8705         understanding why strtod is rejected.
8706
8707 2010-07-28  Bruno Haible  <bruno@clisp.org>
8708
8709         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
8710         * lib/unistr/u8-chr.c: Include <string.h>.
8711         * tests/unistr/test-u8-chr.c: Likewise.
8712         * tests/unistr/test-u16-chr.c: Likewise.
8713         * tests/unistr/test-u32-chr.c: Likewise.
8714         * tests/unistr/test-u8-strchr.c: Likewise.
8715         * tests/unistr/test-u16-strchr.c: Likewise.
8716         * tests/unistr/test-u32-strchr.c: Likewise.
8717         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
8718         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
8719         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
8720         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
8721
8722 2010-07-28  Bruno Haible  <bruno@clisp.org>
8723
8724         Use spaces for indentation, not tabs.
8725         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
8726
8727 2010-07-27  Bruno Haible  <bruno@clisp.org>
8728
8729         mbspcasecmp: Fix function specification.
8730         * lib/string.in.h (mbspcasecmp): Fix specification comment.
8731         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
8732         Reported by Eric Blake <eblake@redhat.com>.
8733
8734 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
8735
8736         timespec: use cast and not conditional, as truncation isn't possible
8737         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
8738         instead of a conditional.  Comment about the situation in more detail.
8739         This undoes most of the 2009-10-29 patch.
8740
8741 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
8742
8743         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
8744         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
8745         * lib/unistr/u8-strchr.c: Likewise.
8746         * modules/unistr/u8-chr: Depend on memchr.
8747
8748         unistr/u*-strchr: add tests
8749         * modules/unistr/u8-strchr-tests: New file.
8750         * modules/unistr/u16-strchr-tests: New file.
8751         * modules/unistr/u32-strchr-tests: New file.
8752         * tests/unistr/test-strchr.h: New file.
8753         * tests/unistr/test-u8-strchr.c: New file.
8754         * tests/unistr/test-u16-strchr.c: New file.
8755         * tests/unistr/test-u32-strchr.c: New file.
8756
8757         unistr/u*-chr: test multibyte sequences more
8758         * tests/unistr/test-chr.h: Do complete testing of the characters in the
8759         test vector.
8760         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
8761         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
8762         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
8763
8764         unistr/u*-chr: test multibyte sequences
8765         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
8766
8767         unistr/u*-chr: prepare for multibyte tests
8768         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
8769         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
8770         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
8771         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
8772         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
8773         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
8774
8775 2010-07-18  Bruno Haible  <bruno@clisp.org>
8776
8777         unistr/u8-strchr: Optimize non-ASCII argument case.
8778         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
8779         because the first byte often matches anyway.
8780         Reported by Pádraig Brady <P@draigbrady.com>.
8781
8782 2010-07-15  Karl Berry  <karl@gnu.org>
8783
8784         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
8785
8786 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
8787
8788         getcwd: on Solaris, work better if ancestors are inaccessible
8789         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
8790         buffer and size, try again with a large buffer.  This works better
8791         on Solaris, since its getcwd succeeds even if the path to the root
8792         is inaccessible, and this is helpful in common cases such as .zfs
8793         hidden directories.  Problem reported by J Chapman Flack in
8794         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
8795         Use system getcwd if it's declared, not merely if it's partly
8796         working; use the partly-working test only to avoid needless effort
8797         if the system getcwd fails.
8798         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
8799         comment that was already obsolete and is now even more obsolete.
8800         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
8801         now might call strdup.
8802
8803 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
8804
8805         pthread: Add enough so that coreutils/src/sort.c compiles.
8806         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
8807         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
8808         gnulib. Include <sched.h> and <time.h>, as per POSIX.
8809         Include <sys/types.h>, in case it defines pthread_t.
8810         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
8811         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
8812         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
8813         (pthread_rwlockattr_t, pthread_spinlock_t):
8814         New typedefs, if HAVE_PTHREAD_T is not defined.
8815         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
8816         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
8817         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
8818         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
8819         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
8820         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
8821         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
8822         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
8823         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
8824         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
8825         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
8826         New macros.
8827         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
8828         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
8829         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
8830         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
8831         (pthread_spin_unlock): New dummy functions.
8832         (pthread_create): Return EAGAIN; don't set errno.
8833         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
8834         require AC_C_INLINE.
8835         * modules/pthread (Depends-on): Add sched, time.
8836         (pthread.h): Use AM_V_GEN.
8837
8838 2010-07-13  Bruno Haible  <bruno@clisp.org>
8839
8840         striconveh: Don't malloc memory if the result buffer is sufficient.
8841         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
8842         buffer if its size is sufficient.
8843         Reported by Ludovic Courtès <ludo@gnu.org>.
8844
8845 2010-07-13  Bruno Haible  <bruno@clisp.org>
8846
8847         strtod: Add safety check.
8848         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
8849
8850 2010-07-12  Bruno Haible  <bruno@clisp.org>
8851
8852         Unify tests that set gl_cv_func_ldexpl_no_libm.
8853         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
8854         gl_FUNC_LDEXPL.
8855         (gl_FUNC_LDEXPL): Invoke it.
8856         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
8857
8858 2010-07-12  Bruno Haible  <bruno@clisp.org>
8859
8860         Unify tests that set gl_cv_func_ldexp_no_libm.
8861         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
8862         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
8863         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
8864         (configure.ac): Simply invoke gl_FUNC_LDEXP.
8865         * modules/strtod (Files): Add m4/ldexp.m4.
8866
8867 2010-07-12  Bruno Haible  <bruno@clisp.org>
8868
8869         Unify tests that set gl_cv_func_frexpl_no_libm.
8870         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
8871         gl_FUNC_FREXPL_NO_LIBM.
8872         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
8873         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
8874
8875 2010-07-12  Bruno Haible  <bruno@clisp.org>
8876
8877         Unify tests that set gl_cv_func_frexp_no_libm.
8878         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
8879         gl_FUNC_FREXP_NO_LIBM.
8880         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
8881         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
8882
8883 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
8884
8885         memcoll: clarify sizes versus lengths, document better, and tweak perf
8886         * lib/memcoll.c (strcoll_loop, memcoll0):
8887         Improve quality of descriptive comments.  Name variables
8888         consistently as to whether they are lengths (which do not include
8889         terminating null) versus sizes (which do).
8890         * lib/xmemcoll.c (xmemcoll0): Likewise.
8891         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
8892         returned when s1size == 0; this is easier to compile and saves
8893         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
8894
8895 2010-07-12  Bruno Haible  <bruno@clisp.org>
8896
8897         Tests for module '_Exit'.
8898         * modules/_Exit-tests: New file.
8899         * tests/test-_Exit.sh: New file.
8900         * tests/test-_Exit.c: New file.
8901
8902         New module '_Exit'.
8903         * lib/stdlib.in.h (__attribute__): New macro.
8904         (_Exit): New declaration.
8905         * lib/_Exit.c: New file.
8906         * m4/_Exit.m4: New file.
8907         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
8908         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
8909         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
8910         * modules/_Exit: New file.
8911         * tests/test-stdlib-c++.cc (_Exit): Check signature.
8912         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
8913
8914 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
8915
8916         strtod: make it more-accurate typically, and don't require libm
8917         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
8918         Include limits.h.  Don't include string.h.
8919         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
8920         (locale_isspace): New function, so that no casts are needed to
8921         check whether *s is a space.
8922         (ldexp): Provide an unused dummy if not available.
8923         (scale_radix_exp, parse_number, underlying_strtod): New functions.
8924         (strtod): Use them.  This implementation prefers to use the
8925         underlying strtod if available, falling back on our own code
8926         only to fix known bugs.  This is more likely to produce an
8927         accurate result.  Also, it avoids the use of libm functions.
8928         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
8929         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
8930         was absent, but it caused a test failure with coreutils.
8931         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
8932         with libm.
8933         * modules/strtod (Makefile.am, Link): libm is no longer needed.
8934         * modules/strtod-tests (Makefile.am): Likewise.
8935
8936 2010-07-11  Pádraig Brady  <P@draigBrady.com>
8937             Bruno Haible  <bruno@clisp.org>
8938
8939         unistr/u8-strchr: Optimize ASCII argument case.
8940         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
8941
8942 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
8943
8944         (x)memcoll: minor tweaks
8945         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
8946         is after the type that it qualifies.
8947         (memcoll0): Likewise.
8948         * lib/memcoll.h (memcoll0): Likewise.
8949         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
8950         * lib/xmemcoll.h (xmemcoll0): Likewise.
8951         * lib/memcoll.c (memcoll0): Correct the comment.  This function
8952         differs from memcoll in that the NUL byte is part of the argument.
8953         Omit the abort-checks, as performance is a real issue here.  Plus,
8954         the checks were wrong anyway (an off-by-one error).  Omit local
8955         variable 'diff', as it's a bit clearer that way.
8956         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
8957         no longer needed.
8958
8959 2010-07-08  Chen Guo <chenguo4@yahoo.com>
8960
8961         (x)memcoll: speedup when input is known to be NUL delimited
8962         * lib/memcoll.c: Include stdlib.
8963         (memcoll0) New function.
8964         (strcoll_loop) New function, refactored for use in both memcoll
8965         and memcoll0.
8966         * lib/memcoll.h: Add prototype for memcoll0.
8967         * lib/xmemcoll.c: (xmemcoll0) New function.
8968         (collate_error) New function, refactored for use in both xmemcoll
8969         and xmemcoll0.
8970         * lib/xmemcoll.h: Add prototype for xmemcoll0.
8971         * m4/memcoll.m4: add inline invocation.
8972
8973 2010-07-06  Pádraig Brady  <P@draigBrady.com>
8974
8975         * build-aux/bootstrap: Remove any local translations
8976         from the translation project synchronization directory,
8977         so that local only translations are not distributed.
8978
8979 2010-07-04  Bruno Haible  <bruno@clisp.org>
8980
8981         fsusage: Clarify which code applies to which platforms.
8982         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
8983         platform.
8984         * lib/fsusage.c (get_fs_usage): Likewise.
8985
8986 2010-07-04  Bruno Haible  <bruno@clisp.org>
8987
8988         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
8989         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
8990         Reported by Martin Lambers <marlam@marlam.de>.
8991
8992 2010-07-04  Jim Meyering  <meyering@redhat.com>
8993
8994         hash: once again explicitly disallow insertion of NULL
8995         * lib/hash.c (hash_insert0): Reinstate just-removed test:
8996         inserting a NULL pointer cannot work with these functions.
8997         Add a comment with details.
8998         This reverts part of the 2010-07-01 commit, 5bef1a35
8999         "hash: extend module to deal with non-pointer keys".
9000
9001 2010-07-01  Bruno Haible  <bruno@clisp.org>
9002
9003         stdbool: Update doc.
9004         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
9005         Info from Christian Weisgerber <naddy@mips.inka.de>.
9006
9007 2010-07-01  Jim Meyering  <meyering@redhat.com>
9008
9009         hash: extend module to deal with non-pointer keys
9010         * lib/hash.c (hash_insert0): New interface, much like hash_insert
9011         but that allows insertion of non-pointer entries.
9012         Do not disallow an ENTRY value of NULL.
9013         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
9014         * lib/hash.h (hash_insert0): Declare.
9015
9016 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
9017
9018         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
9019         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
9020         not present (i.e. with autoconf 2.59 and when using gettextize, not
9021         gnulib), require AC_GNU_SOURCE instead.
9022
9023 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
9024
9025         idpriv-drop: Fix tests.
9026         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
9027         not to the test-idpriv-droptemp program.
9028
9029 2010-06-29  Bruno Haible  <bruno@clisp.org>
9030
9031         string: Fix syntax error with g++ 2.96.
9032         * lib/string.in.h (__pure__): Remove definition.
9033         (_GL_ATTRIBUTE_PURE): New macro.
9034         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
9035         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
9036         Reported by Christian Weisgerber <naddy@mips.inka.de>.
9037
9038 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
9039
9040         unitypes: Fix bug introduced on 2010-05-18.
9041         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
9042
9043 2010-06-22  Eric Blake  <eblake@redhat.com>
9044
9045         memmem: slight optimization
9046         * lib/str-two-way.h (critical_factorization): Update comments.
9047         Reduce work during factorization phase.
9048         Reported by Carlos Bueno <carlos@bueno.org>.
9049
9050 2010-06-21  Bruno Haible  <bruno@clisp.org>
9051
9052         Fix HAVE_CALLOC_POSIX misnomer.
9053         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
9054         !HAVE_CALLOC_POSIX.
9055         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
9056         HAVE_CALLOC_POSIX.
9057         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
9058         instead of HAVE_CALLOC_POSIX.
9059         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
9060         HAVE_CALLOC_POSIX.
9061
9062         Use modern idiom for calloc() replacement.
9063         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
9064         AC_FUNC_CALLOC.
9065         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
9066         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
9067         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
9068         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
9069         (gl_REPLACE_CALLOC): New macro.
9070
9071 2010-06-21  Bruno Haible  <bruno@clisp.org>
9072
9073         Fix HAVE_REALLOC_POSIX misnomer.
9074         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
9075         !HAVE_REALLOC_POSIX.
9076         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
9077         HAVE_REALLOC_POSIX.
9078         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
9079         instead of HAVE_REALLOC_POSIX.
9080         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
9081         HAVE_REALLOC_POSIX.
9082
9083         Use modern idiom for realloc() replacement.
9084         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
9085         AC_FUNC_REALLOC.
9086         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
9087         Autoconf's AC_FUNC_REALLOC.
9088         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
9089         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
9090         (gl_REPLACE_REALLOC): New macro.
9091         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
9092
9093 2010-06-21  Bruno Haible  <bruno@clisp.org>
9094
9095         Fix HAVE_MALLOC_POSIX misnomer.
9096         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
9097         !HAVE_MALLOC_POSIX.
9098         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
9099         HAVE_MALLOC_POSIX.
9100         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
9101         instead of HAVE_MALLOC_POSIX.
9102         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
9103         HAVE_MALLOC_POSIX.
9104
9105         Use modern idiom for malloc() replacement.
9106         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
9107         AC_FUNC_MALLOC.
9108         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
9109         Autoconf's AC_FUNC_MALLOC.
9110         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
9111         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
9112         (gl_REPLACE_MALLOC): New macro.
9113         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
9114
9115 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
9116
9117         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
9118         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
9119         This macro takes 3 arguments, not 4.
9120
9121 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
9122
9123         ipv6: fix detection under mingw
9124         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
9125         in6_addr.
9126
9127 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
9128
9129         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
9130         that strtod() works when cross-compiling to a glibc version known
9131         to work.
9132
9133 2010-06-15  Bruno Haible  <bruno@clisp.org>
9134
9135         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
9136
9137 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
9138
9139         select: Correct timeout.
9140         * lib/select.c (rpl_select): Compute wait_timeout correctly.
9141
9142 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
9143
9144         git-version-gen: init shell var to avoid env var influence
9145         * build-aux/git-version-gen (v): Init shell var to empty.
9146
9147 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
9148
9149         priv-set: Don't assume that priv.h exists merely because getppriv does.
9150         See Jan Andersen's bug report about AIX 5L in
9151         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
9152         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
9153         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
9154         * lib/priv-set.h: Likewise.
9155         * tests/test-priv-set.c: Likewise.
9156
9157 2010-06-13  Bruno Haible  <bruno@clisp.org>
9158
9159         relocatable: Make it easier to test whether to install wrappers.
9160         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
9161         RELOCATABLE_VIA_WRAPPER.
9162
9163 2010-06-13  Bruno Haible  <bruno@clisp.org>
9164
9165         gnulib-tool: Display specified modules and dependencies differently.
9166         * gnulib-tool (func_show_module_list): New function.
9167         (func_import, func_create_testdir): Invoke it.
9168         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
9169
9170 2010-06-13  Bruno Haible  <bruno@clisp.org>
9171
9172         gnulib-tool: Align code of func_import and func_create_testdir.
9173         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
9174         specified_modules.
9175
9176 2010-06-12  Jim Meyering  <meyering@redhat.com>
9177
9178         test-inttostr: avoid spurious failure on Solaris 9
9179         * tests/test-inttostr.c (main): Skip the test when snprintf fails
9180         to accept "%ju".  Reported by Bruno Haible.
9181
9182 2010-06-11  Jim Meyering  <meyering@redhat.com>
9183
9184         test-sys_socket: mark variables as used more readably
9185         * tests/test-sys_socket.c (main): Mark otherwise unused variables
9186         as "used" explicitly via (void) statement casts.  This is more
9187         readable than using them in an artificial return expression.
9188         Suggestion from Bruno Haible.
9189
9190 2010-06-11  Bruno Haible  <bruno@clisp.org>
9191
9192         Avoid some more warnings from "gcc -Wwrite-strings".
9193         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
9194         to 'const char *'.
9195         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
9196         * tests/test-c-strcasestr.c (main): Likewise.
9197         * tests/test-mbscasestr1.c (main): Likewise.
9198         * tests/test-mbscasestr2.c (main): Likewise.
9199         * tests/test-memmem.c (main): Likewise.
9200         * tests/test-strstr.c (main): Likewise.
9201         * tests/test-strcasestr.c (main): Likewise.
9202
9203 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9204
9205         init.sh: change framework_failure_ to fail with status 99, not 1
9206         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
9207         automake's parallel-tests rule that this is an unexpected failure,
9208         even if the test is listed in XFAIL_TESTS.
9209
9210 2010-06-11  Jim Meyering  <meyering@redhat.com>
9211
9212         test-inttostr: avoid warnings about 4-6KB literal strings
9213         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
9214         Include "macros.h", for its definition of ASSERT.
9215         (CK): s/assert/ASSERT/
9216         * modules/inttostr-tests (Files): Add macros.h.
9217
9218         init.sh: don't use $ME_ or skip_ before they are defined
9219         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
9220         their first uses.  Also hoist their companions: warn_, fail_,
9221         framework_failure_, $stderr_fileno.  Prompted by a patch from
9222         Stefano Lattarini.
9223
9224         test-sys_socket: avoid set-but-not-used warnings from gcc
9225         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
9226         avoid warning about set-but-not-used variables.
9227
9228         test-xvasprintf: avoid 'const' discard warnings
9229         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
9230         "const" when assigning from literal strings.
9231         (test_xasprintf): Add "void" in function argument list to placate
9232         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
9233
9234         tests: avoid compilation warnings in argmatch and exclude tests...
9235         in packages that define ARGMATCH_DIE_DECL, like coreutils.
9236         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
9237         Since it always exits, declare with the "noreturn" attribute.
9238         * tests/test-argmatch.c: Likewise.
9239
9240         tests: avoid 'const' discard warnings in mbsstr tests
9241         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
9242         * tests/test-mbsstr2.c (main): Likewise.
9243
9244         test-verify: avoid warning from gcc's -Wmissing-declarations
9245         * tests/test-verify.c (function): Declare to be static.
9246
9247         test-inttostr.c: include <string.h> for use of strcmp
9248         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
9249
9250         test-linkat: avoid failed assertion on "other" architectures
9251         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
9252         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
9253         sparc: https://bugs.launchpad.net/bugs/591968
9254
9255 2010-06-11  Jim Meyering  <meyering@redhat.com>
9256
9257         printf.m4: avoid autoconf's "Expanded Before Required" warning
9258         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
9259         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
9260         autoconf warning.
9261
9262 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
9263
9264         Replacement header templates are now named with ".in", not "_".
9265         * doc/gnulib-intro.texi: Correct.
9266
9267 2010-06-10  Jim Meyering  <meyering@redhat.com>
9268
9269         inttostr-tests: depend on snprintf, not snprintf-posix
9270         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
9271         snprintf-posix, to avoid this aclocal failure:
9272           missing file gnulib-tests/vasnprintf.c
9273           configure.ac:45: error: expected source file, required through \
9274           AC_LIBSOURCES, not found
9275
9276 2010-06-10  Jim Meyering  <meyering@redhat.com>
9277
9278         inttostr: add a new function, inttostr, and tests
9279         The namesake function was not available.  The existence of the
9280         template file, inttostr.c makes its addition nontrivial.
9281         * lib/anytostr.c: Rename from inttostr.c.
9282         (anytostr): Rename from inttostr.
9283         * lib/inttostr.c: New file.
9284         * modules/inttostr (Files): Add anytostr.c.
9285         (Makefile.am): Set lib_SOURCES instead of ...
9286         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
9287         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
9288         * lib/offtostr.c: Likewise.
9289         * lib/uinttostr.c: Likewise.
9290         * lib/umaxtostr.c: Likewise.
9291         * modules/inttostr-tests: New file.
9292         * tests/test-inttostr.c: New file.  Test these functions.
9293
9294 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
9295             Bruno Haible  <bruno@clisp.org>
9296
9297         Add "Extending Gnulib" chapter to manual.
9298         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
9299         chapter.
9300         (Extending Gnulib): New chapter.
9301         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
9302         chapter.
9303
9304 2010-06-09  Bruno Haible  <bruno@clisp.org>
9305
9306         Avoid relocwrapper link errors due to gnulib replacement functions.
9307         * lib/areadlink.c: Use the system's malloc, realloc functions.
9308         (areadlink): Set errno to ENOMEM explicitly.
9309         * modules/areadlink (Depends-on): Remove malloc-posix.
9310         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9311
9312 2010-06-09  Bruno Haible  <bruno@clisp.org>
9313
9314         Avoid relocwrapper link errors due to gnulib replacement functions.
9315         * lib/canonicalize-lgpl.c: Use the system's malloc function.
9316         * lib/malloca.c: Likewise.
9317         * lib/relocatable.c: Likewise.
9318         * lib/progreloc.c: Use the system's malloc, sprintf functions.
9319         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
9320         * lib/setenv.c: Use the system's malloc, realloc functions.
9321         * lib/strerror.c: Use the system's sprintf function.
9322         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9323
9324 2010-06-04  Bruno Haible  <bruno@clisp.org>
9325
9326         Prefer documented low-level autoconf macro names.
9327         * m4/lib-link.m4: Use m4_translit instead of translit.
9328         * m4/environ.m4: Likewise.
9329         * m4/mathfunc.m4: Likewise.
9330         * m4/onceonly.m4: Likewise.
9331         * m4/stdint.m4: Likewise.
9332         Suggested by Eric Blake.
9333
9334 2010-06-04  Martin Lambers  <marlam@marlam.de>
9335             Bruno Haible  <bruno@clisp.org>
9336
9337         havelib: Allow library names with '+' characters.
9338         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
9339         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
9340
9341 2010-06-09  Bruno Haible  <bruno@clisp.org>
9342
9343         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
9344         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
9345         realloc failed.
9346
9347 2010-06-08  Peter Simons  <simons@cryp.to>
9348
9349         maint.mk: make the news-check rule more configurable
9350         * top/maint.mk (news-check-lines-spec) New variable.
9351         (news-check): Use "sed -n 1,10p" in place of "head".
9352
9353 2010-06-07  Jim Meyering  <meyering@redhat.com>
9354
9355         do-release-commit-and-tag: fix typo in --help
9356         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
9357
9358         regex: avoid new dead-code warning with gcc-4.6.0
9359         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
9360         if-block containing a while-loop.  It's been unused for at least
9361         5 years.
9362
9363 2010-06-05  Bruno Haible  <bruno@clisp.org>
9364
9365         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
9366         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
9367
9368 2010-06-04  Bruno Haible  <bruno@clisp.org>
9369
9370         Update to GNU gettext 0.18.1.
9371         * modules/gettext (configure.ac): Require gettext infrastructure from
9372         version 0.18.1.
9373
9374 2010-06-03  Bruno Haible  <bruno@clisp.org>
9375
9376         Don't use AC_LIBOBJ with file names in subdirectories.
9377         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
9378         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
9379         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
9380         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
9381         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
9382         gl_LIBUNISTRING_LIBSOURCE.
9383         (Makefile.am): Augment lib_SOURCES here, conditionally.
9384         * NEWS: Drop requirement for Automake option 'subdir-objects'.
9385
9386 2010-06-03  Bruno Haible  <bruno@clisp.org>
9387
9388         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
9389         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
9390         expansion does not end with a newline.
9391         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
9392         unnecessary newline.
9393
9394 2010-06-03  Bruno Haible  <bruno@clisp.org>
9395
9396         Reduce dependencies.
9397         * tests/test-quotearg.h: New file, extracted from
9398         tests/test-quotearg.c.
9399         * tests/test-quotearg-simple.c: New file, extracted from
9400         tests/test-quotearg.c.
9401         * tests/test-quotearg.c: Don't include <ctype.h>.
9402         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
9403         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
9404         use_quote_double_quotes, use_quotearg_colon): Moved to
9405         tests/test-quotearg.h.
9406         (results_g, flag_results, custom_quotes, custom_results): Moved
9407         to tests/test-quotearg-simple.c.
9408         (main): Moved the part that does not depend on gettext to
9409         tests/test-quotearg-simple.c. Return 77 if the test cannot be
9410         performed.
9411         * modules/quotearg-simple: New file.
9412         * modules/quotearg-simple-tests: New file.
9413         * modules/quotearg (Depends-on): Add quotearg-simple.
9414         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
9415         (Files): Add tests/test-quotearg.h.
9416         Reported by Paolo Bonzini.
9417
9418 2010-06-03  Bruno Haible  <bruno@clisp.org>
9419
9420         Reduce dependencies.
9421         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
9422
9423 2010-06-03  Bruno Haible  <bruno@clisp.org>
9424
9425         time: Undefine more broken macros.
9426         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
9427         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
9428         Reported by Eric Blake.
9429
9430 2010-06-03  Bruno Haible  <bruno@clisp.org>
9431
9432         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
9433         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
9434         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
9435         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
9436         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
9437         Reported by Ludovic Courtès <ludo@gnu.org>.
9438
9439 2010-06-02  Eric Blake  <eblake@redhat.com>
9440
9441         time: work with mingw + pthreads-win32 library
9442         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
9443         if timespec is defined only in pthread.h.
9444         * modules/time (Makefile.am): Substitute it.
9445         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
9446         <pthread.h>, when needed.
9447         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
9448         from the library.
9449
9450 2010-05-31  Bruno Haible  <bruno@clisp.org>
9451
9452         Avoid expanding two macros in the wrong order.
9453         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
9454         gl_LIBUNISTRING if it is defined.
9455         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
9456         autoconf >= 2.64.
9457         Reported by Ludovic Courtès <ludo@gnu.org>.
9458
9459 2010-05-27  Jim Meyering  <meyering@redhat.com>
9460
9461         maint.mk: also prohibit "#undef" of always-defined symbols
9462         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
9463         Allow more than one space before the symbol name.
9464         (sc_prohibit_always-defined_macros): Use grep's -E, now that
9465         the regexp uses alternation.
9466
9467 2010-05-26  Eric Blake  <eblake@redhat.com>
9468
9469         maint.mk: avoid echo -e
9470         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
9471         Convert all uses of echo -* to printf.
9472         Reported by Matthias Bolte.
9473
9474 2010-05-25  Bruno Haible  <bruno@clisp.org>
9475
9476         Update to GNU gettext 0.18, part 2.
9477         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
9478         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
9479
9480 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9481
9482         Add missing include in test-pwrite.c.
9483         * tests/test-pwrite.c: Include string.h, for strcmp.
9484
9485 2010-05-24  Bruno Haible  <bruno@clisp.org>
9486
9487         * NEWS: Mention requirement for Automake option 'subdir-objects'.
9488
9489 2010-05-24  Bruno Haible  <bruno@clisp.org>
9490
9491         Don't use conversion with transliteration in u{8,16,32}_strcoll.
9492         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
9493         iconveh_error argument.
9494         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
9495         U_STRCONV_TO_LOCALE.
9496         * lib/unistr/u16-strcoll.c: Likewise.
9497         * lib/unistr/u32-strcoll.c: Likewise.
9498         * modules/unistr/u8-strcoll (Depends-on): Add
9499         uniconv/u8-strconv-to-enc, localcharset. Remove
9500         uniconv/u8-strconv-to-locale.
9501         (configure.ac): Bump version number.
9502         * modules/unistr/u16-strcoll (Depends-on): Add
9503         uniconv/u16-strconv-to-enc, localcharset. Remove
9504         uniconv/u16-strconv-to-locale.
9505         (configure.ac): Bump version number.
9506         * modules/unistr/u32-strcoll (Depends-on): Add
9507         uniconv/u32-strconv-to-enc, localcharset. Remove
9508         uniconv/u32-strconv-to-locale.
9509         (configure.ac): Bump version number.
9510
9511 2010-05-24  Bruno Haible  <bruno@clisp.org>
9512
9513         Avoid a test failure on NetBSD 5.0.
9514         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
9515         an iconv() bug.
9516
9517 2010-05-24  Bruno Haible  <bruno@clisp.org>
9518
9519         Adjust #include directive style.
9520         * modules/regex (Includes): Recommend to write <regex.h>.
9521
9522 2010-05-24  Bruno Haible  <bruno@clisp.org>
9523
9524         regex: Don't require alloca.
9525         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
9526         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
9527         only inside if (0).
9528
9529 2010-05-23  Jim Meyering  <meyering@redhat.com>
9530
9531         test-renameat.c: include <sys/stat.h>
9532         * tests/test-renameat.c: Include <sys/stat.h>; required for
9533         definition of S_IS* macros.
9534
9535 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
9536
9537         Update maintainer documentation for 'relocatable-prog' module.
9538         * doc/relocatable-maint.texi: Update.
9539         Comments by Bruno Haible.
9540
9541 2010-05-23  Bruno Haible  <bruno@clisp.org>
9542
9543         git-merge-changelog: Enable --split-merged-entry by default.
9544         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
9545         (usage): Don't mention this option any more.
9546         Reported by Ralf Wildenhues.
9547
9548 2010-05-23  Jim Meyering  <meyering@redhat.com>
9549
9550         test-pwrite: do not leave behind a test file named "out"
9551         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
9552         The trivial-looking use of init.sh is really necessary.
9553         It ensures that the temporary file, "out", is created in
9554         a temporary directory, and removed upon termination.
9555         * tests/test-pwrite.sh: Re-add file.
9556         * modules/pwrite-tests: Reference it.
9557
9558 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9559
9560         Fix output redirection buglet in init.sh.
9561         * tests/init.sh: Fix redirection of stderr.
9562
9563 2010-05-20  Simon Josefsson  <simon@josefsson.org>
9564
9565         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
9566
9567 2010-05-17  Simon Josefsson  <simon@josefsson.org>
9568
9569         * modules/valgrind-tests: New file.
9570         * m4/valgrind-tests.m4: New file.
9571         * doc/valgrind-tests.texi: New file.
9572         * doc/gnulib.texi (Running self-tests under valgrind): New
9573         section.
9574
9575 2010-05-19  Bruno Haible  <bruno@clisp.org>
9576
9577         Clean up dead code in recent commit.
9578         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
9579         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
9580         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
9581         Suggested by Paolo Bonzini.
9582
9583 2010-05-19  Bruno Haible  <bruno@clisp.org>
9584
9585         Avoid valgrind error reports from libunistring.
9586         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
9587         * modules/libunistring (Files): Add it.
9588         * modules/libunistring-optional (Files): Likewise.
9589
9590 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
9591             Bruno Haible  <bruno@clisp.org>
9592
9593         New module 'libunistring-optional'.
9594         * modules/libunistring-optional: New file.
9595         * m4/libunistring-base.m4: New file.
9596         * m4/libunistring-optional.m4: New file.
9597         * lib/unicase.in.h: Renamed from lib/unicase.h.
9598         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
9599         * lib/unictype.in.h: Renamed from lib/unictype.h.
9600         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
9601         * lib/uniname.in.h: Renamed from lib/uniname.h.
9602         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
9603         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
9604         * lib/unistr.in.h: Renamed from lib/unistr.h.
9605         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
9606         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
9607         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
9608         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
9609         gl_LIBUNISTRING. If the library was found, determine the installed
9610         version and set LIBUNISTRING_VERSION.
9611         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
9612         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
9613         handle a configuration option --with-included-libunistring.
9614         * modules/libunistring (Files): Add m4/absolute-header.m4.
9615         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
9616         Add m4/libunistring-base.m4.
9617         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
9618         (Makefile.am): Build unicase.h from unicase.in.h.
9619         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
9620         Add m4/libunistring-base.m4.
9621         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
9622         (Makefile.am): Build uniconv.h from uniconv.in.h.
9623         * modules/unictype/base (Files): Use unictype.in.h instead of
9624         unictype.h. Add m4/libunistring-base.m4.
9625         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
9626         (Makefile.am): Build unictype.h from unictype.in.h.
9627         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
9628         Add m4/libunistring-base.m4.
9629         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
9630         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
9631         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
9632         Add m4/libunistring-base.m4.
9633         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
9634         (Makefile.am): Build uniname.h from uniname.in.h.
9635         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
9636         Add m4/libunistring-base.m4.
9637         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
9638         (Makefile.am): Build uninorm.h from uninorm.in.h.
9639         * modules/unistdio/base (Files): Use unistdio.in.h instead of
9640         unistdio.h. Add m4/libunistring-base.m4.
9641         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
9642         (Makefile.am): Build unistdio.h from unistdio.in.h.
9643         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
9644         Add m4/libunistring-base.m4.
9645         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
9646         (Makefile.am): Build unistr.h from unistr.in.h.
9647         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
9648         Add m4/libunistring-base.m4.
9649         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
9650         (Makefile.am): Build unitypes.h from unitypes.in.h.
9651         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
9652         Add m4/libunistring-base.m4.
9653         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
9654         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
9655         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
9656         uniwidth.h. Add m4/libunistring-base.m4.
9657         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
9658         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
9659         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
9660         instead of augmenting lib_SOURCES.
9661         * modules/unicase/empty-suffix-context: Likewise.
9662         * modules/unicase/locale-language: Likewise.
9663         * modules/unicase/tolower: Likewise.
9664         * modules/unicase/totitle: Likewise.
9665         * modules/unicase/toupper: Likewise.
9666         * modules/unicase/u8-casecmp: Likewise.
9667         * modules/unicase/u8-casecoll: Likewise.
9668         * modules/unicase/u8-casefold: Likewise.
9669         * modules/unicase/u8-casexfrm: Likewise.
9670         * modules/unicase/u8-ct-casefold: Likewise.
9671         * modules/unicase/u8-ct-tolower: Likewise.
9672         * modules/unicase/u8-ct-totitle: Likewise.
9673         * modules/unicase/u8-ct-toupper: Likewise.
9674         * modules/unicase/u8-is-cased: Likewise.
9675         * modules/unicase/u8-is-casefolded: Likewise.
9676         * modules/unicase/u8-is-lowercase: Likewise.
9677         * modules/unicase/u8-is-titlecase: Likewise.
9678         * modules/unicase/u8-is-uppercase: Likewise.
9679         * modules/unicase/u8-prefix-context: Likewise.
9680         * modules/unicase/u8-suffix-context: Likewise.
9681         * modules/unicase/u8-tolower: Likewise.
9682         * modules/unicase/u8-totitle: Likewise.
9683         * modules/unicase/u8-toupper: Likewise.
9684         * modules/unicase/u16-casecmp: Likewise.
9685         * modules/unicase/u16-casecoll: Likewise.
9686         * modules/unicase/u16-casefold: Likewise.
9687         * modules/unicase/u16-casexfrm: Likewise.
9688         * modules/unicase/u16-ct-casefold: Likewise.
9689         * modules/unicase/u16-ct-tolower: Likewise.
9690         * modules/unicase/u16-ct-totitle: Likewise.
9691         * modules/unicase/u16-ct-toupper: Likewise.
9692         * modules/unicase/u16-is-cased: Likewise.
9693         * modules/unicase/u16-is-casefolded: Likewise.
9694         * modules/unicase/u16-is-lowercase: Likewise.
9695         * modules/unicase/u16-is-titlecase: Likewise.
9696         * modules/unicase/u16-is-uppercase: Likewise.
9697         * modules/unicase/u16-prefix-context: Likewise.
9698         * modules/unicase/u16-suffix-context: Likewise.
9699         * modules/unicase/u16-tolower: Likewise.
9700         * modules/unicase/u16-totitle: Likewise.
9701         * modules/unicase/u16-toupper: Likewise.
9702         * modules/unicase/u32-casecmp: Likewise.
9703         * modules/unicase/u32-casecoll: Likewise.
9704         * modules/unicase/u32-casefold: Likewise.
9705         * modules/unicase/u32-casexfrm: Likewise.
9706         * modules/unicase/u32-ct-casefold: Likewise.
9707         * modules/unicase/u32-ct-tolower: Likewise.
9708         * modules/unicase/u32-ct-totitle: Likewise.
9709         * modules/unicase/u32-ct-toupper: Likewise.
9710         * modules/unicase/u32-is-cased: Likewise.
9711         * modules/unicase/u32-is-casefolded: Likewise.
9712         * modules/unicase/u32-is-lowercase: Likewise.
9713         * modules/unicase/u32-is-titlecase: Likewise.
9714         * modules/unicase/u32-is-uppercase: Likewise.
9715         * modules/unicase/u32-prefix-context: Likewise.
9716         * modules/unicase/u32-suffix-context: Likewise.
9717         * modules/unicase/u32-tolower: Likewise.
9718         * modules/unicase/u32-totitle: Likewise.
9719         * modules/unicase/u32-toupper: Likewise.
9720         * modules/unicase/ulc-casecmp: Likewise.
9721         * modules/unicase/ulc-casecoll: Likewise.
9722         * modules/unicase/ulc-casexfrm: Likewise.
9723         * modules/uniconv/u8-conv-from-enc: Likewise.
9724         * modules/uniconv/u8-conv-to-enc: Likewise.
9725         * modules/uniconv/u8-strconv-from-enc: Likewise.
9726         * modules/uniconv/u8-strconv-from-locale: Likewise.
9727         * modules/uniconv/u8-strconv-to-enc: Likewise.
9728         * modules/uniconv/u8-strconv-to-locale: Likewise.
9729         * modules/uniconv/u16-conv-from-enc: Likewise.
9730         * modules/uniconv/u16-conv-to-enc: Likewise.
9731         * modules/uniconv/u16-strconv-from-enc: Likewise.
9732         * modules/uniconv/u16-strconv-from-locale: Likewise.
9733         * modules/uniconv/u16-strconv-to-enc: Likewise.
9734         * modules/uniconv/u16-strconv-to-locale: Likewise.
9735         * modules/uniconv/u32-conv-from-enc: Likewise.
9736         * modules/uniconv/u32-conv-to-enc: Likewise.
9737         * modules/uniconv/u32-strconv-from-enc: Likewise.
9738         * modules/uniconv/u32-strconv-from-locale: Likewise.
9739         * modules/uniconv/u32-strconv-to-enc: Likewise.
9740         * modules/uniconv/u32-strconv-to-locale: Likewise.
9741         * modules/unictype/bidicategory-byname: Likewise.
9742         * modules/unictype/bidicategory-name: Likewise.
9743         * modules/unictype/bidicategory-of: Likewise.
9744         * modules/unictype/bidicategory-test: Likewise.
9745         * modules/unictype/block-list: Likewise.
9746         * modules/unictype/block-test: Likewise.
9747         * modules/unictype/category-C: Likewise.
9748         * modules/unictype/category-Cc: Likewise.
9749         * modules/unictype/category-Cf: Likewise.
9750         * modules/unictype/category-Cn: Likewise.
9751         * modules/unictype/category-Co: Likewise.
9752         * modules/unictype/category-Cs: Likewise.
9753         * modules/unictype/category-L: Likewise.
9754         * modules/unictype/category-Ll: Likewise.
9755         * modules/unictype/category-Lm: Likewise.
9756         * modules/unictype/category-Lo: Likewise.
9757         * modules/unictype/category-Lt: Likewise.
9758         * modules/unictype/category-Lu: Likewise.
9759         * modules/unictype/category-M: Likewise.
9760         * modules/unictype/category-Mc: Likewise.
9761         * modules/unictype/category-Me: Likewise.
9762         * modules/unictype/category-Mn: Likewise.
9763         * modules/unictype/category-N: Likewise.
9764         * modules/unictype/category-Nd: Likewise.
9765         * modules/unictype/category-Nl: Likewise.
9766         * modules/unictype/category-No: Likewise.
9767         * modules/unictype/category-P: Likewise.
9768         * modules/unictype/category-Pc: Likewise.
9769         * modules/unictype/category-Pd: Likewise.
9770         * modules/unictype/category-Pe: Likewise.
9771         * modules/unictype/category-Pf: Likewise.
9772         * modules/unictype/category-Pi: Likewise.
9773         * modules/unictype/category-Po: Likewise.
9774         * modules/unictype/category-Ps: Likewise.
9775         * modules/unictype/category-S: Likewise.
9776         * modules/unictype/category-Sc: Likewise.
9777         * modules/unictype/category-Sk: Likewise.
9778         * modules/unictype/category-Sm: Likewise.
9779         * modules/unictype/category-So: Likewise.
9780         * modules/unictype/category-Z: Likewise.
9781         * modules/unictype/category-Zl: Likewise.
9782         * modules/unictype/category-Zp: Likewise.
9783         * modules/unictype/category-Zs: Likewise.
9784         * modules/unictype/category-and: Likewise.
9785         * modules/unictype/category-and-not: Likewise.
9786         * modules/unictype/category-byname: Likewise.
9787         * modules/unictype/category-name: Likewise.
9788         * modules/unictype/category-none: Likewise.
9789         * modules/unictype/category-of: Likewise.
9790         * modules/unictype/category-or: Likewise.
9791         * modules/unictype/category-test: Likewise.
9792         * modules/unictype/combining-class: Likewise.
9793         * modules/unictype/ctype-alnum: Likewise.
9794         * modules/unictype/ctype-alpha: Likewise.
9795         * modules/unictype/ctype-blank: Likewise.
9796         * modules/unictype/ctype-cntrl: Likewise.
9797         * modules/unictype/ctype-digit: Likewise.
9798         * modules/unictype/ctype-graph: Likewise.
9799         * modules/unictype/ctype-lower: Likewise.
9800         * modules/unictype/ctype-print: Likewise.
9801         * modules/unictype/ctype-punct: Likewise.
9802         * modules/unictype/ctype-space: Likewise.
9803         * modules/unictype/ctype-upper: Likewise.
9804         * modules/unictype/ctype-xdigit: Likewise.
9805         * modules/unictype/decimal-digit: Likewise.
9806         * modules/unictype/digit: Likewise.
9807         * modules/unictype/mirror: Likewise.
9808         * modules/unictype/numeric: Likewise.
9809         * modules/unictype/property-alphabetic: Likewise.
9810         * modules/unictype/property-ascii-hex-digit: Likewise.
9811         * modules/unictype/property-bidi-arabic-digit: Likewise.
9812         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
9813         * modules/unictype/property-bidi-block-separator: Likewise.
9814         * modules/unictype/property-bidi-boundary-neutral: Likewise.
9815         * modules/unictype/property-bidi-common-separator: Likewise.
9816         * modules/unictype/property-bidi-control: Likewise.
9817         * modules/unictype/property-bidi-embedding-or-override: Likewise.
9818         * modules/unictype/property-bidi-eur-num-separator: Likewise.
9819         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
9820         * modules/unictype/property-bidi-european-digit: Likewise.
9821         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
9822         * modules/unictype/property-bidi-left-to-right: Likewise.
9823         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
9824         * modules/unictype/property-bidi-other-neutral: Likewise.
9825         * modules/unictype/property-bidi-pdf: Likewise.
9826         * modules/unictype/property-bidi-segment-separator: Likewise.
9827         * modules/unictype/property-bidi-whitespace: Likewise.
9828         * modules/unictype/property-byname: Likewise.
9829         * modules/unictype/property-combining: Likewise.
9830         * modules/unictype/property-composite: Likewise.
9831         * modules/unictype/property-currency-symbol: Likewise.
9832         * modules/unictype/property-dash: Likewise.
9833         * modules/unictype/property-decimal-digit: Likewise.
9834         * modules/unictype/property-default-ignorable-code-point: Likewise.
9835         * modules/unictype/property-deprecated: Likewise.
9836         * modules/unictype/property-diacritic: Likewise.
9837         * modules/unictype/property-extender: Likewise.
9838         * modules/unictype/property-format-control: Likewise.
9839         * modules/unictype/property-grapheme-base: Likewise.
9840         * modules/unictype/property-grapheme-extend: Likewise.
9841         * modules/unictype/property-grapheme-link: Likewise.
9842         * modules/unictype/property-hex-digit: Likewise.
9843         * modules/unictype/property-hyphen: Likewise.
9844         * modules/unictype/property-id-continue: Likewise.
9845         * modules/unictype/property-id-start: Likewise.
9846         * modules/unictype/property-ideographic: Likewise.
9847         * modules/unictype/property-ids-binary-operator: Likewise.
9848         * modules/unictype/property-ids-trinary-operator: Likewise.
9849         * modules/unictype/property-ignorable-control: Likewise.
9850         * modules/unictype/property-iso-control: Likewise.
9851         * modules/unictype/property-join-control: Likewise.
9852         * modules/unictype/property-left-of-pair: Likewise.
9853         * modules/unictype/property-line-separator: Likewise.
9854         * modules/unictype/property-logical-order-exception: Likewise.
9855         * modules/unictype/property-lowercase: Likewise.
9856         * modules/unictype/property-math: Likewise.
9857         * modules/unictype/property-non-break: Likewise.
9858         * modules/unictype/property-not-a-character: Likewise.
9859         * modules/unictype/property-numeric: Likewise.
9860         * modules/unictype/property-other-alphabetic: Likewise.
9861         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
9862         * modules/unictype/property-other-grapheme-extend: Likewise.
9863         * modules/unictype/property-other-id-continue: Likewise.
9864         * modules/unictype/property-other-id-start: Likewise.
9865         * modules/unictype/property-other-lowercase: Likewise.
9866         * modules/unictype/property-other-math: Likewise.
9867         * modules/unictype/property-other-uppercase: Likewise.
9868         * modules/unictype/property-paired-punctuation: Likewise.
9869         * modules/unictype/property-paragraph-separator: Likewise.
9870         * modules/unictype/property-pattern-syntax: Likewise.
9871         * modules/unictype/property-pattern-white-space: Likewise.
9872         * modules/unictype/property-private-use: Likewise.
9873         * modules/unictype/property-punctuation: Likewise.
9874         * modules/unictype/property-quotation-mark: Likewise.
9875         * modules/unictype/property-radical: Likewise.
9876         * modules/unictype/property-sentence-terminal: Likewise.
9877         * modules/unictype/property-soft-dotted: Likewise.
9878         * modules/unictype/property-space: Likewise.
9879         * modules/unictype/property-terminal-punctuation: Likewise.
9880         * modules/unictype/property-test: Likewise.
9881         * modules/unictype/property-titlecase: Likewise.
9882         * modules/unictype/property-unassigned-code-value: Likewise.
9883         * modules/unictype/property-unified-ideograph: Likewise.
9884         * modules/unictype/property-uppercase: Likewise.
9885         * modules/unictype/property-variation-selector: Likewise.
9886         * modules/unictype/property-white-space: Likewise.
9887         * modules/unictype/property-xid-continue: Likewise.
9888         * modules/unictype/property-xid-start: Likewise.
9889         * modules/unictype/property-zero-width: Likewise.
9890         * modules/unictype/scripts: Likewise.
9891         * modules/unictype/syntax-c-ident: Likewise.
9892         * modules/unictype/syntax-c-whitespace: Likewise.
9893         * modules/unictype/syntax-java-ident: Likewise.
9894         * modules/unictype/syntax-java-whitespace: Likewise.
9895         * modules/unilbrk/u8-possible-linebreaks: Likewise.
9896         * modules/unilbrk/u8-width-linebreaks: Likewise.
9897         * modules/unilbrk/u16-possible-linebreaks: Likewise.
9898         * modules/unilbrk/u16-width-linebreaks: Likewise.
9899         * modules/unilbrk/u32-possible-linebreaks: Likewise.
9900         * modules/unilbrk/u32-width-linebreaks: Likewise.
9901         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
9902         * modules/unilbrk/ulc-width-linebreaks: Likewise.
9903         * modules/uniname/uniname: Likewise.
9904         * modules/uninorm/canonical-decomposition: Likewise.
9905         * modules/uninorm/composition: Likewise.
9906         * modules/uninorm/decomposing-form: Likewise.
9907         * modules/uninorm/decomposition: Likewise.
9908         * modules/uninorm/filter: Likewise.
9909         * modules/uninorm/nfc: Likewise.
9910         * modules/uninorm/nfd: Likewise.
9911         * modules/uninorm/nfkc: Likewise.
9912         * modules/uninorm/nfkd: Likewise.
9913         * modules/uninorm/u8-normalize: Likewise.
9914         * modules/uninorm/u8-normcmp: Likewise.
9915         * modules/uninorm/u8-normcoll: Likewise.
9916         * modules/uninorm/u8-normxfrm: Likewise.
9917         * modules/uninorm/u16-normalize: Likewise.
9918         * modules/uninorm/u16-normcmp: Likewise.
9919         * modules/uninorm/u16-normcoll: Likewise.
9920         * modules/uninorm/u16-normxfrm: Likewise.
9921         * modules/uninorm/u32-normalize: Likewise.
9922         * modules/uninorm/u32-normcmp: Likewise.
9923         * modules/uninorm/u32-normcoll: Likewise.
9924         * modules/uninorm/u32-normxfrm: Likewise.
9925         * modules/unistdio/u8-asnprintf: Likewise.
9926         * modules/unistdio/u8-asprintf: Likewise.
9927         * modules/unistdio/u8-snprintf: Likewise.
9928         * modules/unistdio/u8-sprintf: Likewise.
9929         * modules/unistdio/u8-u8-asnprintf: Likewise.
9930         * modules/unistdio/u8-u8-asprintf: Likewise.
9931         * modules/unistdio/u8-u8-snprintf: Likewise.
9932         * modules/unistdio/u8-u8-sprintf: Likewise.
9933         * modules/unistdio/u8-u8-vasnprintf: Likewise.
9934         * modules/unistdio/u8-u8-vasprintf: Likewise.
9935         * modules/unistdio/u8-u8-vsnprintf: Likewise.
9936         * modules/unistdio/u8-u8-vsprintf: Likewise.
9937         * modules/unistdio/u8-vasnprintf: Likewise.
9938         * modules/unistdio/u8-vasprintf: Likewise.
9939         * modules/unistdio/u8-vsnprintf: Likewise.
9940         * modules/unistdio/u8-vsprintf: Likewise.
9941         * modules/unistdio/u16-asnprintf: Likewise.
9942         * modules/unistdio/u16-asprintf: Likewise.
9943         * modules/unistdio/u16-snprintf: Likewise.
9944         * modules/unistdio/u16-sprintf: Likewise.
9945         * modules/unistdio/u16-u16-asnprintf: Likewise.
9946         * modules/unistdio/u16-u16-asprintf: Likewise.
9947         * modules/unistdio/u16-u16-snprintf: Likewise.
9948         * modules/unistdio/u16-u16-sprintf: Likewise.
9949         * modules/unistdio/u16-u16-vasnprintf: Likewise.
9950         * modules/unistdio/u16-u16-vasprintf: Likewise.
9951         * modules/unistdio/u16-u16-vsnprintf: Likewise.
9952         * modules/unistdio/u16-u16-vsprintf: Likewise.
9953         * modules/unistdio/u16-vasnprintf: Likewise.
9954         * modules/unistdio/u16-vasprintf: Likewise.
9955         * modules/unistdio/u16-vsnprintf: Likewise.
9956         * modules/unistdio/u16-vsprintf: Likewise.
9957         * modules/unistdio/u32-asnprintf: Likewise.
9958         * modules/unistdio/u32-asprintf: Likewise.
9959         * modules/unistdio/u32-snprintf: Likewise.
9960         * modules/unistdio/u32-sprintf: Likewise.
9961         * modules/unistdio/u32-u32-asnprintf: Likewise.
9962         * modules/unistdio/u32-u32-asprintf: Likewise.
9963         * modules/unistdio/u32-u32-snprintf: Likewise.
9964         * modules/unistdio/u32-u32-sprintf: Likewise.
9965         * modules/unistdio/u32-u32-vasnprintf: Likewise.
9966         * modules/unistdio/u32-u32-vasprintf: Likewise.
9967         * modules/unistdio/u32-u32-vsnprintf: Likewise.
9968         * modules/unistdio/u32-u32-vsprintf: Likewise.
9969         * modules/unistdio/u32-vasnprintf: Likewise.
9970         * modules/unistdio/u32-vasprintf: Likewise.
9971         * modules/unistdio/u32-vsnprintf: Likewise.
9972         * modules/unistdio/u32-vsprintf: Likewise.
9973         * modules/unistdio/ulc-asnprintf: Likewise.
9974         * modules/unistdio/ulc-asprintf: Likewise.
9975         * modules/unistdio/ulc-fprintf: Likewise.
9976         * modules/unistdio/ulc-snprintf: Likewise.
9977         * modules/unistdio/ulc-sprintf: Likewise.
9978         * modules/unistdio/ulc-vasnprintf: Likewise.
9979         * modules/unistdio/ulc-vasprintf: Likewise.
9980         * modules/unistdio/ulc-vfprintf: Likewise.
9981         * modules/unistdio/ulc-vsnprintf: Likewise.
9982         * modules/unistdio/ulc-vsprintf: Likewise.
9983         * modules/unistr/u8-check: Likewise.
9984         * modules/unistr/u8-chr: Likewise.
9985         * modules/unistr/u8-cmp: Likewise.
9986         * modules/unistr/u8-cmp2: Likewise.
9987         * modules/unistr/u8-cpy: Likewise.
9988         * modules/unistr/u8-cpy-alloc: Likewise.
9989         * modules/unistr/u8-endswith: Likewise.
9990         * modules/unistr/u8-mblen: Likewise.
9991         * modules/unistr/u8-mbsnlen: Likewise.
9992         * modules/unistr/u8-mbtouc: Likewise.
9993         * modules/unistr/u8-mbtouc-unsafe: Likewise.
9994         * modules/unistr/u8-mbtoucr: Likewise.
9995         * modules/unistr/u8-move: Likewise.
9996         * modules/unistr/u8-next: Likewise.
9997         * modules/unistr/u8-prev: Likewise.
9998         * modules/unistr/u8-set: Likewise.
9999         * modules/unistr/u8-startswith: Likewise.
10000         * modules/unistr/u8-stpcpy: Likewise.
10001         * modules/unistr/u8-stpncpy: Likewise.
10002         * modules/unistr/u8-strcat: Likewise.
10003         * modules/unistr/u8-strchr: Likewise.
10004         * modules/unistr/u8-strcmp: Likewise.
10005         * modules/unistr/u8-strcoll: Likewise.
10006         * modules/unistr/u8-strcpy: Likewise.
10007         * modules/unistr/u8-strcspn: Likewise.
10008         * modules/unistr/u8-strdup: Likewise.
10009         * modules/unistr/u8-strlen: Likewise.
10010         * modules/unistr/u8-strmblen: Likewise.
10011         * modules/unistr/u8-strmbtouc: Likewise.
10012         * modules/unistr/u8-strncat: Likewise.
10013         * modules/unistr/u8-strncmp: Likewise.
10014         * modules/unistr/u8-strncpy: Likewise.
10015         * modules/unistr/u8-strnlen: Likewise.
10016         * modules/unistr/u8-strpbrk: Likewise.
10017         * modules/unistr/u8-strrchr: Likewise.
10018         * modules/unistr/u8-strspn: Likewise.
10019         * modules/unistr/u8-strstr: Likewise.
10020         * modules/unistr/u8-strtok: Likewise.
10021         * modules/unistr/u8-to-u16: Likewise.
10022         * modules/unistr/u8-to-u32: Likewise.
10023         * modules/unistr/u8-uctomb: Likewise.
10024         * modules/unistr/u16-check: Likewise.
10025         * modules/unistr/u16-chr: Likewise.
10026         * modules/unistr/u16-cmp: Likewise.
10027         * modules/unistr/u16-cmp2: Likewise.
10028         * modules/unistr/u16-cpy: Likewise.
10029         * modules/unistr/u16-cpy-alloc: Likewise.
10030         * modules/unistr/u16-endswith: Likewise.
10031         * modules/unistr/u16-mblen: Likewise.
10032         * modules/unistr/u16-mbsnlen: Likewise.
10033         * modules/unistr/u16-mbtouc: Likewise.
10034         * modules/unistr/u16-mbtouc-unsafe: Likewise.
10035         * modules/unistr/u16-mbtoucr: Likewise.
10036         * modules/unistr/u16-move: Likewise.
10037         * modules/unistr/u16-next: Likewise.
10038         * modules/unistr/u16-prev: Likewise.
10039         * modules/unistr/u16-set: Likewise.
10040         * modules/unistr/u16-startswith: Likewise.
10041         * modules/unistr/u16-stpcpy: Likewise.
10042         * modules/unistr/u16-stpncpy: Likewise.
10043         * modules/unistr/u16-strcat: Likewise.
10044         * modules/unistr/u16-strchr: Likewise.
10045         * modules/unistr/u16-strcmp: Likewise.
10046         * modules/unistr/u16-strcoll: Likewise.
10047         * modules/unistr/u16-strcpy: Likewise.
10048         * modules/unistr/u16-strcspn: Likewise.
10049         * modules/unistr/u16-strdup: Likewise.
10050         * modules/unistr/u16-strlen: Likewise.
10051         * modules/unistr/u16-strmblen: Likewise.
10052         * modules/unistr/u16-strmbtouc: Likewise.
10053         * modules/unistr/u16-strncat: Likewise.
10054         * modules/unistr/u16-strncmp: Likewise.
10055         * modules/unistr/u16-strncpy: Likewise.
10056         * modules/unistr/u16-strnlen: Likewise.
10057         * modules/unistr/u16-strpbrk: Likewise.
10058         * modules/unistr/u16-strrchr: Likewise.
10059         * modules/unistr/u16-strspn: Likewise.
10060         * modules/unistr/u16-strstr: Likewise.
10061         * modules/unistr/u16-strtok: Likewise.
10062         * modules/unistr/u16-to-u32: Likewise.
10063         * modules/unistr/u16-to-u8: Likewise.
10064         * modules/unistr/u16-uctomb: Likewise.
10065         * modules/unistr/u32-check: Likewise.
10066         * modules/unistr/u32-chr: Likewise.
10067         * modules/unistr/u32-cmp: Likewise.
10068         * modules/unistr/u32-cmp2: Likewise.
10069         * modules/unistr/u32-cpy: Likewise.
10070         * modules/unistr/u32-cpy-alloc: Likewise.
10071         * modules/unistr/u32-endswith: Likewise.
10072         * modules/unistr/u32-mblen: Likewise.
10073         * modules/unistr/u32-mbsnlen: Likewise.
10074         * modules/unistr/u32-mbtouc: Likewise.
10075         * modules/unistr/u32-mbtouc-unsafe: Likewise.
10076         * modules/unistr/u32-mbtoucr: Likewise.
10077         * modules/unistr/u32-move: Likewise.
10078         * modules/unistr/u32-next: Likewise.
10079         * modules/unistr/u32-prev: Likewise.
10080         * modules/unistr/u32-set: Likewise.
10081         * modules/unistr/u32-startswith: Likewise.
10082         * modules/unistr/u32-stpcpy: Likewise.
10083         * modules/unistr/u32-stpncpy: Likewise.
10084         * modules/unistr/u32-strcat: Likewise.
10085         * modules/unistr/u32-strchr: Likewise.
10086         * modules/unistr/u32-strcmp: Likewise.
10087         * modules/unistr/u32-strcoll: Likewise.
10088         * modules/unistr/u32-strcpy: Likewise.
10089         * modules/unistr/u32-strcspn: Likewise.
10090         * modules/unistr/u32-strdup: Likewise.
10091         * modules/unistr/u32-strlen: Likewise.
10092         * modules/unistr/u32-strmblen: Likewise.
10093         * modules/unistr/u32-strmbtouc: Likewise.
10094         * modules/unistr/u32-strncat: Likewise.
10095         * modules/unistr/u32-strncmp: Likewise.
10096         * modules/unistr/u32-strncpy: Likewise.
10097         * modules/unistr/u32-strnlen: Likewise.
10098         * modules/unistr/u32-strpbrk: Likewise.
10099         * modules/unistr/u32-strrchr: Likewise.
10100         * modules/unistr/u32-strspn: Likewise.
10101         * modules/unistr/u32-strstr: Likewise.
10102         * modules/unistr/u32-strtok: Likewise.
10103         * modules/unistr/u32-to-u16: Likewise.
10104         * modules/unistr/u32-to-u8: Likewise.
10105         * modules/unistr/u32-uctomb: Likewise.
10106         * modules/uniwbrk/u8-wordbreaks: Likewise.
10107         * modules/uniwbrk/u16-wordbreaks: Likewise.
10108         * modules/uniwbrk/u32-wordbreaks: Likewise.
10109         * modules/uniwbrk/ulc-wordbreaks: Likewise.
10110         * modules/uniwbrk/wordbreak-property: Likewise.
10111         * modules/uniwidth/u8-strwidth: Likewise.
10112         * modules/uniwidth/u8-width: Likewise.
10113         * modules/uniwidth/u16-strwidth: Likewise.
10114         * modules/uniwidth/u16-width: Likewise.
10115         * modules/uniwidth/u32-strwidth: Likewise.
10116         * modules/uniwidth/u32-width: Likewise.
10117         * modules/uniwidth/width: Likewise.
10118         * modules/unicase/cased-tests (Makefile.am): Link all test programs
10119         with $(LIBUNISTRING).
10120         * modules/unicase/ignorable-tests: Likewise.
10121         * modules/unicase/locale-language-tests: Likewise.
10122         * modules/unicase/tolower-tests: Likewise.
10123         * modules/unicase/totitle-tests: Likewise.
10124         * modules/unicase/toupper-tests: Likewise.
10125         * modules/unicase/u8-casecmp-tests: Likewise.
10126         * modules/unicase/u8-casecoll-tests: Likewise.
10127         * modules/unicase/u8-casefold-tests: Likewise.
10128         * modules/unicase/u8-is-cased-tests: Likewise.
10129         * modules/unicase/u8-is-casefolded-tests: Likewise.
10130         * modules/unicase/u8-is-lowercase-tests: Likewise.
10131         * modules/unicase/u8-is-titlecase-tests: Likewise.
10132         * modules/unicase/u8-is-uppercase-tests: Likewise.
10133         * modules/unicase/u8-tolower-tests: Likewise.
10134         * modules/unicase/u8-totitle-tests: Likewise.
10135         * modules/unicase/u8-toupper-tests: Likewise.
10136         * modules/unicase/u16-casecmp-tests: Likewise.
10137         * modules/unicase/u16-casecoll-tests: Likewise.
10138         * modules/unicase/u16-casefold-tests: Likewise.
10139         * modules/unicase/u16-is-cased-tests: Likewise.
10140         * modules/unicase/u16-is-casefolded-tests: Likewise.
10141         * modules/unicase/u16-is-lowercase-tests: Likewise.
10142         * modules/unicase/u16-is-titlecase-tests: Likewise.
10143         * modules/unicase/u16-is-uppercase-tests: Likewise.
10144         * modules/unicase/u16-tolower-tests: Likewise.
10145         * modules/unicase/u16-totitle-tests: Likewise.
10146         * modules/unicase/u16-toupper-tests: Likewise.
10147         * modules/unicase/u32-casecmp-tests: Likewise.
10148         * modules/unicase/u32-casecoll-tests: Likewise.
10149         * modules/unicase/u32-casefold-tests: Likewise.
10150         * modules/unicase/u32-is-cased-tests: Likewise.
10151         * modules/unicase/u32-is-casefolded-tests: Likewise.
10152         * modules/unicase/u32-is-lowercase-tests: Likewise.
10153         * modules/unicase/u32-is-titlecase-tests: Likewise.
10154         * modules/unicase/u32-is-uppercase-tests: Likewise.
10155         * modules/unicase/u32-tolower-tests: Likewise.
10156         * modules/unicase/u32-totitle-tests: Likewise.
10157         * modules/unicase/u32-toupper-tests: Likewise.
10158         * modules/unicase/ulc-casecmp-tests: Likewise.
10159         * modules/unicase/ulc-casecoll-tests: Likewise.
10160         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
10161         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
10162         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
10163         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
10164         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
10165         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
10166         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
10167         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
10168         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
10169         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
10170         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
10171         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
10172         * modules/unictype/bidicategory-byname-tests: Likewise.
10173         * modules/unictype/bidicategory-name-tests: Likewise.
10174         * modules/unictype/bidicategory-of-tests: Likewise.
10175         * modules/unictype/bidicategory-test-tests: Likewise.
10176         * modules/unictype/block-list-tests: Likewise.
10177         * modules/unictype/block-of-tests: Likewise.
10178         * modules/unictype/block-test-tests: Likewise.
10179         * modules/unictype/category-C-tests: Likewise.
10180         * modules/unictype/category-Cc-tests: Likewise.
10181         * modules/unictype/category-Cf-tests: Likewise.
10182         * modules/unictype/category-Cn-tests: Likewise.
10183         * modules/unictype/category-Co-tests: Likewise.
10184         * modules/unictype/category-Cs-tests: Likewise.
10185         * modules/unictype/category-L-tests: Likewise.
10186         * modules/unictype/category-Ll-tests: Likewise.
10187         * modules/unictype/category-Lm-tests: Likewise.
10188         * modules/unictype/category-Lo-tests: Likewise.
10189         * modules/unictype/category-Lt-tests: Likewise.
10190         * modules/unictype/category-Lu-tests: Likewise.
10191         * modules/unictype/category-M-tests: Likewise.
10192         * modules/unictype/category-Mc-tests: Likewise.
10193         * modules/unictype/category-Me-tests: Likewise.
10194         * modules/unictype/category-Mn-tests: Likewise.
10195         * modules/unictype/category-N-tests: Likewise.
10196         * modules/unictype/category-Nd-tests: Likewise.
10197         * modules/unictype/category-Nl-tests: Likewise.
10198         * modules/unictype/category-No-tests: Likewise.
10199         * modules/unictype/category-P-tests: Likewise.
10200         * modules/unictype/category-Pc-tests: Likewise.
10201         * modules/unictype/category-Pd-tests: Likewise.
10202         * modules/unictype/category-Pe-tests: Likewise.
10203         * modules/unictype/category-Pf-tests: Likewise.
10204         * modules/unictype/category-Pi-tests: Likewise.
10205         * modules/unictype/category-Po-tests: Likewise.
10206         * modules/unictype/category-Ps-tests: Likewise.
10207         * modules/unictype/category-S-tests: Likewise.
10208         * modules/unictype/category-Sc-tests: Likewise.
10209         * modules/unictype/category-Sk-tests: Likewise.
10210         * modules/unictype/category-Sm-tests: Likewise.
10211         * modules/unictype/category-So-tests: Likewise.
10212         * modules/unictype/category-Z-tests: Likewise.
10213         * modules/unictype/category-Zl-tests: Likewise.
10214         * modules/unictype/category-Zp-tests: Likewise.
10215         * modules/unictype/category-Zs-tests: Likewise.
10216         * modules/unictype/category-and-not-tests: Likewise.
10217         * modules/unictype/category-and-tests: Likewise.
10218         * modules/unictype/category-byname-tests: Likewise.
10219         * modules/unictype/category-name-tests: Likewise.
10220         * modules/unictype/category-none-tests: Likewise.
10221         * modules/unictype/category-of-tests: Likewise.
10222         * modules/unictype/category-or-tests: Likewise.
10223         * modules/unictype/category-test-withtable-tests: Likewise.
10224         * modules/unictype/combining-class-tests: Likewise.
10225         * modules/unictype/ctype-alnum-tests: Likewise.
10226         * modules/unictype/ctype-alpha-tests: Likewise.
10227         * modules/unictype/ctype-blank-tests: Likewise.
10228         * modules/unictype/ctype-cntrl-tests: Likewise.
10229         * modules/unictype/ctype-digit-tests: Likewise.
10230         * modules/unictype/ctype-graph-tests: Likewise.
10231         * modules/unictype/ctype-lower-tests: Likewise.
10232         * modules/unictype/ctype-print-tests: Likewise.
10233         * modules/unictype/ctype-punct-tests: Likewise.
10234         * modules/unictype/ctype-space-tests: Likewise.
10235         * modules/unictype/ctype-upper-tests: Likewise.
10236         * modules/unictype/ctype-xdigit-tests: Likewise.
10237         * modules/unictype/decimal-digit-tests: Likewise.
10238         * modules/unictype/digit-tests: Likewise.
10239         * modules/unictype/mirror-tests: Likewise.
10240         * modules/unictype/numeric-tests: Likewise.
10241         * modules/unictype/property-alphabetic-tests: Likewise.
10242         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
10243         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
10244         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
10245         * modules/unictype/property-bidi-block-separator-tests: Likewise.
10246         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
10247         * modules/unictype/property-bidi-common-separator-tests: Likewise.
10248         * modules/unictype/property-bidi-control-tests: Likewise.
10249         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
10250         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
10251         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
10252         * modules/unictype/property-bidi-european-digit-tests: Likewise.
10253         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
10254         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
10255         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
10256         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
10257         * modules/unictype/property-bidi-pdf-tests: Likewise.
10258         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
10259         * modules/unictype/property-bidi-whitespace-tests: Likewise.
10260         * modules/unictype/property-byname-tests: Likewise.
10261         * modules/unictype/property-combining-tests: Likewise.
10262         * modules/unictype/property-composite-tests: Likewise.
10263         * modules/unictype/property-currency-symbol-tests: Likewise.
10264         * modules/unictype/property-dash-tests: Likewise.
10265         * modules/unictype/property-decimal-digit-tests: Likewise.
10266         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
10267         * modules/unictype/property-deprecated-tests: Likewise.
10268         * modules/unictype/property-diacritic-tests: Likewise.
10269         * modules/unictype/property-extender-tests: Likewise.
10270         * modules/unictype/property-format-control-tests: Likewise.
10271         * modules/unictype/property-grapheme-base-tests: Likewise.
10272         * modules/unictype/property-grapheme-extend-tests: Likewise.
10273         * modules/unictype/property-grapheme-link-tests: Likewise.
10274         * modules/unictype/property-hex-digit-tests: Likewise.
10275         * modules/unictype/property-hyphen-tests: Likewise.
10276         * modules/unictype/property-id-continue-tests: Likewise.
10277         * modules/unictype/property-id-start-tests: Likewise.
10278         * modules/unictype/property-ideographic-tests: Likewise.
10279         * modules/unictype/property-ids-binary-operator-tests: Likewise.
10280         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
10281         * modules/unictype/property-ignorable-control-tests: Likewise.
10282         * modules/unictype/property-iso-control-tests: Likewise.
10283         * modules/unictype/property-join-control-tests: Likewise.
10284         * modules/unictype/property-left-of-pair-tests: Likewise.
10285         * modules/unictype/property-line-separator-tests: Likewise.
10286         * modules/unictype/property-logical-order-exception-tests: Likewise.
10287         * modules/unictype/property-lowercase-tests: Likewise.
10288         * modules/unictype/property-math-tests: Likewise.
10289         * modules/unictype/property-non-break-tests: Likewise.
10290         * modules/unictype/property-not-a-character-tests: Likewise.
10291         * modules/unictype/property-numeric-tests: Likewise.
10292         * modules/unictype/property-other-alphabetic-tests: Likewise.
10293         * modules/unictype/property-other-default-ignorable-code-point-tests:
10294         Likewise.
10295         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
10296         * modules/unictype/property-other-id-continue-tests: Likewise.
10297         * modules/unictype/property-other-id-start-tests: Likewise.
10298         * modules/unictype/property-other-lowercase-tests: Likewise.
10299         * modules/unictype/property-other-math-tests: Likewise.
10300         * modules/unictype/property-other-uppercase-tests: Likewise.
10301         * modules/unictype/property-paired-punctuation-tests: Likewise.
10302         * modules/unictype/property-paragraph-separator-tests: Likewise.
10303         * modules/unictype/property-pattern-syntax-tests: Likewise.
10304         * modules/unictype/property-pattern-white-space-tests: Likewise.
10305         * modules/unictype/property-private-use-tests: Likewise.
10306         * modules/unictype/property-punctuation-tests: Likewise.
10307         * modules/unictype/property-quotation-mark-tests: Likewise.
10308         * modules/unictype/property-radical-tests: Likewise.
10309         * modules/unictype/property-sentence-terminal-tests: Likewise.
10310         * modules/unictype/property-soft-dotted-tests: Likewise.
10311         * modules/unictype/property-space-tests: Likewise.
10312         * modules/unictype/property-terminal-punctuation-tests: Likewise.
10313         * modules/unictype/property-test-tests: Likewise.
10314         * modules/unictype/property-titlecase-tests: Likewise.
10315         * modules/unictype/property-unassigned-code-value-tests: Likewise.
10316         * modules/unictype/property-unified-ideograph-tests: Likewise.
10317         * modules/unictype/property-uppercase-tests: Likewise.
10318         * modules/unictype/property-variation-selector-tests: Likewise.
10319         * modules/unictype/property-white-space-tests: Likewise.
10320         * modules/unictype/property-xid-continue-tests: Likewise.
10321         * modules/unictype/property-xid-start-tests: Likewise.
10322         * modules/unictype/property-zero-width-tests: Likewise.
10323         * modules/unictype/scripts-tests: Likewise.
10324         * modules/unictype/syntax-c-ident-tests: Likewise.
10325         * modules/unictype/syntax-c-whitespace-tests: Likewise.
10326         * modules/unictype/syntax-java-ident-tests: Likewise.
10327         * modules/unictype/syntax-java-whitespace-tests: Likewise.
10328         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
10329         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
10330         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
10331         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
10332         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
10333         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
10334         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
10335         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
10336         * modules/uniname/uniname-tests: Likewise.
10337         * modules/uninorm/canonical-decomposition-tests: Likewise.
10338         * modules/uninorm/compat-decomposition-tests: Likewise.
10339         * modules/uninorm/composition-tests: Likewise.
10340         * modules/uninorm/decomposing-form-tests: Likewise.
10341         * modules/uninorm/decomposition-tests: Likewise.
10342         * modules/uninorm/filter-tests: Likewise.
10343         * modules/uninorm/nfc-tests: Likewise.
10344         * modules/uninorm/nfd-tests: Likewise.
10345         * modules/uninorm/nfkc-tests: Likewise.
10346         * modules/uninorm/nfkd-tests: Likewise.
10347         * modules/uninorm/u8-normcmp-tests: Likewise.
10348         * modules/uninorm/u8-normcoll-tests: Likewise.
10349         * modules/uninorm/u16-normcmp-tests: Likewise.
10350         * modules/uninorm/u16-normcoll-tests: Likewise.
10351         * modules/uninorm/u32-normcmp-tests: Likewise.
10352         * modules/uninorm/u32-normcoll-tests: Likewise.
10353         * modules/unistdio/u8-asnprintf-tests: Likewise.
10354         * modules/unistdio/u8-vasnprintf-tests: Likewise.
10355         * modules/unistdio/u8-vasprintf-tests: Likewise.
10356         * modules/unistdio/u8-vsnprintf-tests: Likewise.
10357         * modules/unistdio/u8-vsprintf-tests: Likewise.
10358         * modules/unistdio/u16-asnprintf-tests: Likewise.
10359         * modules/unistdio/u16-vasnprintf-tests: Likewise.
10360         * modules/unistdio/u16-vasprintf-tests: Likewise.
10361         * modules/unistdio/u16-vsnprintf-tests: Likewise.
10362         * modules/unistdio/u16-vsprintf-tests: Likewise.
10363         * modules/unistdio/u32-asnprintf-tests: Likewise.
10364         * modules/unistdio/u32-vasnprintf-tests: Likewise.
10365         * modules/unistdio/u32-vasprintf-tests: Likewise.
10366         * modules/unistdio/u32-vsnprintf-tests: Likewise.
10367         * modules/unistdio/u32-vsprintf-tests: Likewise.
10368         * modules/unistdio/ulc-asnprintf-tests: Likewise.
10369         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
10370         * modules/unistdio/ulc-vasprintf-tests: Likewise.
10371         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
10372         * modules/unistdio/ulc-vsprintf-tests: Likewise.
10373         * modules/unistr/u8-check-tests: Likewise.
10374         * modules/unistr/u8-chr-tests: Likewise.
10375         * modules/unistr/u8-cmp-tests: Likewise.
10376         * modules/unistr/u8-cmp2-tests: Likewise.
10377         * modules/unistr/u8-cpy-alloc-tests: Likewise.
10378         * modules/unistr/u8-cpy-tests: Likewise.
10379         * modules/unistr/u8-mblen-tests: Likewise.
10380         * modules/unistr/u8-mbsnlen-tests: Likewise.
10381         * modules/unistr/u8-mbtouc-tests: Likewise.
10382         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
10383         * modules/unistr/u8-mbtoucr-tests: Likewise.
10384         * modules/unistr/u8-move-tests: Likewise.
10385         * modules/unistr/u8-next-tests: Likewise.
10386         * modules/unistr/u8-prev-tests: Likewise.
10387         * modules/unistr/u8-set-tests: Likewise.
10388         * modules/unistr/u8-stpcpy-tests: Likewise.
10389         * modules/unistr/u8-stpncpy-tests: Likewise.
10390         * modules/unistr/u8-strcat-tests: Likewise.
10391         * modules/unistr/u8-strcmp-tests: Likewise.
10392         * modules/unistr/u8-strcoll-tests: Likewise.
10393         * modules/unistr/u8-strcpy-tests: Likewise.
10394         * modules/unistr/u8-strdup-tests: Likewise.
10395         * modules/unistr/u8-strlen-tests: Likewise.
10396         * modules/unistr/u8-strmblen-tests: Likewise.
10397         * modules/unistr/u8-strmbtouc-tests: Likewise.
10398         * modules/unistr/u8-strncat-tests: Likewise.
10399         * modules/unistr/u8-strncmp-tests: Likewise.
10400         * modules/unistr/u8-strncpy-tests: Likewise.
10401         * modules/unistr/u8-strnlen-tests: Likewise.
10402         * modules/unistr/u8-to-u16-tests: Likewise.
10403         * modules/unistr/u8-to-u32-tests: Likewise.
10404         * modules/unistr/u8-uctomb-tests: Likewise.
10405         * modules/unistr/u16-check-tests: Likewise.
10406         * modules/unistr/u16-chr-tests: Likewise.
10407         * modules/unistr/u16-cmp-tests: Likewise.
10408         * modules/unistr/u16-cmp2-tests: Likewise.
10409         * modules/unistr/u16-cpy-alloc-tests: Likewise.
10410         * modules/unistr/u16-cpy-tests: Likewise.
10411         * modules/unistr/u16-mblen-tests: Likewise.
10412         * modules/unistr/u16-mbsnlen-tests: Likewise.
10413         * modules/unistr/u16-mbtouc-tests: Likewise.
10414         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
10415         * modules/unistr/u16-mbtoucr-tests: Likewise.
10416         * modules/unistr/u16-move-tests: Likewise.
10417         * modules/unistr/u16-next-tests: Likewise.
10418         * modules/unistr/u16-prev-tests: Likewise.
10419         * modules/unistr/u16-set-tests: Likewise.
10420         * modules/unistr/u16-stpcpy-tests: Likewise.
10421         * modules/unistr/u16-stpncpy-tests: Likewise.
10422         * modules/unistr/u16-strcat-tests: Likewise.
10423         * modules/unistr/u16-strcmp-tests: Likewise.
10424         * modules/unistr/u16-strcoll-tests: Likewise.
10425         * modules/unistr/u16-strcpy-tests: Likewise.
10426         * modules/unistr/u16-strdup-tests: Likewise.
10427         * modules/unistr/u16-strlen-tests: Likewise.
10428         * modules/unistr/u16-strmblen-tests: Likewise.
10429         * modules/unistr/u16-strmbtouc-tests: Likewise.
10430         * modules/unistr/u16-strncat-tests: Likewise.
10431         * modules/unistr/u16-strncmp-tests: Likewise.
10432         * modules/unistr/u16-strncpy-tests: Likewise.
10433         * modules/unistr/u16-strnlen-tests: Likewise.
10434         * modules/unistr/u16-to-u32-tests: Likewise.
10435         * modules/unistr/u16-to-u8-tests: Likewise.
10436         * modules/unistr/u16-uctomb-tests: Likewise.
10437         * modules/unistr/u32-check-tests: Likewise.
10438         * modules/unistr/u32-chr-tests: Likewise.
10439         * modules/unistr/u32-cmp-tests: Likewise.
10440         * modules/unistr/u32-cmp2-tests: Likewise.
10441         * modules/unistr/u32-cpy-alloc-tests: Likewise.
10442         * modules/unistr/u32-cpy-tests: Likewise.
10443         * modules/unistr/u32-mblen-tests: Likewise.
10444         * modules/unistr/u32-mbsnlen-tests: Likewise.
10445         * modules/unistr/u32-mbtouc-tests: Likewise.
10446         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
10447         * modules/unistr/u32-mbtoucr-tests: Likewise.
10448         * modules/unistr/u32-move-tests: Likewise.
10449         * modules/unistr/u32-next-tests: Likewise.
10450         * modules/unistr/u32-prev-tests: Likewise.
10451         * modules/unistr/u32-set-tests: Likewise.
10452         * modules/unistr/u32-stpcpy-tests: Likewise.
10453         * modules/unistr/u32-stpncpy-tests: Likewise.
10454         * modules/unistr/u32-strcat-tests: Likewise.
10455         * modules/unistr/u32-strcmp-tests: Likewise.
10456         * modules/unistr/u32-strcoll-tests: Likewise.
10457         * modules/unistr/u32-strcpy-tests: Likewise.
10458         * modules/unistr/u32-strdup-tests: Likewise.
10459         * modules/unistr/u32-strlen-tests: Likewise.
10460         * modules/unistr/u32-strmblen-tests: Likewise.
10461         * modules/unistr/u32-strmbtouc-tests: Likewise.
10462         * modules/unistr/u32-strncat-tests: Likewise.
10463         * modules/unistr/u32-strncmp-tests: Likewise.
10464         * modules/unistr/u32-strncpy-tests: Likewise.
10465         * modules/unistr/u32-strnlen-tests: Likewise.
10466         * modules/unistr/u32-to-u16-tests: Likewise.
10467         * modules/unistr/u32-to-u8-tests: Likewise.
10468         * modules/unistr/u32-uctomb-tests: Likewise.
10469         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
10470         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
10471         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
10472         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
10473         * modules/uniwidth/u8-strwidth-tests: Likewise.
10474         * modules/uniwidth/u8-width-tests: Likewise.
10475         * modules/uniwidth/u16-strwidth-tests: Likewise.
10476         * modules/uniwidth/u16-width-tests: Likewise.
10477         * modules/uniwidth/u32-strwidth-tests: Likewise.
10478         * modules/uniwidth/u32-width-tests: Likewise.
10479         * modules/uniwidth/width-tests: Likewise.
10480
10481 2010-05-18  Richard Jones  <rjones@redhat.com>
10482
10483         doc: users.txt: list hivex
10484         * users.txt: Add hivex.
10485
10486 2010-05-18  Richard Jones  <rjones@redhat.com>
10487
10488         doc: users.txt: list febootstrap
10489         * users.txt: Add febootstrap.
10490
10491 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
10492
10493         bootstrap: fix an error when gnulib is not used as a git submodule
10494         * build-aux/bootstrap (gnulib_path): If its length is zero then
10495         assign "gnulib" to it.
10496         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
10497
10498 2010-05-16  Bruno Haible  <bruno@clisp.org>
10499
10500         Avoid autoconf warnings about AM_ICONV.
10501         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
10502         2.64.
10503
10504 2010-05-16  Bruno Haible  <bruno@clisp.org>
10505
10506         absolute-header: Make the macro usable in more situations.
10507         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
10508         from gl_ABSOLUTE_HEADER.
10509         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
10510
10511 2010-05-16  James Youngman  <jay@gnu.org>
10512
10513         doc: update users.txt
10514         * users.txt: Add CSSC.
10515
10516 2010-05-16  Jim Meyering  <meyering@redhat.com>
10517
10518         init.sh: fix an error in the previous change; add more comments
10519         * tests/init.sh: Compare exit code in loop against 9, not 2.
10520         Patch by Bruno Haible.
10521         Make the two tests more similar by adding an empty "then" clause.
10522         Add comments.
10523
10524         init.sh: avoid unnecessary shell re-exec
10525         * tests/init.sh: Improve the re-exec-required check to first test the
10526         current shell.  If it passes the test, do not search for a shell that
10527         does pass, and do not re-exec.  This test is particularly contorted to
10528         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
10529         of $(...) evokes a syntax error and causes immediate shell exit with
10530         status 2.  Bruno Haible reported that the re-exec made it impossible
10531         to single-step through any init.sh-using script.
10532
10533 2010-05-16  Bruno Haible  <bruno@clisp.org>
10534
10535         Fix collision between gnulib's and libintl's printf replacements.
10536         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
10537         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
10538         (printf): When using GNU C, map the __printf__ function to rpl_printf
10539         via __asm__. When not using GNU C, define rpl_printf instead of
10540         __printf__.
10541         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
10542         commit.
10543         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
10544         commit.
10545         * m4/asm-underscore.m4: New file.
10546         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
10547         * modules/stdio (Files): Add m4/asm-underscore.m4.
10548         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
10549         Reported by Ben Pfaff.
10550
10551 2010-05-16  Bruno Haible  <bruno@clisp.org>
10552
10553         verify: Avoid skipping the test on openSUSE 11.0.
10554         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
10555
10556 2010-05-13  Bruno Haible  <bruno@clisp.org>
10557
10558         Avoid useless warnings from G++.
10559         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
10560         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
10561         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
10562
10563 2010-05-11  Jim Meyering  <meyering@redhat.com>
10564
10565         maint.mk: tweak preceding change
10566         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
10567         regexps tighter by anchoring at EOL, and make the new group "shy"
10568         for slightly decreased overhead.
10569
10570 2010-05-11  Eric Blake  <eblake@redhat.com>
10571
10572         maint.mk: gnulib doesn't guarantee NSIG
10573         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
10574
10575 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
10576
10577         test-pwrite.c: Remove unused variable declaration.
10578         * tests/test-pwrite.c (main): Remove read_buf declaration.
10579
10580         Remove useless test-pwrite.sh file.
10581         * tests/test-pwrite.sh: Delete file.
10582         * modules/pwrite-tests: Remove references.
10583         Reported by Bruno Haible.
10584
10585 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
10586
10587         init.sh: fix a typo
10588         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
10589
10590 2010-05-10  Jim Meyering  <meyering@redhat.com>
10591
10592         maint.mk: avoid using a temporary file in the always-defined-macros check
10593         * top/maint.mk (.re-defmac): Remove rule.
10594         (gl_trap_): Remove definition.
10595         (sc_prohibit_always-defined_macros): Rewrite not to create and
10596         depend on a temporary file.  Instead, depend on GNU grep's ability
10597         to read a list of regular expressions from stdin when given "-f -".
10598
10599 2010-05-09  Bruno Haible  <bruno@clisp.org>
10600
10601         Update to GNU gettext 0.18, part 1.
10602         * m4/gettext.m4: Update to GNU gettext 0.18.
10603         * m4/intl.m4: Likewise.
10604         * m4/po.m4: Likewise.
10605         * modules/gettext (Files): Add m4/fcntl-o.m4.
10606         (configure.ac): Require gettext infrastructure from version 0.18.
10607
10608 2010-05-09  Jim Meyering  <meyering@redhat.com>
10609
10610         init.sh: enable MALLOC_PERTURB_
10611         * tests/init.sh: Enable glibc's malloc-perturbing option.
10612
10613         maint.mk: improve sc_cross_check_PATH_usage_in_tests
10614         With my recent change in init.sh from the two-line form:
10615             -#   : ${srcdir=.}
10616             -#   . "$srcdir/init.sh"; path_prepend_ .
10617             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
10618         I noticed that using the one-line form would cause this test
10619         to fail with a false-positive, or to stop working altogether,
10620         depending on whether help-version changed or all the tests did.
10621         * top/maint.mk (_hv_regex): Remove this definition.
10622         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
10623         (_hv_regex_strong): Use a stronger regex to check for conformance.
10624         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
10625         Give a separate diagnostic for lack of conforming use.
10626
10627         maint.mk: prohibit definition of symbols defined by gnulib
10628         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
10629         definition of symbols defined by gnulib.
10630
10631 2010-05-09  Bruno Haible  <bruno@clisp.org>
10632
10633         acl: Avoid test failure on Cygwin-hosted mingw.
10634         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
10635
10636 2010-05-09  Bruno Haible  <bruno@clisp.org>
10637
10638         error: Use system's fcntl function.
10639         * lib/error.c (fcntl): Undefine.
10640
10641 2010-05-09  Jim Meyering  <meyering@redhat.com>
10642
10643         verify: adjust formatting to be more consistent
10644         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
10645         argument-list '('s, and after one comma.
10646
10647 2010-05-09  Bruno Haible  <bruno@clisp.org>
10648
10649         error: More reliable output on mingw.
10650         * lib/error.c: Include <windows.h>.
10651         (is_open): New function.
10652         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
10653         defined.
10654
10655 2010-05-09  Bruno Haible  <bruno@clisp.org>
10656
10657         vasnprintf: Fix syntax errors in libintl build on mingw.
10658         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
10659         pad_ourselves and prec_ourselves after use.
10660
10661 2010-05-08  Bruno Haible  <bruno@clisp.org>
10662
10663         * lib/config.charset: Update comments for Cygwin 1.7.
10664         * lib/localcharset.c: Likewise.
10665
10666 2010-05-07  Jim Meyering  <meyering@redhat.com>
10667
10668         init.sh: improve comments
10669         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
10670         . "${srcdir=.}/init.sh"; path_prepend_ .
10671         Add a note about path_prepend_ and the alternative of using
10672         TESTS_ENVIRONMENT.
10673
10674 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
10675
10676         exclude: Unescape hashed patterns in wildcard mode.
10677         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
10678         to the hash list.
10679         * tests/test-exclude8.sh: New test case.
10680         * modules/exclude-tests: Add new test.
10681
10682 2010-05-05  Eric Blake  <eblake@redhat.com>
10683
10684         verify: automate tests
10685         * modules/verify-tests: New module.
10686         * tests/test-verify.sh: New file.
10687         * tests/test-verify.c: Guard each negative test with a unique id.
10688         Also avoid warning about unused left hand of comma expressions.
10689
10690 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
10691
10692         Further improvements to verify.h, suggested by Eric Blake.
10693         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
10694         the GL_* versions, to avoid collision with OpenGL.
10695         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
10696         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
10697         than testing merely whether it's defined.
10698
10699         Modify verify.h to pacify gcc -Wredundant_decls.
10700         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
10701         These use the prefix "GL_" since they're likely to be useful elsewhere.
10702         We may need to break them out into a different .h file.
10703         (__COUNTER__): Define to 0 if the compiler doesn't support it.
10704         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
10705         of verify_function__.
10706
10707 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
10708
10709         Tests for module pwrite.
10710         * modules/pwrite-tests: New file.
10711         * tests/test-pwrite.sh: New file.
10712         * tests/test-pwrite.c: New file.
10713
10714         New module pwrite.
10715         * lib/unistd.in.h (pwrite): New declaration.
10716         * lib/pwrite.c: New file, from glibc with modifications.
10717         * m4/pwrite.m4: New file.
10718         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
10719         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
10720         REPLACE_PWRITE.
10721         * modules/pwrite: New file.
10722         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
10723         REPLACE_PWRITE.
10724         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
10725         * doc/posix-functions/pwrite.texi: Mention the new module.
10726
10727 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
10728
10729         pread: Update documentation.
10730         * doc/posix-functions/pread.texi: Mention the 'pread' module.
10731
10732 2010-05-04  Eric Blake  <eblake@redhat.com>
10733
10734         docs: update cygwin progress
10735         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
10736         this bug.
10737         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
10738         Added in cygwin 1.7.2.
10739         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
10740         Likewise.
10741         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
10742         Likewise.
10743         * doc/glibc-functions/dup3.texi (dup3): Likewise.
10744         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
10745         * doc/glibc-functions/accept4.texi (accept4): Likewise.
10746         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
10747         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
10748         Mention nproc module.
10749         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
10750         bug in cygwin 1.7.5 addition.
10751         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
10752         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
10753         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
10754         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
10755         1.7.5.
10756         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
10757         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
10758         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
10759         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
10760         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
10761         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
10762         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
10763         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
10764         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
10765         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
10766         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
10767         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
10768         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
10769         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
10770         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
10771         Likewise.
10772         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
10773         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
10774         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
10775         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
10776         Likewise.
10777         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
10778         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
10779         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
10780         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
10781         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
10782         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
10783         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
10784         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
10785         Likewise.
10786         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
10787         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
10788         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
10789         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
10790         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
10791         Likewise.
10792         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
10793         Likewise.
10794         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
10795         Likewise.
10796         * doc/glibc-functions/xdrrec_endofrecord.texi
10797         (xdrrec_endofrecord): Likewise.
10798         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
10799         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
10800         Likewise.
10801         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
10802         Likewise.
10803
10804 2010-05-04  Jim Meyering  <meyering@redhat.com>
10805
10806         gendocs.sh: make its "-s FILE" option more useful
10807         * build-aux/gendocs.sh: When honoring the -s FILE option, update
10808         $PACKAGE to reflect the probably-different basename of "FILE".
10809
10810 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
10811
10812         bootstrap: don't ignore download_po_files failure
10813         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
10814         failure.
10815
10816 2010-05-03  Jim Meyering  <meyering@redhat.com>
10817
10818         maint.mk: allow to pass options to gendocs.sh
10819         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
10820         (gendocs_options_): New overridable variable.
10821
10822         gnu-web-doc-update: don't ignore configure or build failure
10823         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
10824
10825         announce-gen: backslash-escape '@'s in --help output
10826         * build-aux/announce-gen: Fix syntax errors.
10827
10828         maint.mk, announce-gen: allow project-specific announcement mail headers
10829         * top/maint.mk (translation_project_): Define default.
10830         (announcement_Cc_, announcement_mail_headers_): Likewise.
10831         (announcement): Invoke announce-gen with new --mail-headers option.
10832         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
10833
10834         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
10835         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
10836         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
10837         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
10838         line in the "err2" output file when running "make check" in verbose
10839         mode (i.e., with set -x enabled).
10840
10841 2010-05-03  Bruno Haible  <bruno@clisp.org>
10842
10843         wctob: Fix for weird platforms.
10844         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
10845         argument value.
10846
10847 2010-05-03  Jim Meyering  <meyering@redhat.com>
10848
10849         maint.mk: prohibit unwarranted use of <strings.h>
10850         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
10851         strings.h in a file that does not also use strcasecmp, strncasecmp,
10852         ffs or ffsll.
10853
10854         maint.mk: remove obsolete comments
10855         * top/maint.mk: Remove stale, commented-out rules.
10856
10857 2010-05-02  Bruno Haible  <bruno@clisp.org>
10858
10859         wcwidth: Declare also when it's aliased.
10860         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
10861         macro.
10862
10863 2010-05-02  Bruno Haible  <bruno@clisp.org>
10864
10865         Fix regression from 2010-04-25.
10866         * gnulib-tool (func_modules_transitive_closure): Check the status of
10867         all modules, not only of the tests that are of the form foo-tests where
10868         foo is a module.
10869
10870 2010-05-02  Bruno Haible  <bruno@clisp.org>
10871
10872         wctob: Work around nasty Cygwin 1.7.2 bug.
10873         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
10874         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
10875
10876 2010-05-01  Bruno Haible  <bruno@clisp.org>
10877
10878         fpurge: Sharper test.
10879         * tests/test-fpurge.c (main): Add one more ftell check.
10880         * modules/fpurge-tests (Depends-on): Add ftell.
10881         Suggested by Eric Blake.
10882
10883 2010-05-01  Bruno Haible  <bruno@clisp.org>
10884
10885         ftello: Another test.
10886         * tests/test-ftello3.c: New file.
10887         * modules/ftello-tests (Files): Add it.
10888         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
10889         MOSTLYCLEANFILES.
10890
10891         ftell: Another test.
10892         * tests/test-ftell3.c: New file.
10893         * modules/ftell-tests (Files): Add it.
10894         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
10895         MOSTLYCLEANFILES.
10896
10897 2010-05-01  Bruno Haible  <bruno@clisp.org>
10898
10899         ftell, ftello: Work around Solaris bug.
10900         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
10901         * lib/ftello.c: Include stdio-impl.h.
10902         (ftello): On Solaris, when _IOWRT is set, compute the result without
10903         looking at _IOREAD.
10904         * modules/ftello (Files): Add lib/stdio-impl.h.
10905         * doc/posix-functions/ftell.texi: Mention Solaris bug.
10906         * doc/posix-functions/ftello.texi: Likewise.
10907         Reported by Eric Blake.
10908
10909 2010-05-01  Bruno Haible  <bruno@clisp.org>
10910
10911         freading: Adapt to special meaning of _IOREAD flag on Solaris.
10912         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
10913         the _IOWRT flag is also set.
10914
10915 2010-05-01  Bruno Haible  <bruno@clisp.org>
10916
10917         Fix doc about a HP-UX stdio bug.
10918         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
10919         * doc/posix-functions/ftello.texi: Likewise.
10920
10921 2010-05-01  Bruno Haible  <bruno@clisp.org>
10922
10923         lseek test: Fix failure on Solaris.
10924         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
10925         output.
10926
10927 2010-04-30  Jim Meyering  <meyering@redhat.com>
10928
10929         bootstrap: don't ignore failure to generate po*/Makevars
10930         * build-aux/bootstrap (with_gettext): Don't ignore failure
10931         to create po/Makevars or runtime-po/Makevars.
10932
10933 2010-04-29  Eric Blake  <eblake@redhat.com>
10934
10935         headers: relax license to LGPLv2+
10936         * modules/fcntl-h (License): Relax license.
10937         * modules/getopt-posix (License): Likewise.
10938         * modules/locale (License): Likewise.
10939         * modules/math (License): Likewise.
10940         * modules/pty (License): Likewise.
10941         * modules/sched (License): Likewise.
10942         * modules/search (License): Likewise.
10943         * modules/spawn (License): Likewise.
10944         * modules/stdarg (License): Likewise.
10945         * modules/sysexits (License): Likewise.
10946
10947 2010-04-29  Jim Meyering  <meyering@redhat.com>
10948
10949         inttypes: relax license to LGPLv2+
10950         * modules/inttypes (License): Relax license.
10951
10952 2010-04-29  Simon Josefsson  <simon@josefsson.org>
10953
10954         * top/maint.mk (indent): Run twice to produce idempotent results.
10955
10956 2010-04-28  Bruno Haible  <bruno@clisp.org>
10957
10958         getdate: Generate getdate.c in the source directory.
10959         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
10960         MOSTLYCLEANFILES.
10961         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
10962
10963 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
10964
10965         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
10966         is not declared as a const *; avoid warnings in that case.
10967
10968 2010-04-28  Eric Blake  <eblake@redhat.com>
10969
10970         canonicalize-lgpl: avoid compiler warning
10971         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
10972         declaration' / 'extraneous semicolon' warning with some compilers.
10973         Reported by Andreas Gruenbacher.
10974
10975 2010-04-28  Jim Meyering  <meyering@redhat.com>
10976
10977         init.sh: ensure a more reliable exit status when exiting via trap
10978         * tests/init.sh (setup_): Don't rely on $? in signal handler.
10979         Inspired by patches from Dmitry V. Levin.
10980         Also trap on signal 3 (SIGQUIT).
10981
10982 2010-04-27  Bruno Haible  <bruno@clisp.org>
10983
10984         Update doc about utimes().
10985         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
10986         'utimens' module.
10987         Reported by Andreas Gruenbacher <agruen@suse.de>.
10988
10989 2010-04-27  Eric Blake  <eblake@redhat.com>
10990
10991         full-read, full-write: relax license
10992         * modules/full-read (License): Drop to LGPLv2+.
10993         * modules/full-write (License): Likewise.
10994         * modules/safe-read (License): Likewise.
10995         * modules/safe-write (License): Likewise.
10996
10997         pthread: mention library for linking
10998         * modules/pthread (Link): Mention $(LIB_PTHREAD).
10999
11000 2010-04-27  Jim Meyering  <meyering@redhat.com>
11001
11002         maint.mk: fix a bug introduced in last change
11003         * top/maint.mk (gl_assured_headers_): Now that all names are on
11004         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
11005         is not anchored to end of word, it should be adequate.
11006
11007         maint.mk: avoid side-effect in latest syntax-check
11008         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
11009         to run commands via $(shell...), and hence to incur cost only when
11010         the new rule is actually run.
11011
11012         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
11013         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
11014         and use that to create a regexp used to detect all #if HAVE_..._H uses.
11015         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
11016         (gl_assured_headers_, az_, AZ_): Define.
11017         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
11018
11019 2010-04-26  Jim Meyering  <jim@meyering.net>
11020             Bruno Haible  <bruno@clisp.org>
11021
11022         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
11023         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
11024         Prompted by an exchange with Gilles Espinasse.
11025
11026 2010-04-26  Jim Meyering  <meyering@redhat.com>
11027
11028         git-version-gen: aesthetic tweak
11029         * build-aux/git-version-gen: Use "$nl" rather than a literal,
11030         so that the command remains on a single line.
11031
11032 2010-04-26  Eric Blake  <eblake@redhat.com>
11033
11034         git-version-gen: allow use on EBCDIC hosts
11035         * build-aux/git-version-gen (dirty): Use literal rather than tying
11036         ourselves to ascii.
11037         Reported by Steve Goetze.
11038
11039 2010-04-25  Bruno Haible  <bruno@clisp.org>
11040
11041         netdb: Add support for GNULIB_POSIXCHECK.
11042         * lib/netdb.in.h: Include warn-on-use.h.
11043         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
11044         functions are used when GNULIB_POSIXCHECK is defined and the
11045         getaddrinfo module is not in use.
11046         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
11047         freeaddrinfo, gai_strerror, getnameinfo are declared.
11048         * modules/netdb (Depends-on): Add warn-on-use.
11049         (Makefile.am): Include warn-on-use.h in netdb.h.
11050
11051 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
11052
11053         build: avoid "make check" failure without .git/ directory
11054         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
11055         there is no .git/ directory.
11056
11057 2010-04-25  Bruno Haible  <bruno@clisp.org>
11058
11059         ptsname: Fix misuse of ttyname_r.
11060         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
11061         of errno.
11062
11063 2010-04-25  Bruno Haible  <bruno@clisp.org>
11064
11065         ttyname_r: Make it work on Solaris 10.
11066         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
11067         if the system function has the POSIX declaration. Test whether the
11068         function fails if the buffer is less than 128 bytes large.
11069         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
11070         system's ttyname_r function. Provide a reasonably large buffer.
11071         * modules/ttyname_r (Depends-on): Add extensions.
11072         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
11073
11074 2010-04-25  Bruno Haible  <bruno@clisp.org>
11075
11076         Use the 'extensions' module for some more functions on Solaris.
11077         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
11078         module.
11079         * doc/posix-functions/ctime_r.texi: Likewise.
11080         * doc/posix-functions/getgrgid_r.texi: Likewise.
11081         * doc/posix-functions/getgrnam_r.texi: Likewise.
11082         * doc/posix-functions/getpwnam_r.texi: Likewise.
11083         * doc/posix-functions/getpwuid_r.texi: Likewise.
11084         * doc/posix-functions/readdir_r.texi: Likewise.
11085         * doc/posix-functions/sigwait.texi: Likewise.
11086         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
11087         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
11088
11089 2010-04-25  Bruno Haible  <bruno@clisp.org>
11090
11091         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
11092         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
11093         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
11094         * lib/ttyname_r.c: Include <limits.h>.
11095         (ttyname_r): Define using the system's ttyname_r function, if it exists
11096         and not on Solaris.
11097         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
11098         set.
11099         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
11100         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
11101         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
11102         Reported by Simon Josefsson.
11103
11104 2010-04-25  Bruno Haible  <bruno@clisp.org>
11105
11106         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
11107         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
11108         * doc/posix-functions/ctime_r.texi: Likewise.
11109         * doc/posix-functions/getgrgid_r.texi: Likewise.
11110         * doc/posix-functions/getgrnam_r.texi: Likewise.
11111         * doc/posix-functions/getlogin_r.texi: Likewise.
11112         * doc/posix-functions/getpwnam_r.texi: Likewise.
11113         * doc/posix-functions/getpwuid_r.texi: Likewise.
11114         * doc/posix-functions/readdir_r.texi: Likewise.
11115         * doc/posix-functions/sigwait.texi: Likewise.
11116         * doc/posix-functions/ttyname_r.texi: Likewise.
11117         Reported by Simon Josefsson.
11118
11119 2010-04-25  Bruno Haible  <bruno@clisp.org>
11120
11121         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
11122         * gnulib-tool (func_usage): Document that --with-*-tests options apply
11123         also to --create-testdir.
11124         (func_acceptable): Don't consider the status of *-tests modules here.
11125         (func_modules_transitive_closure): Consider it here, before including a
11126         test module.
11127         (func_import, func_create_testdir): Set inc_all_direct_tests,
11128         inc_all_indirect_tests.
11129         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
11130         --create-testdir and --create-megatestdir.
11131
11132 2010-04-25  Bruno Haible  <bruno@clisp.org>
11133
11134         gnulib-tool: Add --without-*-tests options.
11135         * gnulib-tool (func_usage): Document the --without-*-tests options.
11136         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
11137         excl_unportable_tests): New variables.
11138         Fail if they are specified with --import or --update.
11139         (func_acceptable): Respect the excl_*_tests variables.
11140         (func_import): Set the excl_*_tests variables to empty.
11141
11142 2010-04-25  Simon Josefsson  <simon@josefsson.org>
11143             Bruno Haible  <bruno@clisp.org>
11144
11145         Work around a MacOS X 10.4 bug with openpty.
11146         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
11147         * tests/test-openpty.c (main): Close the master side explicitly.
11148
11149 2010-04-25  Bruno Haible  <bruno@clisp.org>
11150
11151         strnlen: Fix a C++ test error on MacOS X and Solaris.
11152         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
11153         the function is not declared.
11154         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
11155         Simon Josefsson.
11156
11157 2010-04-24  Bruno Haible  <bruno@clisp.org>
11158
11159         Avoid a gcc warning.
11160         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
11161         of correct type for %08lx directive.
11162         Reported by Eric Blake.
11163
11164 2010-04-24  Bruno Haible  <bruno@clisp.org>
11165
11166         vasnprintf: Correct errno value in case of out-of-memory.
11167         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
11168         or sprintf. Use the errno value from SNPRINTF or sprintf.
11169         Reported by Ian Beckwith <ianb@erislabs.net>.
11170
11171 2010-04-24  Bruno Haible  <bruno@clisp.org>
11172
11173         ansi-c++-opt: Find correct compiler when cross-compiling.
11174         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
11175         AC_CHECK_PROGS.
11176         Reported by Simon Josefsson.
11177
11178 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
11179
11180         vc-list-files: Add support for subversion
11181         * build-aux/vc-list-files: Use "svn list" to generate the list of
11182         files controlled by subversion.
11183
11184 2010-04-23  Jim Meyering  <meyering@redhat.com>
11185
11186         vc-list-files tests: convert to use init.sh
11187         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
11188         path_prepend_.
11189         Use Exit, not exit.
11190         Use skip_ rather than open coding it.
11191         Remove trap set-up and compare definitions.
11192         * tests/test-vc-list-files-git.sh: Likewise.
11193         * modules/vc-list-files-tests (Files): Add tests/init.sh.
11194
11195 2010-04-22  Simon Josefsson  <simon@josefsson.org>
11196
11197         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
11198         backup files.
11199
11200 2010-04-21  Simon Josefsson  <simon@josefsson.org>
11201
11202         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
11203
11204 2010-04-20  Eric Blake  <eblake@redhat.com>
11205
11206         tests: be robust to ignored SIGPIPE
11207         * tests/test-select-in.sh: Consume all output.
11208         * tests/test-lseek.sh: Check correct exit status, while avoiding
11209         EPIPE.
11210
11211 2010-04-20  Simon Josefsson  <simon@josefsson.org>
11212             Bruno Haible  <bruno@clisp.org>
11213
11214         visibility: Don't use -fvisibility if it leads to a warning.
11215         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
11216         yes, don't pretend that visibility works if it leads to a warning.
11217         Reported by Mike Gran <spk121@yahoo.com>.
11218
11219 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
11220
11221         * build-aux/bootstrap: Use "git -h" for testing for supported options
11222         instead of "git --help".  The short-form option only shows a summary,
11223         and doesn't layout the full man page.  Grep for the full option name
11224         in the summary, too.
11225
11226 2010-04-19  Bruno Haible  <bruno@clisp.org>
11227
11228         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
11229         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
11230         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
11231         mention of RELOCATABLE_STRIP.
11232         Reported by Sylvain Beucler <beuc@beuc.net>.
11233
11234 2010-04-19  Bruno Haible  <bruno@clisp.org>
11235
11236         * lib/diffseq.h: Fix typo in comment.
11237         Reported by Eric Blake.
11238
11239 2010-04-19  Bruno Haible  <bruno@clisp.org>
11240
11241         ioctl: Move autoconf macro to a .m4 file.
11242         * m4/ioctl.m4: New file, extracted from modules/ioctl.
11243         * modules/ioctl (Files): Add it.
11244         (configure.ac): Simply invoke gl_FUNC_IOCTL.
11245         Reported by Ian Beckwith <ianb@erislabs.net>.
11246
11247 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
11248             Bruno Haible  <bruno@clisp.org>
11249
11250         diffseq: Accommodate use-case with abstract arrays.
11251         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
11252         is not defined.
11253         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
11254         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
11255
11256 2010-04-18  Bruno Haible  <bruno@clisp.org>
11257
11258         * doc/posix-headers/stdbool.texi: More precise wording.
11259
11260 2010-04-17  Jim Meyering  <meyering@redhat.com>
11261
11262         maint.mk: use gnu-style indentation in an embedded perl script
11263         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
11264         Rename variable: s/two/last_two_bytes/
11265
11266 2010-04-16  Eric Blake  <eblake@redhat.com>
11267
11268         test-stdbool: skip test that fails with Solaris CC
11269         * tests/test-stdbool.c (f): Skip test that causes compilation
11270         error under buggy C++ compiler.
11271         * lib/stdbool.in.h: Document the limitation.
11272         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
11273
11274         setenv: allow compilation with C++
11275         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
11276         register keyword.
11277
11278         stdint: allow test to pass with C++
11279         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
11280
11281         getopt: allow compilation with C++
11282         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
11283         struct.
11284         * lib/getopt.c (_getopt_internal_r): Use correct type.
11285         Reported by Dagobert Michelson, via Joel E. Denny.
11286
11287 2010-04-16  Bruno Haible  <bruno@clisp.org>
11288
11289         Override netdb.h always.
11290         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
11291         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
11292         Reported by Ludovic Courtès <ludo@gnu.org>.
11293
11294 2010-04-15  Bruno Haible  <bruno@clisp.org>
11295
11296         openpty: Fix mistake from 2010-03-21.
11297         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
11298         Reported by Simon Josefsson.
11299
11300 2010-04-15  Eric Blake  <eblake@redhat.com>
11301
11302         test-forkpty: fix expected signature
11303         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
11304         Reported by Simon Josefsson.
11305
11306 2010-04-15  Jim Meyering  <meyering@redhat.com>
11307
11308         maint.mk: texinfo_suffix_re_: correct the default regexp
11309         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
11310
11311         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
11312         make it configurable via texinfo_suffix_re_.
11313
11314 2010-04-14  Eric Blake  <eblake@redhat.com>
11315
11316         strtok_r: relax license to LGPLv2+
11317         * modules/strtok_r (License): Relax license.
11318         Reported by Matthias Bolte.
11319
11320 2010-04-14  Simon Josefsson  <simon@josefsson.org>
11321
11322         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
11323         version 1.4.4 by default instead of requiring the libgcrypt
11324         version used during build.  This makes it possible to use the
11325         application with older but still binary compatible libgcrypt
11326         versions.
11327
11328 2010-04-13  Eric Blake  <eblake@redhat.com>
11329
11330         getopt-gnu: match recent glibc fixes and posix ruling
11331         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
11332         '+' handling, when requesting extensions.
11333         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
11334         'W;' handling.
11335         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
11336         * doc/posix-functions/getopt.texi (getopt): Document this.
11337         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
11338         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11339         Likewise.
11340
11341         getopt: merge bug fixes from glibc
11342         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
11343         diagnostics.  Honor '+:' correctly.  Reject ';'.
11344
11345         getopt-posix: detect MacOS bug
11346         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
11347         optind when missing a required argument.
11348         * doc/posix-functions/getopt.texi (getopt): Document the bug.
11349         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
11350         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11351         Likewise.
11352
11353         getopt-posix: avoid spurious failure on Solaris
11354         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
11355         an indicator that setting optind=1 is sufficient for reset.
11356
11357         getopt-posix: avoid spurious failure on FreeBSD
11358         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
11359         in POSIX mode, since the m4 test uses it.
11360
11361         gnulib-tool: silence warning on BSD sh
11362         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
11363
11364 2010-04-13  Jim Meyering  <meyering@redhat.com>
11365
11366         doc: users.txt: GNU patch now uses gnulib
11367         * users.txt: Add patch.
11368
11369 2010-04-12  Jim Meyering  <meyering@redhat.com>
11370
11371         maint.mk: generate more concise timing data for syntax-check rules
11372         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
11373         " done" from each line that reports a syntax-check test duration.
11374
11375 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
11376
11377         git-version-gen: use "git update-index..." rather than "git status"
11378         * build-aux/git-version-gen: Use git update-index --refresh, not
11379         "git status".  With some versions of git, "git status" would fail
11380         to update the index and result in an unwarranted "-dirty" suffix.
11381
11382 2010-04-11  Jim Meyering  <meyering@redhat.com>
11383
11384         openat: correct formatting (no semantic change)
11385         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
11386         Suggested by Bruno Haible.
11387
11388 2010-04-11  Bruno Haible  <bruno@clisp.org>
11389
11390         Stricter declaration checking in testdirs.
11391         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
11392         If for_tests is true, augment AM_CPPFLAGS to define
11393         GNULIB_STRICT_CHECKING.
11394         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
11395         GNULIB_STRICT_CHECKING is defined, verify that the function is
11396         declared.
11397
11398 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
11399             Bruno Haible  <bruno@clisp.org>
11400
11401         libunistring: Improve configure output.
11402         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
11403         Don't say "consider installing GNU libunistring" when checking again
11404         with libiconv.
11405
11406 2010-04-11  Bruno Haible  <bruno@clisp.org>
11407
11408         libunistring: Correct value of $LTLIBUNISTRING.
11409         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
11410         correct the value of $LTLIBUNISTRING.
11411
11412 2010-04-11  Bruno Haible  <bruno@clisp.org>
11413
11414         havelib: Add static libraries to LIBS in the right order.
11415         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
11416         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
11417
11418 2010-04-11  Bruno Haible  <bruno@clisp.org>
11419
11420         libunistring: Detect libunistring also when it depends on libiconv.
11421         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
11422         the second AC_LIB_HAVE_LINKFLAGS invocation.
11423
11424 2010-04-11  James Youngman  <jay@gnu.org>
11425
11426         close-stream: declare local scalars to be "const"
11427         * lib/close-stream.c (close_stream): Make boolean variables const
11428         to document the fact that we set but do not change them.
11429
11430 2010-04-11  Bruno Haible  <bruno@clisp.org>
11431
11432         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
11433
11434 2010-04-11  Jim Meyering  <meyering@redhat.com>
11435
11436         maint.mk: don't include dist-check.mk
11437         * top/maint.mk: Remove bogus include directive.
11438
11439         maint.mk: improve empty-line-at-EOF check
11440         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
11441         solution, rather than tail+Perl-based one.  The latter would read
11442         a few kilobytes from the end of each file, and did not handle empty
11443         files properly.
11444
11445         maint.mk: print the elapsed time for each syntax-check rule
11446         * top/maint.mk (sc_m_rules_): Save start time in a file.
11447         (sc_z_rules_): New rules: remove temp file and print elapsed time.
11448         (local-check): Interpose the .z rules
11449
11450 2010-04-11  Jim Meyering  <meyering@redhat.com>
11451
11452         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
11453         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
11454         empty file with one that ends in an empty line.
11455
11456 2010-04-10  Bruno Haible  <bruno@clisp.org>
11457
11458         mkdir: Make it work on mingw64.
11459         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
11460         * lib/mkdir.c: Update comment.
11461         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
11462
11463 2010-04-10  Bruno Haible  <bruno@clisp.org>
11464
11465         Don't override improved macro from newer autoconf.
11466         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
11467         autoconf >= 2.62.
11468         Reported by Joel E. Denny <jdenny@clemson.edu>.
11469
11470 2010-04-10  Jim Meyering  <meyering@redhat.com>
11471
11472         maint.mk: new syntax-check rule: prohibit empty lines at end of file
11473         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
11474
11475         maint.mk: correct a diagnostic
11476         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
11477         in diagnostic; now use $prohibit.
11478
11479 2010-04-10  Bruno Haible  <address@hidden>
11480
11481         fchownat: Fix a C++ test error on Solaris 8.
11482         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
11483         the function does not exist.
11484
11485 2010-04-10  Bruno Haible  <bruno@clisp.org>
11486
11487         vasnprintf: Add more tests.
11488         * tests/test-vasnprintf-posix.c: Include <errno.h>.
11489         (test_function): Test converting an invalid wide string.
11490
11491         vasnprintf: Correct handling of unconvertible wide string arguments.
11492         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
11493         VASNPRINTF.
11494         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
11495         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
11496         smaller than the expected maximum need for the directive. Set errno to
11497         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
11498         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
11499         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
11500         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
11501         * modules/vasnprintf (Files): Add m4/printf.m4.
11502         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
11503
11504 2010-04-10  Bruno Haible  <bruno@clisp.org>
11505
11506         vasnprintf: Fix crash in %ls directive.
11507         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
11508         string is passed as argument to %ls, with no precision and no width.
11509         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
11510
11511 2010-04-10  Bruno Haible  <bruno@clisp.org>
11512
11513         vasnprintf: Fix multiple test failures on mingw.
11514         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
11515         _snprintf, or snwprintf, not _snwprintf.
11516
11517 2010-04-10  Bruno Haible  <bruno@clisp.org>
11518
11519         write: Fix a C++ test error on mingw.
11520         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
11521
11522 2010-04-10  Bruno Haible  <bruno@clisp.org>
11523
11524         vasnprintf test: Reduce code duplication.
11525         * tests/test-vasnprintf.c (test_function): New function, extracted from
11526         test_vasnprintf.
11527         (test_vasnprintf, test_asnprintf): Invoke it.
11528
11529 2010-04-10  Bruno Haible  <bruno@clisp.org>
11530
11531         strnlen: Fix warning in C++ mode on MacOS X.
11532         * lib/string.in.h (strnlen): Use the modern idiom.
11533         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
11534         defining strnlen as a macro already in <config.h>.
11535         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
11536         REPLACE_STRNLEN.
11537         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
11538         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
11539
11540 2010-04-08  James Youngman  <jay@gnu.org>
11541
11542         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
11543         the example.
11544
11545 2010-04-09  Jim Meyering  <meyering@redhat.com>
11546
11547         maint.mk: print better diagnostic when there is no $(_hv_file)
11548         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
11549         announce that when $(_hv_file) (aka help-version) does not exist.
11550
11551         init.sh: run tr in the "C" locale to avoid multibyte interpretation
11552         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
11553         not try to interpret its random input bytes.  Jarno Rajahalme reported
11554         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
11555         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
11556         (mktempd_): Likewise, just in case.
11557
11558         ftruncate: add two years to projected module removal date: 2012
11559         * m4/ftruncate.m4: Adjust comments.
11560
11561         ftruncate: mark module as obsolete; even MinGW provides it, now
11562         * modules/ftruncate (Status): Obsolete.
11563         (Notice): Say that.
11564         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
11565         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
11566
11567 2010-04-08  Bruno Haible  <bruno@clisp.org>
11568
11569         Fix side effects from tests-related modules.
11570         * modules/dprintf-posix (Comment): New section.
11571         * modules/fprintf-posix (Comment): Likewise.
11572         * modules/obstack-printf-posix (Comment): Likewise.
11573         * modules/printf-posix (Comment): Likewise.
11574         * modules/snprintf-posix (Comment): Likewise.
11575         * modules/sprintf-posix (Comment): Likewise.
11576         * modules/vasnprintf-posix (Comment): Likewise.
11577         * modules/vasprintf-posix (Comment): Likewise.
11578         * modules/vdprintf-posix (Comment): Likewise.
11579         * modules/vfprintf-posix (Comment): Likewise.
11580         * modules/vprintf-posix (Comment): Likewise.
11581         * modules/vsnprintf-posix (Comment): Likewise.
11582         * modules/vsprintf-posix (Comment): Likewise.
11583         * modules/xprintf-posix (Comment): Likewise.
11584         * modules/xvasprintf-posix (Comment): Likewise.
11585         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
11586         * modules/floorf-tests (Depends-on): Likewise.
11587         * modules/round-tests (Depends-on): Likewise.
11588         * modules/roundf-tests (Depends-on): Likewise.
11589         * modules/trunc-tests (Depends-on): Likewise.
11590         * modules/truncf-tests (Depends-on): Likewise.
11591         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
11592         'fprintf-posix' module is not present.
11593         * tests/test-floorf2.c (check): Likewise.
11594         * tests/test-trunc2.c (check): Likewise.
11595         * tests/test-truncf2.c (check): Likewise.
11596         * tests/test-round2.c (equal): Likewise.
11597         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
11598
11599 2010-04-07  Karl Berry  <karl@gnu.org>
11600
11601         * config/srclist.txt,
11602         * config/srclistvars.sh,
11603         * config/srclist-update: doc fixes.
11604
11605 2010-04-07  Jim Meyering  <meyering@redhat.com>
11606
11607         maint.mk: add a PATH crosschecking syntax-check rule
11608         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
11609         Useful if you use a test like the one in help-version (coreutils,
11610         diffutils, grep, gzip) that ensures $(VERSION) matches what is
11611         printed by prog --version.
11612
11613 2010-04-06  Bruno Haible  <bruno@clisp.org>
11614
11615         Fix link error on mingw.
11616         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
11617         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
11618
11619 2010-04-06  Bruno Haible  <bruno@clisp.org>
11620
11621         Assume rmdir exists.
11622         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
11623
11624 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
11625
11626         doc: update users.txt
11627         * users.txt: Add gcal.
11628
11629 2010-04-06  Jim Meyering  <meyering@redhat.com>
11630
11631         init.sh: simply unset TMPDIR rather than risking env -i
11632         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
11633         although it probably works fine on all Unix-based systems, some
11634         systems (Cygwin?) cannot tolerate a totally cleared environment.
11635         Suggestion from Eric Blake.
11636
11637 2010-04-06  Jim Meyering  <meyering@redhat.com>
11638
11639         init.sh: portability fix: use env's POSIX-specified -i option not -u
11640         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
11641         than unportable env -u.  Solaris 5.11's env lacks support for -u.
11642
11643 2010-04-05  Bruno Haible  <bruno@clisp.org>
11644
11645         btowc: Work around Cygwin 1.7.2 bug.
11646         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
11647         does not map NUL to 0.
11648         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
11649
11650 2010-04-05  Bruno Haible  <bruno@clisp.org>
11651
11652         Make the multithread modules work on Cygwin 1.7.2.
11653         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
11654         imported symbols can be declared weak, so that it returns "no" on
11655         Cygwin 1.7.2.
11656
11657 2010-04-05  Bruno Haible  <bruno@clisp.org>
11658
11659         Use the module 'strncat'.
11660         * modules/unistr/u8-strncat (Depends-on): Add strncat.
11661
11662         Tests for module 'strncat'.
11663         * modules/strncat-tests: New file.
11664         * tests/test-strncat.c: New file.
11665
11666         New module 'strncat'.
11667         * lib/string.in.h (strncat): New declaration.
11668         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
11669         * m4/strncat.m4: New file, based on m4/memchr.m4.
11670         * modules/strncat: New file.
11671         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
11672         is declared.
11673         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
11674         REPLACE_STRNCAT.
11675         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
11676         REPLACE_STRNCAT.
11677         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
11678         module.
11679         * tests/test-string-c++.cc: Check signature of strncat.
11680
11681 2010-04-05  Jim Meyering  <meyering@redhat.com>
11682
11683         xstrtoumax-tests: convert to use init.sh
11684         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
11685         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
11686         Use Exit, not exit.
11687         Remove uses of $EXEEXT and "./" to run a program in the current dir.
11688
11689         xstrtoimax-tests: convert to use init.sh
11690         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
11691         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
11692         Use Exit, not exit.
11693         Remove uses of $EXEEXT and "./" to run a program in the current dir.
11694
11695 2010-04-05  Bruno Haible  <bruno@clisp.org>
11696
11697         sys_socket: Avoid #define replacements in C++ mode.
11698         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
11699         warning to the function if possible, rather than #defining the symbol
11700         to a dysfunctional alias.
11701
11702 2010-04-05  Bruno Haible  <bruno@clisp.org>
11703
11704         fseeko: Fix C++ test error on mingw.
11705         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
11706         gl_FUNC_FSEEKO.
11707         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
11708         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
11709         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
11710         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
11711
11712 2010-04-05  Bruno Haible  <bruno@clisp.org>
11713
11714         duplocale: Improve test output.
11715         * tests/test-duplocale.c (main): Print reason for skipped test.
11716
11717 2010-04-05  Bruno Haible  <bruno@clisp.org>
11718
11719         Assume rmdir exists.
11720         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
11721         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
11722
11723 2010-04-05  Bruno Haible  <bruno@clisp.org>
11724
11725         Fix link error on Solaris 8 with cc.
11726         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
11727
11728 2010-04-05  Bruno Haible  <bruno@clisp.org>
11729
11730         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
11731         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
11732
11733 2010-04-05  Bruno Haible  <bruno@clisp.org>
11734
11735         vasprintf: Update documentation.
11736         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
11737
11738 2010-04-05  Bruno Haible  <bruno@clisp.org>
11739
11740         ptsname: Improve test.
11741         * tests/test-ptsname.c (main): Also try the various master names of BSD
11742         systems.
11743
11744 2010-04-05  Bruno Haible  <bruno@clisp.org>
11745
11746         memchr: Avoid a possible C++ test error.
11747         * lib/string.in.h (memchr): Provide declaration if function is missing.
11748         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
11749         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
11750         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
11751         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
11752
11753 2010-04-05  Bruno Haible  <bruno@clisp.org>
11754
11755         strtok_r: Improve idiom.
11756         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
11757         AC_LIBOBJ is used.
11758
11759 2010-04-05  Bruno Haible  <bruno@clisp.org>
11760
11761         strdup: Improve idiom.
11762         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
11763         AC_LIBOBJ is used.
11764         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
11765         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
11766         when AC_LIBOBJ is used.
11767
11768 2010-04-05  Bruno Haible  <bruno@clisp.org>
11769
11770         mbsinit, mbrtowc, wcrtomb: Improve idioms.
11771         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
11772         don't set REPLACE_MBSINIT to 1.
11773         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
11774         don't set REPLACE_MBRTOWC to 1.
11775         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
11776         exist, don't set REPLACE_MBSRTOWCS to 1.
11777         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
11778         exist, don't set REPLACE_MBSNRTOWCS to 1.
11779         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
11780         don't set REPLACE_WCRTOMB to 1.
11781         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
11782         exist, don't set REPLACE_WCSRTOMBS to 1.
11783         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
11784         exist, don't set REPLACE_WCSNRTOMBS to 1.
11785
11786 2010-04-05  Bruno Haible  <bruno@clisp.org>
11787
11788         ldexpl: Improve idiom.
11789         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
11790         make sure to set HAVE_DECL_LDEXPL to 0.
11791
11792 2010-04-05  Jim Meyering  <meyering@redhat.com>
11793
11794         xstrtol-tests: convert to use init.sh
11795         * modules/xstrtol-tests (Files): Add tests/init.sh.
11796         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
11797         Use Exit, not exit.
11798         Remove uses of $EXEEXT and "./" to run a program in the current dir.
11799
11800         atexit-tests: convert to use init.sh
11801         * modules/atexit-tests (Files): Add tests/init.sh.
11802         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
11803         Use Exit, not exit.
11804         Remove uses of $EXEEXT and "./" to run a program in the current dir.
11805
11806         init.sh: fix typo
11807         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
11808
11809         init.sh: make it easier for a test script to write to the tty, ...
11810         when using automake's parallel-tests mode.
11811         * tests/init.sh (stderr_fileno_): Define overridable variable.
11812         (warn_): New function, to use it.
11813         (fail_, skip_, framework_failure_): Use warn_.
11814
11815 2010-04-04  Bruno Haible  <bruno@clisp.org>
11816
11817         btowc: Avoid warning.
11818         * lib/btowc.c: Include <stdlib.h>.
11819         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
11820
11821 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
11822             Bruno Haible  <bruno@clisp.org>
11823
11824         wchar: Port to NetBSD 1.5.
11825         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
11826         * lib/wctype.in.h (WEOF): Likewise.
11827
11828 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
11829             Bruno Haible  <bruno@clisp.org>
11830
11831         Port extended stdio to NetBSD 1.5.
11832         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
11833         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
11834         older.
11835
11836 2010-04-04  Bruno Haible  <bruno@clisp.org>
11837
11838         string: Remove unused substitution.
11839         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
11840         HAVE_DECL_STRERROR.
11841         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
11842
11843 2010-04-04  Bruno Haible  <bruno@clisp.org>
11844
11845         strtod: Avoid a possible C++ test error.
11846         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
11847         set REPLACE_STRTOD.
11848
11849 2010-04-04  Bruno Haible  <bruno@clisp.org>
11850
11851         strerror: Update documentation.
11852         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
11853
11854 2010-04-04  Bruno Haible  <bruno@clisp.org>
11855
11856         stdio: Fix some C++ test errors on Solaris 8 with GCC.
11857         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
11858         _GL_CXXALIAS_SYS_CAST.
11859
11860 2010-04-04  Bruno Haible  <bruno@clisp.org>
11861
11862         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
11863         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
11864         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
11865         REPLACE_FREXPL to 1.
11866         * doc/posix-functions/frexpl.texi: Update documentation.
11867
11868 2010-04-04  Bruno Haible  <bruno@clisp.org>
11869
11870         math: Fix some C++ test errors on Solaris 8 and Cygwin.
11871         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
11872
11873 2010-04-04  Bruno Haible  <bruno@clisp.org>
11874
11875         Implement nanosleep for native Windows.
11876         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
11877
11878 2010-04-04  Bruno Haible  <bruno@clisp.org>
11879
11880         math: Fix some C++ test errors on Solaris 8.
11881         * lib/math.in.h (truncf, trunc): Use simpler idiom.
11882
11883 2010-04-04  Bruno Haible  <bruno@clisp.org>
11884
11885         math: Fix some C++ test errors on Cygwin.
11886         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
11887         truncl): Provide declaration if the system does not have it.
11888         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
11889         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
11890         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
11891         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
11892         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
11893         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
11894         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
11895         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
11896         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
11897         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
11898         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
11899         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
11900         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
11901         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
11902         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
11903         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
11904         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
11905         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
11906         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
11907         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
11908         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
11909         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
11910
11911 2010-04-04  Bruno Haible  <bruno@clisp.org>
11912
11913         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
11914         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
11915         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
11916         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
11917         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
11918         * m4/isinf.m4 (gl_ISINF): Likewise.
11919         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11920
11921 2010-04-04  Bruno Haible  <bruno@clisp.org>
11922
11923         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
11924         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
11925
11926 2010-04-04  Bruno Haible  <bruno@clisp.org>
11927
11928         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
11929         * modules/tmpfile (configure.ac): Update.
11930
11931         tmpfile: Fix C++ test error on mingw.
11932         * lib/stdio.in.h (tmpfile): New declaration.
11933         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
11934         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
11935         * modules/tmpfile (Depends-on): Add stdio.
11936         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
11937         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
11938         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
11939         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
11940         REPLACE_TMPFILE.
11941         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
11942
11943 2010-04-04  Bruno Haible  <bruno@clisp.org>
11944
11945         ioctl: Fix C++ test error on mingw.
11946         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
11947         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
11948         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
11949
11950 2010-04-03  Bruno Haible  <bruno@clisp.org>
11951
11952         wcwidth: Fix C++ test error on mingw.
11953         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
11954         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
11955         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
11956
11957 2010-04-03  Bruno Haible  <bruno@clisp.org>
11958
11959         nanosleep: Fix C++ test error on mingw.
11960         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
11961         * lib/time.in.h (nanosleep): Use modern idiom.
11962         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
11963         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
11964         REPLACE_NANOSLEEP to 1.
11965         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
11966         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
11967
11968 2010-04-03  Bruno Haible  <bruno@clisp.org>
11969
11970         strptime: Fix C++ test error on mingw.
11971         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
11972         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
11973         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
11974         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
11975         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
11976         not REPLACE_STRPTIME.
11977         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
11978         REPLACE_STRPTIME.
11979
11980 2010-04-03  Bruno Haible  <bruno@clisp.org>
11981
11982         timegm: Fix C++ test error on mingw.
11983         * lib/time.in.h (timegm): Use modern idiom.
11984         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
11985         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
11986         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
11987         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
11988
11989 2010-04-03  Bruno Haible  <bruno@clisp.org>
11990
11991         timegm: Assume declaration if function exists.
11992         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
11993         if it exists. Don't clobber ac_cv_func_timegm.
11994
11995 2010-04-03  Bruno Haible  <bruno@clisp.org>
11996
11997         time_r: Fix C++ test error on mingw.
11998         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
11999         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
12000         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
12001         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
12002         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
12003
12004 2010-04-03  Bruno Haible  <bruno@clisp.org>
12005
12006         time_r: Minor updates.
12007         * modules/time_r (Description): Mention the provided functions.
12008         * lib/time_r.c: Don't include <string.h>.
12009         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
12010         * doc/posix-functions/localtime_r.texi: Likewise.
12011
12012 2010-04-03  Bruno Haible  <bruno@clisp.org>
12013
12014         time: Fix regression introduced on 2010-03-08.
12015         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
12016         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
12017
12018 2010-04-03  Jim Meyering  <meyering@redhat.com>
12019
12020         maint.mk: don't silently disable project-specific syntax-check rules
12021         * top/maint.mk (_prohibit_regexp): Define, to help people realize
12022         that they need to convert their project-specific syntax-check rules
12023         to use the new _sc_search_regexp.
12024
12025 2010-04-03  Bruno Haible  <bruno@clisp.org>
12026
12027         fchdir: Fix regression introduced on 2010-03-08.
12028         * lib/unistd.in.h (fchdir): Fix declaration.
12029         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
12030         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
12031         REPLACE_FCHDIR.
12032         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
12033         REPLACE_FCHDIR.
12034
12035 2010-04-03  Bruno Haible  <bruno@clisp.org>
12036
12037         getpagesize: Fix C++ test error on mingw.
12038         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
12039         system does not declare the function.
12040         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
12041         declared.
12042         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12043         HAVE_DECL_GETPAGESIZE.
12044         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
12045
12046 2010-04-03  Bruno Haible  <bruno@clisp.org>
12047
12048         stdio: Make C++ tests work on mingw.
12049         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
12050         does not declare the function.
12051
12052 2010-04-03  Bruno Haible  <bruno@clisp.org>
12053
12054         ftello: Fix C++ test error on mingw.
12055         * lib/stdio.in.h (ftello): Use modern idiom.
12056         * lib/ftello.c (ftello): Renamed from rpl_ftello.
12057         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
12058         is missing and that it needs to be replaced.
12059         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
12060         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
12061         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
12062
12063 2010-04-03  Bruno Haible  <bruno@clisp.org>
12064
12065         fseeko: Fix C++ test error on mingw.
12066         * lib/stdio.in.h (fseeko): Use modern idiom.
12067         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
12068         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
12069         is missing and that it needs to be replaced.
12070         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
12071         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
12072         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
12073
12074 2010-04-03  Bruno Haible  <bruno@clisp.org>
12075
12076         mkstemp: Fix C++ test error on mingw.
12077         * lib/stdlib.in.h (mkstemp): Use modern idiom.
12078         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
12079         function is missing and that it needs to be replaced.
12080         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
12081         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
12082
12083 2010-04-03  Bruno Haible  <bruno@clisp.org>
12084
12085         stpncpy: Fix C++ test error on mingw.
12086         * lib/string.in.h (stpncpy): Use modern idiom.
12087         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
12088         function is missing and that it needs to be replaced.
12089         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
12090         REPLACE_STPNCPY.
12091         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
12092
12093 2010-04-03  Bruno Haible  <bruno@clisp.org>
12094
12095         sys_stat: Fix C++ test error on mingw.
12096         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
12097         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
12098
12099 2010-04-03  Bruno Haible  <bruno@clisp.org>
12100
12101         pty: Update doc.
12102         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
12103
12104 2010-04-03  Bruno Haible  <bruno@clisp.org>
12105
12106         unistd: Fix C++ test error on mingw.
12107         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
12108
12109 2010-04-03  Bruno Haible  <bruno@clisp.org>
12110
12111         Update doc regarding mingw.
12112         * doc/glibc-functions/openpty.texi: Update regarding mingw.
12113         * doc/glibc-functions/login_tty.texi: Likewise.
12114         * doc/glibc-functions/forkpty.texi: Likewise.
12115
12116 2010-04-03  Bruno Haible  <bruno@clisp.org>
12117
12118         stdlib: Avoid compilation failure of c-strtold on mingw.
12119         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
12120
12121 2010-04-03  Bruno Haible  <bruno@clisp.org>
12122
12123         locale: Make C++ tests work on Cygwin and mingw.
12124         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
12125         cannot provide the function.
12126         Reported by Simon Josefsson.
12127
12128 2010-04-03  Bruno Haible  <bruno@clisp.org>
12129
12130         localename: Port to MacOS X 10.6.
12131         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
12132         memory layout of the locales in MacOS X 10.6 as well.
12133         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
12134
12135 2010-04-02  Bruno Haible  <bruno@clisp.org>
12136
12137         gnulib-tool: Ensure that long-running tests are executed last.
12138         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
12139         running tests after the one for the other tests.
12140
12141 2010-04-02  Bruno Haible  <bruno@clisp.org>
12142
12143         gnulib-tool: Ensure the tests in the main directory are executed first.
12144         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
12145         start with the current directory.
12146
12147 2010-04-02  Bruno Haible  <bruno@clisp.org>
12148
12149         Tests for module 'havelib', moved here from GNU gettext.
12150         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
12151         modifications.
12152         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
12153         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
12154         with modifications.
12155         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
12156         modifications.
12157         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
12158         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
12159         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
12160         with modifications.
12161         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
12162         with modifications.
12163         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
12164         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
12165         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
12166         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
12167         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
12168         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
12169         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
12170         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
12171         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
12172         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
12173         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
12174         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
12175         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
12176         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
12177         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
12178         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
12179         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
12180         with modifications.
12181         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
12182         with modifications.
12183         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
12184         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
12185         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
12186         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
12187         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
12188         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
12189         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
12190         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
12191         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
12192         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
12193         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
12194         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
12195         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
12196         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
12197         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
12198         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
12199         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
12200         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
12201         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
12202         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
12203         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
12204         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
12205         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
12206         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
12207         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
12208         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
12209         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
12210         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
12211         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
12212         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
12213         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
12214         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
12215         * tests/havelib/rpathx/rpathx.c: New file, from
12216         gettext/autoconf-lib-link.
12217         * tests/havelib/rpathx/Makefile.am: New file, from
12218         gettext/autoconf-lib-link.
12219         * tests/havelib/rpathx/configure.ac: New file, from
12220         gettext/autoconf-lib-link with modifications.
12221         * tests/havelib/rpathy/rpathy.c: New file, from
12222         gettext/autoconf-lib-link.
12223         * tests/havelib/rpathy/Makefile.am: New file, from
12224         gettext/autoconf-lib-link.
12225         * tests/havelib/rpathy/configure.ac: New file, from
12226         gettext/autoconf-lib-link with modifications.
12227         * tests/havelib/rpathz/rpathz.c: New file, from
12228         gettext/autoconf-lib-link.
12229         * tests/havelib/rpathz/Makefile.am: New file, from
12230         gettext/autoconf-lib-link.
12231         * tests/havelib/rpathz/configure.ac: New file, from
12232         gettext/autoconf-lib-link with modifications.
12233         * tests/havelib/rpathlx/usex.c: New file, from
12234         gettext/autoconf-lib-link.
12235         * tests/havelib/rpathlx/Makefile.am: New file, from
12236         gettext/autoconf-lib-link.
12237         * tests/havelib/rpathlx/configure.ac: New file, from
12238         gettext/autoconf-lib-link with modifications.
12239         * tests/havelib/rpathly/usey.c: New file, from
12240         gettext/autoconf-lib-link.
12241         * tests/havelib/rpathly/Makefile.am: New file, from
12242         gettext/autoconf-lib-link.
12243         * tests/havelib/rpathly/configure.ac: New file, from
12244         gettext/autoconf-lib-link with modifications.
12245         * tests/havelib/rpathlz/usez.c: New file, from
12246         gettext/autoconf-lib-link.
12247         * tests/havelib/rpathlz/Makefile.am: New file, from
12248         gettext/autoconf-lib-link.
12249         * tests/havelib/rpathlz/configure.ac: New file, from
12250         gettext/autoconf-lib-link with modifications.
12251         * tests/havelib/rpathlyx/usey.c: New file, from
12252         gettext/autoconf-lib-link.
12253         * tests/havelib/rpathlyx/Makefile.am: New file, from
12254         gettext/autoconf-lib-link.
12255         * tests/havelib/rpathlyx/configure.ac: New file, from
12256         gettext/autoconf-lib-link with modifications.
12257         * tests/havelib/rpathlzyx/usez.c: New file, from
12258         gettext/autoconf-lib-link.
12259         * tests/havelib/rpathlzyx/Makefile.am: New file, from
12260         gettext/autoconf-lib-link.
12261         * tests/havelib/rpathlzyx/configure.ac: New file, from
12262         gettext/autoconf-lib-link with modifications.
12263         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
12264         with modifications.
12265
12266 2010-04-02  Bruno Haible  <bruno@clisp.org>
12267
12268         gnulib-tool: Create distributed built sources also for the tests.
12269         * gnulib-tool (func_create_testdir): Also generate distributed built
12270         sources in the tests directory.
12271
12272 2010-04-02  Bruno Haible  <bruno@clisp.org>
12273
12274         gnulib-tool: Obey user's environment variables.
12275         * gnulib-tool (func_create_testdir): When creating built sources,
12276         respect the environment variables for autoconf, automake, etc. given by
12277         the user.
12278
12279 2010-04-02  Bruno Haible  <bruno@clisp.org>
12280
12281         gnulib-tool: Provide the value of --m4-base to modules.
12282         * gnulib-tool (func_import, func_create_testdir): Emit a definition
12283         of gl_m4_base.
12284
12285 2010-04-02  Eric Blake  <eblake@redhat.com>
12286
12287         maint.mk: fix some fallout
12288         * NEWS: Document the incompatible change, and its effect on cfg.mk.
12289         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
12290
12291 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
12292
12293         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
12294         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
12295         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
12296         (sc_cast_of_x_alloc_return_value): Likewise.
12297         (sc_cast_of_alloca_return_value): Likewise.
12298         (sc_space_tab): Likewise.
12299         (sc_prohibit_atoi_atof): Likewise.
12300         (sc_prohibit_magic_number_exit): Likewise.
12301         (sc_error_exit_success): Likewise.
12302         (sc_file_system): Likewise.
12303         (sc_prohibit_have_config_h): Likewise.
12304         (sc_require_config_h): Likewise.
12305         (sc_prohibit_HAVE_MBRTOWC): Likewise.
12306         (sc_obsolete_symbols): Likewise.
12307         (sc_changelog): Likewise.
12308         (sc_program_name): Likewise.
12309         (sc_the_the): Likewise.
12310         (sc_trailing_blank): Likewise.
12311         (sc_two_space_separator_in_usage): Likewise.
12312         (sc_useless_cpp_parens): Likewise.
12313         (sc_GPL_version): Likewise.
12314         (sc_GFDL_version): Likewise.
12315         (sc_texinfo_acronym): Likewise.
12316         (sc_prohibit_cvs_keyword): Likewise.
12317         (sc_prohibit_stat_st_blocks): Likewise.
12318         (sc_prohibit_S_IS_definition): Likewise.
12319         (sc_redundant_const): Likewise.
12320         (sc_makefile_TAB_only_indentation): Likewise.
12321         (sc_m4_quote_check): Likewise.
12322         (sc_makefile_path_separator_check): Likewise.
12323         (sc_copyright_check): Likewise.
12324         (sc_Wundef_boolean): Likewise.
12325         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
12326
12327         maint.mk: match 0 or more whitespace-before-function-call '('
12328         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
12329         that have zero or two-and-more spaces between the function name
12330         and the open parenthesis.
12331         (sc_error_message_warn_fatal): Likewise.
12332         (sc_error_message_uppercase): Likewise.
12333         (sc_error_message_period): Likewise.
12334
12335 2010-03-31  Eric Blake  <eblake@redhat.com>
12336
12337         maint.mk: check for [ as well as test
12338         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
12339         Based on a libvirt report by Matthias Bolte.
12340
12341         gnumakefile: don't squelch _version output
12342         * top/GNUmakefile (_version): Create one-shot dependency rather
12343         than using $(shell) when version must be regenerated.
12344         (_autoreconf): Run verbosely, by default.
12345
12346         sys_time: avoid compiler warnings
12347         * lib/sys_time.in.h (includes): Ensure gcc pragma is
12348         unconditional, fixing regression from 2010-03-29.
12349         Reported by Simon Josefsson.
12350
12351 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
12352
12353         maint.mk: s/_header_without_use/_sc_header_without_use/
12354         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
12355         (sc_prohibit_assert_without_use): Use the new name.
12356         (sc_prohibit_close_stream_without_use): Likewise.
12357         (sc_prohibit_getopt_without_use): Likewise.
12358         (sc_prohibit_quotearg_without_use): Likewise.
12359         (sc_prohibit_quote_without_use): Likewise.
12360         (sc_prohibit_long_options_without_use): Likewise.
12361         (sc_prohibit_inttostr_without_use): Likewise.
12362         (sc_prohibit_ignore_value_without_use): Likewise.
12363         (sc_prohibit_error_without_use): Likewise.
12364         (sc_prohibit_xalloc_without_use): Likewise.
12365         (sc_prohibit_hash_without_use): Likewise.
12366         (sc_prohibit_hash_pjw_without_use): Likewise.
12367         (sc_prohibit_safe_read_without_use): Likewise.
12368         (sc_prohibit_argmatch_without_use): Likewise.
12369         (sc_prohibit_canonicalize_without_use): Likewise.
12370         (sc_prohibit_root_dev_ino_without_use): Likewise.
12371         (sc_prohibit_openat_without_use): Likewise.
12372         (sc_prohibit_c_ctype_without_use): Likewise.
12373         (sc_prohibit_signal_without_use): Likewise.
12374         (sc_prohibit_intprops_without_use): Likewise.
12375
12376 2010-03-30  Eric Blake  <eblake@redhat.com>
12377
12378         maint: improve module indicators
12379         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
12380         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
12381         columns, and avoid extra macro expansion.
12382
12383         fdopendir: work around FreeBSD bug
12384         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
12385         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
12386         * modules/dirent (Makefile.am): Substitute it.
12387         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
12388         declaration.
12389         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
12390         fix.
12391         Reported by Christian Weisgerber <naddy@mips.inka.de>.
12392
12393 2010-03-29  Bruno Haible  <bruno@clisp.org>
12394
12395         Emit #pragma system_header after the inclusion guard, not before.
12396         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
12397         guard that spans the entire file, not before. This enables an
12398         optimization in GCC's preprocessor.
12399         * lib/ctype.in.h: Likewise.
12400         * lib/dirent.in.h: Likewise.
12401         * lib/errno.in.h: Likewise.
12402         * lib/float.in.h: Likewise.
12403         * lib/getopt.in.h: Likewise.
12404         * lib/iconv.in.h: Likewise.
12405         * lib/langinfo.in.h: Likewise.
12406         * lib/locale.in.h: Likewise.
12407         * lib/math.in.h: Likewise.
12408         * lib/netdb.in.h: Likewise.
12409         * lib/netinet_in.in.h: Likewise.
12410         * lib/pty.in.h: Likewise.
12411         * lib/sched.in.h: Likewise.
12412         * lib/se-selinux.in.h: Likewise.
12413         * lib/search.in.h: Likewise.
12414         * lib/spawn.in.h: Likewise.
12415         * lib/stdarg.in.h: Likewise.
12416         * lib/stdint.in.h: Likewise.
12417         * lib/string.in.h: Likewise.
12418         * lib/strings.in.h: Likewise.
12419         * lib/sys_file.in.h: Likewise.
12420         * lib/sys_ioctl.in.h: Likewise.
12421         * lib/sys_time.in.h: Likewise.
12422         * lib/sys_times.in.h: Likewise.
12423         * lib/sys_utsname.in.h: Likewise.
12424         * lib/sys_wait.in.h: Likewise.
12425         * lib/sysexits.in.h: Likewise.
12426         * lib/wctype.in.h: Likewise.
12427
12428 2010-03-28  James Youngman  <jay@gnu.org>
12429
12430         save-cwd: don't leak a file descriptor when the caller execs.
12431         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
12432         saved file descriptor.
12433         * modules/save-cwd (Depends-on): Depend on cloexec.
12434
12435 2010-03-29  Bruno Haible  <bruno@clisp.org>
12436
12437         Remove vestiges of fts-lgpl module.
12438         * lib/fts_.h: Assume GNULIB_FTS is 1.
12439         * lib/fts.c: Likewise.
12440         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
12441
12442 2010-03-28  Bruno Haible  <bruno@clisp.org>
12443
12444         Fix definition of tests witness macro.
12445         * gnulib-tool (func_import): Fix definition of witness macro.
12446
12447 2010-03-28  Bruno Haible  <bruno@clisp.org>
12448
12449         Fix ioctl's protoype on glibc systems.
12450         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
12451         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
12452         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
12453         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
12454         signature. If not, arrange to replace the ioctl function.
12455         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
12456         REPLACE_IOCTL.
12457         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
12458         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
12459         Reported by Ludovic Courtès <ludo@gnu.org>.
12460
12461 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
12462
12463         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
12464         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
12465         made it so grep -r --include=GLOB* ... did not work.
12466
12467 2010-03-26  Jim Meyering  <meyering@redhat.com>
12468             Eric Blake  <eblake@redhat.com>
12469
12470         maint.mk: prohibit use of test's -o and -a operators
12471         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
12472
12473 2010-03-28  Bruno Haible  <bruno@clisp.org>
12474
12475         Remove unused GNULIB_XYZ macro definitions.
12476         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
12477         invocation.
12478
12479 2010-03-28  Bruno Haible  <bruno@clisp.org>
12480
12481         Mark privileged tests modules.
12482         * modules/idpriv-drop-tests (Status): New section.
12483         * modules/idpriv-droptemp-tests (Status): New section.
12484
12485 2010-03-28  Bruno Haible  <bruno@clisp.org>
12486
12487         Split C++ tests into separate tests modules.
12488         * modules/dirent-c++-tests: New file, extracted from
12489         modules/dirent-tests.
12490         * modules/dirent-tests: Depend on it.
12491         * modules/fcntl-h-c++-tests: New file, extracted from
12492         modules/fcntl-h-tests.
12493         * modules/fcntl-h-tests: Depend on it.
12494         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
12495         * modules/glob-tests: Depend on it.
12496         * modules/iconv-h-c++-tests: New file, extracted from
12497         modules/iconv-h-tests.
12498         * modules/iconv-h-tests: Depend on it.
12499         * modules/langinfo-c++-tests: New file, extracted from
12500         modules/langinfo-tests.
12501         * modules/langinfo-tests: Depend on it.
12502         * modules/locale-c++-tests: New file, extracted from
12503         modules/locale-tests.
12504         * modules/locale-tests: Depend on it.
12505         * modules/math-c++-tests: New file, extracted from modules/math-tests.
12506         * modules/math-tests: Depend on it.
12507         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
12508         * modules/pty-tests: Depend on it.
12509         * modules/search-c++-tests: New file, extracted from
12510         modules/search-tests.
12511         * modules/search-tests: Depend on it.
12512         * modules/signal-c++-tests: New file, extracted from
12513         modules/signal-tests.
12514         * modules/signal-tests: Depend on it.
12515         * modules/spawn-c++-tests: New file, extracted from
12516         modules/spawn-tests.
12517         * modules/spawn-tests: Depend on it.
12518         * modules/stdio-c++-tests: New file, extracted from
12519         modules/stdio-tests.
12520         * modules/stdio-tests: Depend on it.
12521         * modules/stdlib-c++-tests: New file, extracted from
12522         modules/stdlib-tests.
12523         * modules/stdlib-tests: Depend on it.
12524         * modules/string-c++-tests: New file, extracted from
12525         modules/string-tests.
12526         * modules/string-tests: Depend on it.
12527         * modules/sys_ioctl-c++-tests: New file, extracted from
12528         modules/sys_ioctl-tests.
12529         * modules/sys_ioctl-tests: Depend on it.
12530         * modules/sys_select-c++-tests: New file, extracted from
12531         modules/sys_select-tests.
12532         * modules/sys_select-tests: Depend on it.
12533         * modules/sys_socket-c++-tests: New file, extracted from
12534         modules/sys_socket-tests.
12535         * modules/sys_socket-tests: Depend on it.
12536         * modules/sys_stat-c++-tests: New file, extracted from
12537         modules/sys_stat-tests.
12538         * modules/sys_stat-tests: Depend on it.
12539         * modules/sys_time-c++-tests: New file, extracted from
12540         modules/sys_time-tests.
12541         * modules/sys_time-tests: Depend on it.
12542         * modules/time-c++-tests: New file, extracted from modules/time-tests.
12543         * modules/time-tests: Depend on it.
12544         * modules/unistd-c++-tests: New file, extracted from
12545         modules/unistd-tests.
12546         * modules/unistd-tests: Depend on it.
12547         * modules/wchar-c++-tests: New file, extracted from
12548         modules/wchar-tests.
12549         * modules/wchar-tests: Depend on it.
12550         * modules/wctype-c++-tests: New file, extracted from
12551         modules/wctype-tests.
12552         * modules/wctype-tests: Depend on it.
12553         Reported by Simon Josefsson.
12554
12555 2010-03-28  Bruno Haible  <bruno@clisp.org>
12556
12557         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
12558         * gnulib-tool (func_exists_module): New function, extracted from
12559         func_verify_module.
12560         (func_verify_module): Use it.
12561         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
12562         'foo' only if 'foo' exists.
12563         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
12564         module.
12565
12566 2010-03-28  Bruno Haible  <bruno@clisp.org>
12567
12568         gnulib-tool: Add support for special categories of tests.
12569         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
12570         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
12571         (func_usage): Document them.
12572         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
12573         inc_unportable_tests, inc_all_tests): New variables.
12574         (func_acceptable): Consider these variables.
12575         (func_modules_transitive_closure): Make it work when the 'Status' field
12576         consists of multiple words.
12577         (func_import): Store and restore the values of inc_cxx_tests,
12578         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
12579         inc_all_tests in gnulib-comp.m4.
12580         (func_create_testdir): Set inc_all_tests to true.
12581         * doc/gnulib.texi (Extra tests modules): New section.
12582         Suggested by Jim Meyering.
12583
12584 2010-03-28  Bruno Haible  <bruno@clisp.org>
12585
12586         ansi-c++-opt: Allow turning off the C++ build by default.
12587         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
12588         gl_CXX_CHOICE_DEFAULT_NO is defined.
12589         Requested by Eric Blake.
12590
12591 2010-03-28  Bruno Haible  <bruno@clisp.org>
12592
12593         unistd: Avoid #define replacements in C++ mode.
12594         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
12595         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
12596         setsockopt, shutdown, select): In C++, attach a warning to the function
12597         if possible, rather than #defining the symbol to a dysfunctional alias.
12598         Reported by John W. Eaton <jwe@gnu.org>.
12599
12600 2010-03-28  Bruno Haible  <bruno@clisp.org>
12601
12602         Fix link errors on mingw.
12603         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
12604         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
12605         $(LIBSOCKET).
12606         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
12607         $(LIBSOCKET).
12608
12609 2010-03-28  Bruno Haible  <bruno@clisp.org>
12610             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12611
12612         lib-ignore: Determine different options for different compilers.
12613         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
12614         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
12615         Add comments.
12616         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
12617         * NEWS: Mention the change.
12618
12619 2010-03-27  Bruno Haible  <bruno@clisp.org>
12620
12621         Remove unused GNULIB_XYZ macro definitions.
12622         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
12623         * modules/fseek (configure.ac): Likewise.
12624         * modules/ioctl (configure.ac): Likewise.
12625         * modules/open (configure.ac): Likewise.
12626         * modules/stdlib-safer (configure.ac): Likewise.
12627
12628 2010-03-27  Bruno Haible  <bruno@clisp.org>
12629
12630         Add a remark about certain modules.
12631         * modules/malloc (Comment): New section.
12632         * modules/realloc (Comment): Likewise.
12633         * modules/sigpipe (Comment): Likewise.
12634
12635 2010-03-27  Bruno Haible  <bruno@clisp.org>
12636
12637         Resolve conflict between the two kinds of module indicators.
12638         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
12639         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
12640         * modules/canonicalize (configure.ac): Invoke
12641         gl_MODULE_INDICATOR_FOR_TESTS.
12642         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
12643         GNULIB_XYZ.
12644         * tests/test-dirent-c++.cc: Likewise.
12645         * tests/test-dirent-safer.c: Likewise.
12646         * tests/test-dup2.c: Likewise.
12647         * tests/test-fchdir.c: Likewise.
12648         * tests/test-fcntl-h-c++.cc: Likewise.
12649         * tests/test-getopt.c: Likewise.
12650         * tests/test-getopt.h: Likewise.
12651         * tests/test-langinfo-c++.cc: Likewise.
12652         * tests/test-locale-c++.cc: Likewise.
12653         * tests/test-math-c++.cc: Likewise.
12654         * tests/test-pty-c++.cc: Likewise.
12655         * tests/test-search-c++.cc: Likewise.
12656         * tests/test-signal-c++.cc: Likewise.
12657         * tests/test-spawn-c++.cc: Likewise.
12658         * tests/test-stdio-c++.cc: Likewise.
12659         * tests/test-stdlib-c++.cc: Likewise.
12660         * tests/test-string-c++.cc: Likewise.
12661         * tests/test-sys_ioctl-c++.cc: Likewise.
12662         * tests/test-sys_select-c++.cc: Likewise.
12663         * tests/test-sys_socket-c++.cc: Likewise.
12664         * tests/test-sys_stat-c++.cc: Likewise.
12665         * tests/test-sys_time-c++.cc: Likewise.
12666         * tests/test-time-c++.cc: Likewise.
12667         * tests/test-unistd-c++.cc: Likewise.
12668         * tests/test-wchar-c++.cc: Likewise.
12669         * tests/uninorm/test-u8-nfc.c: Likewise.
12670         * tests/uninorm/test-u8-nfd.c: Likewise.
12671         * tests/uninorm/test-u8-nfkc.c: Likewise.
12672         * tests/uninorm/test-u8-nfkd.c: Likewise.
12673         * tests/uninorm/test-u16-nfc.c: Likewise.
12674         * tests/uninorm/test-u16-nfd.c: Likewise.
12675         * tests/uninorm/test-u16-nfkc.c: Likewise.
12676         * tests/uninorm/test-u16-nfkd.c: Likewise.
12677         * tests/uninorm/test-u32-nfc.c: Likewise.
12678         * tests/uninorm/test-u32-nfc-big.c: Likewise.
12679         * tests/uninorm/test-u32-nfd.c: Likewise.
12680         * tests/uninorm/test-u32-nfd-big.c: Likewise.
12681         * tests/uninorm/test-u32-nfkc.c: Likewise.
12682         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
12683         * tests/uninorm/test-u32-nfkd.c: Likewise.
12684         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
12685         * tests/uninorm/test-u32-normalize-big.c: Likewise.
12686
12687 2010-03-27  Bruno Haible  <bruno@clisp.org>
12688
12689         Distinguish two kinds of module indicators.
12690         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
12691         gl_MODULE_INDICATOR.
12692         (gl_MODULE_INDICATOR): New macro.
12693         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
12694         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
12695         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
12696         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
12697         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
12698         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
12699         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
12700         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
12701         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
12702         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
12703         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
12704         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
12705         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
12706         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
12707         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
12708         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
12709         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
12710         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
12711         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
12712         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
12713         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
12714         * modules/cloexec (configure.ac): Likewise.
12715         * modules/getopt-gnu (configure.ac): Likewise.
12716         * modules/uninorm/u8-normalize (configure.ac): Likewise.
12717         * modules/uninorm/u16-normalize (configure.ac): Likewise.
12718         * modules/uninorm/u32-normalize (configure.ac): Likewise.
12719         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
12720
12721 2010-03-27  Bruno Haible  <bruno@clisp.org>
12722
12723         New module description field 'Comment'.
12724         * gnulib-tool: New option --extract-comment.
12725         (func_usage): Document it.
12726         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
12727         (func_get_comment): New function.
12728         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
12729
12730 2010-03-27  Bruno Haible  <bruno@clisp.org>
12731
12732         Addendum to 2010-02-07 commit.
12733         * gnulib-tool (func_usage): Document --extract-applicability option.
12734
12735 2010-03-27  Bruno Haible  <bruno@clisp.org>
12736
12737         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
12738         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
12739         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
12740         rather than link errors.
12741
12742 2010-03-27  Bruno Haible  <bruno@clisp.org>
12743
12744         Avoid side effects from tests-related modules on the compilation of lib.
12745         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
12746         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
12747         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
12748         parameter. Emit into AM_CPPFLAGS a definition of the designated C
12749         macro.
12750         (func_import): Define a witness macro. Assign it a value that depends
12751         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
12752         tests-related modules.
12753         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
12754         Reported by Jim Meyering.
12755
12756 2010-03-27  Bruno Haible  <bruno@clisp.org>
12757
12758         Factorize common .m4 code.
12759         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
12760         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
12761         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
12762         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
12763         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
12764         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
12765         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
12766         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
12767         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
12768         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
12769         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
12770         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
12771         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
12772         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
12773         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
12774         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
12775         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
12776         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
12777         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
12778         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
12779         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
12780         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
12781         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
12782         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
12783         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
12784         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
12785         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
12786         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
12787         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
12788         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
12789         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
12790         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
12791
12792 2010-03-27  Bruno Haible  <bruno@clisp.org>
12793
12794         Fix a compilation error on Cygwin with g++ >= 4.3.
12795         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
12796         if it is undefined or if we alias it to chmod.
12797         (lstat): Don't warn about the use of this function if it is undefined
12798         or if we alias it to stat.
12799         Reported by Simon Josefsson.
12800
12801 2010-03-27  Bruno Haible  <bruno@clisp.org>
12802
12803         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
12804         * modules/getlogin (configure.ac): Update.
12805
12806         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
12807         * modules/getlogin_r (configure.ac): Update.
12808
12809         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
12810         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
12811         * modules/inet_ntop (configure.ac): Update.
12812
12813         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
12814         * modules/inet_pton (configure.ac): Update.
12815
12816         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
12817         * modules/mbslen (configure.ac): Update.
12818
12819         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
12820         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
12821         * modules/forkpty (configure.ac): Update.
12822         * modules/openpty (configure.ac): Update.
12823
12824 2010-03-26  Simon Josefsson  <simon@josefsson.org>
12825
12826         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
12827         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
12828
12829 2010-03-25  Eric Blake  <eblake@redhat.com>
12830
12831         maint: use pragma consistently across replacement headers
12832         * lib/ctype.in.h (system_header): Hoist for consistent placement.
12833         * lib/dirent.in.h (system_header): Likewise.
12834         * lib/errno.in.h (system_header): Likewise.
12835         * lib/float.in.h (system_header): Likewise.
12836         * lib/getopt.in.h (system_header): Likewise.
12837         * lib/iconv.in.h (system_header): Likewise.
12838         * lib/inttypes.in.h (system_header): Likewise.
12839         * lib/langinfo.in.h (system_header): Likewise.
12840         * lib/locale.in.h (system_header): Likewise.
12841         * lib/math.in.h (system_header): Likewise.
12842         * lib/netdb.in.h (system_header): Likewise.
12843         * lib/netinet_in.in.h (system_header): Likewise.
12844         * lib/pty.in.h (system_header): Likewise.
12845         * lib/sched.in.h (system_header): Likewise.
12846         * lib/se-selinux.in.h (system_header): Likewise.
12847         * lib/search.in.h (system_header): Likewise.
12848         * lib/spawn.in.h (system_header): Likewise.
12849         * lib/stdarg.in.h (system_header): Likewise.
12850         * lib/stdint.in.h (system_header): Likewise.
12851         * lib/string.in.h (system_header): Likewise.
12852         * lib/strings.in.h (system_header): Likewise.
12853         * lib/sys_file.in.h (system_header): Likewise.
12854         * lib/sys_ioctl.in.h (system_header): Likewise.
12855         * lib/sys_socket.in.h (system_header): Likewise.
12856         * lib/sys_times.in.h (system_header): Likewise.
12857         * lib/sys_utsname.in.h (system_header): Likewise.
12858         * lib/sys_wait.in.h (system_header): Likewise.
12859         * lib/sysexits.in.h (system_header): Likewise.
12860         * lib/unistd.in.h (system_header): Likewise.
12861         * lib/wctype.in.h (system_header): Likewise.
12862
12863         arpa/inet: fix mingw compilation warning
12864         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
12865         Reported by Matthew Bolte.
12866
12867 2010-03-25  Bruno Haible  <bruno@clisp.org>
12868
12869         Avoid collision between gnulib wrapper and libintl wrapper.
12870         * lib/printf.c (printf): Don't define if a printf wrapper is already
12871         defined in intl/printf.c.
12872         Reported by Michel Boaventura <michel@michelboaventura.com>.
12873
12874 2010-03-25  Bruno Haible  <bruno@clisp.org>
12875
12876         Use ANSI C.
12877         * lib/readutmp.h (getutent): Provide ANSI C prototype.
12878
12879 2010-03-25  Bruno Haible  <bruno@clisp.org>
12880
12881         Minor formatting changes.
12882         * lib/acosl.c: Insert space before function argument list.
12883         * lib/argz.c: Likewise.
12884         * lib/asinl.c: Likewise.
12885         * lib/expl.c: Likewise.
12886         * lib/gen-uni-tables.c: Likewise.
12887         * lib/gettext.h: Likewise.
12888         * lib/glthread/lock.h: Likewise.
12889         * lib/tanl.c: Likewise.
12890         * lib/uniname/uniname.c: Likewise.
12891         * tests/test-idpriv-drop.c: Likewise.
12892         * tests/test-idpriv-droptemp.c: Likewise.
12893         * tests/test-lock.c: Likewise.
12894         * tests/test-tls.c: Likewise.
12895         * lib/argp-help.c: Insert space before function-like macro argument
12896         list.
12897         * lib/memcmp.c: Likewise.
12898         * tests/test-base64.c: Likewise.
12899         * lib/localename.c: Insert space before sizeof's argument list.
12900         * lib/safe-alloc.h: Likewise.
12901         * lib/file-set.h: Insert space before macro argument list.
12902         * tests/test-argp.c: Likewise.
12903         * lib/argp-namefrob.h: Insert space before function parameter list.
12904         * lib/getaddrinfo.c: Likewise.
12905         * lib/netdb.in.h: Likewise.
12906         * lib/parse-duration.h: Likewise.
12907         * lib/parse-duration.c: Likewise.
12908         * lib/poll.c: Likewise.
12909         * lib/select.c: Likewise.
12910         * lib/trim.h: Likewise.
12911         * tests/test-usleep.c: Likewise.
12912         * lib/ldexpl.c: Insert space before function parameter list and before
12913         function argument list.
12914         * lib/logl.c: Likewise.
12915         * lib/sqrtl.c: Likewise.
12916         * lib/trim.c: Likewise.
12917         * lib/cosl.c: Use GNU style indentation. Insert space before function
12918         argument list.
12919         * lib/sinl.c: Likewise.
12920         * lib/tsearch.c: Insert space after 'for'.
12921         Reported by Jim Meyering.
12922
12923 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
12924
12925         * maint.mk (sc_Wundef_boolean): Check for the presence of the
12926         config header before grepping, as it's not present before
12927         autoreconf/configure are run.  Reported by Simon Josefsson.
12928
12929 2010-03-23  Bruno Haible  <bruno@clisp.org>
12930
12931         pt_chown: Make it work with automake < 1.11.
12932         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
12933         Reported by Simon Josefsson.
12934
12935 2010-03-23  Bruno Haible  <bruno@clisp.org>
12936
12937         pt_chown: Don't depend on GPLed modules.
12938         * lib/pt_chown.c: Don't include idpriv.h.
12939         (main): Don't drop privileges.
12940         * modules/pt_chown (Depends-on): Remove idpriv-drop.
12941         Reported by Simon Josefsson.
12942
12943 2010-03-24  Simon Josefsson  <simon@josefsson.org>
12944
12945         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
12946         suggestions from karl@freefriends.org (Karl Berry).
12947
12948 2010-03-22  Eric Blake  <eblake@redhat.com>
12949
12950         gethostname: further tweaks
12951         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
12952         are overriding gethostname.
12953         Suggested by Bruno Haible.
12954
12955 2010-03-21  Bruno Haible  <bruno@clisp.org>
12956
12957         Fix comments.
12958         * lib/forkpty.c (rpl_forkpty): Fix comment.
12959         * lib/openpty.c (rpl_openpty): Likewise.
12960         Reported by Eric Blake.
12961
12962 2010-03-22  Eric Blake  <eblake@redhat.com>
12963
12964         gethostname: fix build on mingw
12965         * lib/unistd.in.h (includes): Work around fact that mingw
12966         <winsock2.h> re-includes <unistd.h>, by avoiding any
12967         redeclarations if we are being included by <winsock2.h>.
12968         Reported by Matthias Bolte.
12969
12970 2010-03-21  Bruno Haible  <bruno@clisp.org>
12971
12972         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
12973         * lib/forkpty.c (forkpty): New replacement function, from glibc with
12974         modifications.
12975         * lib/pty.in.h (forkpty): Update declaration. Add comments.
12976         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
12977         provide the replacement.
12978         * modules/forkpty (Depends-on): Add openpty, login_tty.
12979         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
12980         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
12981         * doc/glibc-functions/forkpty.texi: More supported platforms.
12982         * config/srclist.txt: Add forkpty.c (commented).
12983
12984 2010-03-21  Bruno Haible  <bruno@clisp.org>
12985
12986         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
12987         (Makefile.am): Verify that PTY_LIB is defined.
12988
12989         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
12990
12991 2010-03-21  Bruno Haible  <bruno@clisp.org>
12992
12993         Tests for module 'login_tty'.
12994         * modules/login_tty-tests: New file.
12995         * tests/test-login_tty.c: New file.
12996
12997         New module 'login_tty'.
12998         * lib/login_tty.c: New file.
12999         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
13000         * modules/login_tty: New file.
13001         * doc/glibc-functions/login_tty.texi: Mention the new module.
13002
13003 2010-03-21  Bruno Haible  <bruno@clisp.org>
13004
13005         login_tty: Documentation.
13006         * doc/glibc-functions/login_tty.texi: New file.
13007         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
13008
13009 2010-03-21  Bruno Haible  <bruno@clisp.org>
13010
13011         pty: Consistent macro naming.
13012         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
13013         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
13014         * modules/pty (configure.ac): Update.
13015
13016 2010-03-21  Bruno Haible  <bruno@clisp.org>
13017
13018         Tests for openpty: Make stricter.
13019         * tests/test-openpty.c (main): Add test of canonical processing and
13020         erase.
13021         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
13022
13023         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
13024         * lib/openpty.c (openpty): New replacement function.
13025         * lib/pty.in.h: Include <termios.h>.
13026         (openpty): Update declaration. Add comments.
13027         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
13028         is not declared, arrange to provide the replacement. Check for _getpty
13029         and posix_openpt.
13030         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
13031         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
13032         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
13033         * modules/pty-tests (test_pty_c___LDADD): New variable.
13034         * doc/glibc-functions/openpty.texi: More supported platforms.
13035
13036 2010-03-21  Bruno Haible  <bruno@clisp.org>
13037
13038         setenv: Tweaks.
13039         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
13040         the test program.
13041         * doc/posix-functions/setenv.texi: Update platforms list.
13042
13043 2010-03-21  Bruno Haible  <bruno@clisp.org>
13044
13045         New module 'unlockpt'.
13046         * lib/unlockpt.c: New file, from glibc with modifications.
13047         * m4/unlockpt.m4: New file.
13048         * modules/unlockpt: New file.
13049         * lib/stdlib.in.h (unlockpt): New declaration.
13050         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
13051         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
13052         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
13053         HAVE_UNLOCKPT.
13054         * doc/posix-functions/unlockpt.texi: Mention the new module.
13055         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
13056         * config/srclist.txt: Add unlockpt.c (commented).
13057
13058 2010-03-21  Jim Meyering  <meyering@redhat.com>
13059
13060         maint.mk: prohibit inclusion of "intprops.h" without use
13061         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
13062
13063 2010-03-21  Bruno Haible  <bruno@clisp.org>
13064
13065         New module 'grantpt'.
13066         * lib/grantpt.c: New file, from glibc with modifications.
13067         * m4/grantpt.m4: New file.
13068         * modules/grantpt: New file.
13069         * lib/stdlib.in.h (grantpt): New declaration.
13070         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
13071         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
13072         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
13073         HAVE_GRANTPT.
13074         * doc/posix-functions/grantpt.texi: Mention the new module.
13075         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
13076         * config/srclist.txt: Add grantpt.c (commented).
13077
13078 2010-03-21  Bruno Haible  <bruno@clisp.org>
13079
13080         New module 'pt_chown'.
13081         * lib/pt_chown.c: New file, from glibc with modifications.
13082         * lib/pty-private.h: New file, from glibc with modifications.
13083         * modules/pt_chown: New file.
13084         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
13085
13086 2010-03-21  Bruno Haible  <bruno@clisp.org>
13087
13088         Tests for module 'ptsname'.
13089         * modules/ptsname-tests: New file.
13090         * tests/test-ptsname.c: New file.
13091
13092         New module 'ptsname'.
13093         * lib/ptsname.c: New file, from glibc with modifications.
13094         * m4/ptsname.m4: New file.
13095         * modules/ptsname: New file.
13096         * lib/stdlib.in.h (ptsname): New declaration.
13097         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
13098         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
13099         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
13100         HAVE_PTSNAME.
13101         * doc/posix-functions/ptsname.texi: Mention the new module.
13102         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
13103         * config/srclist.txt: Add ptsname.c (commented).
13104
13105 2010-03-21  Bruno Haible  <bruno@clisp.org>
13106
13107         Tests for module 'ttyname_r'.
13108         * modules/ttyname_r-tests: New file.
13109         * tests/test-ttyname_r.c: New file.
13110
13111         New module 'ttyname_r'.
13112         * lib/ttyname_r.c: New file.
13113         * m4/ttyname_r.m4: New file.
13114         * modules/ttyname_r: New file.
13115         * lib/unistd.in.h (ttyname_r): New declaration.
13116         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
13117         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
13118         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
13119         HAVE_TTYNAME_R.
13120         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
13121         * doc/posix-functions/ttyname_r.texi: Mention the new module.
13122
13123 2010-03-20  Bruno Haible  <bruno@clisp.org>
13124
13125         signal: Undefine macro definitions in C++ mode.
13126         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
13127         sigfillset): Undefine macro definitions from the system header in C++
13128         mode.
13129         Reported by John W. Eaton <jwe@gnu.org>.
13130
13131 2010-03-20  Bruno Haible  <bruno@clisp.org>
13132
13133         Ensure no #include statements inside extern "C" { ... }.
13134         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
13135         contain #include statements.
13136         * lib/time.in.h: Likewise.
13137
13138 2010-03-20  Bruno Haible  <bruno@clisp.org>
13139
13140         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
13141         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
13142         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
13143         Reported by John W. Eaton <jwe@gnu.org>.
13144
13145 2010-03-20  Bruno Haible  <bruno@clisp.org>
13146
13147         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
13148         Reported by Jim Meyering.
13149
13150 2010-03-20  Bruno Haible  <bruno@clisp.org>
13151
13152         pipe: Set errno upon failure.
13153         * lib/pipe.h: Specify that when -1 is returned, errno is set.
13154         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
13155         errno value in error message.
13156
13157 2010-03-20  Bruno Haible  <bruno@clisp.org>
13158             Jim Meyering  <meyering@redhat.com>
13159
13160         lchown: Avoid "unused variable" warning.
13161         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
13162
13163 2010-03-20  Bruno Haible  <bruno@clisp.org>
13164
13165         Work around unlink() bug on MacOS X 10.5.6.
13166         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
13167         attempting to unlink a parent directory.
13168         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
13169         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
13170         activate for the replacement function.
13171         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
13172
13173 2010-03-20  Bruno Haible  <bruno@clisp.org>
13174
13175         Fix link errors on Solaris 8.
13176         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
13177         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
13178
13179 2010-03-19  Jim Meyering  <meyering@redhat.com>
13180
13181         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
13182         The _LIBC implementation of build_range_exp correctly honors the
13183         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
13184         However, the non-_LIBC implementation would ignore that syntax-bit
13185         flag and return REG_ERANGE unconditionally.
13186         This change makes it honor that flag.
13187         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
13188         Make two pointer parameters "const".
13189         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
13190         (parse_bracket_exp): Update caller.
13191
13192         regex.m4: correct the reversed range endpoint ([b-a]) test
13193         * m4/regex.m4: When requiring that [b-a] evoke failure,
13194         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
13195         test pass once again for x86-based systems.
13196
13197 2010-03-19  Bruno Haible  <bruno@clisp.org>
13198
13199         scandir: Fix link error on Solaris 8.
13200         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
13201         macros.
13202
13203 2010-03-19  Bruno Haible  <bruno@clisp.org>
13204
13205         getusershell: Fix documentation.
13206         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
13207         module.
13208         * doc/glibc-functions/setusershell.texi: Likewise.
13209
13210         getusershell: Provide declaration, missing on Solaris 9.
13211         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
13212         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
13213         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
13214         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
13215         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13216         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
13217         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
13218         HAVE_GETUSERSHELL.
13219         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
13220
13221 2010-03-19  Bruno Haible  <bruno@clisp.org>
13222
13223         wctype: Provide iswblank function.
13224         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
13225         exists and is fine.
13226         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
13227         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
13228         * tests/test-wctype.c (main): Re-enable the iswblank tests.
13229         * doc/posix-functions/iswblank.texi: Update.
13230
13231 2010-03-19  Bruno Haible  <bruno@clisp.org>
13232
13233         Tests of module 'pty' in C++ mode.
13234         * modules/pty-tests: New file.
13235         * tests/test-pty-c++.cc: New file.
13236         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
13237
13238 2010-03-19  Eric Blake  <eblake@redhat.com>
13239
13240         logb: fix documentation
13241         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
13242         1.5 declaration bug.
13243
13244         forkpty, openpty: prefer glibc's const-safe prototype
13245         * lib/forkpty.c (rpl_forkpty): New file.
13246         * lib/openpty.c (rpl_openpty): Likewise.
13247         * modules/forkpty (Files): Distribute it.
13248         * modules/openpty (Files): Likewise.
13249         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
13250         check...
13251         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
13252         replacement for for non-const BSD signature.
13253         * modules/pty (Makefile.am): Substitute witnesses.
13254         * lib/pty.in.h (forkpty, openpty): Declare replacements.
13255         * tests/test-forkpty.c: Update signature check.
13256         * tests/test-openpty.c: Likewise.
13257         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
13258         * doc/glibc-functions/openpty.texi (openpty): Likewise.
13259
13260         forkpty, openpty: split functions into new modules
13261         * modules/pty (Makefile.am): Substitute new witnesses.
13262         (Libraries): Move library detection...
13263         * modules/forkpty: ...into new module.
13264         * modules/openpty: Another new module.
13265         * modules/pty-tests: Rename and split...
13266         * modules/forkpty-tests: ...to this...
13267         * modules/openpty-tests: ...and this.
13268         * tests/test-pty.c: Rename and split...
13269         * tests/test-forkpty.c: ...to this...
13270         * tests/test-openpty.c: ...and this.
13271         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
13272         (gl_PTY): Split library searching...
13273         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
13274         (gl_FORKPTY, gl_OPENPTY): New macros.
13275         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
13276         * NEWS: Mention the split.
13277         * MODULES.html.sh (Misc): Document the modules.
13278         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
13279         * doc/glibc-functions/openpty.texi (openpty): Likewise.
13280
13281         pty: improve replacement header
13282         * lib/pty.in.h: New file.
13283         * modules/pty (Files): Ship it.
13284         (Makefile.am): Always build replacement.
13285         * m4/pty.m4: Rename...
13286         * m4/pty_h.m4: ...to this.
13287         (gl_PTY): Modernize setting of witness macros; update check of
13288         forkpty to take proper advantage of cache.
13289         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
13290
13291         getopt: avoid compiler warning
13292         * lib/getopt.c (attribute_hidden): Remove unused macro.
13293
13294 2010-03-18  Bruno Haible  <bruno@clisp.org>
13295
13296         Fix link errors on Solaris 8.
13297         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
13298         * modules/search-tests (test_search_c___LDADD): Likewise.
13299         * modules/signal-tests (test_signal_c___LDADD): Likewise.
13300         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
13301         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
13302         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
13303         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
13304         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
13305         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
13306
13307 2010-03-18  Bruno Haible  <bruno@clisp.org>
13308
13309         Fix bug introduced on 2010-03-14.
13310         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
13311         (gl_SPAWN_H): Require it.
13312         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
13313         Reported by Simon Josefsson.
13314
13315 2010-03-18  Bruno Haible  <bruno@clisp.org>
13316
13317         Fix typo introduced on 2009-12-31.
13318         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
13319         posix_spawn_file_actions_adddup2.
13320
13321 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
13322         and Eric Blake  <eblake@redhat.com>
13323
13324         test-vc-list-files-git: make more robust
13325         * tests/test-vc-list-files-git.sh: Unset problematic environment
13326         variables.  Chain commands together.
13327
13328 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
13329
13330         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
13331         `AC_CHECK_DECL' invocation.
13332
13333 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
13334
13335         * lib/inttostr.c (inttostr): Make sure the invocation of verify
13336         appears before executable statements. Suggested by Petr Sumbera
13337         <Petr.Sumbera@Sun.COM>.
13338
13339 2010-03-14  Bruno Haible  <bruno@clisp.org>
13340
13341         * tests/test-flock.c (test_exclusive): Comment out a test that causes
13342         portability problems. Instead use a simpler test.
13343         (main): Check that invalid arguments are rejected only on Linux.
13344
13345 2010-03-14  Bruno Haible  <bruno@clisp.org>
13346
13347         Fix bug introduced on 2009-12-31.
13348         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
13349         gl_PREREQ_SYS_H_WINSOCK2 always.
13350         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
13351         SYS_SOCKET_H variable.
13352         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
13353         Update comments.
13354         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
13355         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
13356         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
13357         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
13358         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
13359
13360 2010-03-14  Bruno Haible  <bruno@clisp.org>
13361
13362         Fix values returned by sinl, cosl.
13363         * lib/trigl.h: Add specification comments.
13364         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
13365         that combines the values from the precomputed table with the values of
13366         the Chebyshev polynomials.
13367
13368 2010-03-14  Bruno Haible  <bruno@clisp.org>
13369
13370         Fix compilation error when modules 'posix_spawn[p]' are not used.
13371         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
13372         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
13373
13374 2010-03-14  Bruno Haible  <bruno@clisp.org>
13375
13376         Fix compilation error on mingw when module 'time_r' is not used.
13377         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
13378         is 1.
13379         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
13380         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
13381         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
13382         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
13383
13384 2010-03-14  Bruno Haible  <bruno@clisp.org>
13385
13386         Fix compilation error with Sun C.
13387         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
13388         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
13389         instead of GCC specific ULONG_LONG_MAX.
13390         * lib/xstrtoll.c: Likewise.
13391         * lib/xstrtoull.c: Likewise.
13392
13393 2010-03-13  Bruno Haible  <bruno@clisp.org>
13394
13395         Allow the user to disable C++ code and tests.
13396         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
13397         (gl_PROG_ANSI_CXX): Require it.
13398
13399 2010-03-13  Bruno Haible  <bruno@clisp.org>
13400
13401         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
13402         cases.
13403
13404 2010-03-13  Bruno Haible  <bruno@clisp.org>
13405
13406         Test that gnulib does not break the standard C++ headers.
13407         * tests/test-locale-c++2.cc: New file.
13408         * modules/locale-tests (Files): Add it.
13409         (Makefile.am): Compile it for test-locale-c++.
13410         * tests/test-math-c++2.cc: New file.
13411         * modules/math-tests (Files): Add it.
13412         (Makefile.am): Compile it for test-math-c++.
13413         * tests/test-signal-c++2.cc: New file.
13414         * modules/signal-tests (Files): Add it.
13415         (Makefile.am): Compile it for test-signal-c++.
13416         * tests/test-stdio-c++2.cc: New file.
13417         * modules/stdio-tests (Files): Add it.
13418         (Makefile.am): Compile it for test-stdio-c++.
13419         * tests/test-stdlib-c++2.cc: New file.
13420         * modules/stdlib-tests (Files): Add it.
13421         (Makefile.am): Compile it for test-stdlib-c++.
13422         * tests/test-string-c++2.cc: New file.
13423         * modules/string-tests (Files): Add it.
13424         (Makefile.am): Compile it for test-string-c++.
13425         * tests/test-time-c++2.cc: New file.
13426         * modules/time-tests (Files): Add it.
13427         (Makefile.am): Compile it for test-time-c++.
13428         Reported by John W. Eaton <jwe@gnu.org>.
13429
13430 2010-03-13  Bruno Haible  <bruno@clisp.org>
13431
13432         * gnulib-tool (func_usage): Clarify which options are available for
13433         --create-testdir and --create-megatestdir.
13434
13435 2010-03-13  Bruno Haible  <bruno@clisp.org>
13436
13437         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
13438         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
13439         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
13440         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
13441         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
13442         when appropriate.
13443         Reported by Jim Meyering.
13444
13445 2010-03-12  Simon Josefsson  <simon@josefsson.org>
13446
13447         * gnulib-tool (func_import): Explain origin of code.
13448
13449 2010-03-12  Bruno Haible  <bruno@clisp.org>
13450
13451         Fix problem with automake's definition of CXXLINK.
13452         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
13453         Reported by Simon Josefsson and Ludovic Courtès.
13454
13455 2010-03-12  Bruno Haible  <bruno@clisp.org>
13456
13457         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
13458         stable releases.
13459
13460 2010-03-11  Bruno Haible  <bruno@clisp.org>
13461
13462         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
13463         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
13464         whether the system provides one variant or multiple variants of the
13465         function.
13466         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
13467         C++ compilers.
13468         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
13469         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
13470         Reported by Jim Meyering.
13471
13472 2010-03-09  Simon Josefsson  <simon@josefsson.org>
13473
13474         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
13475
13476 2010-03-08  Bruno Haible  <bruno@clisp.org>
13477
13478         gnulib-tool: Add support for --libtool in --create-testdir.
13479         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
13480         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
13481
13482 2010-03-08  Eric Blake  <eblake@redhat.com>
13483
13484         gnulib-tool.texi: mention possibility of git submodule
13485         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
13486         submodules.
13487         * doc/.gitignore: Ignore another generated file.
13488
13489 2010-03-08  Karl Berry  <karl@gnu.org>
13490
13491         * doc/gnulib-tool.texi (VCS Issues): Mention third option
13492         of committing gnulib files while skipping others.
13493
13494 2010-03-07  Bruno Haible  <bruno@clisp.org>
13495
13496         Tests of module 'wctype' in C++ mode.
13497         * tests/test-wctype-c++.cc: New file.
13498         * modules/wctype-tests (Files): Add it and tests/signature.h.
13499         (Depends-on): Add ansi-c++-opt.
13500         (Makefile.am): Arrange to compile and run test-wctype-c++.
13501
13502         Tests of module 'wchar' in C++ mode.
13503         * tests/test-wchar-c++.cc: New file.
13504         * modules/wchar-tests (Files): Add it and tests/signature.h.
13505         (Depends-on): Add ansi-c++-opt.
13506         (Makefile.am): Arrange to compile and run test-wchar-c++.
13507         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
13508         gl_MODULE_INDICATOR.
13509
13510         Tests of module 'unistd' in C++ mode.
13511         * tests/test-unistd-c++.cc: New file.
13512         * modules/unistd-tests (Files): Add it and tests/signature.h.
13513         (Depends-on): Add ansi-c++-opt.
13514         (Makefile.am): Arrange to compile and run test-unistd-c++.
13515         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
13516         gl_MODULE_INDICATOR.
13517
13518         Tests of module 'time' in C++ mode.
13519         * tests/test-time-c++.cc: New file.
13520         * modules/time-tests (Files): Add it and tests/signature.h.
13521         (Depends-on): Add ansi-c++-opt.
13522         (Makefile.am): Arrange to compile and run test-time-c++.
13523         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
13524
13525         Tests of module 'sys_time' in C++ mode.
13526         * tests/test-sys_time-c++.cc: New file.
13527         * modules/sys_time-tests (Files): Add it and tests/signature.h.
13528         (Depends-on): Add ansi-c++-opt.
13529         (Makefile.am): Arrange to compile and run test-sys_time-c++.
13530         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
13531         gl_MODULE_INDICATOR.
13532
13533         Tests of module 'sys_stat' in C++ mode.
13534         * tests/test-sys_stat-c++.cc: New file.
13535         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
13536         (Depends-on): Add ansi-c++-opt.
13537         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
13538         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
13539         gl_MODULE_INDICATOR.
13540
13541         Tests of module 'sys_socket' in C++ mode.
13542         * tests/test-sys_socket-c++.cc: New file.
13543         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
13544         (Depends-on): Add ansi-c++-opt.
13545         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
13546         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
13547         gl_MODULE_INDICATOR.
13548
13549         Tests of module 'sys_select' in C++ mode.
13550         * tests/test-sys_select-c++.cc: New file.
13551         * modules/sys_select-tests (Files): Add it and tests/signature.h.
13552         (Depends-on): Add ansi-c++-opt.
13553         (Makefile.am): Arrange to compile and run test-sys_select-c++.
13554         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
13555         gl_MODULE_INDICATOR.
13556
13557         Tests of module 'sys_ioctl' in C++ mode.
13558         * tests/test-sys_ioctl-c++.cc: New file.
13559         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
13560         (Depends-on): Add ansi-c++-opt.
13561         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
13562         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
13563         gl_MODULE_INDICATOR.
13564
13565         Tests of module 'string' in C++ mode.
13566         * tests/test-string-c++.cc: New file.
13567         * modules/string-tests (Files): Add it and tests/signature.h.
13568         (Depends-on): Add ansi-c++-opt.
13569         (Makefile.am): Arrange to compile and run test-string-c++.
13570         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
13571         gl_MODULE_INDICATOR.
13572
13573         Tests of module 'stdlib' in C++ mode.
13574         * tests/test-stdlib-c++.cc: New file.
13575         * modules/stdlib-tests (Files): Add it and tests/signature.h.
13576         (Depends-on): Add ansi-c++-opt.
13577         (Makefile.am): Arrange to compile and run test-stdlib-c++.
13578         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
13579         gl_MODULE_INDICATOR.
13580
13581         Tests of module 'stdio' in C++ mode.
13582         * tests/test-stdio-c++.cc: New file.
13583         * modules/stdio-tests (Files): Add it and tests/signature.h.
13584         (Depends-on): Add ansi-c++-opt.
13585         (Makefile.am): Arrange to compile and run test-stdio-c++.
13586         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
13587         gl_MODULE_INDICATOR.
13588
13589         Tests of module 'spawn' in C++ mode.
13590         * tests/test-spawn-c++.cc: New file.
13591         * modules/spawn-tests (Files): Add it and tests/signature.h.
13592         (Depends-on): Add ansi-c++-opt.
13593         (Makefile.am): Arrange to compile and run test-spawn-c++.
13594         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
13595         gl_MODULE_INDICATOR.
13596
13597         Tests of module 'signal' in C++ mode.
13598         * tests/test-signal-c++.cc: New file.
13599         * modules/signal-tests (Files): Add it and tests/signature.h.
13600         (Depends-on): Add ansi-c++-opt.
13601         (Makefile.am): Arrange to compile and run test-signal-c++.
13602         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
13603         gl_MODULE_INDICATOR.
13604
13605         Tests of module 'search' in C++ mode.
13606         * tests/test-search-c++.cc: New file.
13607         * modules/search-tests (Files): Add it and tests/signature.h.
13608         (Depends-on): Add ansi-c++-opt.
13609         (Makefile.am): Arrange to compile and run test-search-c++.
13610         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
13611         gl_MODULE_INDICATOR.
13612
13613         Tests of module 'math' in C++ mode.
13614         * tests/test-math-c++.cc: New file.
13615         * modules/math-tests (Files): Add it and tests/signature.h.
13616         (Depends-on): Add ansi-c++-opt.
13617         (Makefile.am): Arrange to compile and run test-math-c++.
13618         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
13619
13620         Tests of module 'locale' in C++ mode.
13621         * tests/test-locale-c++.cc: New file.
13622         * modules/locale-tests (Files): Add it and tests/signature.h.
13623         (Depends-on): Add ansi-c++-opt.
13624         (Makefile.am): Arrange to compile and run test-locale-c++.
13625         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
13626         gl_MODULE_INDICATOR.
13627
13628         Tests of module 'langinfo' in C++ mode.
13629         * tests/test-langinfo-c++.cc: New file.
13630         * modules/langinfo-tests (Files): Add it and tests/signature.h.
13631         (Depends-on): Add ansi-c++-opt.
13632         (Makefile.am): Arrange to compile and run test-langinfo-c++.
13633         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
13634         gl_MODULE_INDICATOR.
13635
13636         Tests of module 'iconv-h' in C++ mode.
13637         * tests/test-iconv-h-c++.cc: New file.
13638         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
13639         (Depends-on): Add ansi-c++-opt.
13640         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
13641
13642         Tests of module 'glob' in C++ mode.
13643         * tests/test-glob-c++.cc: New file.
13644         * modules/glob-tests (Files): Add it.
13645         (Depends-on): Add ansi-c++-opt.
13646         (Makefile.am): Arrange to compile and run test-glob-c++.
13647
13648         Tests of module 'fcntl-h' in C++ mode.
13649         * tests/test-fcntl-h-c++.cc: New file.
13650         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
13651         (Depends-on): Add ansi-c++-opt.
13652         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
13653         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
13654         gl_MODULE_INDICATOR.
13655
13656         Tests of module 'dirent' in C++ mode.
13657         * tests/test-dirent-c++.cc: New file.
13658         * modules/dirent-tests (Files): Add it and tests/signature.h.
13659         (Depends-on): Add ansi-c++-opt.
13660         (Makefile.am): Arrange to compile and run test-dirent-c++.
13661         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
13662         gl_MODULE_INDICATOR.
13663
13664         New module 'ansi-c++-opt'.
13665         * modules/ansi-c++-opt: New file.
13666         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
13667
13668         Document C++ namespace mode.
13669         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
13670
13671         wctype: Avoid #define replacements in C++ mode.
13672         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
13673         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
13674         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
13675         In C++, define a namespaced alias symbol.
13676         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
13677         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
13678         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
13679         rule.
13680
13681         wchar: Avoid #define replacements in C++ mode.
13682         * lib/wchar.in.h: Include c++defs.h.
13683         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
13684         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
13685         symbol.
13686         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
13687         * modules/wchar (Depends-on): Add c++defs.
13688         (Makefile.am): Update wchar.h rule.
13689
13690         unistd: Avoid #define replacements in C++ mode.
13691         * lib/unistd.in.h: Include c++defs.h.
13692         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
13693         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
13694         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
13695         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
13696         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
13697         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
13698         symbol.
13699         (environ): Update.
13700         * modules/unistd (Depends-on): Add c++defs.
13701         (Makefile.am): Update unistd.h rule.
13702
13703         time: Avoid #define replacements in C++ mode.
13704         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
13705         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
13706         define a namespaced alias symbol.
13707         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
13708         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
13709         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
13710         * modules/time (Depends-on): Add c++defs, warn-on-use.
13711         (Makefile.am): Update time.h rule.
13712         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
13713         * modules/nanosleep (configure.ac): Likewise.
13714         * modules/strptime (configure.ac): Likewise.
13715         * modules/timegm (configure.ac): Likewise.
13716
13717         sys_time: Avoid #define replacements in C++ mode.
13718         * lib/sys_time.in.h: Include c++defs.h.
13719         (gettimeofday): In C++, define a namespaced alias symbol.
13720         * modules/sys_time (Depends-on): Add c++defs.
13721         (Makefile.am): Update sys/time.h rule.
13722
13723         sys_stat: Avoid #define replacements in C++ mode.
13724         * lib/sys_stat.in.h: Include c++defs.h.
13725         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
13726         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
13727         namespaced alias symbol.
13728         In C++, define a namespaced alias symbol.
13729         * modules/sys_stat (Depends-on): Add c++defs.
13730         (Makefile.am): Update sys/stat.h rule.
13731
13732         sys_socket: Avoid #define replacements in C++ mode.
13733         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
13734         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
13735         definitions also when the system has a <sys/socket.h>.
13736         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
13737         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
13738         In C++, define a namespaced alias symbol.
13739         * modules/sys_socket (Depends-on): Add c++defs.
13740         (Makefile.am): Update sys/socket.h rule.
13741
13742         sys_select: Avoid #define replacements in C++ mode.
13743         * lib/sys_select.in.h: Include c++defs.h. Enable the function
13744         definitions also when the system has a <sys/select.h>.
13745         (select): In C++, define a namespaced alias symbol.
13746         * modules/sys_select (Depends-on): Add c++defs.
13747         (Makefile.am): Update sys/select.h rule.
13748
13749         sys_ioctl: Avoid #define replacements in C++ mode.
13750         * lib/sys_ioctl.in.h: Include c++defs.h.
13751         (ioctl): In C++, define a namespaced alias symbol.
13752         * modules/sys_ioctl (Depends-on): Add c++defs.
13753         (Makefile.am): Update sys/ioctl.h rule.
13754
13755         string: Avoid #define replacements in C++ mode.
13756         * lib/string.in.h: Include c++defs.h.
13757         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
13758         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
13759         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
13760         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
13761         strsignal, strverscmp): In C++, define a namespaced alias symbol.
13762         * modules/string (Depends-on): Add c++defs.
13763         (Makefile.am): Update string.h rule.
13764
13765         stdlib: Avoid #define replacements in C++ mode.
13766         * lib/stdlib.in.h: Include c++defs.h.
13767         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
13768         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
13769         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
13770         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
13771         symbol.
13772         * modules/stdlib (Depends-on): Add c++defs.
13773         (Makefile.am): Update stdlib.h rule.
13774
13775         stdio: Avoid #define replacements in C++ mode.
13776         * lib/stdio.in.h: Include c++defs.h.
13777         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
13778         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
13779         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
13780         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
13781         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
13782         namespaced alias symbol.
13783         * modules/stdio (Depends-on): Add c++defs.
13784         (Makefile.am): Update stdio.h rule.
13785
13786         spawn: Avoid #define replacements in C++ mode.
13787         * lib/spawn.in.h: Include c++defs.h.
13788         (posix_spawn, posix_spawnp, posix_spawnattr_init,
13789         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
13790         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
13791         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
13792         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
13793         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
13794         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
13795         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
13796         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
13797         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
13798         In C++, define a namespaced alias symbol.
13799         * modules/spawn (Depends-on): Add c++defs.
13800         (Makefile.am): Update spawn.h rule.
13801
13802         signal: Avoid #define replacements in C++ mode.
13803         * lib/signal.in.h: Include c++defs.h.
13804         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
13805         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
13806         namespaced alias symbol.
13807         * modules/signal (Depends-on): Add c++defs.
13808         (Makefile.am): Update signal.h rule.
13809
13810         search: Avoid #define replacements in C++ mode.
13811         * lib/search.in.h: Include c++defs.h.
13812         (_gl_search_compar_fn, _gl_search_action_fn): New types.
13813         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
13814         symbol.
13815         * modules/search (Depends-on): Add c++defs.
13816         (Makefile.am): Update search.h rule.
13817
13818         math: Avoid #define replacements in C++ mode.
13819         * lib/math.in.h: Include c++defs.h.
13820         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
13821         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
13822         trunc, truncl): In C++, define a namespaced alias symbol.
13823         * modules/math (Depends-on): Add c++defs.
13824         (Makefile.am): Update math.h rule.
13825
13826         locale: Avoid #define replacements in C++ mode.
13827         * lib/locale.in.h: Include c++defs.h.
13828         (duplocale): In C++, define a namespaced alias symbol.
13829         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
13830         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
13831         * modules/locale (Depends-on): Add c++defs.
13832         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
13833
13834         langinfo: Avoid #define replacements in C++ mode.
13835         * lib/langinfo.in.h: Include c++defs.h.
13836         (nl_langinfo): In C++, define a namespaced alias symbol.
13837         * modules/langinfo (Depends-on): Add c++defs.
13838         (Makefile.am): Update langinfo.h rule.
13839
13840         iconv-h: Avoid #define replacements in C++ mode.
13841         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
13842         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
13843         symbol.
13844         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
13845         whenever iconv is present.
13846         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
13847         (Makefile.am): Update iconv.h rule.
13848
13849         glob: Avoid #define replacements in C++ mode.
13850         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
13851         (_gl_glob_errfunc_fn): New type.
13852         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
13853         symbol.
13854         * modules/glob (Depends-on): Add c++defs, warn-on-use.
13855         (Makefile.am): Update glob.h rule.
13856
13857         fcntl-h: Avoid #define replacements in C++ mode.
13858         * lib/fcntl.in.h: Include c++defs.h.
13859         (fcntl, open, openat): In C++, define a namespaced alias symbol.
13860         * modules/fcntl-h (Depends-on): Add c++defs.
13861         (Makefile.am): Update fcntl.h rule.
13862
13863         dirent: Avoid #define replacements in C++ mode.
13864         * lib/dirent.in.h: Include c++defs.h.
13865         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
13866         namespaced alias symbol.
13867         (dirfd): Update declaration.
13868         * modules/dirent (Depends-on): Add c++defs.
13869         (Makefile.am): Update dirent.h rule.
13870
13871         ctype: Make it usable in C++ code.
13872         * lib/ctype.in.h: Include c++defs.h.
13873         (isblank): Declare as extern "C".
13874         * modules/ctype (Depends-on): Add c++defs.
13875         (Makefile.am): Update ctype.h rule.
13876
13877         New module 'c++defs'.
13878         * modules/c++defs: New file.
13879         * build-aux/c++defs.h: New file.
13880         Reported by John W. Eaton <jwe@gnu.org>.
13881
13882 2010-03-07  Bruno Haible  <bruno@clisp.org>
13883
13884         logb: Provide missing declaration for Cygwin.
13885         * lib/math.in.h (logb): New declaration.
13886         * m4/logb.m4: New file.
13887         * modules/logb (Files): Add m4/logb.m4.
13888         (Depends-on): Add math.
13889         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
13890         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
13891         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
13892         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
13893         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
13894
13895 2010-03-07  Bruno Haible  <bruno@clisp.org>
13896
13897         Fix test-cond link error.
13898         * tests/test-cond.c: Include <stdio.h>.
13899
13900 2010-03-07  Bruno Haible  <bruno@clisp.org>
13901
13902         Fix test-dirent-safer link error.
13903         * modules/dirent-safer-tests (Makefile.am): Define
13904         test_dirent_safer_LDADD.
13905
13906 2010-03-07  Bruno Haible  <bruno@clisp.org>
13907
13908         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
13909         among default module list.
13910
13911 2010-03-07  Bruno Haible  <bruno@clisp.org>
13912
13913         Fix link error on platforms with GNU libiconv.
13914         * modules/unistr/u8-strcoll-tests (Makefile): Define
13915         test_u8_strcoll_LDADD.
13916         * modules/unistr/u16-strcoll-tests (Makefile): Define
13917         test_u16_strcoll_LDADD.
13918         * modules/unistr/u32-strcoll-tests (Makefile): Define
13919         test_u32_strcoll_LDADD.
13920
13921 2010-03-07  Bruno Haible  <bruno@clisp.org>
13922
13923         Use POSIX declarations for socket functions.
13924         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
13925         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
13926         rpl_sendto): Change declaration to match POSIX.
13927         * lib/connect.c (rpl_connect): Likewise.
13928         * lib/accept.c (rpl_accept): Likewise.
13929         * lib/bind.c (rpl_bind): Likewise.
13930         * lib/getpeername.c (rpl_getpeername): Likewise.
13931         * lib/getsockname.c (rpl_getsockname): Likewise.
13932         * lib/recv.c (rpl_recv): Likewise.
13933         * lib/send.c (rpl_send): Likewise.
13934         * lib/recvfrom.c (rpl_recvfrom): Likewise.
13935         * lib/sendto.c (rpl_sendto): Likewise.
13936
13937 2010-03-06  Bruno Haible  <bruno@clisp.org>
13938
13939         Clarify access, euidaccess, faccessat.
13940         * doc/posix-functions/faccessat.texi: Mention security problem under
13941         "Other problems", not "Portability problems".
13942         * doc/posix-functions/access.texi: Likewise. Mention a related security
13943         problem.
13944         * doc/glibc-functions/euidaccess.texi: Mention security problems.
13945         * lib/euidaccess.c: Add comments about platforms.
13946         * lib/unistd.in.h (access, euidaccess): Add warnings.
13947
13948 2010-03-07  Bruno Haible  <bruno@clisp.org>
13949
13950         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
13951         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
13952         (POSIX_SPAWN_SETSCHEDULER): Likewise.
13953         (POSIX_SPAWN_USEVFORK): Define in a way that works when
13954         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
13955         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
13956         declare when POSIX_SPAWN_SETSCHEDULER is zero.
13957         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
13958         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
13959         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
13960         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
13961         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
13962         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
13963         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
13964         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
13965         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
13966         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
13967         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
13968         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
13969         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
13970         Likewise.
13971         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
13972         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
13973         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
13974         Likewise.
13975         * tests/test-spawn.c (main): Make it work when
13976         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
13977
13978 2010-03-07  Bruno Haible  <bruno@clisp.org>
13979
13980         Fix incorrect Makefile.am generation in German locale.
13981         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
13982         Execute sed command with character range in C locale.
13983
13984 2010-03-06  Bruno Haible  <bruno@clisp.org>
13985
13986         Tests for module 'iconv-h'.
13987         * modules/iconv-h-tests: New file.
13988         * tests/test-iconv-h.c: New file.
13989
13990         New module 'iconv-h'.
13991         * modules/iconv-h: New file.
13992         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
13993         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
13994         (configure.ac): Remove gl_ICONV_H.
13995         (Makefile.am): Remove rule for iconv.h.
13996
13997 2010-03-06  Bruno Haible  <bruno@clisp.org>
13998
13999         More consistent naming of *.m4 files.
14000         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
14001         * modules/wctype (Files): Update.
14002
14003         More consistent naming of *.m4 files.
14004         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
14005         * modules/wchar (Files): Update.
14006
14007 2010-03-06  Jim Meyering  <meyering@redhat.com>
14008
14009         euidaccess: relax license to LGPLv2+
14010         * modules/euidaccess (License): Relax to LGPLv2+.
14011
14012 2010-03-06  Bruno Haible  <bruno@clisp.org>
14013
14014         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
14015         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
14016         (Makefile.am): Augment lib_SOURCES instead.
14017
14018 2010-03-04  Jim Meyering  <meyering@redhat.com>
14019
14020         utime: remove obsolete module
14021         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
14022         unnecessary for years, and has been marked as obsolete for 10 months.
14023         * modules/utime: Remove file.
14024         * lib/utime.c: Remove file.
14025         * m4/utime.m4: Remove file.
14026         * m4/utimes-null.m4: Remove file.
14027         * doc/posix-functions/utime.texi (utime): Remove reference to
14028         the module.  Move the sole "fixed by gnulib" item into the
14029         "problems not fixed by Gnulib" list.
14030         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
14031
14032 2010-03-05  Simon Josefsson  <simon@josefsson.org>
14033
14034         * modules/exit (License): Relax license to LGPLv2+.
14035         (Status): Mark as obsolete.
14036         * NEWS: Mention deprecated 'exit' module.
14037         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
14038         of now obsolete 'exit'.
14039
14040 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14041
14042         fts-lgpl: remove unused module
14043         * modules/fts-lgpl: Remove.
14044         * MODULES.html.sh (func_all_modules): Adjust.
14045         * check-module (find_included_lib_files): Adjust.
14046         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
14047
14048 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
14049
14050         copy-acl: enhance Solaris ACL error handling
14051         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
14052         * lib/set-mode-acl.c (qset_acl): Likewise.
14053
14054 2010-03-02  Bruno Haible  <bruno@clisp.org>
14055
14056         spawn: Don't override the system defined values on FreeBSD 8.
14057         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
14058         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
14059         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
14060         if HAVE_POSIX_SPAWN is 1.
14061         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
14062
14063 2010-03-01  Bruno Haible  <bruno@clisp.org>
14064
14065         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
14066         regarding Automake.
14067
14068 2010-02-25  Bruno Haible  <bruno@clisp.org>
14069
14070         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
14071         * gnulib-tool: Define 'echo' as a function only before the ksh alias
14072         setting, not afterwards.
14073         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
14074
14075 2010-02-24  Eric Blake  <eblake@redhat.com>
14076
14077         bootstrap, git-version-gen: use timestamp
14078         * build-aux/git-version-gen (scriptversion): Force UTC.
14079         * build-aux/bootstrap (scriptversion): New variable.
14080
14081         bootstrap: allow older git
14082         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
14083         older than 1.6.4.  Requested by the libvirt project.
14084
14085 2010-02-23  Eric Blake  <eblake@redhat.com>
14086
14087         warn-on-use: work with old autoconf
14088         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
14089         AS_VAR semantics of autoconf 2.60.
14090         Reported by Bruno Haible.
14091
14092         bootstrap: improve some comments
14093         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
14094         clarification comments.
14095
14096         gettimeofday: provide correct function
14097         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
14098         when replacement is declared, otherwise provide gettimeofday.
14099         Reported by Michael Goffioul.
14100
14101 2010-02-23  Jim Meyering  <meyering@redhat.com>
14102
14103         lib-ignore: relax license to "unlimited", not LGPLv2+
14104         * modules/lib-ignore (License): Relax to "unlimited".
14105
14106 2010-02-23  Jim Meyering  <meyering@redhat.com>
14107
14108         lib-ignore: relax license to LGPLv2+
14109         * modules/lib-ignore (License): Relax to LGPLv2+.
14110
14111 2010-02-22  Eric Blake  <eblake@redhat.com>
14112
14113         lseek: avoid bash 3.2 broken pipe bug
14114         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
14115         warning from bash 3.2.
14116         Reported by Ben Pfaff, with analysis from Bruno Haible.
14117
14118         bootstrap: support non-FSF copyright holder
14119         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
14120         bootstrap.conf override of COPYRIGHT_HOLDER.
14121         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
14122
14123         bootstrap: interoperate with gettext 0.14.1
14124         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
14125
14126         bootstrap: allow for alternate submodule location
14127         * build-aux/bootstrap (gnulib_path): New variable; use instead of
14128         hardcoding submodule location.
14129         (gnulib_mk): Allow direct use of Makefile.am.
14130
14131         bootstrap: use GNULIB_SRCDIR to reduce disk usage
14132         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
14133         rather than reconfiguring where the submodule points.
14134
14135         gettimeofday: restore support for platforms that lack function
14136         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
14137         replacement if function is missing.
14138         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
14139         * modules/sys_time (Makefile.am): Substitute it.
14140         * lib/sys_time.in.h (gettimeofday): Check it.
14141         Reported by Michael Goffioul.
14142
14143 2010-02-21  Bruno Haible  <bruno@clisp.org>
14144
14145         * lib/stdio.in.h (obstack_printf): Fix typo.
14146
14147 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
14148
14149         vc-list-files: use bzr ls's -R option
14150         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
14151         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
14152
14153 2010-02-21  Jim Meyering  <meyering@redhat.com>
14154
14155         init.sh: fix EXEEXT shims to work also for names like test-prog
14156         * tests/init.sh: Re-exec a better shell, when needed.
14157         If the current shell lacks support for posix $(...), an init.sh-using
14158         test will now try to find a shell that supports that.  If EXEEXT is
14159         nonempty, we also require support for hyphen-in-alias-name and shell
14160         substitutions like ${var#glob}.  Failure to find such a shell results
14161         in a skipped test.
14162
14163 2010-02-21  Bruno Haible  <bruno@clisp.org>
14164
14165         Really work around around "broken pipe" error message from bash 3.2.
14166         * gnulib-tool (func_reset_sigpipe): Remove function.
14167         (echo): In bash 3.2, define to a function that uses printf.
14168         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
14169
14170 2010-02-20  Bruno Haible  <bruno@clisp.org>
14171
14172         Restore support for automake 1.9.6 with autoconf 2.61.
14173         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
14174         Reported by James Youngman <jay@gnu.org>.
14175
14176 2010-02-20  Bruno Haible  <bruno@clisp.org>
14177
14178         Improve *printf warning condition.
14179         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
14180         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
14181         and the function is overridden due to SIGPIPE emulation.
14182
14183 2010-02-20  Bruno Haible  <bruno@clisp.org>
14184
14185         * lib/stdio.in.h: Tweak comments.
14186
14187 2010-02-19  Bruno Haible  <bruno@clisp.org>
14188
14189         Make it easier to find modules. New gnulib-tool option '--find'.
14190         * gnulib-tool: New option --find.
14191         (func_usage): Document it.
14192         (func_sanitize_modulelist): New function, extracted from
14193         func_all_modules.
14194         (func_all_modules): Invoke it.
14195         * doc/gnulib-tool.texi (Which modules?): New node.
14196
14197 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
14198
14199         * lib/sys_select.in.h: Provide select replacement even if
14200         sys/select.h exists on a system, for Interix.
14201
14202 2010-02-18  Jim Meyering  <meyering@redhat.com>
14203
14204         init.sh: don't use $(...) just yet
14205         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
14206         to accommodate e.g., Solaris' /bin/sh.
14207
14208 2010-02-17  Bruno Haible  <bruno@clisp.org>
14209
14210         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
14211         Reported by Ludovic Courtès <ludo@gnu.org>.
14212
14213 2010-02-16  Simon Josefsson  <simon@josefsson.org>
14214
14215         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
14216         linking with -lintl.
14217
14218 2010-02-17  Simon Josefsson  <simon@josefsson.org>
14219
14220         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
14221         if not provided by the system's netdb.h.  Reported by
14222         ludo@gnu.org (Ludovic Courtès).
14223
14224 2010-02-15  Jim Meyering  <meyering@redhat.com>
14225
14226         init.sh: improve portability and efficiency
14227         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
14228         "dummy" in a for loop.
14229         Use '!', not '^' to select the complement of a character set used
14230         in a "case" statement.
14231         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
14232         Suggestions from Eric Blake.
14233
14234         init.sh: automatically accommodate programs with the .exe suffix
14235         Automatically arrange for an invocation of "prog" to execute the
14236         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
14237         may use the simpler "prog", yet still work when built on a system
14238         that requires specifying the added suffix.
14239         Do this by constructing a function named "prog" that invokes
14240         "prog.exe" for each .exe file in selected directories.
14241         * tests/init.sh (find_exe_basenames_): New function.
14242         (create_exe_shim_functions_): New function.
14243         (path_prepend_): Use it.
14244
14245         maint.mk: mark syntax-check sc_*.m rules as .PHONY
14246         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
14247         "make -t syntax-check" doesn't create a ton of sc_*.m files.
14248
14249 2010-02-14  Jim Meyering  <meyering@redhat.com>
14250
14251         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
14252         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
14253         (sc_prohibit_hash_pjw_without_use): New rule.
14254
14255         maint.mk: allow the default upload destination dir to be overridden
14256         * top/maint.mk (upload_dest_dir_): Define with a default that
14257         preserves the status quo.
14258         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
14259         Reported by Peter Simons.
14260
14261         maint.mk: prohibit inclusion of "hash.h" without_use
14262         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
14263
14264 2010-02-10  Jim Meyering  <meyering@redhat.com>
14265
14266         maint.mk: prohibit inclusion of "ignore-value.h" without_use
14267         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
14268
14269 2010-02-09  Eric Blake  <ebb9@byu.net>
14270         and Bruno Haible  <bruno@clisp.org>
14271
14272         obstack-printf-posix: ensure declaration
14273         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
14274         extracted from gl_FUNC_OBSTACK_PRINTF.
14275         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
14276         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
14277         Likewise.
14278         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
14279         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
14280         0.
14281
14282 2010-02-08  Bruno Haible  <bruno@clisp.org>
14283
14284         gnulib-tool: Fix typo in 2010-02-07 commit.
14285         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
14286         Reported by Eric Blake.
14287
14288 2010-02-07  Bruno Haible  <bruno@clisp.org>
14289
14290         gnulib-tool: Fix up caching patches.
14291         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
14292         option --no-cache. Use associative arrays when supported by the shell.
14293         (sed_comments): New variable.
14294         (modcache): Renamed from do_cache.
14295         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
14296         abbreviate unnecessarily.
14297         (have_associative): New variable.
14298         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
14299         way also for ksh and zsh.
14300         (func_init_sed_convert_to_cache_statements): New function, extracted
14301         from func_cache_lookup_module. Add support for associative arrays.
14302         Don't set the c_MODULE_cached variable here. Ignore all lines before
14303         the first field header. Remove only the final newline, not all trailing
14304         newlines. Support empty fields correctly. Limit the use of 'eval' to
14305         assignments.
14306         (func_get_description, func_get_status, func_get_notice,
14307         func_get_applicability, func_get_filelist, func_get_dependencies,
14308         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
14309         func_get_automake_snippet, func_get_include_directive,
14310         func_get_link_directive, func_get_license, func_get_maintainer):
14311         Update documentation. List the unoptimized code first. Add support for
14312         associative arrays. Limit the use of 'eval' to assignments.
14313         (func_get_applicability): Undo stylistic pessimisations.
14314         (func_get_automake_snippet, func_get_include_directive): Reduce code
14315         duplication.
14316         (func_modules_transitive_closure, func_modules_add_dummy,
14317         func_modules_notice, func_modules_to_filelist, func_add_file,
14318         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
14319         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
14320         func_create_testdir, func_create_megatestdir): Update documentation.
14321
14322 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14323
14324         * gnulib-tool (func_cache_lookup_module): Store the module name
14325         belonging to the cache variable; error out if two different
14326         module names map to the same cache variable name.
14327
14328 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14329
14330         gnulib-tool: Make caching optional.
14331         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
14332         Update matching short versions of --no-changelog.
14333         (func_usage): Update.
14334         (sed_extract_cache_prog): Renamed from ...
14335         (sed_extract_prog): ... this; revert to old extraction script.
14336         (func_get_description, func_get_status)
14337         (func_get_notice, func_get_applicability, func_get_filelist)
14338         (func_get_dependencies, func_get_autoconf_early_snippet)
14339         (func_get_autoconf_snippet, func_get_automake_snippet)
14340         (func_get_include_directive, func_get_link_directive)
14341         (func_get_license, func_get_maintainer): If $do_cache is false,
14342         use old, non-caching extraction scripts.
14343         Suggestion by Bruno Haible.
14344
14345 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14346
14347         gnulib-tool: cache module metainformation.
14348         * gnulib-tool (sed_extract_prog): Match newline before each
14349         header, and rewrite header to a shell variable suffix.
14350         (func_cache_var, func_cache_lookup_module): New functions,
14351         to turn a module name into a cache variable prefix, and to
14352         look up and cache module metainformation.
14353         (func_get_description, func_get_status)
14354         (func_get_notice, func_get_applicability, func_get_filelist)
14355         (func_get_dependencies, func_get_autoconf_early_snippet)
14356         (func_get_autoconf_snippet, func_get_automake_snippet)
14357         (func_get_include_directive, func_get_link_directive)
14358         (func_get_license, func_get_maintainer): Use
14359         func_cache_lookup_module.
14360
14361 2010-02-07  Bruno Haible  <bruno@clisp.org>
14362
14363         fnctl: Fix missing dependency.
14364         * modules/fcntl (Depends-on): Add getdtablesize.
14365         Reported by John W. Eaton <jwe@gnu.org>.
14366
14367 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
14368
14369         Argp: fix recognition of short alias options.
14370
14371         * lib/argp-parse.c (convert_options): Fix improper use of
14372         `|' between character values.
14373         * tests/test-argp.c (group1_option): New alias option
14374         --read (-r).
14375         (group1_parser): Special handling for 'r'.
14376         (test15): New test case.
14377         (test_fun): Add test15.
14378         * tests/test-argp-2.sh: Update expected --help and --usage
14379         outputs.
14380
14381 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
14382
14383         * tests/test-argp.c: Fix indentation.
14384
14385 2010-02-04  Eric Blake  <ebb9@byu.net>
14386
14387         gettimeofday: expose type of second argument
14388         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
14389         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
14390         * tests/test-gettimeofday.c: Use it to silence warning.
14391         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
14392         the issue.
14393
14394 2010-02-03  Jim Meyering  <meyering@redhat.com>
14395
14396         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
14397         * lib/regcomp.c (TYPE_SIGNED): Define.
14398         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
14399
14400         regcomp.c: avoid a new -Wshadow warning
14401         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
14402
14403 2010-02-01  Jim Meyering  <meyering@redhat.com>
14404
14405         removing useless parentheses in cpp #define directives
14406         For motivation, see commit c0221df4, "define STREQ(a,b)
14407         consistently, removing useless parentheses"
14408         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
14409         * lib/mountlist.c (MNT_IGNORE): Likewise.
14410         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
14411
14412 2010-02-01  Eric Blake  <ebb9@byu.net>
14413
14414         sys_time: use link-warning
14415         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
14416         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
14417         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
14418         * modules/sys_time (Depends-on): Add warn-on-use.
14419         (Makefile.am): Always build replacement.
14420         (configure.ac): Update substitutions.
14421         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
14422         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
14423         bother with SYS_TIME_H.
14424         * modules/gettimeofday (configure.ac): Declare indicator.
14425         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
14426         in use.
14427
14428         closein-tests: silence compiler warning
14429         * tests/test-closein.c (main): Ignore fread result.
14430         * modules/closein-tests (Depends-on): Add ignore-value.
14431
14432         tests: silence warning about system return
14433         * tests/test-areadlink-with-size.c (main): Ignore system result.
14434         * tests/test-areadlink.c (main): Likewise.
14435         * tests/test-areadlinkat-with-size.c (main): Likewise.
14436         * tests/test-areadlinkat.c (main): Likewise.
14437         * tests/test-canonicalize-lgpl.c (main): Likewise.
14438         * tests/test-canonicalize.c (main): Likewise.
14439         * tests/test-chown.c (main): Likewise.
14440         * tests/test-fchownat.c (main): Likewise.
14441         * tests/test-fdutimensat.c (main): Likewise.
14442         * tests/test-fstatat.c (main): Likewise.
14443         * tests/test-futimens.c (main): Likewise.
14444         * tests/test-lchown.c (main): Likewise.
14445         * tests/test-link.c (main): Likewise.
14446         * tests/test-linkat.c (main): Likewise.
14447         * tests/test-lstat.c (main): Likewise.
14448         * tests/test-mkdir.c (main): Likewise.
14449         * tests/test-mkdirat.c (main): Likewise.
14450         * tests/test-mkfifo.c (main): Likewise.
14451         * tests/test-mkfifoat.c (main): Likewise.
14452         * tests/test-mknod.c (main): Likewise.
14453         * tests/test-readlink.c (main): Likewise.
14454         * tests/test-remove.c (main): Likewise.
14455         * tests/test-rename.c (main): Likewise.
14456         * tests/test-renameat.c (main): Likewise.
14457         * tests/test-rmdir.c (main): Likewise.
14458         * tests/test-symlink.c (main): Likewise.
14459         * tests/test-symlinkat.c (main): Likewise.
14460         * tests/test-unlink.c (main): Likewise.
14461         * tests/test-unlinkat.c (main): Likewise.
14462         * tests/test-utimens.c (main): Likewise.
14463         * tests/test-utimensat.c (main): Likewise.
14464         * modules/areadlink-tests (Depends-on): Add ignore-value.
14465         * modules/areadlink-with-size-tests (Depends-on): Likewise.
14466         * modules/areadlinkat-tests (Depends-on): Likewise.
14467         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
14468         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
14469         * modules/canonicalize-tests (Depends-on): Likewise.
14470         * modules/chown-tests (Depends-on): Likewise.
14471         * modules/fdutimensat-tests (Depends-on): Likewise.
14472         * modules/futimens-tests (Depends-on): Likewise.
14473         * modules/lchown-tests (Depends-on): Likewise.
14474         * modules/link-tests (Depends-on): Likewise.
14475         * modules/linkat-tests (Depends-on): Likewise.
14476         * modules/lstat-tests (Depends-on): Likewise.
14477         * modules/mkdir-tests (Depends-on): Likewise.
14478         * modules/mkfifo-tests (Depends-on): Likewise.
14479         * modules/mkfifoat-tests (Depends-on): Likewise.
14480         * modules/mknod-tests (Depends-on): Likewise.
14481         * modules/openat-tests (Depends-on): Likewise.
14482         * modules/readlink-tests (Depends-on): Likewise.
14483         * modules/remove-tests (Depends-on): Likewise.
14484         * modules/rename-tests (Depends-on): Likewise.
14485         * modules/renameat-tests (Depends-on): Likewise.
14486         * modules/rmdir-tests (Depends-on): Likewise.
14487         * modules/symlink-tests (Depends-on): Likewise.
14488         * modules/symlinkat-tests (Depends-on): Likewise.
14489         * modules/unlink-tests (Depends-on): Likewise.
14490         * modules/utimens-tests (Depends-on): Likewise.
14491         * modules/utimensat-tests (Depends-on): Likewise.
14492
14493 2010-01-31  Bruno Haible  <bruno@clisp.org>
14494
14495         Perform the same test for many <math.h> functions.
14496         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
14497         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
14498         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
14499         of gl_MATHFUNC.
14500         * modules/acos (configure.ac): Likewise.
14501         * modules/asin (configure.ac): Likewise.
14502         * modules/atan (configure.ac): Likewise.
14503         * modules/atan2 (configure.ac): Likewise.
14504         * modules/cbrt (configure.ac): Likewise.
14505         * modules/copysign (configure.ac): Likewise.
14506         * modules/cos (configure.ac): Likewise.
14507         * modules/cosh (configure.ac): Likewise.
14508         * modules/erf (configure.ac): Likewise.
14509         * modules/erfc (configure.ac): Likewise.
14510         * modules/exp (configure.ac): Likewise.
14511         * modules/fmod (configure.ac): Likewise.
14512         * modules/hypot (configure.ac): Likewise.
14513         * modules/j0 (configure.ac): Likewise.
14514         * modules/j1 (configure.ac): Likewise.
14515         * modules/jn (configure.ac): Likewise.
14516         * modules/lgamma (configure.ac): Likewise.
14517         * modules/log (configure.ac): Likewise.
14518         * modules/log10 (configure.ac): Likewise.
14519         * modules/log1p (configure.ac): Likewise.
14520         * modules/pow (configure.ac): Likewise.
14521         * modules/remainder (configure.ac): Likewise.
14522         * modules/sin (configure.ac): Likewise.
14523         * modules/sinh (configure.ac): Likewise.
14524         * modules/tan (configure.ac): Likewise.
14525         * modules/tanh (configure.ac): Likewise.
14526         * modules/y0 (configure.ac): Likewise.
14527         * modules/y1 (configure.ac): Likewise.
14528         * modules/yn (configure.ac): Likewise.
14529         Suggested by Paolo Bonzini.
14530
14531 2010-01-31  Bruno Haible  <bruno@clisp.org>
14532
14533         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
14534
14535 2010-01-31  Bruno Haible  <bruno@clisp.org>
14536
14537         Work around getdelim() bug on FreeBSD 8.0.
14538         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
14539         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
14540         not work.
14541         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
14542         is 1.
14543         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
14544         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
14545         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
14546         a non-zero size.
14547         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
14548
14549 2010-01-31  Bruno Haible  <bruno@clisp.org>
14550
14551         Work around getline() bug on FreeBSD 8.0.
14552         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
14553         and a non-zero size.
14554         * tests/test-getline.c (main): Likewise.
14555         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
14556         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
14557
14558 2010-01-28  Eric Blake  <ebb9@byu.net>
14559
14560         regex: fix build failure
14561         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
14562         platforms.
14563
14564 2010-01-28  Jim Meyering  <meyering@redhat.com>
14565
14566         regex: do not ignore memory allocation failure
14567         * lib/regex_internal.c (create_cd_newstate): Detect
14568         re_node_set_init_copy failure.   Extracted from glibc commit
14569         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
14570
14571         regex: sync more white-space changes from libc
14572         * lib/regex_internal.c: White-space only changes.
14573         * lib/regexec.c: Likewise.
14574
14575         regex: add many uses of __attribute_warn_unused_result__
14576         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
14577         * lib/regexec.c: Likewise.
14578         Extracted from a messy glibc commit.
14579
14580         regcomp.c: spelling and merge-artifact from glibc
14581         * lib/regcomp.c: Merge remainder of glibc's
14582         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
14583
14584         regcomp.c: sync white-space changes from glibc
14585         * lib/regcomp.c: Merge to accommodate white space
14586         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
14587
14588         regcomp.c: do not ignore internal return values
14589         * lib/regcomp.c: Do not ignore internal return values.
14590         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
14591         but without its white-space changes and spelling fixes.
14592
14593         regex_internal.h: define __attribute_warn_unused_result__
14594         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
14595
14596         maint: add a syntax-check rule to check for vulnerable Makefile.in
14597         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
14598
14599 2010-01-27  Jim Meyering  <meyering@redhat.com>
14600
14601         ncftpput-ftp: clean up spaces
14602         * build-aux/ncftpput-ftp: Make Copyright line consistent.
14603         Remove trailing blanks.
14604
14605 2010-01-27  Simon Josefsson  <simon@josefsson.org>
14606
14607         * build-aux/git-version-gen: Fix copyright statement.
14608         * build-aux/gnupload: Likewise.
14609         * tests/test-arcfour.c: Likewise.
14610         * tests/test-arctwo.c: Likewise.
14611         * tests/test-count-one-bits.c: Likewise.
14612         * tests/test-crc.c: Likewise.
14613         * tests/test-des.c: Likewise.
14614         * tests/test-gc-arcfour.c: Likewise.
14615         * tests/test-gc-arctwo.c: Likewise.
14616         * tests/test-gc-des.c: Likewise.
14617         * tests/test-gc-hmac-md5.c: Likewise.
14618         * tests/test-gc-hmac-sha1.c: Likewise.
14619         * tests/test-gc-md2.c: Likewise.
14620         * tests/test-gc-md4.c: Likewise.
14621         * tests/test-gc-md5.c: Likewise.
14622         * tests/test-gc-pbkdf2-sha1.c: Likewise.
14623         * tests/test-gc-rijndael.c: Likewise.
14624         * tests/test-gc-sha1.c: Likewise.
14625         * tests/test-gc.c: Likewise.
14626         * tests/test-gethostname.c: Likewise.
14627         * tests/test-gettimeofday.c: Likewise.
14628         * tests/test-hash.c: Likewise.
14629         * tests/test-hmac-md5.c: Likewise.
14630         * tests/test-hmac-sha1.c: Likewise.
14631         * tests/test-md2.c: Likewise.
14632         * tests/test-md4.c: Likewise.
14633         * tests/test-md5.c: Likewise.
14634         * tests/test-memchr.c: Likewise.
14635         * tests/test-memchr2.c: Likewise.
14636         * tests/test-memcmp.c: Likewise.
14637         * tests/test-memmem.c: Likewise.
14638         * tests/test-memrchr.c: Likewise.
14639         * tests/test-rawmemchr.c: Likewise.
14640         * tests/test-read-file.c: Likewise.
14641         * tests/test-rijndael.c: Likewise.
14642         * tests/test-sockets.c: Likewise.
14643         * tests/test-strchrnul.c: Likewise.
14644         * tests/test-strstr.c: Likewise.
14645         * tests/test-strtod.c: Likewise.
14646         * build-aux/ncftpput-ftp: Likewise.
14647
14648 2010-01-26  Eric Blake  <ebb9@byu.net>
14649
14650         ignore-value: update recommended header name
14651         * modules/ignore-value (Include): Only use <> for headers that
14652         exist in glibc.
14653
14654 2010-01-26  Jim Meyering  <meyering@redhat.com>
14655
14656         test-userspec.c: avoid compiler warnings
14657         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
14658         and "initialization discards qualifiers..." warnings.
14659         Put the first "uid" in its own scope, and make char* members "const".
14660
14661 2010-01-25  Bruno Haible  <bruno@clisp.org>
14662
14663         gnulib-tool: Make warning diagnostics consistent.
14664         * gnulib-tool (func_warning): New function.
14665         Use it everywhere where gnulib-tool produces output to stderr and it is
14666         not a fatal error.
14667
14668 2010-01-25  Bruno Haible  <bruno@clisp.org>
14669
14670         Fix test dependencies.
14671         * modules/xstrtol-tests (Depends-on): Add inttypes.
14672         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
14673
14674 2010-01-25 Pádraig Brady <P@draigBrady.com>
14675
14676         syntax-check: detect incorrect boolean macro values in config.h
14677         * modules/maintainer-makefile (configure.ac): Parameterize the location
14678         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
14679         The logic is from Eric Blake and the location indicated by Jim Meyering.
14680         Note the more natural CONFIG_HEADER name is prohibited by automake
14681         for backwards compatibility reasons.
14682         * top/maint.mk (sc_Wundef_boolean): New rule.
14683
14684 2010-01-25  Jim Meyering  <meyering@redhat.com>
14685
14686         bootstrap: detect MacOS 10.6's shasum, too
14687         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
14688         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
14689
14690 2010-01-23  Jim Meyering  <meyering@redhat.com>
14691
14692         xstrtoll: new module
14693         * modules/xstrtoll: New file.
14694         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
14695         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
14696         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
14697         ./configure fails if you use this module and lack "long long".
14698         * modules/xstrtoll-tests: New module.
14699         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
14700         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
14701         new init.sh-based test framework.
14702
14703 2010-01-24  Bruno Haible  <bruno@clisp.org>
14704
14705         Tests for module 'yn'.
14706         * modules/yn-tests: New file.
14707         * tests/test-yn.c: New file.
14708
14709         Tests for module 'y1'.
14710         * modules/y1-tests: New file.
14711         * tests/test-y1.c: New file.
14712
14713         Tests for module 'y0'.
14714         * modules/y0-tests: New file.
14715         * tests/test-y0.c: New file.
14716
14717         Tests for module 'tanh'.
14718         * modules/tanh-tests: New file.
14719         * tests/test-tanh.c: New file.
14720
14721         Tests for module 'tan'.
14722         * modules/tan-tests: New file.
14723         * tests/test-tan.c: New file.
14724
14725         Tests for module 'sqrt'.
14726         * modules/sqrt-tests: New file.
14727         * tests/test-sqrt.c: New file.
14728
14729         Tests for module 'sinh'.
14730         * modules/sinh-tests: New file.
14731         * tests/test-sinh.c: New file.
14732
14733         Tests for module 'sin'.
14734         * modules/sin-tests: New file.
14735         * tests/test-sin.c: New file.
14736
14737         Tests for module 'rint'.
14738         * modules/rint-tests: New file.
14739         * tests/test-rint.c: New file.
14740
14741         Tests for module 'remainder'.
14742         * modules/remainder-tests: New file.
14743         * tests/test-remainder.c: New file.
14744
14745         Tests for module 'pow'.
14746         * modules/pow-tests: New file.
14747         * tests/test-pow.c: New file.
14748
14749         Tests for module 'nextafter'.
14750         * modules/nextafter-tests: New file.
14751         * tests/test-nextafter.c: New file.
14752
14753         Tests for module 'modf'.
14754         * modules/modf-tests: New file.
14755         * tests/test-modf.c: New file.
14756
14757         Tests for module 'logb'.
14758         * modules/logb-tests: New file.
14759         * tests/test-logb.c: New file.
14760
14761         Tests for module 'log1p'.
14762         * modules/log1p-tests: New file.
14763         * tests/test-log1p.c: New file.
14764
14765         Tests for module 'log10'.
14766         * modules/log10-tests: New file.
14767         * tests/test-log10.c: New file.
14768
14769         Tests for module 'log'.
14770         * modules/log-tests: New file.
14771         * tests/test-log.c: New file.
14772
14773         Tests for module 'lgamma'.
14774         * modules/lgamma-tests: New file.
14775         * tests/test-lgamma.c: New file.
14776
14777         Tests for module 'ldexp'.
14778         * modules/ldexp-tests: New file.
14779         * tests/test-ldexp.c: New file.
14780
14781         Tests for module 'jn'.
14782         * modules/jn-tests: New file.
14783         * tests/test-jn.c: New file.
14784
14785         Tests for module 'j1'.
14786         * modules/j1-tests: New file.
14787         * tests/test-j1.c: New file.
14788
14789         Tests for module 'j0'.
14790         * modules/j0-tests: New file.
14791         * tests/test-j0.c: New file.
14792
14793         Tests for module 'hypot'.
14794         * modules/hypot-tests: New file.
14795         * tests/test-hypot.c: New file.
14796
14797         Tests for module 'fmod'.
14798         * modules/fmod-tests: New file.
14799         * tests/test-fmod.c: New file.
14800
14801         Tests for module 'fabs'.
14802         * modules/fabs-tests: New file.
14803         * tests/test-fabs.c: New file.
14804
14805         Tests for module 'exp'.
14806         * modules/exp-tests: New file.
14807         * tests/test-exp.c: New file.
14808
14809         Tests for module 'erfc'.
14810         * modules/erfc-tests: New file.
14811         * tests/test-erfc.c: New file.
14812
14813         Tests for module 'erf'.
14814         * modules/erf-tests: New file.
14815         * tests/test-erf.c: New file.
14816
14817         Tests for module 'cosh'.
14818         * modules/cosh-tests: New file.
14819         * tests/test-cosh.c: New file.
14820
14821         Tests for module 'cos'.
14822         * modules/cos-tests: New file.
14823         * tests/test-cos.c: New file.
14824
14825         Tests for module 'copysign'.
14826         * modules/copysign-tests: New file.
14827         * tests/test-copysign.c: New file.
14828
14829         Tests for module 'cbrt'.
14830         * modules/cbrt-tests: New file.
14831         * tests/test-cbrt.c: New file.
14832
14833         Tests for module 'atan2'.
14834         * modules/atan2-tests: New file.
14835         * tests/test-atan2.c: New file.
14836
14837         Tests for module 'atan'.
14838         * modules/atan-tests: New file.
14839         * tests/test-atan.c: New file.
14840
14841         Tests for module 'asin'.
14842         * modules/asin-tests: New file.
14843         * tests/test-asin.c: New file.
14844
14845         Tests for module 'acos'.
14846         * modules/acos-tests: New file.
14847         * tests/test-acos.c: New file.
14848
14849 2010-01-24  Bruno Haible  <bruno@clisp.org>
14850
14851         Fix tests for common <math.h> functions.
14852         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
14853         code snippet that references the function pointer, rather than merely
14854         calling the function. Substitute the FUNC_LIBM variable.
14855         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
14856         * modules/acos (configure.ac): Likewise.
14857         * modules/asin (configure.ac): Likewise.
14858         * modules/atan (configure.ac): Likewise.
14859         * modules/atan2 (configure.ac): Likewise.
14860         * modules/cbrt (configure.ac): Likewise.
14861         * modules/copysign (configure.ac): Likewise.
14862         * modules/cos (configure.ac): Likewise.
14863         * modules/cosh (configure.ac): Likewise.
14864         * modules/erf (configure.ac): Likewise.
14865         * modules/erfc (configure.ac): Likewise.
14866         * modules/exp (configure.ac): Likewise.
14867         * modules/fabs (configure.ac): Likewise.
14868         * modules/fmod (configure.ac): Likewise.
14869         * modules/hypot (configure.ac): Likewise.
14870         * modules/j0 (configure.ac): Likewise.
14871         * modules/j1 (configure.ac): Likewise.
14872         * modules/jn (configure.ac): Likewise.
14873         * modules/ldexp (configure.ac): Likewise.
14874         * modules/lgamma (configure.ac): Likewise.
14875         * modules/log (configure.ac): Likewise.
14876         * modules/log10 (configure.ac): Likewise.
14877         * modules/log1p (configure.ac): Likewise.
14878         * modules/logb (configure.ac): Likewise.
14879         * modules/modf (configure.ac): Likewise.
14880         * modules/nextafter (configure.ac): Likewise.
14881         * modules/pow (configure.ac): Likewise.
14882         * modules/remainder (configure.ac): Likewise.
14883         * modules/rint (configure.ac): Likewise.
14884         * modules/sin (configure.ac): Likewise.
14885         * modules/sinh (configure.ac): Likewise.
14886         * modules/tan (configure.ac): Likewise.
14887         * modules/tanh (configure.ac): Likewise.
14888         * modules/y0 (configure.ac): Likewise.
14889         * modules/y1 (configure.ac): Likewise.
14890         * modules/yn (configure.ac): Likewise.
14891
14892 2010-01-24  Bruno Haible  <bruno@clisp.org>
14893
14894         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
14895         * tests/test-acosl.c (x): New variable.
14896         (main): Store argument in x and fetch it from x.
14897         * tests/test-asinl.c (x): New variable.
14898         (main): Store argument in x and fetch it from x.
14899         * tests/test-atanl.c (x): New variable.
14900         (main): Store argument in x and fetch it from x.
14901         * tests/test-cosl.c (x): New variable.
14902         (main): Store argument in x and fetch it from x.
14903         * tests/test-expl.c (x): New variable.
14904         (main): Store argument in x and fetch it from x.
14905         * tests/test-logl.c (x): New variable.
14906         (main): Store argument in x and fetch it from x.
14907         * tests/test-sinl.c (x): New variable.
14908         (main): Store argument in x and fetch it from x.
14909         * tests/test-sqrtl.c (x): New variable.
14910         (main): Store argument in x and fetch it from x.
14911         * tests/test-tanl.c (x): New variable.
14912         (main): Store argument in x and fetch it from x.
14913
14914 2010-01-24  Bruno Haible  <bruno@clisp.org>
14915
14916         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
14917         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
14918         assignments to the initial TESTS_ENVIRONMENT.
14919         * doc/gnulib.texi (Unit test modules): Document it.
14920         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
14921         TESTS_ENVIRONMENT.
14922         * modules/btowc-tests (Makefile.am): Likewise.
14923         * modules/c-stack-tests (Makefile.am): Likewise.
14924         * modules/c-strcase-tests (Makefile.am): Likewise.
14925         * modules/copy-file-tests (Makefile.am): Likewise.
14926         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
14927         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
14928         * modules/mbrtowc-tests (Makefile.am): Likewise.
14929         * modules/mbscasecmp-tests (Makefile.am): Likewise.
14930         * modules/mbscasestr-tests (Makefile.am): Likewise.
14931         * modules/mbschr-tests (Makefile.am): Likewise.
14932         * modules/mbscspn-tests (Makefile.am): Likewise.
14933         * modules/mbsinit-tests (Makefile.am): Likewise.
14934         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
14935         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
14936         * modules/mbspbrk-tests (Makefile.am): Likewise.
14937         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
14938         * modules/mbsrchr-tests (Makefile.am): Likewise.
14939         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
14940         * modules/mbsspn-tests (Makefile.am): Likewise.
14941         * modules/mbsstr-tests (Makefile.am): Likewise.
14942         * modules/nl_langinfo-tests (Makefile.am): Likewise.
14943         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
14944         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
14945         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
14946         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
14947         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
14948         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
14949         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
14950         * modules/wcrtomb-tests (Makefile.am): Likewise.
14951         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
14952         * modules/wcsrtombs-tests (Makefile.am): Likewise.
14953         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
14954         assignments from TESTS_ENVIRONMENT.
14955         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
14956         augmentation.
14957         * modules/argp-version-etc-tests (Makefile.am): Likewise.
14958         * modules/atexit-tests (Makefile.am): Likewise.
14959         * modules/binary-io-tests (Makefile.am): Likewise.
14960         * modules/closein-tests (Makefile.am): Likewise.
14961         * modules/dprintf-posix-tests (Makefile.am): Likewise.
14962         * modules/exclude-tests (Makefile.am): Likewise.
14963         * modules/fflush-tests (Makefile.am): Likewise.
14964         * modules/fpending-tests (Makefile.am): Likewise.
14965         * modules/fprintf-posix-tests (Makefile.am): Likewise.
14966         * modules/freadahead-tests (Makefile.am): Likewise.
14967         * modules/freadptr-tests (Makefile.am): Likewise.
14968         * modules/freadseek-tests (Makefile.am): Likewise.
14969         * modules/fseek-tests (Makefile.am): Likewise.
14970         * modules/fseeko-tests (Makefile.am): Likewise.
14971         * modules/ftell-tests (Makefile.am): Likewise.
14972         * modules/ftello-tests (Makefile.am): Likewise.
14973         * modules/idpriv-drop-tests (Makefile.am): Likewise.
14974         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
14975         * modules/lseek-tests (Makefile.am): Likewise.
14976         * modules/parse-duration-tests (Makefile.am): Likewise.
14977         * modules/perror-tests (Makefile.am): Likewise.
14978         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
14979         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
14980         * modules/pipe-tests (Makefile.am): Likewise.
14981         * modules/pread-tests (Makefile.am): Likewise.
14982         * modules/printf-posix-tests (Makefile.am): Likewise.
14983         * modules/select-tests (Makefile.am): Likewise.
14984         * modules/sigpipe-tests (Makefile.am): Likewise.
14985         * modules/tsearch-tests (Makefile.am): Likewise.
14986         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
14987         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
14988         * modules/uniname/uniname-tests (Makefile.am): Likewise.
14989         * modules/uniwidth/width-tests (Makefile.am): Likewise.
14990         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
14991         * modules/version-etc-tests (Makefile.am): Likewise.
14992         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
14993         * modules/vprintf-posix-tests (Makefile.am): Likewise.
14994         * modules/xalloc-die-tests (Makefile.am): Likewise.
14995         * modules/xprintf-posix-tests (Makefile.am): Likewise.
14996         * modules/xstrtoimax-tests (Makefile.am): Likewise.
14997         * modules/xstrtol-tests (Makefile.am): Likewise.
14998         * modules/xstrtoumax-tests (Makefile.am): Likewise.
14999         * modules/yesno-tests (Makefile.am): Likewise.
15000         Suggested by Jim Meyering.
15001
15002 2010-01-24  Bruno Haible  <bruno@clisp.org>
15003
15004         More documentation.
15005         * doc/gnulib.texi (Writing modules): New chapter.
15006         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
15007         the new chapter.
15008
15009 2010-01-24  Jim Meyering  <meyering@redhat.com>
15010
15011         maint.mk: do not prepend "./" after filtering
15012         * top/maint.mk (_prepend_srcdir_prefix): New variable
15013         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
15014         "./" when $(srcdir) is ".".
15015
15016         define STREQ(a,b) consistently, removing useless parentheses
15017         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
15018         since the only risk is that "a" or "b" contains an unparenthesized
15019         comma, but if either did that, STREQ would have 3 or more arguments.
15020         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
15021         * lib/fts.c (STREQ): Remove unnecessary parentheses.
15022         * lib/hash-triple.c (STREQ): Likewise.
15023         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
15024         * lib/getugroups.c (STREQ): Likewise.
15025
15026 2010-01-23  Jim Meyering  <meyering@redhat.com>
15027
15028         maint.mk: fix syntax-check in a non-srcdir build directory
15029         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
15030         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
15031
15032 2010-01-22  Jim Meyering  <meyering@redhat.com>
15033
15034         userspec: add unit tests
15035         * tests/test-userspec.c: New file.
15036         * modules/userspec-tests: Likewise.
15037
15038 2010-01-21  Jim Meyering  <meyering@redhat.com>
15039
15040         maint.mk: handle source file names containing "." robustly
15041         * top/maint.mk (_dot_escaped_srcdir): Define.
15042         (VC_LIST): Use it in LHS of sed substitution.
15043
15044 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
15045
15046         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
15047         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
15048         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
15049         from a non-srcdir build.
15050
15051 2010-01-20  Eric Blake  <ebb9@byu.net>
15052
15053         warn-on-use: use instead of link-warning
15054         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
15055         * modules/unistd (Depends-on, Makefile.am): Likewise.
15056         * modules/arpa_inet (Depends-on): Replace link-warning with
15057         warn-on-use.
15058         (Makefile.am): Update rules accordingly.
15059         * modules/ctype (Depends-on, Makefile.am): Likewise.
15060         * modules/dirent (Depends-on, Makefile.am): Likewise.
15061         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
15062         * modules/inttypes (Depends-on, Makefile.am): Likewise.
15063         * modules/langinfo (Depends-on, Makefile.am): Likewise.
15064         * modules/locale (Depends-on, Makefile.am): Likewise.
15065         * modules/math (Depends-on, Makefile.am): Likewise.
15066         * modules/search (Depends-on, Makefile.am): Likewise.
15067         * modules/signal (Depends-on, Makefile.am): Likewise.
15068         * modules/spawn (Depends-on, Makefile.am): Likewise.
15069         * modules/stdlib (Depends-on, Makefile.am): Likewise.
15070         * modules/string (Depends-on, Makefile.am): Likewise.
15071         * modules/strings (Depends-on, Makefile.am): Likewise.
15072         * modules/sys_file (Depends-on, Makefile.am): Likewise.
15073         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
15074         * modules/sys_select (Depends-on, Makefile.am): Likewise.
15075         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
15076         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
15077         * modules/sys_times (Depends-on, Makefile.am): Likewise.
15078         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
15079         * modules/wchar (Depends-on, Makefile.am): Likewise.
15080         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
15081         should be poisoned.
15082         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
15083         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
15084         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
15085         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
15086         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
15087         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
15088         * m4/math_h.m4 (gl_MATH_H): Likewise.
15089         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
15090         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
15091         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
15092         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
15093         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
15094         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
15095         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
15096         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
15097         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
15098         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
15099         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
15100         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
15101         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
15102         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15103         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
15104         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
15105         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
15106         GL_LINK_WARNING.
15107         * lib/ctype.in.h: Likewise.
15108         * lib/dirent.in.h: Likewise.
15109         * lib/fcntl.in.h: Likewise.
15110         * lib/inttypes.in.h: Likewise.
15111         * lib/langinfo.in.h: Likewise.
15112         * lib/locale.in.h: Likewise.
15113         * lib/math.in.h: Likewise.
15114         * lib/search.in.h: Likewise.
15115         * lib/signal.in.h: Likewise.
15116         * lib/spawn.in.h: Likewise.
15117         * lib/stdio.in.h: Likewise.
15118         * lib/stdlib.in.h: Likewise.
15119         * lib/string.in.h: Likewise.
15120         * lib/strings.in.h: Likewise.
15121         * lib/sys_file.in.h: Likewise.
15122         * lib/sys_ioctl.in.h: Likewise.
15123         * lib/sys_select.in.h: Likewise.
15124         * lib/sys_socket.in.h: Likewise.
15125         * lib/sys_stat.in.h: Likewise.
15126         * lib/sys_times.in.h: Likewise.
15127         * lib/sys_utsname.in.h: Likewise.
15128         * lib/unistd.in.h: Likewise.
15129         * lib/wchar.in.h: Likewise.
15130
15131 2010-01-20  Bruno Haible  <bruno@clisp.org>
15132
15133         Avoid duplicate -lm.
15134         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
15135         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
15136         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
15137         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
15138         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
15139         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
15140         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
15141         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
15142         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
15143         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
15144         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
15145         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
15146         Reported by Paolo Bonzini.
15147
15148 2010-01-19  Bruno Haible  <bruno@clisp.org>
15149
15150         langinfo, nl_langinfo: Relicense under LGPLv2+.
15151         * modules/langinfo (License): Change to LGPLv2+.
15152         * modules/nl_langinfo (License): Likewise.
15153         Patch by David Lutterkort <lutter@redhat.com>.
15154
15155 2010-01-19  Bruno Haible  <bruno@clisp.org>
15156
15157         Avoid compilation error with cc on OSF/1 5.1.
15158         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
15159         statement, not before.
15160         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15161
15162 2010-01-18  Bruno Haible  <bruno@clisp.org>
15163
15164         Avoid a link error due to the __printf__ symbol.
15165         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
15166         and 2.6.x.
15167         (__format__, __printf__): Remove definitions.
15168         * lib/argp-fmtstream.h: Likewise.
15169         * lib/argp.h: Likewise.
15170         * lib/error.h: Likewise.
15171         * lib/vasnprintf.h: Likewise.
15172         * lib/xprintf.h: Likewise.
15173         * lib/xvasprintf.h: Likewise.
15174         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15175
15176 2010-01-18  Bruno Haible  <bruno@clisp.org>
15177
15178         Tests for module 'tanl'.
15179         * modules/tanl-tests: New file.
15180         * tests/test-tanl.c: New file.
15181
15182         Tests for module 'sqrtl'.
15183         * modules/sqrtl-tests: New file.
15184         * tests/test-sqrtl.c: New file.
15185
15186         Tests for module 'sinl'.
15187         * modules/sinl-tests: New file.
15188         * tests/test-sinl.c: New file.
15189
15190         Tests for module 'logl'.
15191         * modules/logl-tests: New file.
15192         * tests/test-logl.c: New file.
15193
15194         Tests for module 'expl'.
15195         * modules/expl-tests: New file.
15196         * tests/test-expl.c: New file.
15197
15198         Tests for module 'cosl'.
15199         * modules/cosl-tests: New file.
15200         * tests/test-cosl.c: New file.
15201
15202         Tests for module 'atanl'.
15203         * modules/atanl-tests: New file.
15204         * tests/test-atanl.c: New file.
15205
15206         Tests for module 'asinl'.
15207         * modules/asinl-tests: New file.
15208         * tests/test-asinl.c: New file.
15209
15210         Tests for module 'acosl'.
15211         * modules/acosl-tests: New file.
15212         * tests/test-acosl.c: New file.
15213
15214         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
15215         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
15216         tanl): Use the standard gnulib idiom.
15217         * lib/cosl.c: Don't include trigl.c and sincosl.c.
15218         * lib/sinl.c: Likewise.
15219         * lib/tanl.c: Don't include trigl.c.
15220         (kernel_tanl): Make static.
15221         * lib/sincosl.c: Include trigl.h first.
15222         * lib/trigl.c: Likewise.
15223         * m4/acosl.m4: New file.
15224         * m4/asinl.m4: New file.
15225         * m4/atanl.m4: New file.
15226         * m4/cosl.m4: New file.
15227         * m4/expl.m4: New file.
15228         * m4/logl.m4: New file.
15229         * m4/sinl.m4: New file.
15230         * m4/sqrtl.m4: New file.
15231         * m4/tanl.m4: New file.
15232         * m4/mathl.m4: Remove file.
15233         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
15234         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
15235         Don't initialize GNULIB_MATHL.
15236         * modules/acosl: New file.
15237         * modules/asinl: New file.
15238         * modules/atanl: New file.
15239         * modules/cosl: New file.
15240         * modules/expl: New file.
15241         * modules/logl: New file.
15242         * modules/sinl: New file.
15243         * modules/sqrtl: New file.
15244         * modules/tanl: New file.
15245         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
15246         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
15247         substitute GNULIB_MATHL.
15248         * modules/mathl: Rewritten.
15249         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
15250         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
15251         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
15252         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
15253         * doc/posix-functions/expl.texi: Mention the 'expl' module.
15254         * doc/posix-functions/logl.texi: Mention the 'logl' module.
15255         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
15256         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
15257         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
15258
15259 2010-01-18  Bruno Haible  <bruno@clisp.org>
15260
15261         sqrt: Make gl_FUNC_SQRT requirable.
15262         * m4/sqrt.m4: New file.
15263         * modules/sqrt (Files): Add it.
15264         (configure.ac): Invoke gl_FUNC_SQRT.
15265
15266 2010-01-18  Bruno Haible  <bruno@clisp.org>
15267
15268         New modules for common <math.h> functions.
15269         * m4/mathfunc.m4: New file.
15270         * modules/acos: New file.
15271         * modules/asin: New file.
15272         * modules/atan: New file.
15273         * modules/atan2: New file.
15274         * modules/cbrt: New file.
15275         * modules/copysign: New file.
15276         * modules/cos: New file.
15277         * modules/cosh: New file.
15278         * modules/erf: New file.
15279         * modules/erfc: New file.
15280         * modules/exp: New file.
15281         * modules/fabs: New file.
15282         * modules/fmod: New file.
15283         * modules/hypot: New file.
15284         * modules/j0: New file.
15285         * modules/j1: New file.
15286         * modules/jn: New file.
15287         * modules/ldexp: New file.
15288         * modules/lgamma: New file.
15289         * modules/log: New file.
15290         * modules/log10: New file.
15291         * modules/log1p: New file.
15292         * modules/logb: New file.
15293         * modules/modf: New file.
15294         * modules/nextafter: New file.
15295         * modules/pow: New file.
15296         * modules/remainder: New file.
15297         * modules/rint: New file.
15298         * modules/sin: New file.
15299         * modules/sinh: New file.
15300         * modules/sqrt: New file.
15301         * modules/tan: New file.
15302         * modules/tanh: New file.
15303         * modules/y0: New file.
15304         * modules/y1: New file.
15305         * modules/yn: New file.
15306         * doc/posix-functions/acos.texi: Mention the 'acos' module.
15307         * doc/posix-functions/asin.texi: Mention the 'asin' module.
15308         * doc/posix-functions/atan.texi: Mention the 'atan' module.
15309         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
15310         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
15311         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
15312         * doc/posix-functions/cos.texi: Mention the 'cos' module.
15313         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
15314         * doc/posix-functions/erf.texi: Mention the 'erf' module.
15315         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
15316         * doc/posix-functions/exp.texi: Mention the 'exp' module.
15317         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
15318         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
15319         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
15320         * doc/posix-functions/j0.texi: Mention the 'j0' module.
15321         * doc/posix-functions/j1.texi: Mention the 'j1' module.
15322         * doc/posix-functions/jn.texi: Mention the 'jn' module.
15323         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
15324         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
15325         * doc/posix-functions/log.texi: Mention the 'log' module.
15326         * doc/posix-functions/log10.texi: Mention the 'log10' module.
15327         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
15328         * doc/posix-functions/logb.texi: Mention the 'logb' module.
15329         * doc/posix-functions/modf.texi: Mention the 'modf' module.
15330         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
15331         * doc/posix-functions/pow.texi: Mention the 'pow' module.
15332         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
15333         * doc/posix-functions/rint.texi: Mention the 'rint' module.
15334         * doc/posix-functions/sin.texi: Mention the 'sin' module.
15335         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
15336         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
15337         * doc/posix-functions/tan.texi: Mention the 'tan' module.
15338         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
15339         * doc/posix-functions/y0.texi: Mention the 'y0' module.
15340         * doc/posix-functions/y1.texi: Mention the 'y1' module.
15341         * doc/posix-functions/yn.texi: Mention the 'yn' module.
15342
15343 2010-01-18  Jim Meyering  <meyering@redhat.com>
15344
15345         ignore-value: relax license to LGPLv2+
15346         * modules/ignore-value (License): Relax to LGPLv2+.
15347
15348         getdate: don't leak when TZ contains two or more '"'s
15349         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
15350         double quote in TZ after the first one.
15351
15352         readtokens: do not leak internal token_lengths buffer
15353         * lib/readtokens.c (readtokens): Free the local, lengths,
15354         when the supplied "token_lengths" parameter is NULL.
15355
15356 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15357
15358         Fix a couple of missing LIBTHREAD link failures on AIX.
15359         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
15360         $(LIBTHREAD).
15361         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
15362
15363         Link test-poll against INET_PTON_LIB.
15364         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
15365         for inet_pton on Solaris 10.
15366
15367 2010-01-17  Bruno Haible  <bruno@clisp.org>
15368
15369         unistdio/*-sprintf: Fix typo in module description.
15370         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
15371         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
15372         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
15373         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
15374         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
15375         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
15376         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
15377         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15378
15379 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15380
15381         gnulib-tool: fix filelist for AIX, HP-UX ksh.
15382         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
15383         variables in shell case patterns, for AIX and HP-UX ksh.
15384
15385         Split large sed scripts, for HP-UX sed.
15386         * modules/stdio: Split sed scripts around 50 sed commands,
15387         to avoid HP-UX limit of 99 commands, in the near future.
15388         * modules/string: Likewise.
15389         * modules/unistd: Likewise.
15390
15391         gnulib-tool: avoid writing in the current directory.
15392         * gnulib-tool (func_emit_lib_Makefile_am)
15393         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
15394         not in the current directory, so concurrent gnulib-tool
15395         instances do not interfere.
15396
15397 2010-01-16  Jim Meyering  <meyering@redhat.com>
15398
15399         doc: update users.txt
15400         * users.txt: Add grep.
15401         (diffutils, gzip): Update URLs.
15402
15403 2010-01-12  Bruno Haible  <bruno@clisp.org>
15404
15405         posix_spawn: Avoid test failure on Cygwin.
15406         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
15407         characters.
15408         Reported by Simon Josefsson.
15409
15410 2010-01-12  Bruno Haible  <bruno@clisp.org>
15411
15412         * tests/test-cond.c (main): When skipping the test, show the reason.
15413
15414 2010-01-12  Simon Josefsson  <simon@josefsson.org>
15415
15416         * lib/striconv.c (str_cd_iconv): Avoid if before free.
15417
15418 2010-01-12  Simon Josefsson  <simon@josefsson.org>
15419
15420         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
15421         VC_LIST_ALWAYS_EXCLUDE_REGEX.
15422
15423 2010-01-12  Eric Blake  <ebb9@byu.net>
15424
15425         build: guarantee AS_VAR_IF
15426         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
15427         (gl_AS_VAR_IF): Move...
15428         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
15429         Reported by Simon Josefsson.
15430
15431 2010-01-12  Simon Josefsson  <simon@josefsson.org>
15432
15433         * lib/stdio.in.h: Fix typo.
15434
15435 2010-01-12  Simon Josefsson  <simon@josefsson.org>
15436
15437         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
15438         libgpg-error.
15439
15440 2010-01-12  Simon Josefsson  <simon@josefsson.org>
15441
15442         * tests/test-xalloc-die.sh: Use $EXEEXT.
15443
15444 2010-01-12  Simon Josefsson  <simon@josefsson.org>
15445             Bruno Haible  <bruno@clisp.org>
15446
15447         getlogin, getlogin_r: Avoid test failure.
15448         * tests/test-getlogin.c: Include <stdio.h>.
15449         (main): Skip the test when the function fails because stdin is not a
15450         tty.
15451         * tests/test-getlogin_r.c: Include <stdio.h>.
15452         (main): Skip the test when the function fails because stdin is not a
15453         tty.
15454
15455 2010-01-11  Eric Blake  <ebb9@byu.net>
15456
15457         tests: avoid more large file warnings
15458         * tests/test-fflush.c: Avoid warning about ftell use.
15459         * tests/test-fseek.c: Avoid warning about fseek use.
15460
15461 2010-01-10  Bruno Haible  <bruno@clisp.org>
15462
15463         nproc: Work better on Linux when /proc and /sys are not mounted.
15464         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
15465         as lower bound when, on glibc/Linux systems,
15466         sysconf (_SC_NPROCESSORS_CONF) returns 1.
15467         Suggested by Pádraig Brady <P@draigbrady.com>.
15468         Reported by Dmitry V. Levin <ldv@altlinux.org>.
15469
15470         nproc: Refactor.
15471         * lib/nproc.c (num_processors_via_affinity_mask): New function,
15472         extracted from num_processors.
15473         (num_processors): Call it.
15474
15475 2010-01-11  Jim Meyering  <meyering@redhat.com>
15476
15477         utimecmp: avoid new warning from upcoming gcc-4.5.0
15478         * lib/utimecmp.c (BILLION): Define using #define rather than an
15479         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
15480
15481 2010-01-11  Eric Blake  <ebb9@byu.net>
15482
15483         math: add portability warnings for classification macros
15484         * modules/math (Depends-on): Add warn-on-use.
15485         (Makefile.am): Provide new substitutions.
15486         * m4/math_h.m4 (gl_MATH_H): Require inline.
15487         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
15488         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
15489         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
15490         implement warnings.
15491
15492         unistd: warn on use of environ without module
15493         * modules/unistd (Depends-on): Add warn-on-use.
15494         (Makefile.am): Provide new substitutions.
15495         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
15496         * lib/unistd.in.h (environ): Wrap with a warning helper function.
15497
15498         stdio: warn on suspicious uses
15499         * modules/stdio (Depends-on): Add warn-on-use.
15500         (Makefile.am): Provide new substitutions.
15501         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
15502         fseeko.
15503         * lib/stdio.in.h (gets): Always warn on use.
15504         (fseek, ftell): Adjust when warnings are issued, and honor
15505         _GL_NO_LARGE_FILES as a way to silence the warning.
15506         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
15507         any warning about large file offsets.
15508         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
15509         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
15510         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
15511         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
15512         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
15513         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
15514         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
15515         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
15516
15517         warn-on-use: new module
15518         * modules/warn-on-use: New file.
15519         * build-aux/warn-on-use.h: Likewise.
15520         * m4/warn-on-use.m4: Likewise.
15521         * MODULES.html.sh (Support for building): Mention it.
15522
15523 2010-01-10  Bruno Haible  <bruno@clisp.org>
15524
15525         Tests for module 'unistr/u32-strdup'.
15526         * modules/unistr/u32-strdup-tests: New file.
15527         * tests/unistr/test-u32-strdup.c: New file.
15528
15529         Tests for module 'unistr/u16-strdup'.
15530         * modules/unistr/u16-strdup-tests: New file.
15531         * tests/unistr/test-u16-strdup.c: New file.
15532
15533         Tests for module 'unistr/u8-strdup'.
15534         * modules/unistr/u8-strdup-tests: New file.
15535         * tests/unistr/test-u8-strdup.c: New file.
15536         * tests/unistr/test-strdup.h: New file.
15537
15538         Tests for module 'unistr/u32-strncmp'.
15539         * modules/unistr/u32-strncmp-tests: New file.
15540         * tests/unistr/test-u32-strncmp.c: New file.
15541
15542         Tests for module 'unistr/u16-strncmp'.
15543         * modules/unistr/u16-strncmp-tests: New file.
15544         * tests/unistr/test-u16-strncmp.c: New file.
15545
15546         Tests for module 'unistr/u8-strncmp'.
15547         * modules/unistr/u8-strncmp-tests: New file.
15548         * tests/unistr/test-u8-strncmp.c: New file.
15549         * tests/unistr/test-strncmp.h: New file.
15550
15551         Tests for module 'unistr/u32-strcoll'.
15552         * modules/unistr/u32-strcoll-tests: New file.
15553         * tests/unistr/test-u32-strcoll.c: New file.
15554
15555         Tests for module 'unistr/u16-strcoll'.
15556         * modules/unistr/u16-strcoll-tests: New file.
15557         * tests/unistr/test-u16-strcoll.c: New file.
15558
15559         Tests for module 'unistr/u8-strcoll'.
15560         * modules/unistr/u8-strcoll-tests: New file.
15561         * tests/unistr/test-u8-strcoll.c: New file.
15562
15563         Tests for module 'unistr/u32-strcmp'.
15564         * modules/unistr/u32-strcmp-tests: New file.
15565         * tests/unistr/test-u32-strcmp.c: New file.
15566         * tests/unistr/test-u32-strcmp.h: New file.
15567
15568         Tests for module 'unistr/u16-strcmp'.
15569         * modules/unistr/u16-strcmp-tests: New file.
15570         * tests/unistr/test-u16-strcmp.c: New file.
15571         * tests/unistr/test-u16-strcmp.h: New file.
15572
15573         Tests for module 'unistr/u8-strcmp'.
15574         * modules/unistr/u8-strcmp-tests: New file.
15575         * tests/unistr/test-u8-strcmp.c: New file.
15576         * tests/unistr/test-u8-strcmp.h: New file.
15577         * tests/unistr/test-strcmp.h: New file.
15578
15579         Tests for module 'unistr/u32-strncat'.
15580         * modules/unistr/u32-strncat-tests: New file.
15581         * tests/unistr/test-u32-strncat.c: New file.
15582
15583         Tests for module 'unistr/u16-strncat'.
15584         * modules/unistr/u16-strncat-tests: New file.
15585         * tests/unistr/test-u16-strncat.c: New file.
15586
15587         Tests for module 'unistr/u8-strncat'.
15588         * modules/unistr/u8-strncat-tests: New file.
15589         * tests/unistr/test-u8-strncat.c: New file.
15590         * tests/unistr/test-strncat.h: New file.
15591
15592         Tests for module 'unistr/u32-strcat'.
15593         * modules/unistr/u32-strcat-tests: New file.
15594         * tests/unistr/test-u32-strcat.c: New file.
15595
15596         Tests for module 'unistr/u16-strcat'.
15597         * modules/unistr/u16-strcat-tests: New file.
15598         * tests/unistr/test-u16-strcat.c: New file.
15599
15600         Tests for module 'unistr/u8-strcat'.
15601         * modules/unistr/u8-strcat-tests: New file.
15602         * tests/unistr/test-u8-strcat.c: New file.
15603         * tests/unistr/test-strcat.h: New file.
15604
15605         Tests for module 'unistr/u32-stpncpy'.
15606         * modules/unistr/u32-stpncpy-tests: New file.
15607         * tests/unistr/test-u32-stpncpy.c: New file.
15608
15609         Tests for module 'unistr/u16-stpncpy'.
15610         * modules/unistr/u16-stpncpy-tests: New file.
15611         * tests/unistr/test-u16-stpncpy.c: New file.
15612
15613         Tests for module 'unistr/u8-stpncpy'.
15614         * modules/unistr/u8-stpncpy-tests: New file.
15615         * tests/unistr/test-u8-stpncpy.c: New file.
15616         * tests/unistr/test-stpncpy.h: New file.
15617
15618         Tests for module 'unistr/u32-strncpy'.
15619         * modules/unistr/u32-strncpy-tests: New file.
15620         * tests/unistr/test-u32-strncpy.c: New file.
15621
15622         Tests for module 'unistr/u16-strncpy'.
15623         * modules/unistr/u16-strncpy-tests: New file.
15624         * tests/unistr/test-u16-strncpy.c: New file.
15625
15626         Tests for module 'unistr/u8-strncpy'.
15627         * modules/unistr/u8-strncpy-tests: New file.
15628         * tests/unistr/test-u8-strncpy.c: New file.
15629         * tests/unistr/test-strncpy.h: New file.
15630
15631         Tests for module 'unistr/u32-stpcpy'.
15632         * modules/unistr/u32-stpcpy-tests: New file.
15633         * tests/unistr/test-u32-stpcpy.c: New file.
15634
15635         Tests for module 'unistr/u16-stpcpy'.
15636         * modules/unistr/u16-stpcpy-tests: New file.
15637         * tests/unistr/test-u16-stpcpy.c: New file.
15638
15639         Tests for module 'unistr/u8-stpcpy'.
15640         * modules/unistr/u8-stpcpy-tests: New file.
15641         * tests/unistr/test-u8-stpcpy.c: New file.
15642         * tests/unistr/test-stpcpy.h: New file.
15643
15644         Tests for module 'unistr/u32-strcpy'.
15645         * modules/unistr/u32-strcpy-tests: New file.
15646         * tests/unistr/test-u32-strcpy.c: New file.
15647
15648         Tests for module 'unistr/u16-strcpy'.
15649         * modules/unistr/u16-strcpy-tests: New file.
15650         * tests/unistr/test-u16-strcpy.c: New file.
15651
15652         Tests for module 'unistr/u8-strcpy'.
15653         * modules/unistr/u8-strcpy-tests: New file.
15654         * tests/unistr/test-u8-strcpy.c: New file.
15655         * tests/unistr/test-strcpy.h: New file.
15656
15657         Tests for module 'unistr/u32-strnlen'.
15658         * modules/unistr/u32-strnlen-tests: New file.
15659         * tests/unistr/test-u32-strnlen.c: New file.
15660
15661         Tests for module 'unistr/u16-strnlen'.
15662         * modules/unistr/u16-strnlen-tests: New file.
15663         * tests/unistr/test-u16-strnlen.c: New file.
15664
15665         Tests for module 'unistr/u8-strnlen'.
15666         * modules/unistr/u8-strnlen-tests: New file.
15667         * tests/unistr/test-u8-strnlen.c: New file.
15668         * tests/unistr/test-strnlen.h: New file.
15669
15670         Tests for module 'unistr/u32-strlen'.
15671         * modules/unistr/u32-strlen-tests: New file.
15672         * tests/unistr/test-u32-strlen.c: New file.
15673
15674         Tests for module 'unistr/u16-strlen'.
15675         * modules/unistr/u16-strlen-tests: New file.
15676         * tests/unistr/test-u16-strlen.c: New file.
15677
15678         Tests for module 'unistr/u8-strlen'.
15679         * modules/unistr/u8-strlen-tests: New file.
15680         * tests/unistr/test-u8-strlen.c: New file.
15681
15682         Tests for module 'unistr/u32-prev'.
15683         * modules/unistr/u32-prev-tests: New file.
15684         * tests/unistr/test-u32-prev.c: New file.
15685
15686         Tests for module 'unistr/u16-prev'.
15687         * modules/unistr/u16-prev-tests: New file.
15688         * tests/unistr/test-u16-prev.c: New file.
15689
15690         Tests for module 'unistr/u8-prev'.
15691         * modules/unistr/u8-prev-tests: New file.
15692         * tests/unistr/test-u8-prev.c: New file.
15693
15694         Tests for module 'unistr/u32-next'.
15695         * modules/unistr/u32-next-tests: New file.
15696         * tests/unistr/test-u32-next.c: New file.
15697
15698         Tests for module 'unistr/u16-next'.
15699         * modules/unistr/u16-next-tests: New file.
15700         * tests/unistr/test-u16-next.c: New file.
15701
15702         Tests for module 'unistr/u8-next'.
15703         * modules/unistr/u8-next-tests: New file.
15704         * tests/unistr/test-u8-next.c: New file.
15705
15706         Tests for module 'unistr/u32-strmbtouc'.
15707         * modules/unistr/u32-strmbtouc-tests: New file.
15708         * tests/unistr/test-u32-strmbtouc.c: New file.
15709
15710         Tests for module 'unistr/u16-strmbtouc'.
15711         * modules/unistr/u16-strmbtouc-tests: New file.
15712         * tests/unistr/test-u16-strmbtouc.c: New file.
15713
15714         Tests for module 'unistr/u8-strmbtouc'.
15715         * modules/unistr/u8-strmbtouc-tests: New file.
15716         * tests/unistr/test-u8-strmbtouc.c: New file.
15717
15718         Tests for module 'unistr/u32-strmblen'.
15719         * modules/unistr/u32-strmblen-tests: New file.
15720         * tests/unistr/test-u32-strmblen.c: New file.
15721
15722         Tests for module 'unistr/u16-strmblen'.
15723         * modules/unistr/u16-strmblen-tests: New file.
15724         * tests/unistr/test-u16-strmblen.c: New file.
15725
15726         Tests for module 'unistr/u8-strmblen'.
15727         * modules/unistr/u8-strmblen-tests: New file.
15728         * tests/unistr/test-u8-strmblen.c: New file.
15729
15730         Tests for module 'unistr/u32-cpy-alloc'.
15731         * modules/unistr/u32-cpy-alloc-tests: New file.
15732         * tests/unistr/test-u32-cpy-alloc.c: New file.
15733
15734         Tests for module 'unistr/u16-cpy-alloc'.
15735         * modules/unistr/u16-cpy-alloc-tests: New file.
15736         * tests/unistr/test-u16-cpy-alloc.c: New file.
15737
15738         Tests for module 'unistr/u8-cpy-alloc'.
15739         * modules/unistr/u8-cpy-alloc-tests: New file.
15740         * tests/unistr/test-u8-cpy-alloc.c: New file.
15741         * tests/unistr/test-cpy-alloc.h: New file.
15742
15743         Tests for module 'unistr/u32-mbsnlen'.
15744         * modules/unistr/u32-mbsnlen-tests: New file.
15745         * tests/unistr/test-u32-mbsnlen.c: New file.
15746
15747         Tests for module 'unistr/u16-mbsnlen'.
15748         * modules/unistr/u16-mbsnlen-tests: New file.
15749         * tests/unistr/test-u16-mbsnlen.c: New file.
15750
15751         Tests for module 'unistr/u8-mbsnlen'.
15752         * modules/unistr/u8-mbsnlen-tests: New file.
15753         * tests/unistr/test-u8-mbsnlen.c: New file.
15754
15755         Tests for module 'unistr/u32-chr'.
15756         * modules/unistr/u32-chr-tests: New file.
15757         * tests/unistr/test-u32-chr.c: New file.
15758
15759         Tests for module 'unistr/u16-chr'.
15760         * modules/unistr/u16-chr-tests: New file.
15761         * tests/unistr/test-u16-chr.c: New file.
15762
15763         Tests for module 'unistr/u8-chr'.
15764         * modules/unistr/u8-chr-tests: New file.
15765         * tests/unistr/test-u8-chr.c: New file.
15766         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
15767
15768         Tests for module 'unistr/u32-cmp2'.
15769         * modules/unistr/u32-cmp2-tests: New file.
15770         * tests/unistr/test-u32-cmp2.c: New file.
15771
15772         Tests for module 'unistr/u16-cmp2'.
15773         * modules/unistr/u16-cmp2-tests: New file.
15774         * tests/unistr/test-u16-cmp2.c: New file.
15775
15776         Tests for module 'unistr/u8-cmp2'.
15777         * modules/unistr/u8-cmp2-tests: New file.
15778         * tests/unistr/test-u8-cmp2.c: New file.
15779         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
15780
15781         Tests for module 'unistr/u32-cmp'.
15782         * modules/unistr/u32-cmp-tests: New file.
15783         * tests/unistr/test-u32-cmp.c: New file.
15784
15785         Tests for module 'unistr/u16-cmp'.
15786         * modules/unistr/u16-cmp-tests: New file.
15787         * tests/unistr/test-u16-cmp.c: New file.
15788
15789         Tests for module 'unistr/u8-cmp'.
15790         * modules/unistr/u8-cmp-tests: New file.
15791         * tests/unistr/test-u8-cmp.c: New file.
15792         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
15793
15794         Tests for module 'unistr/u32-set'.
15795         * modules/unistr/u32-set-tests: New file.
15796         * tests/unistr/test-u32-set.c: New file.
15797
15798         Tests for module 'unistr/u16-set'.
15799         * modules/unistr/u16-set-tests: New file.
15800         * tests/unistr/test-u16-set.c: New file.
15801
15802         Tests for module 'unistr/u8-set'.
15803         * modules/unistr/u8-set-tests: New file.
15804         * tests/unistr/test-u8-set.c: New file.
15805         * tests/unistr/test-set.h: New file.
15806
15807         Tests for module 'unistr/u32-move'.
15808         * modules/unistr/u32-move-tests: New file.
15809         * tests/unistr/test-u32-move.c: New file.
15810
15811         Tests for module 'unistr/u16-move'.
15812         * modules/unistr/u16-move-tests: New file.
15813         * tests/unistr/test-u16-move.c: New file.
15814
15815         Tests for module 'unistr/u8-move'.
15816         * modules/unistr/u8-move-tests: New file.
15817         * tests/unistr/test-u8-move.c: New file.
15818         * tests/unistr/test-move.h: New file.
15819
15820         Tests for module 'unistr/u32-cpy'.
15821         * modules/unistr/u32-cpy-tests: New file.
15822         * tests/unistr/test-u32-cpy.c: New file.
15823
15824         Tests for module 'unistr/u16-cpy'.
15825         * modules/unistr/u16-cpy-tests: New file.
15826         * tests/unistr/test-u16-cpy.c: New file.
15827
15828         Tests for module 'unistr/u8-cpy'.
15829         * modules/unistr/u8-cpy-tests: New file.
15830         * tests/unistr/test-u8-cpy.c: New file.
15831         * tests/unistr/test-cpy.h: New file.
15832
15833 2010-01-09  Bruno Haible  <bruno@clisp.org>
15834
15835         Tests for module 'unistr/u32-uctomb'.
15836         * modules/unistr/u32-uctomb-tests: New file.
15837         * tests/unistr/test-u32-uctomb.c: New file.
15838
15839         Tests for module 'unistr/u16-uctomb'.
15840         * modules/unistr/u16-uctomb-tests: New file.
15841         * tests/unistr/test-u16-uctomb.c: New file.
15842
15843         Tests for module 'unistr/u8-uctomb'.
15844         * modules/unistr/u8-uctomb-tests: New file.
15845         * tests/unistr/test-u8-uctomb.c: New file.
15846
15847         Tests for module 'unistr/u32-mbtoucr'.
15848         * modules/unistr/u32-mbtoucr-tests: New file.
15849         * tests/unistr/test-u32-mbtoucr.c: New file.
15850
15851         Tests for module 'unistr/u16-mbtoucr'.
15852         * modules/unistr/u16-mbtoucr-tests: New file.
15853         * tests/unistr/test-u16-mbtoucr.c: New file.
15854
15855         Tests for module 'unistr/u8-mbtoucr'.
15856         * modules/unistr/u8-mbtoucr-tests: New file.
15857         * tests/unistr/test-u8-mbtoucr.c: New file.
15858
15859         Tests for module 'unistr/u32-mbtouc'.
15860         * modules/unistr/u32-mbtouc-tests: New file.
15861         * tests/unistr/test-u32-mbtouc.c: New file.
15862
15863         Tests for module 'unistr/u16-mbtouc'.
15864         * modules/unistr/u16-mbtouc-tests: New file.
15865         * tests/unistr/test-u16-mbtouc.c: New file.
15866
15867         Tests for module 'unistr/u8-mbtouc'.
15868         * modules/unistr/u8-mbtouc-tests: New file.
15869         * tests/unistr/test-u8-mbtouc.c: New file.
15870
15871         Tests for module 'unistr/u32-mbtouc-unsafe'.
15872         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
15873         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
15874         * tests/unistr/test-u32-mbtouc.h: New file.
15875
15876         Tests for module 'unistr/u16-mbtouc-unsafe'.
15877         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
15878         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
15879         * tests/unistr/test-u16-mbtouc.h: New file.
15880
15881         Tests for module 'unistr/u8-mbtouc-unsafe'.
15882         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
15883         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
15884         * tests/unistr/test-u8-mbtouc.h: New file.
15885
15886         Tests for module 'unistr/u32-mblen'.
15887         * modules/unistr/u32-mblen-tests: New file.
15888         * tests/unistr/test-u32-mblen.c: New file.
15889
15890         Tests for module 'unistr/u16-mblen'.
15891         * modules/unistr/u16-mblen-tests: New file.
15892         * tests/unistr/test-u16-mblen.c: New file.
15893
15894         Tests for module 'unistr/u8-mblen'.
15895         * modules/unistr/u8-mblen-tests: New file.
15896         * tests/unistr/test-u8-mblen.c: New file.
15897
15898         Tests for module 'unistr/u32-to-u16'.
15899         * modules/unistr/u32-to-u16-tests: New file.
15900         * tests/unistr/test-u32-to-u16.c: New file.
15901
15902         Tests for module 'unistr/u32-to-u8'.
15903         * modules/unistr/u32-to-u8-tests: New file.
15904         * tests/unistr/test-u32-to-u8.c: New file.
15905
15906         Tests for module 'unistr/u16-to-u32'.
15907         * modules/unistr/u16-to-u32-tests: New file.
15908         * tests/unistr/test-u16-to-u32.c: New file.
15909
15910         Tests for module 'unistr/u16-to-u8'.
15911         * modules/unistr/u16-to-u8-tests: New file.
15912         * tests/unistr/test-u16-to-u8.c: New file.
15913
15914         Tests for module 'unistr/u8-to-u32'.
15915         * modules/unistr/u8-to-u32-tests: New file.
15916         * tests/unistr/test-u8-to-u32.c: New file.
15917
15918         Tests for module 'unistr/u8-to-u16'.
15919         * modules/unistr/u8-to-u16-tests: New file.
15920         * tests/unistr/test-u8-to-u16.c: New file.
15921
15922         Tests for module 'unistr/u32-check'.
15923         * modules/unistr/u32-check-tests: New file.
15924         * tests/unistr/test-u32-check.c: New file.
15925
15926         Tests for module 'unistr/u16-check'.
15927         * modules/unistr/u16-check-tests: New file.
15928         * tests/unistr/test-u16-check.c: New file.
15929
15930         Tests for module 'unistr/u8-check'.
15931         * modules/unistr/u8-check-tests: New file.
15932         * tests/unistr/test-u8-check.c: New file.
15933
15934         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
15935         (category_equals): New function.
15936         (main): Add more tests.
15937         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
15938
15939         * tests/unictype/test-bidi_byname.c (main): Add more tests.
15940
15941 2010-01-10  Bruno Haible  <bruno@clisp.org>
15942
15943         unistr/u*-strcoll: Try harder to distinguish different strings.
15944         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
15945         compare s1 and s2 to see if they are different.
15946
15947 2010-01-10  Bruno Haible  <bruno@clisp.org>
15948
15949         unistr/u*-stpncpy: Fix the return value.
15950         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
15951         description of the return value consistent with stpncpy in glibc.
15952         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
15953         written non-NUL unit.
15954
15955 2010-01-10  Bruno Haible  <bruno@clisp.org>
15956
15957         unistr/u*-next: Add missing dependencies.
15958         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
15959         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
15960         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
15961
15962 2010-01-10  Bruno Haible  <bruno@clisp.org>
15963
15964         unistr/u8-mbsnlen: Fix return value for incomplete character.
15965         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
15966         u8_mblen.
15967         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
15968         Remove unistr/u8-mblen.
15969         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
15970         u16_mblen.
15971         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
15972         Remove unistr/u16-mblen.
15973
15974 2010-01-10  Bruno Haible  <bruno@clisp.org>
15975
15976         wchar: Fix compilation error when <wchar.h> is used from coreutils.
15977         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
15978         Reported by Brian Gough <bjg@gnu.org> and
15979         Chris Clayton <chris2553@googlemail.com> via
15980         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
15981
15982 2010-01-09  Bruno Haible  <bruno@clisp.org>
15983
15984         unistr/u16-to-u32: Reject invalid input.
15985         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
15986         u16_mbtouc.
15987         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
15988         Remove unistr/u16-mbtouc.
15989
15990         unistr/u16-to-u8: Reject invalid input.
15991         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
15992         u16_mbtouc.
15993         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
15994         Remove unistr/u16-mbtouc.
15995
15996         unistr/u8-to-u32: Reject invalid input.
15997         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
15998         u8_mbtouc.
15999         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
16000         Remove unistr/u8-mbtouc.
16001
16002         unistr/u8-to-u16: Reject invalid input.
16003         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
16004         u8_mbtouc.
16005         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
16006         Remove unistr/u8-mbtouc.
16007
16008 2010-01-09  Bruno Haible  <bruno@clisp.org>
16009
16010         Tests for module 'getlogin'.
16011         * modules/getlogin-tests: New file.
16012         * tests/test-getlogin.c: New file.
16013
16014         New module 'getlogin'.
16015         * lib/unistd.in.h (getlogin): New declaration.
16016         * lib/getlogin.c: New file.
16017         * m4/getlogin.m4: New file.
16018         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
16019         HAVE_GETLOGIN.
16020         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
16021         HAVE_GETLOGIN.
16022         * modules/getlogin: New file.
16023         * doc/posix-functions/getlogin.texi: Mention the new module.
16024         Reported by John W. Eaton <jwe@gnu.org>.
16025
16026 2010-01-09  Bruno Haible  <bruno@clisp.org>
16027
16028         getlogin_r: Support for native Windows.
16029         * lib/getlogin_r.c: Include <windows.h>
16030         (getlogin_r): Implement for native Windows.
16031         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
16032         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
16033         via John W. Eaton <jwe@gnu.org>.
16034
16035 2010-01-09  Bruno Haible  <bruno@clisp.org>
16036
16037         getlogin_r: Small fixes.
16038         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
16039         succeeds.
16040         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
16041         before testing whether getlogin_r is declared. No need to set
16042         HAVE_DECL_GETLOGIN_R to 1.
16043         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
16044
16045 2010-01-09  Bruno Haible  <bruno@clisp.org>
16046
16047         * lib/unistd.in.h (getlogin_r): Add comment.
16048
16049 2010-01-09  Bruno Haible  <bruno@clisp.org>
16050
16051         Tests for module 'getlogin_r'.
16052         * modules/getlogin_r-tests: New file.
16053         * tests/test-getlogin_r.c: New file.
16054
16055 2010-01-09  Jim Meyering  <meyering@redhat.com>
16056
16057         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
16058         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
16059         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
16060
16061 2010-01-08  Simon Josefsson  <simon@josefsson.org>
16062
16063         * lib/dup2.c (rpl_dup2): Improve comment.
16064
16065 2010-01-08  Eric Blake  <ebb9@byu.net>
16066
16067         maint.mk: allow packages to add makefile @@ exceptions
16068         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
16069         (sc_makefile_check): Rename...
16070         (sc_makefile_at_at_check): ...to this, and use hook.
16071
16072         dup2: work around mingw bug
16073         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
16074         Reported by Simon Josefsson.
16075
16076 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
16077
16078         glob: Fix C++ compilation.
16079         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
16080         C++.
16081
16082 2010-01-07  Bruno Haible  <bruno@clisp.org>
16083
16084         Fix indentation of wctype.in.h, broken since 2007-01-06.
16085         * lib/wctype.in.h: Fix indentation of preprocessor directives.
16086
16087 2010-01-07  Bruno Haible  <bruno@clisp.org>
16088
16089         mbslen: Avoid collision with system function.
16090         * lib/string.in.h [MirBSD]: Include <wchar.h>.
16091         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
16092         * m4/mbslen.m4: New file.
16093         * modules/mbslen (Files): Add it.
16094         (configure.ac): Invoke gl_MBSLEN.
16095         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
16096         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
16097         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
16098         via Ian Beckwith <ianb@erislabs.net>.
16099
16100 2010-01-07  Bruno Haible  <bruno@clisp.org>
16101
16102         dirent: Document the last fix.
16103         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
16104
16105 2010-01-07  Bruno Haible  <bruno@clisp.org>
16106
16107         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
16108         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
16109         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
16110         va_list are defined.
16111         * doc/posix-headers/stdio.texi: Document the bug of missing types.
16112         Reported by Eric Blake.
16113
16114 2010-01-07  Bruno Haible  <bruno@clisp.org>
16115
16116         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
16117         * modules/xlist (Depends-on): Add 'list',
16118         * modules/xoset (Depends-on): Add 'oset'.
16119         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16120
16121 2010-01-07  Bruno Haible  <bruno@clisp.org>
16122
16123         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
16124         * doc/posix-functions/strncasecmp.texi: Likewise.
16125
16126 2010-01-07  Bruno Haible  <bruno@clisp.org>
16127
16128         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
16129
16130 2010-01-07  John W. Eaton  <jwe@octave.org>
16131
16132         wctype: allow C++ use
16133         * lib/wctype.in.h: Add extern "C" block for C++.
16134
16135 2010-01-06  Eric Blake  <ebb9@byu.net>
16136
16137         maint.mk: detect incorrect GFDL usage
16138         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
16139
16140 2010-01-06  Jim Meyering  <meyering@redhat.com>
16141         and Eric Blake  <ebb9@byu.net>
16142
16143         maint.mk: ignore multi-line copyright in NEWS
16144         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
16145
16146 2010-01-06  Eric Blake  <ebb9@byu.net>
16147
16148         select: add missing dependency
16149         * modules/select-tests (Depends-on): Move sockets dependency...
16150         * modules/select (Depends-on): ...here.
16151         Reported by Ian Beckwith.
16152
16153         doc: regenerate INSTALL
16154         * doc/INSTALL: Reflect recent autoconf update.
16155         * doc/INSTALL.ISO: Likewise.
16156         * doc/INSTALL.UTF-8: Likewise.
16157
16158         pread: fix compilation on glibc
16159         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
16160         Reported by Ralf Wildenhues.
16161
16162         dirent: fix test failure
16163         * lib/dirent.in.h (includes): Guarantee ino_t.
16164         Reported by Ralf Wildenhues.
16165
16166 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
16167
16168         linkat, renameat: avoid bad free
16169         * lib/at-func2.c (at_func2): Fix typo.
16170         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
16171
16172 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16173
16174         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
16175         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
16176         to avoid failure of symlink test later.
16177
16178 2010-01-06  Eric Blake  <ebb9@byu.net>
16179
16180         stdio, unistd: guarantee ssize_t
16181         * lib/unistd.in.h (includes): Ensure that types required by POSIX
16182         2008 are exposed when needed.
16183         * lib/stdio.in.h (includes): Likewise.
16184         Reported by Ralf Wildenhues.
16185
16186 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
16187
16188         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
16189         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
16190         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
16191
16192 2010-01-06  Jim Meyering  <meyering@redhat.com>
16193
16194         readtokens: this module *does* require xalloc.h
16195         It uses only functions that were omitted by the old syntax-check rule.
16196         * lib/readtokens.c: Include "xalloc.h" once again.
16197         * modules/readtokens (Depends-on): Add xalloc.
16198         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
16199
16200 2010-01-05  Eric Blake  <ebb9@byu.net>
16201
16202         maint: support 'make announcement' from a VPATH build
16203         * top/maint.mk (announcement): Look for correct NEWS file.
16204
16205 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
16206
16207         utimens (fdutimens): ignore a negative FD, per contract
16208         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
16209         when we have a valid file descriptor.  Otherwise, using a brand
16210         new glibc (with just-patched futimens that now fails with EBADF)
16211         would cause this function to fail with ENOSYS.
16212         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
16213         See also http://bugzilla.redhat.com/552320.
16214
16215 2010-01-05  Eric Blake  <ebb9@byu.net>
16216
16217         strcase: document what it provides
16218         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
16219         gnulib module.
16220         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
16221         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
16222
16223 2010-01-05  Jim Meyering  <meyering@redhat.com>
16224
16225         maint: remove useless inclusions of "xalloc.h"
16226         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
16227         * lib/readtokens.c: Likewise.
16228         * lib/same.c: Likewise.
16229         * modules/getloadavg (Depends-on): Remove xalloc.
16230         * modules/readtokens: Likewise.
16231         * modules/same: Likewise.
16232
16233         maint.mk: include 4 more function names in alloca.h-checking regexp
16234         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
16235         regexp.  Before, we would give a false-positive (saying alloca.h
16236         is included unnecessarily) when the only uses involved omitted symbols.
16237
16238         xalloc.h: use consistent formatting
16239         * lib/xalloc.h: Move declarations to start in the first column.
16240
16241 2010-01-05  Eric Blake  <ebb9@byu.net>
16242
16243         mkdir: avoid xalloc
16244         * lib/mkdir.c (includes): Drop unused header.
16245         Reported by John W. Eaton.
16246
16247 2010-01-04  Jim Meyering  <meyering@redhat.com>
16248
16249         nl_langinfo: avoid configure-time syntax error
16250         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
16251         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
16252         the empty string.  Don't let that provoke a shell syntax error.
16253
16254         regcomp, regexec, fnmatch: avoid array bounds read error
16255         * lib/regcomp.c (build_equiv_class): From glibc:
16256         Use only the low 24 bits of a findidx return value as an index
16257         into the weights array.  Patch by Ulrich Drepper:
16258         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
16259         * lib/regexec.c (check_node_accept_bytes): Likewise.
16260         * lib/fnmatch_loop.c (FCT): Likewise.
16261
16262         regcomp: skip collseq lookup when there are no rules
16263         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
16264         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
16265
16266         regcomp: recognize ill-formed { } expressions
16267         * lib/regcomp.c (parse_dup_op): From glibc:
16268         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
16269
16270         regcomp: fix typo in comment
16271         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
16272         s/satisfy/satisfies/.
16273
16274         regcomp: sync from glibc: remove dead store
16275         * lib/regcomp.c (duplicate_node_closure): Remove useless
16276         search_duplicated_node call and dead store.
16277
16278         regcomp: sync from glibc; always use nl_langinfo
16279         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
16280         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
16281         * modules/regex (Depends-on): Add nl_langinfo.
16282
16283 2010-01-04  Eric Blake  <ebb9@byu.net>
16284
16285         fdopendir: fix configure test
16286         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
16287
16288 2010-01-01  Bruno Haible  <bruno@clisp.org>
16289
16290         wchar: Remove unused configure check.
16291         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
16292
16293 2010-01-01  Eric Blake  <ebb9@byu.net>
16294
16295         headers: make check of system header explicit
16296         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
16297         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
16298         ourselves.
16299         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
16300         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
16301         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
16302         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
16303         internals.
16304         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
16305         missing.
16306         Suggested by Bruno Haible.
16307
16308 2010-01-01  Jim Meyering  <meyering@redhat.com>
16309
16310         ChangeLog: tweak to eliminate unnecessary copyright line
16311         * ChangeLog: Remove a copyright line that was mistakenly updated
16312         by today's update-copyright run.  Reported by Eric Blake.
16313
16314         test-update-copyright: don't let envvar setting cause test failure
16315         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
16316
16317 2010-01-01  Bruno Haible  <bruno@clisp.org>
16318
16319         localename: Avoid gcc warning.
16320         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
16321         function if it is not used.
16322
16323 2010-01-01  Jim Meyering  <meyering@redhat.com>
16324
16325         update nearly all FSF copyright year lists to include 2010
16326         Use the same procedure as for 2009, outlined in
16327         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
16328
16329         version-etc: set COPYRIGHT_YEAR to 2010
16330         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
16331
16332 2009-12-31  Eric Blake  <ebb9@byu.net>
16333
16334         doc: correct availability of cygwin 1.5.x getopt
16335         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
16336         variables.
16337         * doc/posix-functions/opterr.texi (opterr): Likewise.
16338         * doc/posix-functions/optind.texi (optind): Likewise.
16339         * doc/posix-functions/optopt.texi (optopt): Likewise.
16340         * doc/posix-functions/tzname.texi (tzname): Likewise.
16341
16342         openat: update maintainer
16343         * modules/openat (Maintainer): Add myself.
16344
16345         utimens: avoid shadowing warning
16346         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
16347         buffers into one, to avoid shadowing, as well as avoiding a
16348         redundant stat.
16349         Reported by Jim Meyering.
16350
16351         test-dup2: avoid compiler warning
16352         * tests/test-dup2.c (is_inheritable): Only define if used.
16353
16354 2010-01-01  Bruno Haible  <bruno@clisp.org>
16355
16356         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
16357         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
16358         defined, use wctomb instead of wcrtomb.
16359
16360 2010-01-01  Bruno Haible  <bruno@clisp.org>
16361
16362         iconv: Reject native Solaris iconv.
16363         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
16364         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
16365
16366 2009-12-31  Bruno Haible  <bruno@clisp.org>
16367
16368         * tests/test-signal.c (main): Remove test of 'SIG'.
16369
16370 2009-12-31  Bruno Haible  <bruno@clisp.org>
16371
16372         spawn: Fix incomplete fix.
16373         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
16374         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
16375         warnings for GNULIB_POSIXCHECK again.
16376         Reported by Eric Blake.
16377
16378 2009-12-31  Bruno Haible  <bruno@clisp.org>
16379
16380         Avoid namespace pollution on glibc systems.
16381         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
16382         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
16383         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
16384         glibc systems.
16385
16386 2009-12-31  Bruno Haible  <bruno@clisp.org>
16387
16388         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
16389         (gl_REPLACE_WCHAR_H): Turn into a no-op.
16390         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
16391         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
16392         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
16393         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
16394         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
16395
16396 2009-12-31  Bruno Haible  <bruno@clisp.org>
16397
16398         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
16399         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
16400         afterwards.
16401
16402 2009-12-31  Bruno Haible  <bruno@clisp.org>
16403
16404         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
16405         SYS_UTSNAME_H.
16406
16407 2009-12-31  Bruno Haible  <bruno@clisp.org>
16408
16409         spawn: Fix misapplied patch.
16410         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
16411         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
16412         warnings for GNULIB_POSIXCHECK.
16413
16414 2009-12-31  Bruno Haible  <bruno@clisp.org>
16415
16416         times: Update after sys_times changed.
16417         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
16418         * modules/times (Files): Add it.
16419         (configure.ac): Invoke gl_FUNC_TIMES.
16420
16421 2009-12-31  Bruno Haible  <bruno@clisp.org>
16422
16423         Use AC_C_INLINE where necessary.
16424         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
16425         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
16426         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
16427         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
16428         * m4/mbfile.m4 (gl_MBFILE): Likewise.
16429         * m4/mbiter.m4 (gl_MBITER): Likewise.
16430         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
16431         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
16432         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
16433         * modules/u64 (configure.ac): Likewise.
16434
16435 2009-12-31  Bruno Haible  <bruno@clisp.org>
16436
16437         Use AC_C_INLINE instead of module 'inline' where possible.
16438         * modules/inline (Description): Clarify purpose.
16439         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
16440         * modules/count-one-bits (Depends-on): Remove inline.
16441         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
16442         * modules/openat (Depends-on): Remove inline.
16443         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
16444         instead of depending on module 'inline'.
16445         * modules/filevercmp (Depends-on, configure.ac): Likewise.
16446         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
16447         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
16448         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
16449         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
16450         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
16451         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
16452         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
16453         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
16454         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
16455         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
16456         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
16457         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
16458         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
16459         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
16460         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
16461         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
16462         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
16463         Likewise.
16464         * modules/unictype/property-ascii-hex-digit (Depends-on,
16465         configure.ac): Likewise.
16466         * modules/unictype/property-bidi-arabic-digit (Depends-on,
16467         configure.ac): Likewise.
16468         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
16469         configure.ac): Likewise.
16470         * modules/unictype/property-bidi-block-separator (Depends-on,
16471         configure.ac): Likewise.
16472         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
16473         configure.ac): Likewise.
16474         * modules/unictype/property-bidi-common-separator (Depends-on,
16475         configure.ac): Likewise.
16476         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
16477         Likewise.
16478         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
16479         configure.ac): Likewise.
16480         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
16481         configure.ac): Likewise.
16482         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
16483         configure.ac): Likewise.
16484         * modules/unictype/property-bidi-european-digit (Depends-on,
16485         configure.ac): Likewise.
16486         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
16487         configure.ac): Likewise.
16488         * modules/unictype/property-bidi-left-to-right (Depends-on,
16489         configure.ac): Likewise.
16490         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
16491         configure.ac): Likewise.
16492         * modules/unictype/property-bidi-other-neutral (Depends-on,
16493         configure.ac): Likewise.
16494         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
16495         Likewise.
16496         * modules/unictype/property-bidi-segment-separator (Depends-on,
16497         configure.ac): Likewise.
16498         * modules/unictype/property-bidi-whitespace (Depends-on,
16499         configure.ac): Likewise.
16500         * modules/unictype/property-combining (Depends-on, configure.ac):
16501         Likewise.
16502         * modules/unictype/property-composite (Depends-on, configure.ac):
16503         Likewise.
16504         * modules/unictype/property-currency-symbol (Depends-on,
16505         configure.ac): Likewise.
16506         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
16507         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
16508         Likewise.
16509         * modules/unictype/property-default-ignorable-code-point (Depends-on,
16510         configure.ac): Likewise.
16511         * modules/unictype/property-deprecated (Depends-on, configure.ac):
16512         Likewise.
16513         * modules/unictype/property-diacritic (Depends-on, configure.ac):
16514         Likewise.
16515         * modules/unictype/property-extender (Depends-on, configure.ac):
16516         Likewise.
16517         * modules/unictype/property-format-control (Depends-on, configure.ac):
16518         Likewise.
16519         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
16520         Likewise.
16521         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
16522         Likewise.
16523         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
16524         Likewise.
16525         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
16526         Likewise.
16527         * modules/unictype/property-hyphen (Depends-on, configure.ac):
16528         Likewise.
16529         * modules/unictype/property-id-continue (Depends-on, configure.ac):
16530         Likewise.
16531         * modules/unictype/property-id-start (Depends-on, configure.ac):
16532         Likewise.
16533         * modules/unictype/property-ideographic (Depends-on, configure.ac):
16534         Likewise.
16535         * modules/unictype/property-ids-binary-operator (Depends-on,
16536         configure.ac): Likewise.
16537         * modules/unictype/property-ids-trinary-operator (Depends-on,
16538         configure.ac): Likewise.
16539         * modules/unictype/property-ignorable-control (Depends-on,
16540         configure.ac): Likewise.
16541         * modules/unictype/property-iso-control (Depends-on, configure.ac):
16542         Likewise.
16543         * modules/unictype/property-join-control (Depends-on, configure.ac):
16544         Likewise.
16545         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
16546         Likewise.
16547         * modules/unictype/property-line-separator (Depends-on, configure.ac):
16548         Likewise.
16549         * modules/unictype/property-logical-order-exception (Depends-on,
16550         configure.ac): Likewise.
16551         * modules/unictype/property-lowercase (Depends-on, configure.ac):
16552         Likewise.
16553         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
16554         * modules/unictype/property-non-break (Depends-on, configure.ac):
16555         Likewise.
16556         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
16557         Likewise.
16558         * modules/unictype/property-numeric (Depends-on, configure.ac):
16559         Likewise.
16560         * modules/unictype/property-other-alphabetic (Depends-on,
16561         configure.ac): Likewise.
16562         * modules/unictype/property-other-default-ignorable-code-point
16563         (Depends-on, configure.ac): Likewise.
16564         * modules/unictype/property-other-grapheme-extend (Depends-on,
16565         configure.ac): Likewise.
16566         * modules/unictype/property-other-id-continue (Depends-on,
16567         configure.ac): Likewise.
16568         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
16569         Likewise.
16570         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
16571         Likewise.
16572         * modules/unictype/property-other-math (Depends-on, configure.ac):
16573         Likewise.
16574         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
16575         Likewise.
16576         * modules/unictype/property-paired-punctuation (Depends-on,
16577         configure.ac): Likewise.
16578         * modules/unictype/property-paragraph-separator (Depends-on,
16579         configure.ac): Likewise.
16580         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
16581         Likewise.
16582         * modules/unictype/property-pattern-white-space (Depends-on,
16583         configure.ac): Likewise.
16584         * modules/unictype/property-private-use (Depends-on, configure.ac):
16585         Likewise.
16586         * modules/unictype/property-punctuation (Depends-on, configure.ac):
16587         Likewise.
16588         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
16589         Likewise.
16590         * modules/unictype/property-radical (Depends-on, configure.ac):
16591         Likewise.
16592         * modules/unictype/property-sentence-terminal (Depends-on,
16593         configure.ac): Likewise.
16594         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
16595         Likewise.
16596         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
16597         * modules/unictype/property-terminal-punctuation (Depends-on,
16598         configure.ac): Likewise.
16599         * modules/unictype/property-titlecase (Depends-on, configure.ac):
16600         Likewise.
16601         * modules/unictype/property-unassigned-code-value (Depends-on,
16602         configure.ac): Likewise.
16603         * modules/unictype/property-unified-ideograph (Depends-on,
16604         configure.ac): Likewise.
16605         * modules/unictype/property-uppercase (Depends-on, configure.ac):
16606         Likewise.
16607         * modules/unictype/property-variation-selector (Depends-on,
16608         configure.ac): Likewise.
16609         * modules/unictype/property-white-space (Depends-on, configure.ac):
16610         Likewise.
16611         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
16612         Likewise.
16613         * modules/unictype/property-xid-start (Depends-on, configure.ac):
16614         Likewise.
16615         * modules/unictype/property-zero-width (Depends-on, configure.ac):
16616         Likewise.
16617         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
16618         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
16619         Likewise.
16620
16621 2009-12-31  Bruno Haible  <bruno@clisp.org>
16622
16623         Remove unnecessary AC_C_INLINE invocation.
16624         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
16625         since 2009-08-21.
16626
16627 2009-12-31  Jim Meyering  <meyering@redhat.com>
16628
16629         maint.mk: don't require explicit gpg_key_ID in cfg.mk
16630         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
16631         With this change, we can all remove the gpg_key_ID = ... definition
16632         from our respective cfg.mk files.
16633
16634         maint.mk: create announcement template in ~/, not in /tmp
16635         * top/maint.mk (emit_upload_commands): Adjust.
16636         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
16637         Remove temporary file, .ci-msg.
16638
16639 2009-12-31  Eric Blake  <ebb9@byu.net>
16640
16641         link-warning: always build headers with link warnings
16642         * modules/arpa_inet (Makefile.am): Always build replacement
16643         header.
16644         * modules/ctype (Makefile.am): Likewise.
16645         * modules/dirent (Makefile.am): Likewise.
16646         * modules/inttypes (Makefile.am): Likewise.
16647         * modules/langinfo (Makefile.am): Likewise.
16648         * modules/locale (Makefile.am): Likewise.
16649         * modules/spawn (Makefile.am): Likewise.
16650         * modules/sys_file (Makefile.am): Likewise.
16651         * modules/sys_ioctl (Makefile.am): Likewise.
16652         * modules/sys_select (Makefile.am): Likewise.
16653         * modules/sys_socket (Makefile.am): Likewise.
16654         * modules/sys_times (Makefile.am): Likewise.
16655         * modules/sys_utsname (Makefile.am): Likewise.
16656         * modules/sys_wait (Makefile.am): Likewise.
16657         * modules/wchar (Makefile.am): Likewise.
16658         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
16659         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
16660         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
16661         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
16662         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
16663         Likewise.
16664         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
16665         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
16666         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
16667         Likewise.
16668         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
16669         Likewise.
16670         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
16671         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
16672         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
16673         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
16674         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
16675         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
16676         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
16677         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
16678         (gl_WCHAR_H_DEFAULTS): Likewise.
16679
16680 2009-12-31  Eric Blake  <ebb9@byu.net>
16681
16682         signal, spawn: use link warnings
16683         * lib/signal.in.h (sigset_t): Make unconditional.
16684         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
16685         (sigpending, sigprocmask, sigaction): Add link warnings.
16686         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
16687         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
16688         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
16689         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
16690         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
16691         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
16692         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
16693         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
16694         (posix_spawn_file_actions_destroy)
16695         (posix_spawn_file_actions_addopen)
16696         (posix_spawn_file_actions_addclose)
16697         (posix_spawn_file_actions_adddup2): Likewise.
16698         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
16699         * tests/test-signal.c (main): Enhance test.
16700
16701         spawn: improve wrapper support
16702         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
16703         (gl_SPAWN_H_DEFAULTS): New defaults.
16704         * modules/spawn (Makefile.am): Substitute them.
16705         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
16706         Only declare if missing or broken.
16707
16708         sys_times, sys_utsname: use include_next
16709         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
16710         header.
16711         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
16712         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
16713         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
16714         * modules/sys_times (Depends-on): Add include_next.
16715         (Makefile.am): Substitute additional values.
16716         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
16717         * lib/sys_times.in.h (includes): Include native header, if
16718         available.
16719         * lib/sys_utsname.in.h (includes): Likewise.
16720         * tests/test-sys_times.c (main): Enhance test.
16721
16722         fdutimensat: revert prior patch
16723         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
16724         utimens.h.
16725         Reported by Bruno Haible.
16726
16727 2009-12-30  Eric Blake  <ebb9@byu.net>
16728
16729         sys_wait: drop link-warning dependency
16730         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
16731         link-warning efforts.
16732         * lib/sys_wait.in.h: Likewise.
16733
16734         fdutimensat: remove bogus dependency
16735         * modules/fdutimensat (Depends-on): Drop inline.
16736
16737         unistd: fix typo
16738         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
16739
16740 2009-12-30  Bruno Haible  <bruno@clisp.org>
16741
16742         Fix compilation error with Solaris cc.
16743         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
16744         * lib/unicase/u16-is-invariant.c: Likewise.
16745         * lib/unicase/u32-is-invariant.c: Likewise.
16746         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
16747
16748 2009-12-30  Bruno Haible  <bruno@clisp.org>
16749
16750         Fix test crash.
16751         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
16752         locales.
16753         Reported by Simon Josefsson <simon@josefsson.org>.
16754
16755 2009-12-30  Bruno Haible  <bruno@clisp.org>
16756
16757         Fix compilation error on most platforms.
16758         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
16759         Reported by Simon Josefsson <simon@josefsson.org>
16760         and Nelson H. F. Beebe <beebe@math.utah.edu>.
16761
16762 2009-12-30  Eric Blake  <ebb9@byu.net>
16763
16764         futimens, utimensat: work around ntfs-3g bug
16765         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
16766         a ctime bug is present, and expand workaround to cover ntfs-3g.
16767         * lib/utimens.c (fdutimens, lutimens): Likewise.
16768         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
16769         (validate_timespec): Adjust return value.
16770         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
16771         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
16772         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
16773
16774 2009-12-29  Eric Blake  <ebb9@byu.net>
16775
16776         link-warning: make usage consistent
16777         * modules/ctype (Depends-on): Add link-warning.
16778         (Makefile.am): Update rules accordingly.
16779         * modules/langinfo (Depends-on, Makefile.am): Likewise.
16780         * modules/locale (Depends-on, Makefile.am): Likewise.
16781         * modules/sys_file (Makefile.am): Likewise.
16782         * modules/getopt-posix (Makefile.am): Delete unused link warning
16783         efforts.
16784         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
16785         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
16786         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
16787         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
16788
16789         stdio: remove unused variables
16790         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
16791         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
16792         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
16793
16794         tests: test more substitute headers
16795         * modules/ctype-tests: New file.
16796         * modules/dirent-tests: Likewise.
16797         * modules/spawn-tests: Likewise.
16798         * modules/sys_file-tests: Likewise.
16799         * modules/sys_ioctl-tests: Likewise.
16800         * modules/sys_wait-tests: Likewise.
16801         * tests/test-ctype.c: Likewise.
16802         * tests/test-dirent.c: Likewise.
16803         * tests/test-spawn.c: Likewise.
16804         * tests/test-sys_file.c: Likewise.
16805         * tests/test-sys_ioctl.c: Likewise.
16806         * tests/test-sys_wait.c: Likewise.
16807         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
16808         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
16809         whether or not flock is in use.
16810
16811         tests: remove License section from module
16812         * modules/arpa_inet-tests: Remove unneeded section.
16813         * modules/byteswap-tests: Likewise.
16814         * modules/ceilf-tests: Likewise.
16815         * modules/ceill-tests: Likewise.
16816         * modules/crypto/des-tests: Likewise.
16817         * modules/crypto/gc-arcfour-tests: Likewise.
16818         * modules/crypto/gc-arctwo-tests: Likewise.
16819         * modules/crypto/gc-des-tests: Likewise.
16820         * modules/crypto/gc-hmac-md5-tests: Likewise.
16821         * modules/crypto/gc-hmac-sha1-tests: Likewise.
16822         * modules/crypto/gc-md2-tests: Likewise.
16823         * modules/crypto/gc-md4-tests: Likewise.
16824         * modules/crypto/gc-md5-tests: Likewise.
16825         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
16826         * modules/crypto/gc-rijndael-tests: Likewise.
16827         * modules/crypto/gc-sha1-tests: Likewise.
16828         * modules/crypto/gc-tests: Likewise.
16829         * modules/crypto/md2-tests: Likewise.
16830         * modules/crypto/md4-tests: Likewise.
16831         * modules/fcntl-h-tests: Likewise.
16832         * modules/floorf-tests: Likewise.
16833         * modules/floorl-tests: Likewise.
16834         * modules/frexp-nolibm-tests: Likewise.
16835         * modules/frexp-tests: Likewise.
16836         * modules/frexpl-nolibm-tests: Likewise.
16837         * modules/frexpl-tests: Likewise.
16838         * modules/getaddrinfo-tests: Likewise.
16839         * modules/inttypes-tests: Likewise.
16840         * modules/isfinite-tests: Likewise.
16841         * modules/isinf-tests: Likewise.
16842         * modules/ldexpl-tests: Likewise.
16843         * modules/locale-tests: Likewise.
16844         * modules/math-tests: Likewise.
16845         * modules/netdb-tests: Likewise.
16846         * modules/netinet_in-tests: Likewise.
16847         * modules/printf-frexp-tests: Likewise.
16848         * modules/printf-frexpl-tests: Likewise.
16849         * modules/priv-set-tests: Likewise.
16850         * modules/random_r-tests: Likewise.
16851         * modules/round-tests: Likewise.
16852         * modules/roundf-tests: Likewise.
16853         * modules/roundl-tests: Likewise.
16854         * modules/search-tests: Likewise.
16855         * modules/select-tests: Likewise.
16856         * modules/signal-tests: Likewise.
16857         * modules/stdbool-tests: Likewise.
16858         * modules/stddef-tests: Likewise.
16859         * modules/stdint-tests: Likewise.
16860         * modules/stdio-tests: Likewise.
16861         * modules/stdlib-tests: Likewise.
16862         * modules/string-tests: Likewise.
16863         * modules/strings-tests: Likewise.
16864         * modules/sys_select-tests: Likewise.
16865         * modules/sys_socket-tests: Likewise.
16866         * modules/sys_stat-tests: Likewise.
16867         * modules/sys_time-tests: Likewise.
16868         * modules/sys_utsname-tests: Likewise.
16869         * modules/sysexits-tests: Likewise.
16870         * modules/time-tests: Likewise.
16871         * modules/trunc-tests: Likewise.
16872         * modules/truncf-tests: Likewise.
16873         * modules/truncl-tests: Likewise.
16874         * modules/tsearch-tests: Likewise.
16875         * modules/unistd-tests: Likewise.
16876         * modules/wchar-tests: Likewise.
16877         * modules/wctype-tests: Likewise.
16878
16879         tests: fix license on several tests
16880         * tests/test-des.c: Update to GPLv3+.
16881         * tests/test-flock.c: Likewise.
16882         * tests/test-fsync.c: Likewise.
16883         * tests/test-futimens.h: Likewise.
16884         * tests/test-gc-arcfour.c: Likewise.
16885         * tests/test-gc-arctwo.c: Likewise.
16886         * tests/test-gc-des.c: Likewise.
16887         * tests/test-gc-hmac-md5.c: Likewise.
16888         * tests/test-gc-hmac-sha1.c: Likewise.
16889         * tests/test-gc-md2.c: Likewise.
16890         * tests/test-gc-md4.c: Likewise.
16891         * tests/test-gc-md5.c: Likewise.
16892         * tests/test-gc-pbkdf2-sha1.c: Likewise.
16893         * tests/test-gc-rijndael.c: Likewise.
16894         * tests/test-gc-sha1.c: Likewise.
16895         * tests/test-gc.c: Likewise.
16896         * tests/test-getcwd.c: Likewise.
16897         * tests/test-link.c: Likewise.
16898         * tests/test-link.h: Likewise.
16899         * tests/test-lutimens.h: Likewise.
16900         * tests/test-md2.c: Likewise.
16901         * tests/test-md4.c: Likewise.
16902         * tests/test-mkdir.h: Likewise.
16903         * tests/test-rename.c: Likewise.
16904         * tests/test-rename.h: Likewise.
16905         * tests/test-safe-alloc.c: Likewise.
16906         * tests/test-utimens-common.h: Likewise.
16907         * tests/test-utimens.h: Likewise.
16908
16909         maint: sync license texts
16910         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
16911         * doc/gpl-3.0.texi: Revert copyright year update.
16912         * doc/lgpl-3.0.texi: Likewise.
16913
16914 2009-12-29  Jim Meyering  <meyering@redhat.com>
16915
16916         update nearly all FSF copyright year lists to include 2009
16917         The files named by the following are exempted:
16918             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
16919               test -f "$dst" && { echo "$dst"; continue; }
16920               test -d "$dst" || continue
16921               echo "$dst"/$(basename "$src")
16922             done > exempt
16923             git ls-files tests/unictype >> exempt
16924         In the remaining files, convert to all-interval notation if
16925         - there is already at least one year interval like 2000-2003
16926         - the file is maintained by me
16927         - the file is in lib/uni*/, where that style already prevails
16928         Otherwise, use update-copyright's default.
16929
16930 2009-12-29  Simon Josefsson  <simon@josefsson.org>
16931         and Eric Blake  <ebb9@byu.net>
16932
16933         tests: don't require debug system() to pass
16934         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
16935         * tests/test-rmdir.h (test_rmdir_func): Likewise.
16936         * tests/test-unlink.h (test_unlink_func): Likewise.
16937         * tests/test-fstatat.c (main): ...into callers.
16938         * tests/test-lstat.c (main): Likewise.
16939         * tests/test-rmdir.c (main): Likewise.
16940         * tests/test-unlink.c (main): Likewise.
16941         * tests/test-unlinkat.c (main): Likewise.
16942         * tests/test-areadlink-with-size.c (main): Don't require a
16943         debug-only system call to pass, aiding cross-testing to mingw.
16944         * tests/test-areadlink.c (main): Likewise.
16945         * tests/test-areadlinkat-with-size.c (main): Likewise.
16946         * tests/test-areadlinkat.c (main): Likewise.
16947         * tests/test-canonicalize-lgpl.c (main): Likewise.
16948         * tests/test-canonicalize.c (main): Likewise.
16949         * tests/test-chown.c (main): Likewise.
16950         * tests/test-fchownat.c (main): Likewise.
16951         * tests/test-lchown.c (main): Likewise.
16952         * tests/test-fdutimensat.c (main): Likewise.
16953         * tests/test-futimens.c (main): Likewise.
16954         * tests/test-link.c (main): Likewise.
16955         * tests/test-linkat.c (main): Likewise.
16956         * tests/test-mkdir.c (main): Likewise.
16957         * tests/test-mkdirat.c (main): Likewise.
16958         * tests/test-mkfifo.c (main): Likewise.
16959         * tests/test-mkfifoat.c (main): Likewise.
16960         * tests/test-mknod.c (main): Likewise.
16961         * tests/test-readlink.c (main): Likewise.
16962         * tests/test-remove.c (main): Likewise.
16963         * tests/test-rename.c (main): Likewise.
16964         * tests/test-renameat.c (main): Likewise.
16965         * tests/test-symlink.c (main): Likewise.
16966         * tests/test-symlinkat.c (main): Likewise.
16967         * tests/test-utimens.c (main): Likewise.
16968         * tests/test-utimensat.c (main): Likewise.
16969
16970 2009-12-29  Simon Josefsson  <simon@josefsson.org>
16971
16972         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
16973         on $(UNUSED_PARAMETER_H) to avoid build failure.
16974
16975 2009-12-28  Jim Meyering  <meyering@redhat.com>
16976
16977         update-copyright: you may specify a max. line length other than 72
16978         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
16979
16980         maint: use consistent FSF copyright line syntax
16981         * lib/posixtm.c: Add missing comma in FSF copyright line.
16982         * lib/posixtm.h: Likewise.
16983         * lib/getugroups.c: Add missing ", Inc.".
16984
16985         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
16986         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
16987         FSF copyright line.  Remove trailing blanks.
16988
16989 2009-12-28  Eric Blake  <ebb9@byu.net>
16990
16991         test-dup2: reduce dependencies
16992         * modules/cloexec (Configure.ac): Set witness.
16993         * modules/dup2-tests (Depends-on): Drop cloexec.
16994         * tests/test-dup2.c (main): Skip portion of test if cloexec module
16995         not present.
16996         Suggested by Bruno Haible.
16997
16998 2009-12-26  Bruno Haible  <bruno@clisp.org>
16999
17000         Remove an unneeded dependency.
17001         * modules/fseterr (Depends-on): Remove dup2.
17002
17003 2009-12-26  Eric Blake  <ebb9@byu.net>
17004
17005         tests: use macros.h in more places
17006         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
17007         (ASSERT_STREAM): Provide default of stderr.
17008         * tests/test-dirent-safer.c: Include macros.h, using alternate
17009         stream for assertions.
17010         * tests/test-dup-safer.c: Likewise.
17011         * tests/test-freopen-safer.c: Likewise.
17012         * tests/test-getopt.c: Likewise.
17013         * tests/test-openat-safer.c: Likewise.
17014         * tests/test-pipe.c: Likewise.
17015         * tests/test-popen-safer.c: Likewise.
17016         * modules/dirent-safer-tests (Files): Include macros.h.
17017         * modules/unistd-safer-tests (Files): Likewise.
17018         * modules/freopen-safer-tests (Files): Likewise.
17019         * modules/getopt-posix-tests (Files): Likewise.
17020         * modules/openat-safer-tests (Files): Likewise.
17021         * modules/pipe-tests (Files): Likewise.
17022
17023 2009-12-26  Bruno Haible  <bruno@clisp.org>
17024
17025         javacomp: Portability fix.
17026         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
17027         that it also works on Solaris.
17028
17029 2009-12-26  Bruno Haible  <bruno@clisp.org>
17030
17031         localename: Fix storage allocation of gl_locale_name_thread's result.
17032         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
17033         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
17034         all platforms that have 'uselocale'.
17035         (gl_locale_name_thread_unsafe): New function, extracted from
17036         gl_locale_name_thread.
17037         (gl_locale_name_thread): Call struniq on all platforms that have
17038         'uselocale'.
17039         * tests/test-localename.c (test_locale_name_thread): Check that the
17040         resulting strings are permanently allocated.
17041         * modules/localename-tests (Depends-on): Add strdup.
17042
17043 2009-12-26  Bruno Haible  <bruno@clisp.org>
17044
17045         * tests/test-localename.c (categories): Fill in the strings.
17046
17047 2009-12-26  Jim Meyering  <meyering@redhat.com>
17048
17049         isdir: complete the removal of m4/isdir.m4
17050         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
17051
17052         isdir: clean up, since at least grep still uses it
17053         * lib/isdir.c: Include "isdir.h".
17054         (S_ISDIR): Remove now-unneeded definition.
17055         * modules/isdir (Files): Add lib/isdir.h.
17056         * lib/isdir.h: New file, with declaration.
17057         * m4/isdir.m4: Remove file -- unneeded.
17058
17059 2009-12-25  Bruno Haible  <bruno@clisp.org>
17060
17061         selinux-h: Make generated .h files standalone.
17062         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
17063         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
17064         * lib/se-selinux.in.h: Likewise.
17065         * modules/selinux-h (Depends-on): Add unused-parameter.
17066         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
17067         selinux/selinux.h and selinux/context.h.
17068         Suggested by Eric Blake.
17069
17070 2009-12-25  Bruno Haible  <bruno@clisp.org>
17071
17072         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
17073         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
17074         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
17075         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
17076         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
17077
17078 2009-12-24  Bruno Haible  <bruno@clisp.org>
17079
17080         openat: Fix warning.
17081         * lib/openat-proc.c: Include <unistd.h>.
17082
17083 2009-12-24  Bruno Haible  <bruno@clisp.org>
17084
17085         New module 'unused-parameter'.
17086         * build-aux/unused-parameter.h: New file, extracted from earlier
17087         gnulib-common.m4.
17088         * modules/unused-parameter: New file.
17089         * lib/unistr.h: Include unused-parameter.h.
17090         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
17091         _GL_UNUSED.
17092         * modules/unistr/base (Depends-on): Add unused-parameter.
17093
17094 2009-12-24  Bruno Haible  <bruno@clisp.org>
17095
17096         Add missing dependencies to 'extensions' module.
17097         * m4/extensions.m4: Add comment.
17098         * modules/accept4 (Depends-on): Add extensions.
17099         * modules/dup3 (Depends-on): Likewise.
17100         * modules/fcntl (Depends-on): Likewise.
17101         * modules/futimens (Depends-on): Likewise.
17102         * modules/mknod (Depends-on): Likewise.
17103         * modules/pipe2 (Depends-on): Likewise.
17104         * modules/stat-time (Depends-on): Likewise.
17105         * modules/strcasestr-simple (Depends-on): Likewise.
17106         * modules/strsignal (Depends-on): Likewise.
17107         * modules/utimensat (Depends-on): Likewise.
17108         * modules/localcharset (Depends-on): Likewise. Needed because of
17109         gl_FCNTL_O_FLAGS.
17110         * modules/wcrtomb (Depends-on): Likewise. Needed because of
17111         AC_TYPE_MBSTATE_T.
17112         * modules/wcsnrtombs (Depends-on): Likewise.
17113         * modules/wcsrtombs (Depends-on): Likewise.
17114
17115 2009-12-24  Bruno Haible  <bruno@clisp.org>
17116
17117         binary-io: Avoid gcc warning due to SET_BINARY.
17118         * lib/binary-io.h (SET_BINARY): Cast the result to void.
17119         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
17120
17121 2009-12-24  Bruno Haible  <bruno@clisp.org>
17122
17123         Avoid future namespace pollution on glibc systems.
17124         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
17125         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
17126         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
17127         glibc systems.
17128
17129 2009-12-24  Bruno Haible  <bruno@clisp.org>
17130
17131         Refactor common macros used in tests.
17132         * tests/macros.h: New file.
17133         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
17134         and/or <stdlib.h>, if appropriate.
17135         (ASSERT, SIZEOF): Remove macros.
17136         * tests/test-areadlink-with-size.c: Likewise.
17137         * tests/test-areadlinkat.c: Likewise.
17138         * tests/test-areadlinkat-with-size.c: Likewise.
17139         * tests/test-argmatch.c: Likewise.
17140         * tests/test-argv-iter.c: Likewise.
17141         * tests/test-array-mergesort.c: Likewise.
17142         * tests/test-array_list.c: Likewise.
17143         * tests/test-array_oset.c: Likewise.
17144         * tests/test-avltree_list.c: Likewise.
17145         * tests/test-avltree_oset.c: Likewise.
17146         * tests/test-avltreehash_list.c: Likewise.
17147         * tests/test-base64.c: Likewise.
17148         * tests/test-binary-io.c: Likewise.
17149         * tests/test-bitrotate.c: Likewise.
17150         * tests/test-btowc.c: Likewise.
17151         * tests/test-byteswap.c: Likewise.
17152         * tests/test-c-ctype.c: Likewise.
17153         * tests/test-c-stack.c: Likewise.
17154         * tests/test-c-strcasecmp.c: Likewise.
17155         * tests/test-c-strcasestr.c: Likewise.
17156         * tests/test-c-strncasecmp.c: Likewise.
17157         * tests/test-c-strstr.c: Likewise.
17158         * tests/test-canonicalize-lgpl.c: Likewise.
17159         * tests/test-canonicalize.c: Likewise.
17160         * tests/test-carray_list.c: Likewise.
17161         * tests/test-ceilf1.c: Likewise.
17162         * tests/test-ceilf2.c: Likewise.
17163         * tests/test-ceill.c: Likewise.
17164         * tests/test-chown.c: Likewise.
17165         * tests/test-cloexec.c: Likewise.
17166         * tests/test-copy-acl.c: Likewise.
17167         * tests/test-copy-file.c: Likewise.
17168         * tests/test-count-one-bits.c: Likewise.
17169         * tests/test-dprintf-posix.c: Likewise.
17170         * tests/test-dup2.c: Likewise.
17171         * tests/test-dup3.c: Likewise.
17172         * tests/test-duplocale.c: Likewise.
17173         * tests/test-fbufmode.c: Likewise.
17174         * tests/test-fchdir.c: Likewise.
17175         * tests/test-fchownat.c: Likewise.
17176         * tests/test-fcntl-safer.c: Likewise.
17177         * tests/test-fcntl.c: Likewise.
17178         * tests/test-fdopendir.c: Likewise.
17179         * tests/test-fdutimensat.c: Likewise.
17180         * tests/test-fflush2.c: Likewise.
17181         * tests/test-file-has-acl.c: Likewise.
17182         * tests/test-filevercmp.c: Likewise.
17183         * tests/test-flock.c: Likewise.
17184         * tests/test-floorf1.c: Likewise.
17185         * tests/test-floorf2.c: Likewise.
17186         * tests/test-floorl.c: Likewise.
17187         * tests/test-fnmatch.c: Likewise.
17188         * tests/test-fopen.h: Likewise.
17189         * tests/test-fpending.c: Likewise.
17190         * tests/test-fprintf-posix.c: Likewise.
17191         * tests/test-fpurge.c: Likewise.
17192         * tests/test-freadable.c: Likewise.
17193         * tests/test-freadahead.c: Likewise.
17194         * tests/test-freading.c: Likewise.
17195         * tests/test-freadptr.c: Likewise.
17196         * tests/test-freadptr2.c: Likewise.
17197         * tests/test-freadseek.c: Likewise.
17198         * tests/test-freopen.c: Likewise.
17199         * tests/test-frexp.c: Likewise.
17200         * tests/test-frexpl.c: Likewise.
17201         * tests/test-fseek.c: Likewise.
17202         * tests/test-fseeko.c: Likewise.
17203         * tests/test-fstatat.c: Likewise.
17204         * tests/test-fstrcmp.c: Likewise.
17205         * tests/test-fsync.c: Likewise.
17206         * tests/test-ftell.c: Likewise.
17207         * tests/test-ftello.c: Likewise.
17208         * tests/test-func.c: Likewise.
17209         * tests/test-futimens.c: Likewise.
17210         * tests/test-fwritable.c: Likewise.
17211         * tests/test-fwriting.c: Likewise.
17212         * tests/test-getcwd.c: Likewise.
17213         * tests/test-getdate.c: Likewise.
17214         * tests/test-getdelim.c: Likewise.
17215         * tests/test-getdtablesize.c: Likewise.
17216         * tests/test-getgroups.c: Likewise.
17217         * tests/test-getline.c: Likewise.
17218         * tests/test-getndelim2.c: Likewise.
17219         * tests/test-glob.c: Likewise.
17220         * tests/test-hash.c: Likewise.
17221         * tests/test-i-ring.c: Likewise.
17222         * tests/test-iconv-utf.c: Likewise.
17223         * tests/test-iconv.c: Likewise.
17224         * tests/test-idpriv-drop.c: Likewise.
17225         * tests/test-idpriv-droptemp.c: Likewise.
17226         * tests/test-inet_ntop.c: Likewise.
17227         * tests/test-inet_pton.c: Likewise.
17228         * tests/test-isblank.c: Likewise.
17229         * tests/test-isfinite.c: Likewise.
17230         * tests/test-isinf.c: Likewise.
17231         * tests/test-isnan.c: Likewise.
17232         * tests/test-isnand.h: Likewise.
17233         * tests/test-isnanf.h: Likewise.
17234         * tests/test-isnanl.h: Likewise.
17235         * tests/test-lchown.c: Likewise.
17236         * tests/test-ldexpl.c: Likewise.
17237         * tests/test-link.c: Likewise.
17238         * tests/test-linkat.c: Likewise.
17239         * tests/test-linked_list.c: Likewise.
17240         * tests/test-linkedhash_list.c: Likewise.
17241         * tests/test-localename.c: Likewise.
17242         * tests/test-lseek.c: Likewise.
17243         * tests/test-lstat.c: Likewise.
17244         * tests/test-mbmemcasecmp.c: Likewise.
17245         * tests/test-mbmemcasecoll.c: Likewise.
17246         * tests/test-mbrtowc.c: Likewise.
17247         * tests/test-mbscasecmp.c: Likewise.
17248         * tests/test-mbscasestr1.c: Likewise.
17249         * tests/test-mbscasestr2.c: Likewise.
17250         * tests/test-mbscasestr3.c: Likewise.
17251         * tests/test-mbscasestr4.c: Likewise.
17252         * tests/test-mbschr.c: Likewise.
17253         * tests/test-mbscspn.c: Likewise.
17254         * tests/test-mbsinit.c: Likewise.
17255         * tests/test-mbsncasecmp.c: Likewise.
17256         * tests/test-mbsnrtowcs.c: Likewise.
17257         * tests/test-mbspbrk.c: Likewise.
17258         * tests/test-mbspcasecmp.c: Likewise.
17259         * tests/test-mbsrchr.c: Likewise.
17260         * tests/test-mbsrtowcs.c: Likewise.
17261         * tests/test-mbsspn.c: Likewise.
17262         * tests/test-mbsstr1.c: Likewise.
17263         * tests/test-mbsstr2.c: Likewise.
17264         * tests/test-mbsstr3.c: Likewise.
17265         * tests/test-memchr.c: Likewise.
17266         * tests/test-memchr2.c: Likewise.
17267         * tests/test-memcmp.c: Likewise.
17268         * tests/test-memmem.c: Likewise.
17269         * tests/test-memrchr.c: Likewise.
17270         * tests/test-mkdir.c: Likewise.
17271         * tests/test-mkdirat.c: Likewise.
17272         * tests/test-mkfifo.c: Likewise.
17273         * tests/test-mkfifoat.c: Likewise.
17274         * tests/test-mknod.c: Likewise.
17275         * tests/test-nanosleep.c: Likewise.
17276         * tests/test-nl_langinfo.c: Likewise.
17277         * tests/test-obstack-printf.c: Likewise.
17278         * tests/test-open.c: Likewise.
17279         * tests/test-openat.c: Likewise.
17280         * tests/test-pipe-filter-gi1.c: Likewise.
17281         * tests/test-pipe-filter-gi2-main.c: Likewise.
17282         * tests/test-pipe-filter-ii1.c: Likewise.
17283         * tests/test-pipe-filter-ii2-main.c: Likewise.
17284         * tests/test-pipe2.c: Likewise.
17285         * tests/test-popen.h: Likewise.
17286         * tests/test-posixtm.c: Likewise.
17287         * tests/test-pread.c: Likewise.
17288         * tests/test-printf-frexp.c: Likewise.
17289         * tests/test-printf-frexpl.c: Likewise.
17290         * tests/test-printf-posix.c: Likewise.
17291         * tests/test-priv-set.c: Likewise.
17292         * tests/test-quotearg.c: Likewise.
17293         * tests/test-random_r.c: Likewise.
17294         * tests/test-rawmemchr.c: Likewise.
17295         * tests/test-rbtree_list.c: Likewise.
17296         * tests/test-rbtree_oset.c: Likewise.
17297         * tests/test-rbtreehash_list.c: Likewise.
17298         * tests/test-readlink.c: Likewise.
17299         * tests/test-remove.c: Likewise.
17300         * tests/test-rename.c: Likewise.
17301         * tests/test-renameat.c: Likewise.
17302         * tests/test-rmdir.c: Likewise.
17303         * tests/test-round1.c: Likewise.
17304         * tests/test-roundf1.c: Likewise.
17305         * tests/test-roundl.c: Likewise.
17306         * tests/test-safe-alloc.c: Likewise.
17307         * tests/test-sameacls.c: Likewise.
17308         * tests/test-set-mode-acl.c: Likewise.
17309         * tests/test-setenv.c: Likewise.
17310         * tests/test-sigaction.c: Likewise.
17311         * tests/test-signbit.c: Likewise.
17312         * tests/test-sleep.c: Likewise.
17313         * tests/test-snprintf-posix.c: Likewise.
17314         * tests/test-snprintf.c: Likewise.
17315         * tests/test-sprintf-posix.c: Likewise.
17316         * tests/test-stat-time.c: Likewise.
17317         * tests/test-stat.c: Likewise.
17318         * tests/test-strcasestr.c: Likewise.
17319         * tests/test-strchrnul.c: Likewise.
17320         * tests/test-strerror.c: Likewise.
17321         * tests/test-striconv.c: Likewise.
17322         * tests/test-striconveh.c: Likewise.
17323         * tests/test-striconveha.c: Likewise.
17324         * tests/test-strsignal.c: Likewise.
17325         * tests/test-strstr.c: Likewise.
17326         * tests/test-strtod.c: Likewise.
17327         * tests/test-strverscmp.c: Likewise.
17328         * tests/test-symlink.c: Likewise.
17329         * tests/test-symlinkat.c: Likewise.
17330         * tests/test-trunc1.c: Likewise.
17331         * tests/test-trunc2.c: Likewise.
17332         * tests/test-truncf1.c: Likewise.
17333         * tests/test-truncf2.c: Likewise.
17334         * tests/test-truncl.c: Likewise.
17335         * tests/test-uname.c: Likewise.
17336         * tests/test-unlink.c: Likewise.
17337         * tests/test-unlinkat.c: Likewise.
17338         * tests/test-unsetenv.c: Likewise.
17339         * tests/test-usleep.c: Likewise.
17340         * tests/test-utimens.c: Likewise.
17341         * tests/test-utimensat.c: Likewise.
17342         * tests/test-vasnprintf-posix.c: Likewise.
17343         * tests/test-vasnprintf-posix2.c: Likewise.
17344         * tests/test-vasnprintf.c: Likewise.
17345         * tests/test-vasprintf-posix.c: Likewise.
17346         * tests/test-vasprintf.c: Likewise.
17347         * tests/test-vdprintf-posix.c: Likewise.
17348         * tests/test-vfprintf-posix.c: Likewise.
17349         * tests/test-vprintf-posix.c: Likewise.
17350         * tests/test-vsnprintf-posix.c: Likewise.
17351         * tests/test-vsnprintf.c: Likewise.
17352         * tests/test-vsprintf-posix.c: Likewise.
17353         * tests/test-wcrtomb.c: Likewise.
17354         * tests/test-wcsnrtombs.c: Likewise.
17355         * tests/test-wcsrtombs.c: Likewise.
17356         * tests/test-wctype.c: Likewise.
17357         * tests/test-wcwidth.c: Likewise.
17358         * tests/test-xfprintf-posix.c: Likewise.
17359         * tests/test-xmemdup0.c: Likewise.
17360         * tests/test-xprintf-posix.c: Likewise.
17361         * tests/test-xvasprintf.c: Likewise.
17362         * tests/unicase/test-locale-language.c: Likewise.
17363         * tests/unicase/test-mapping-part1.h: Likewise.
17364         * tests/unicase/test-predicate-part1.h: Likewise.
17365         * tests/unicase/test-u8-casecmp.c: Likewise.
17366         * tests/unicase/test-u8-casecoll.c: Likewise.
17367         * tests/unicase/test-u8-casefold.c: Likewise.
17368         * tests/unicase/test-u8-is-cased.c: Likewise.
17369         * tests/unicase/test-u8-is-casefolded.c: Likewise.
17370         * tests/unicase/test-u8-is-lowercase.c: Likewise.
17371         * tests/unicase/test-u8-is-titlecase.c: Likewise.
17372         * tests/unicase/test-u8-is-uppercase.c: Likewise.
17373         * tests/unicase/test-u8-tolower.c: Likewise.
17374         * tests/unicase/test-u8-totitle.c: Likewise.
17375         * tests/unicase/test-u8-toupper.c: Likewise.
17376         * tests/unicase/test-u16-casecmp.c: Likewise.
17377         * tests/unicase/test-u16-casecoll.c: Likewise.
17378         * tests/unicase/test-u16-casefold.c: Likewise.
17379         * tests/unicase/test-u16-is-cased.c: Likewise.
17380         * tests/unicase/test-u16-is-casefolded.c: Likewise.
17381         * tests/unicase/test-u16-is-lowercase.c: Likewise.
17382         * tests/unicase/test-u16-is-titlecase.c: Likewise.
17383         * tests/unicase/test-u16-is-uppercase.c: Likewise.
17384         * tests/unicase/test-u16-tolower.c: Likewise.
17385         * tests/unicase/test-u16-totitle.c: Likewise.
17386         * tests/unicase/test-u16-toupper.c: Likewise.
17387         * tests/unicase/test-u32-casecmp.c: Likewise.
17388         * tests/unicase/test-u32-casecoll.c: Likewise.
17389         * tests/unicase/test-u32-casefold.c: Likewise.
17390         * tests/unicase/test-u32-is-cased.c: Likewise.
17391         * tests/unicase/test-u32-is-casefolded.c: Likewise.
17392         * tests/unicase/test-u32-is-lowercase.c: Likewise.
17393         * tests/unicase/test-u32-is-titlecase.c: Likewise.
17394         * tests/unicase/test-u32-is-uppercase.c: Likewise.
17395         * tests/unicase/test-u32-tolower.c: Likewise.
17396         * tests/unicase/test-u32-totitle.c: Likewise.
17397         * tests/unicase/test-u32-toupper.c: Likewise.
17398         * tests/unicase/test-ulc-casecmp.c: Likewise.
17399         * tests/unicase/test-ulc-casecoll.c: Likewise.
17400         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
17401         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
17402         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
17403         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
17404         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
17405         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
17406         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
17407         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
17408         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
17409         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
17410         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
17411         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
17412         * tests/unictype/test-bidi_byname.c: Likewise.
17413         * tests/unictype/test-bidi_name.c: Likewise.
17414         * tests/unictype/test-bidi_of.c: Likewise.
17415         * tests/unictype/test-bidi_test.c: Likewise.
17416         * tests/unictype/test-block_list.c: Likewise.
17417         * tests/unictype/test-block_of.c: Likewise.
17418         * tests/unictype/test-block_test.c: Likewise.
17419         * tests/unictype/test-categ_and.c: Likewise.
17420         * tests/unictype/test-categ_and_not.c: Likewise.
17421         * tests/unictype/test-categ_byname.c: Likewise.
17422         * tests/unictype/test-categ_name.c: Likewise.
17423         * tests/unictype/test-categ_none.c: Likewise.
17424         * tests/unictype/test-categ_of.c: Likewise.
17425         * tests/unictype/test-categ_or.c: Likewise.
17426         * tests/unictype/test-categ_test_withtable.c: Likewise.
17427         * tests/unictype/test-combining.c: Likewise.
17428         * tests/unictype/test-decdigit.c: Likewise.
17429         * tests/unictype/test-digit.c: Likewise.
17430         * tests/unictype/test-mirror.c: Likewise.
17431         * tests/unictype/test-numeric.c: Likewise.
17432         * tests/unictype/test-pr_byname.c: Likewise.
17433         * tests/unictype/test-pr_test.c: Likewise.
17434         * tests/unictype/test-predicate-part1.h: Likewise.
17435         * tests/unictype/test-scripts.c: Likewise.
17436         * tests/unictype/test-sy_c_ident.c: Likewise.
17437         * tests/unictype/test-sy_java_ident.c: Likewise.
17438         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
17439         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
17440         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
17441         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
17442         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
17443         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
17444         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
17445         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
17446         * tests/uninorm/test-canonical-decomposition.c: Likewise.
17447         * tests/uninorm/test-compat-decomposition.c: Likewise.
17448         * tests/uninorm/test-composition.c: Likewise.
17449         * tests/uninorm/test-decomposing-form.c: Likewise.
17450         * tests/uninorm/test-decomposition.c: Likewise.
17451         * tests/uninorm/test-u8-nfc.c: Likewise.
17452         * tests/uninorm/test-u8-nfd.c: Likewise.
17453         * tests/uninorm/test-u8-nfkc.c: Likewise.
17454         * tests/uninorm/test-u8-nfkd.c: Likewise.
17455         * tests/uninorm/test-u8-normcmp.c: Likewise.
17456         * tests/uninorm/test-u8-normcoll.c: Likewise.
17457         * tests/uninorm/test-u16-nfc.c: Likewise.
17458         * tests/uninorm/test-u16-nfd.c: Likewise.
17459         * tests/uninorm/test-u16-nfkc.c: Likewise.
17460         * tests/uninorm/test-u16-nfkd.c: Likewise.
17461         * tests/uninorm/test-u16-normcmp.c: Likewise.
17462         * tests/uninorm/test-u16-normcoll.c: Likewise.
17463         * tests/uninorm/test-u32-nfc.c: Likewise.
17464         * tests/uninorm/test-u32-nfd.c: Likewise.
17465         * tests/uninorm/test-u32-nfkc.c: Likewise.
17466         * tests/uninorm/test-u32-nfkd.c: Likewise.
17467         * tests/uninorm/test-u32-normalize-big.c: Likewise.
17468         * tests/uninorm/test-u32-normcmp.c: Likewise.
17469         * tests/uninorm/test-u32-normcoll.c: Likewise.
17470         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
17471         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
17472         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
17473         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
17474         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
17475         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
17476         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
17477         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
17478         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
17479         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
17480         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
17481         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
17482         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
17483         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
17484         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
17485         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
17486         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
17487         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
17488         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
17489         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
17490         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
17491         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
17492         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
17493         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
17494         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
17495         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
17496         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
17497         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
17498         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
17499         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
17500         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
17501         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
17502         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
17503         * tests/uniwidth/test-u8-strwidth.c: Likewise.
17504         * tests/uniwidth/test-u8-width.c: Likewise.
17505         * tests/uniwidth/test-u16-strwidth.c: Likewise.
17506         * tests/uniwidth/test-u16-width.c: Likewise.
17507         * tests/uniwidth/test-u32-strwidth.c: Likewise.
17508         * tests/uniwidth/test-u32-width.c: Likewise.
17509         * tests/uniwidth/test-uc_width.c: Likewise.
17510         * tests/uniwidth/test-uc_width2.c: Likewise.
17511         * modules/acl-tests (Files): Add tests/macros.h.
17512         * modules/areadlink-tests (Files): Likewise.
17513         * modules/areadlink-with-size-tests (Files): Likewise.
17514         * modules/areadlinkat-tests (Files): Likewise.
17515         * modules/areadlinkat-with-size-tests (Files): Likewise.
17516         * modules/argmatch-tests (Files): Likewise.
17517         * modules/argv-iter-tests (Files): Likewise.
17518         * modules/array-list-tests (Files): Likewise.
17519         * modules/array-mergesort-tests (Files): Likewise.
17520         * modules/array-oset-tests (Files): Likewise.
17521         * modules/avltree-list-tests (Files): Likewise.
17522         * modules/avltree-oset-tests (Files): Likewise.
17523         * modules/avltreehash-list-tests (Files): Likewise.
17524         * modules/base64-tests (Files): Likewise.
17525         * modules/binary-io-tests (Files): Likewise.
17526         * modules/bitrotate-tests (Files): Likewise.
17527         * modules/btowc-tests (Files): Likewise.
17528         * modules/byteswap-tests (Files): Likewise.
17529         * modules/c-ctype-tests (Files): Likewise.
17530         * modules/c-stack-tests (Files): Likewise.
17531         * modules/c-strcase-tests (Files): Likewise.
17532         * modules/c-strcasestr-tests (Files): Likewise.
17533         * modules/c-strstr-tests (Files): Likewise.
17534         * modules/canonicalize-lgpl-tests (Files): Likewise.
17535         * modules/canonicalize-tests (Files): Likewise.
17536         * modules/carray-list-tests (Files): Likewise.
17537         * modules/ceilf-tests (Files): Likewise.
17538         * modules/ceill-tests (Files): Likewise.
17539         * modules/chown-tests (Files): Likewise.
17540         * modules/cloexec-tests (Files): Likewise.
17541         * modules/copy-file-tests (Files): Likewise.
17542         * modules/count-one-bits-tests (Files): Likewise.
17543         * modules/dprintf-posix-tests (Files): Likewise.
17544         * modules/dup2-tests (Files): Likewise.
17545         * modules/dup3-tests (Files): Likewise.
17546         * modules/duplocale-tests (Files): Likewise.
17547         * modules/fbufmode-tests (Files): Likewise.
17548         * modules/fchdir-tests (Files): Likewise.
17549         * modules/fcntl-safer-tests (Files): Likewise.
17550         * modules/fcntl-tests (Files): Likewise.
17551         * modules/fdopendir-tests (Files): Likewise.
17552         * modules/fdutimensat-tests (Files): Likewise.
17553         * modules/fflush-tests (Files): Likewise.
17554         * modules/filevercmp-tests (Files): Likewise.
17555         * modules/flock-tests (Files): Likewise.
17556         * modules/floorf-tests (Files): Likewise.
17557         * modules/floorl-tests (Files): Likewise.
17558         * modules/fnmatch-tests (Files): Likewise.
17559         * modules/fopen-safer-tests (Files): Likewise.
17560         * modules/fopen-tests (Files): Likewise.
17561         * modules/fpending-tests (Files): Likewise.
17562         * modules/fprintf-posix-tests (Files): Likewise.
17563         * modules/fpurge-tests (Files): Likewise.
17564         * modules/freadable-tests (Files): Likewise.
17565         * modules/freadahead-tests (Files): Likewise.
17566         * modules/freading-tests (Files): Likewise.
17567         * modules/freadptr-tests (Files): Likewise.
17568         * modules/freadseek-tests (Files): Likewise.
17569         * modules/freopen-tests (Files): Likewise.
17570         * modules/frexp-nolibm-tests (Files): Likewise.
17571         * modules/frexp-tests (Files): Likewise.
17572         * modules/frexpl-nolibm-tests (Files): Likewise.
17573         * modules/frexpl-tests (Files): Likewise.
17574         * modules/fseek-tests (Files): Likewise.
17575         * modules/fseeko-tests (Files): Likewise.
17576         * modules/fstrcmp-tests (Files): Likewise.
17577         * modules/fsync-tests (Files): Likewise.
17578         * modules/ftell-tests (Files): Likewise.
17579         * modules/ftello-tests (Files): Likewise.
17580         * modules/func-tests (Files): Likewise.
17581         * modules/futimens-tests (Files): Likewise.
17582         * modules/fwritable-tests (Files): Likewise.
17583         * modules/fwriting-tests (Files): Likewise.
17584         * modules/getcwd-tests (Files): Likewise.
17585         * modules/getdate-tests (Files): Likewise.
17586         * modules/getdelim-tests (Files): Likewise.
17587         * modules/getdtablesize-tests (Files): Likewise.
17588         * modules/getgroups-tests (Files): Likewise.
17589         * modules/getline-tests (Files): Likewise.
17590         * modules/getndelim2-tests (Files): Likewise.
17591         * modules/glob-tests (Files): Likewise.
17592         * modules/hash-tests (Files): Likewise.
17593         * modules/i-ring-tests (Files): Likewise.
17594         * modules/iconv-tests (Files): Likewise.
17595         * modules/iconv_open-utf-tests (Files): Likewise.
17596         * modules/idpriv-drop-tests (Files): Likewise.
17597         * modules/idpriv-droptemp-tests (Files): Likewise.
17598         * modules/inet_ntop-tests (Files): Likewise.
17599         * modules/inet_pton-tests (Files): Likewise.
17600         * modules/isblank-tests (Files): Likewise.
17601         * modules/isfinite-tests (Files): Likewise.
17602         * modules/isinf-tests (Files): Likewise.
17603         * modules/isnan-tests (Files): Likewise.
17604         * modules/isnand-nolibm-tests (Files): Likewise.
17605         * modules/isnand-tests (Files): Likewise.
17606         * modules/isnanf-nolibm-tests (Files): Likewise.
17607         * modules/isnanf-tests (Files): Likewise.
17608         * modules/isnanl-nolibm-tests (Files): Likewise.
17609         * modules/isnanl-tests (Files): Likewise.
17610         * modules/lchown-tests (Files): Likewise.
17611         * modules/ldexpl-tests (Files): Likewise.
17612         * modules/link-tests (Files): Likewise.
17613         * modules/linkat-tests (Files): Likewise.
17614         * modules/linked-list-tests (Files): Likewise.
17615         * modules/linkedhash-list-tests (Files): Likewise.
17616         * modules/localename-tests (Files): Likewise.
17617         * modules/lseek-tests (Files): Likewise.
17618         * modules/lstat-tests (Files): Likewise.
17619         * modules/mbmemcasecmp-tests (Files): Likewise.
17620         * modules/mbmemcasecoll-tests (Files): Likewise.
17621         * modules/mbrtowc-tests (Files): Likewise.
17622         * modules/mbscasecmp-tests (Files): Likewise.
17623         * modules/mbscasestr-tests (Files): Likewise.
17624         * modules/mbschr-tests (Files): Likewise.
17625         * modules/mbscspn-tests (Files): Likewise.
17626         * modules/mbsinit-tests (Files): Likewise.
17627         * modules/mbsncasecmp-tests (Files): Likewise.
17628         * modules/mbsnrtowcs-tests (Files): Likewise.
17629         * modules/mbspbrk-tests (Files): Likewise.
17630         * modules/mbspcasecmp-tests (Files): Likewise.
17631         * modules/mbsrchr-tests (Files): Likewise.
17632         * modules/mbsrtowcs-tests (Files): Likewise.
17633         * modules/mbsspn-tests (Files): Likewise.
17634         * modules/mbsstr-tests (Files): Likewise.
17635         * modules/memchr-tests (Files): Likewise.
17636         * modules/memchr2-tests (Files): Likewise.
17637         * modules/memcmp-tests (Files): Likewise.
17638         * modules/memmem-tests (Files): Likewise.
17639         * modules/memrchr-tests (Files): Likewise.
17640         * modules/mkdir-tests (Files): Likewise.
17641         * modules/mkfifo-tests (Files): Likewise.
17642         * modules/mkfifoat-tests (Files): Likewise.
17643         * modules/mknod-tests (Files): Likewise.
17644         * modules/nanosleep-tests (Files): Likewise.
17645         * modules/nl_langinfo-tests (Files): Likewise.
17646         * modules/obstack-printf-tests (Files): Likewise.
17647         * modules/open-tests (Files): Likewise.
17648         * modules/openat-tests (Files): Likewise.
17649         * modules/pipe-filter-gi-tests (Files): Likewise.
17650         * modules/pipe-filter-ii-tests (Files): Likewise.
17651         * modules/pipe2-tests (Files): Likewise.
17652         * modules/popen-safer-tests (Files): Likewise.
17653         * modules/popen-tests (Files): Likewise.
17654         * modules/posixtm-tests (Files): Likewise.
17655         * modules/pread-tests (Files): Likewise.
17656         * modules/printf-frexp-tests (Files): Likewise.
17657         * modules/printf-frexpl-tests (Files): Likewise.
17658         * modules/printf-posix-tests (Files): Likewise.
17659         * modules/priv-set-tests (Files): Likewise.
17660         * modules/quotearg-tests (Files): Likewise.
17661         * modules/random_r-tests (Files): Likewise.
17662         * modules/rawmemchr-tests (Files): Likewise.
17663         * modules/rbtree-list-tests (Files): Likewise.
17664         * modules/rbtree-oset-tests (Files): Likewise.
17665         * modules/rbtreehash-list-tests (Files): Likewise.
17666         * modules/readlink-tests (Files): Likewise.
17667         * modules/remove-tests (Files): Likewise.
17668         * modules/rename-tests (Files): Likewise.
17669         * modules/renameat-tests (Files): Likewise.
17670         * modules/rmdir-tests (Files): Likewise.
17671         * modules/round-tests (Files): Likewise.
17672         * modules/roundf-tests (Files): Likewise.
17673         * modules/roundl-tests (Files): Likewise.
17674         * modules/safe-alloc-tests (Files): Likewise.
17675         * modules/setenv-tests (Files): Likewise.
17676         * modules/sigaction-tests (Files): Likewise.
17677         * modules/signbit-tests (Files): Likewise.
17678         * modules/sleep-tests (Files): Likewise.
17679         * modules/snprintf-posix-tests (Files): Likewise.
17680         * modules/snprintf-tests (Files): Likewise.
17681         * modules/sprintf-posix-tests (Files): Likewise.
17682         * modules/stat-tests (Files): Likewise.
17683         * modules/stat-time-tests (Files): Likewise.
17684         * modules/strcasestr-tests (Files): Likewise.
17685         * modules/strchrnul-tests (Files): Likewise.
17686         * modules/strerror-tests (Files): Likewise.
17687         * modules/striconv-tests (Files): Likewise.
17688         * modules/striconveh-tests (Files): Likewise.
17689         * modules/striconveha-tests (Files): Likewise.
17690         * modules/strsignal-tests (Files): Likewise.
17691         * modules/strstr-tests (Files): Likewise.
17692         * modules/strtod-tests (Files): Likewise.
17693         * modules/strverscmp-tests (Files): Likewise.
17694         * modules/symlink-tests (Files): Likewise.
17695         * modules/symlinkat-tests (Files): Likewise.
17696         * modules/trunc-tests (Files): Likewise.
17697         * modules/truncf-tests (Files): Likewise.
17698         * modules/truncl-tests (Files): Likewise.
17699         * modules/uname-tests (Files): Likewise.
17700         * modules/unicase/cased-tests (Files): Likewise.
17701         * modules/unicase/ignorable-tests (Files): Likewise.
17702         * modules/unicase/locale-language-tests (Files): Likewise.
17703         * modules/unicase/tolower-tests (Files): Likewise.
17704         * modules/unicase/totitle-tests (Files): Likewise.
17705         * modules/unicase/toupper-tests (Files): Likewise.
17706         * modules/unicase/u8-casecmp-tests (Files): Likewise.
17707         * modules/unicase/u8-casecoll-tests (Files): Likewise.
17708         * modules/unicase/u8-casefold-tests (Files): Likewise.
17709         * modules/unicase/u8-is-cased-tests (Files): Likewise.
17710         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
17711         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
17712         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
17713         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
17714         * modules/unicase/u8-tolower-tests (Files): Likewise.
17715         * modules/unicase/u8-totitle-tests (Files): Likewise.
17716         * modules/unicase/u8-toupper-tests (Files): Likewise.
17717         * modules/unicase/u16-casecmp-tests (Files): Likewise.
17718         * modules/unicase/u16-casecoll-tests (Files): Likewise.
17719         * modules/unicase/u16-casefold-tests (Files): Likewise.
17720         * modules/unicase/u16-is-cased-tests (Files): Likewise.
17721         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
17722         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
17723         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
17724         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
17725         * modules/unicase/u16-tolower-tests (Files): Likewise.
17726         * modules/unicase/u16-totitle-tests (Files): Likewise.
17727         * modules/unicase/u16-toupper-tests (Files): Likewise.
17728         * modules/unicase/u32-casecmp-tests (Files): Likewise.
17729         * modules/unicase/u32-casecoll-tests (Files): Likewise.
17730         * modules/unicase/u32-casefold-tests (Files): Likewise.
17731         * modules/unicase/u32-is-cased-tests (Files): Likewise.
17732         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
17733         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
17734         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
17735         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
17736         * modules/unicase/u32-tolower-tests (Files): Likewise.
17737         * modules/unicase/u32-totitle-tests (Files): Likewise.
17738         * modules/unicase/u32-toupper-tests (Files): Likewise.
17739         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
17740         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
17741         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
17742         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
17743         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
17744         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
17745         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
17746         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
17747         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
17748         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
17749         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
17750         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
17751         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
17752         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
17753         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
17754         * modules/unictype/bidicategory-name-tests (Files): Likewise.
17755         * modules/unictype/bidicategory-of-tests (Files): Likewise.
17756         * modules/unictype/bidicategory-test-tests (Files): Likewise.
17757         * modules/unictype/block-list-tests (Files): Likewise.
17758         * modules/unictype/block-of-tests (Files): Likewise.
17759         * modules/unictype/block-test-tests (Files): Likewise.
17760         * modules/unictype/category-C-tests (Files): Likewise.
17761         * modules/unictype/category-Cc-tests (Files): Likewise.
17762         * modules/unictype/category-Cf-tests (Files): Likewise.
17763         * modules/unictype/category-Cn-tests (Files): Likewise.
17764         * modules/unictype/category-Co-tests (Files): Likewise.
17765         * modules/unictype/category-Cs-tests (Files): Likewise.
17766         * modules/unictype/category-L-tests (Files): Likewise.
17767         * modules/unictype/category-Ll-tests (Files): Likewise.
17768         * modules/unictype/category-Lm-tests (Files): Likewise.
17769         * modules/unictype/category-Lo-tests (Files): Likewise.
17770         * modules/unictype/category-Lt-tests (Files): Likewise.
17771         * modules/unictype/category-Lu-tests (Files): Likewise.
17772         * modules/unictype/category-M-tests (Files): Likewise.
17773         * modules/unictype/category-Mc-tests (Files): Likewise.
17774         * modules/unictype/category-Me-tests (Files): Likewise.
17775         * modules/unictype/category-Mn-tests (Files): Likewise.
17776         * modules/unictype/category-N-tests (Files): Likewise.
17777         * modules/unictype/category-Nd-tests (Files): Likewise.
17778         * modules/unictype/category-Nl-tests (Files): Likewise.
17779         * modules/unictype/category-No-tests (Files): Likewise.
17780         * modules/unictype/category-P-tests (Files): Likewise.
17781         * modules/unictype/category-Pc-tests (Files): Likewise.
17782         * modules/unictype/category-Pd-tests (Files): Likewise.
17783         * modules/unictype/category-Pe-tests (Files): Likewise.
17784         * modules/unictype/category-Pf-tests (Files): Likewise.
17785         * modules/unictype/category-Pi-tests (Files): Likewise.
17786         * modules/unictype/category-Po-tests (Files): Likewise.
17787         * modules/unictype/category-Ps-tests (Files): Likewise.
17788         * modules/unictype/category-S-tests (Files): Likewise.
17789         * modules/unictype/category-Sc-tests (Files): Likewise.
17790         * modules/unictype/category-Sk-tests (Files): Likewise.
17791         * modules/unictype/category-Sm-tests (Files): Likewise.
17792         * modules/unictype/category-So-tests (Files): Likewise.
17793         * modules/unictype/category-Z-tests (Files): Likewise.
17794         * modules/unictype/category-Zl-tests (Files): Likewise.
17795         * modules/unictype/category-Zp-tests (Files): Likewise.
17796         * modules/unictype/category-Zs-tests (Files): Likewise.
17797         * modules/unictype/category-and-not-tests (Files): Likewise.
17798         * modules/unictype/category-and-tests (Files): Likewise.
17799         * modules/unictype/category-byname-tests (Files): Likewise.
17800         * modules/unictype/category-name-tests (Files): Likewise.
17801         * modules/unictype/category-none-tests (Files): Likewise.
17802         * modules/unictype/category-of-tests (Files): Likewise.
17803         * modules/unictype/category-or-tests (Files): Likewise.
17804         * modules/unictype/category-test-withtable-tests (Files): Likewise.
17805         * modules/unictype/combining-class-tests (Files): Likewise.
17806         * modules/unictype/ctype-alnum-tests (Files): Likewise.
17807         * modules/unictype/ctype-alpha-tests (Files): Likewise.
17808         * modules/unictype/ctype-blank-tests (Files): Likewise.
17809         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
17810         * modules/unictype/ctype-digit-tests (Files): Likewise.
17811         * modules/unictype/ctype-graph-tests (Files): Likewise.
17812         * modules/unictype/ctype-lower-tests (Files): Likewise.
17813         * modules/unictype/ctype-print-tests (Files): Likewise.
17814         * modules/unictype/ctype-punct-tests (Files): Likewise.
17815         * modules/unictype/ctype-space-tests (Files): Likewise.
17816         * modules/unictype/ctype-upper-tests (Files): Likewise.
17817         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
17818         * modules/unictype/decimal-digit-tests (Files): Likewise.
17819         * modules/unictype/digit-tests (Files): Likewise.
17820         * modules/unictype/mirror-tests (Files): Likewise.
17821         * modules/unictype/numeric-tests (Files): Likewise.
17822         * modules/unictype/property-alphabetic-tests (Files): Likewise.
17823         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
17824         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
17825         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
17826         Likewise.
17827         * modules/unictype/property-bidi-block-separator-tests (Files):
17828         Likewise.
17829         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
17830         Likewise.
17831         * modules/unictype/property-bidi-common-separator-tests (Files):
17832         Likewise.
17833         * modules/unictype/property-bidi-control-tests (Files): Likewise.
17834         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
17835         Likewise.
17836         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
17837         Likewise.
17838         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
17839         Likewise.
17840         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
17841         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
17842         Likewise.
17843         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
17844         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
17845         Likewise.
17846         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
17847         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
17848         * modules/unictype/property-bidi-segment-separator-tests (Files):
17849         Likewise.
17850         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
17851         * modules/unictype/property-byname-tests (Files): Likewise.
17852         * modules/unictype/property-combining-tests (Files): Likewise.
17853         * modules/unictype/property-composite-tests (Files): Likewise.
17854         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
17855         * modules/unictype/property-dash-tests (Files): Likewise.
17856         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
17857         * modules/unictype/property-default-ignorable-code-point-tests (Files):
17858         Likewise.
17859         * modules/unictype/property-deprecated-tests (Files): Likewise.
17860         * modules/unictype/property-diacritic-tests (Files): Likewise.
17861         * modules/unictype/property-extender-tests (Files): Likewise.
17862         * modules/unictype/property-format-control-tests (Files): Likewise.
17863         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
17864         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
17865         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
17866         * modules/unictype/property-hex-digit-tests (Files): Likewise.
17867         * modules/unictype/property-hyphen-tests (Files): Likewise.
17868         * modules/unictype/property-id-continue-tests (Files): Likewise.
17869         * modules/unictype/property-id-start-tests (Files): Likewise.
17870         * modules/unictype/property-ideographic-tests (Files): Likewise.
17871         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
17872         * modules/unictype/property-ids-trinary-operator-tests (Files):
17873         Likewise.
17874         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
17875         * modules/unictype/property-iso-control-tests (Files): Likewise.
17876         * modules/unictype/property-join-control-tests (Files): Likewise.
17877         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
17878         * modules/unictype/property-line-separator-tests (Files): Likewise.
17879         * modules/unictype/property-logical-order-exception-tests (Files):
17880         Likewise.
17881         * modules/unictype/property-lowercase-tests (Files): Likewise.
17882         * modules/unictype/property-math-tests (Files): Likewise.
17883         * modules/unictype/property-non-break-tests (Files): Likewise.
17884         * modules/unictype/property-not-a-character-tests (Files): Likewise.
17885         * modules/unictype/property-numeric-tests (Files): Likewise.
17886         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
17887         * modules/unictype/property-other-default-ignorable-code-point-tests
17888         (Files): Likewise.
17889         * modules/unictype/property-other-grapheme-extend-tests (Files):
17890         Likewise.
17891         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
17892         * modules/unictype/property-other-id-start-tests (Files): Likewise.
17893         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
17894         * modules/unictype/property-other-math-tests (Files): Likewise.
17895         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
17896         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
17897         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
17898         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
17899         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
17900         * modules/unictype/property-private-use-tests (Files): Likewise.
17901         * modules/unictype/property-punctuation-tests (Files): Likewise.
17902         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
17903         * modules/unictype/property-radical-tests (Files): Likewise.
17904         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
17905         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
17906         * modules/unictype/property-space-tests (Files): Likewise.
17907         * modules/unictype/property-terminal-punctuation-tests (Files):
17908         Likewise.
17909         * modules/unictype/property-test-tests (Files): Likewise.
17910         * modules/unictype/property-titlecase-tests (Files): Likewise.
17911         * modules/unictype/property-unassigned-code-value-tests (Files):
17912         Likewise.
17913         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
17914         * modules/unictype/property-uppercase-tests (Files): Likewise.
17915         * modules/unictype/property-variation-selector-tests (Files): Likewise.
17916         * modules/unictype/property-white-space-tests (Files): Likewise.
17917         * modules/unictype/property-xid-continue-tests (Files): Likewise.
17918         * modules/unictype/property-xid-start-tests (Files): Likewise.
17919         * modules/unictype/property-zero-width-tests (Files): Likewise.
17920         * modules/unictype/scripts-tests (Files): Likewise.
17921         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
17922         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
17923         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
17924         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
17925         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
17926         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
17927         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
17928         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
17929         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
17930         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
17931         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
17932         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
17933         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
17934         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
17935         * modules/uninorm/composition-tests (Files): Likewise.
17936         * modules/uninorm/decomposing-form-tests (Files): Likewise.
17937         * modules/uninorm/decomposition-tests (Files): Likewise.
17938         * modules/uninorm/filter-tests (Files): Likewise.
17939         * modules/uninorm/nfc-tests (Files): Likewise.
17940         * modules/uninorm/nfd-tests (Files): Likewise.
17941         * modules/uninorm/nfkc-tests (Files): Likewise.
17942         * modules/uninorm/nfkd-tests (Files): Likewise.
17943         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
17944         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
17945         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
17946         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
17947         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
17948         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
17949         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
17950         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
17951         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
17952         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
17953         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
17954         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
17955         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
17956         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
17957         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
17958         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
17959         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
17960         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
17961         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
17962         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
17963         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
17964         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
17965         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
17966         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
17967         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
17968         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
17969         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
17970         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
17971         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
17972         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
17973         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
17974         * modules/uniwidth/u8-width-tests (Files): Likewise.
17975         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
17976         * modules/uniwidth/u16-width-tests (Files): Likewise.
17977         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
17978         * modules/uniwidth/u32-width-tests (Files): Likewise.
17979         * modules/uniwidth/width-tests (Files): Likewise.
17980         * modules/unlink-tests (Files): Likewise.
17981         * modules/unsetenv-tests (Files): Likewise.
17982         * modules/usleep-tests (Files): Likewise.
17983         * modules/utimens-tests (Files): Likewise.
17984         * modules/utimensat-tests (Files): Likewise.
17985         * modules/vasnprintf-posix-tests (Files): Likewise.
17986         * modules/vasnprintf-tests (Files): Likewise.
17987         * modules/vasprintf-posix-tests (Files): Likewise.
17988         * modules/vasprintf-tests (Files): Likewise.
17989         * modules/vdprintf-posix-tests (Files): Likewise.
17990         * modules/vfprintf-posix-tests (Files): Likewise.
17991         * modules/vprintf-posix-tests (Files): Likewise.
17992         * modules/vsnprintf-posix-tests (Files): Likewise.
17993         * modules/vsnprintf-tests (Files): Likewise.
17994         * modules/vsprintf-posix-tests (Files): Likewise.
17995         * modules/wcrtomb-tests (Files): Likewise.
17996         * modules/wcsnrtombs-tests (Files): Likewise.
17997         * modules/wcsrtombs-tests (Files): Likewise.
17998         * modules/wctype-tests (Files): Likewise.
17999         * modules/wcwidth-tests (Files): Likewise.
18000         * modules/xmemdup0-tests (Files): Likewise.
18001         * modules/xprintf-posix-tests (Files): Likewise.
18002         * modules/xvasprintf-tests (Files): Likewise.
18003
18004 2009-12-24  Eric Blake  <ebb9@byu.net>
18005
18006         test-nanosleep: fix typo
18007         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
18008         patch.
18009         Reported by Bruno Haible.
18010
18011 2009-12-24  Bruno Haible  <bruno@clisp.org>
18012
18013         Reduce namespace pollution on glibc systems.
18014         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
18015         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
18016         systems.
18017         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
18018         <getopt.h> on glibc systems.
18019         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
18020         systems.
18021         * lib/fcntl.c: Include <unistd.h> here instead.
18022
18023 2009-12-24  Bruno Haible  <bruno@clisp.org>
18024
18025         * lib/stdlib.in.h (includes): Fix typo in today's commit.
18026
18027 2009-12-24  Eric Blake  <ebb9@byu.net>
18028
18029         tests: add signature checks
18030         * tests/signature.h (SIGNATURE_CHECK): New file.
18031         * modules/atexit-tests (Files): Use it.
18032         * modules/btowc-tests (Files): Likewise.
18033         * modules/canonicalize-lgpl-tests (Files): Likewise.
18034         * modules/ceilf-tests (Files): Likewise.
18035         * modules/ceill-tests (Files): Likewise.
18036         * modules/chown-tests (Files): Likewise.
18037         * modules/dprintf-posix-tests (Files): Likewise.
18038         * modules/dup2-tests (Files): Likewise.
18039         * modules/dup3-tests (Files): Likewise.
18040         * modules/duplocale-tests (Files): Likewise.
18041         * modules/fchdir-tests (Files): Likewise.
18042         * modules/fcntl-tests (Files): Likewise.
18043         * modules/fdopendir-tests (Files): Likewise.
18044         * modules/fflush-tests (Files): Likewise.
18045         * modules/flock-tests (Files): Likewise.
18046         * modules/floorf-tests (Files): Likewise.
18047         * modules/floorl-tests (Files): Likewise.
18048         * modules/fnmatch-tests (Files): Likewise.
18049         * modules/fopen-tests (Files): Likewise.
18050         * modules/fprintf-posix-tests (Files): Likewise.
18051         * modules/freopen-tests (Files): Likewise.
18052         * modules/frexp-nolibm-tests (Files): Likewise.
18053         * modules/frexp-tests (Files): Likewise.
18054         * modules/frexpl-nolibm-tests (Files): Likewise.
18055         * modules/frexpl-tests (Files): Likewise.
18056         * modules/fseek-tests (Files): Likewise.
18057         * modules/fseeko-tests (Files): Likewise.
18058         * modules/fsync-tests (Files): Likewise.
18059         * modules/ftell-tests (Files): Likewise.
18060         * modules/ftello-tests (Files): Likewise.
18061         * modules/futimens-tests (Files): Likewise.
18062         * modules/getaddrinfo-tests (Files): Likewise.
18063         * modules/getcwd-tests (Files): Likewise.
18064         * modules/getdelim-tests (Files): Likewise.
18065         * modules/getdtablesize-tests (Files): Likewise.
18066         * modules/getgroups-tests (Files): Likewise.
18067         * modules/gethostname-tests (Files): Likewise.
18068         * modules/getline-tests (Files): Likewise.
18069         * modules/getopt-posix-tests (Files): Likewise.
18070         * modules/gettimeofday-tests (Files): Likewise.
18071         * modules/glob-tests (Files): Likewise.
18072         * modules/iconv-tests (Files): Likewise.
18073         * modules/inet_ntop-tests (Files): Likewise.
18074         * modules/inet_pton-tests (Files): Likewise.
18075         * modules/isblank-tests (Files): Likewise.
18076         * modules/lchown-tests (Files): Likewise.
18077         * modules/ldexpl-tests (Files): Likewise.
18078         * modules/link-tests (Files): Likewise.
18079         * modules/linkat-tests (Files): Likewise.
18080         * modules/lseek-tests (Files): Likewise.
18081         * modules/lstat-tests (Files): Likewise.
18082         * modules/mbrtowc-tests (Files): Likewise.
18083         * modules/mbsinit-tests (Files): Likewise.
18084         * modules/mbsnrtowcs-tests (Files): Likewise.
18085         * modules/mbsrtowcs-tests (Files): Likewise.
18086         * modules/memchr-tests (Files): Likewise.
18087         * modules/memcmp-tests (Files): Likewise.
18088         * modules/memmem-tests (Files): Likewise.
18089         * modules/memrchr-tests (Files): Likewise.
18090         * modules/mkdir-tests (Files): Likewise.
18091         * modules/mkfifo-tests (Files): Likewise.
18092         * modules/mkfifoat-tests (Files): Likewise.
18093         * modules/mknod-tests (Files): Likewise.
18094         * modules/nanosleep-tests (Files): Likewise.
18095         * modules/nl_langinfo-tests (Files): Likewise.
18096         * modules/obstack-printf-tests (Files): Likewise.
18097         * modules/open-tests (Files): Likewise.
18098         * modules/openat-tests (Files): Likewise.
18099         * modules/perror-tests (Files): Likewise.
18100         * modules/pipe2-tests (Files): Likewise.
18101         * modules/poll-tests (Files): Likewise.
18102         * modules/popen-tests (Files): Likewise.
18103         * modules/posix_spawn-tests (Files): Likewise.
18104         * modules/posix_spawnp-tests (Files): Likewise.
18105         * modules/pread-tests (Files): Likewise.
18106         * modules/printf-posix-tests (Files): Likewise.
18107         * modules/pty-tests (Files): Likewise.
18108         * modules/random_r-tests (Files): Likewise.
18109         * modules/rawmemchr-tests (Files): Likewise.
18110         * modules/readlink-tests (Files): Likewise.
18111         * modules/remove-tests (Files): Likewise.
18112         * modules/rename-tests (Files): Likewise.
18113         * modules/renameat-tests (Files): Likewise.
18114         * modules/rmdir-tests (Files): Likewise.
18115         * modules/round-tests (Files): Likewise.
18116         * modules/roundf-tests (Files): Likewise.
18117         * modules/roundl-tests (Files): Likewise.
18118         * modules/select-tests (Files): Likewise.
18119         * modules/setenv-tests (Files): Likewise.
18120         * modules/sigaction-tests (Files): Likewise.
18121         * modules/sleep-tests (Files): Likewise.
18122         * modules/snprintf-posix-tests (Files): Likewise.
18123         * modules/snprintf-tests (Files): Likewise.
18124         * modules/sprintf-posix-tests (Files): Likewise.
18125         * modules/stat-tests (Files): Likewise.
18126         * modules/strcasestr-tests (Files): Likewise.
18127         * modules/strchrnul-tests (Files): Likewise.
18128         * modules/strerror-tests (Files): Likewise.
18129         * modules/strsignal-tests (Files): Likewise.
18130         * modules/strstr-tests (Files): Likewise.
18131         * modules/strtod-tests (Files): Likewise.
18132         * modules/strverscmp-tests (Files): Likewise.
18133         * modules/symlink-tests (Files): Likewise.
18134         * modules/symlinkat-tests (Files): Likewise.
18135         * modules/times-tests (Files): Likewise.
18136         * modules/trunc-tests (Files): Likewise.
18137         * modules/truncf-tests (Files): Likewise.
18138         * modules/truncl-tests (Files): Likewise.
18139         * modules/tsearch-tests (Files): Likewise.
18140         * modules/uname-tests (Files): Likewise.
18141         * modules/unlink-tests (Files): Likewise.
18142         * modules/unsetenv-tests (Files): Likewise.
18143         * modules/usleep-tests (Files): Likewise.
18144         * modules/utimensat-tests (Files): Likewise.
18145         * modules/vasprintf-tests (Files): Likewise.
18146         * modules/vdprintf-posix-tests (Files): Likewise.
18147         * modules/vfprintf-posix-tests (Files): Likewise.
18148         * modules/vprintf-posix-tests (Files): Likewise.
18149         * modules/vsnprintf-posix-tests (Files): Likewise.
18150         * modules/vsnprintf-tests (Files): Likewise.
18151         * modules/vsprintf-posix-tests (Files): Likewise.
18152         * modules/wcrtomb-tests (Files): Likewise.
18153         * modules/wcsnrtombs-tests (Files): Likewise.
18154         * modules/wcsrtombs-tests (Files): Likewise.
18155         * modules/wcwidth-tests (Files): Likewise.
18156         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
18157         * tests/test-isinf.c (isinf): Likewise.
18158         * tests/test-isnan.c (isnan): Likewise.
18159         * tests/test-signbit.c (signbit): Likewise.
18160         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
18161         declaration, either as macro or with correct signature.
18162         (select): Ensure function under test is declared with correct
18163         signature in correct header.
18164         * tests/test-atexit.c (atexit): Likewise.
18165         * tests/test-btowc.c (btowc): Likewise.
18166         * tests/test-canonicalize-lgpl.c (realpath)
18167         (canonicalize_file_name): Likewise.
18168         * tests/test-ceilf1.c (ceilf): Likewise.
18169         * tests/test-ceill.c (ceill): Likewise.
18170         * tests/test-chown.c (chown): Likewise.
18171         * tests/test-dprintf-posix.c (dprintf): Likewise.
18172         * tests/test-dup2.c (dup2): Likewise.
18173         * tests/test-dup3.c (dup3): Likewise.
18174         * tests/test-duplocale.c (duplocale): Likewise.
18175         * tests/test-fchdir.c (fchdir): Likewise.
18176         * tests/test-fchownat.c (fchownat): Likewise.
18177         * tests/test-fcntl.c (fcntl): Likewise.
18178         * tests/test-fdopendir.c (fdopendir): Likewise.
18179         * tests/test-fflush.c (fflush): Likewise.
18180         * tests/test-flock.c (flock): Likewise.
18181         * tests/test-floorf1.c (floorf): Likewise.
18182         * tests/test-floorl.c (floorl): Likewise.
18183         * tests/test-fnmatch.c (fnmatch): Likewise.
18184         * tests/test-fopen.c (fopen): Likewise.
18185         * tests/test-fprintf-posix.c (fprintf): Likewise.
18186         * tests/test-freopen.c (freopen): Likewise.
18187         * tests/test-frexp.c (frexp): Likewise.
18188         * tests/test-frexpl.c (frexpl): Likewise.
18189         * tests/test-fseek.c (fseek): Likewise.
18190         * tests/test-fseeko.c (fseeko): Likewise.
18191         * tests/test-fstatat.c (fstatat): Likewise.
18192         * tests/test-fsync.c (fsync): Likewise.
18193         * tests/test-ftell.c (ftell): Likewise.
18194         * tests/test-ftello.c (ftello): Likewise.
18195         * tests/test-futimens.c (futimens): Likewise.
18196         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
18197         (gai_strerror): Likewise.
18198         * tests/test-getcwd.c (getcwd): Likewise.
18199         * tests/test-getdelim.c (getdelim): Likewise.
18200         * tests/test-getdtablesize.c (getdtablesize): Likewise.
18201         * tests/test-getgroups.c (getgroups): Likewise.
18202         * tests/test-gethostname.c (gethostname): Likewise.
18203         * tests/test-getline.c (getline): Likewise.
18204         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
18205         Likewise.
18206         * tests/test-gettimeofday.c (gettimeofday): Likewise.
18207         * tests/test-glob.c (glob, globfree): Likewise.
18208         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
18209         * tests/test-inet_ntop.c (inet_ntop): Likewise.
18210         * tests/test-inet_pton.c (inet_pton): Likewise.
18211         * tests/test-isblank.c (isblank): Likewise.
18212         * tests/test-lchown.c (lchown): Likewise.
18213         * tests/test-ldexpl.c (ldexpl): Likewise.
18214         * tests/test-link.c (link): Likewise.
18215         * tests/test-linkat.c (linkat): Likewise.
18216         * tests/test-lseek.c (lseek): Likewise.
18217         * tests/test-lstat.c (lstat): Likewise.
18218         * tests/test-mbrtowc.c (mbrtowc): Likewise.
18219         * tests/test-mbsinit.c (mbsinit): Likewise.
18220         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
18221         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
18222         * tests/test-memchr.c (memchr): Likewise.
18223         * tests/test-memcmp.c (memcmp): Likewise.
18224         * tests/test-memmem.c (memmem): Likewise.
18225         * tests/test-memrchr.c (memrchr): Likewise.
18226         * tests/test-mkdir.c (mkdir): Likewise.
18227         * tests/test-mkdirat.c (mkdirat): Likewise.
18228         * tests/test-mkfifo.c (mkfifo): Likewise.
18229         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
18230         * tests/test-mknod.c (mknod): Likewise.
18231         * tests/test-nanosleep.c (nanosleep): Likewise.
18232         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
18233         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
18234         Likewise.
18235         * tests/test-open.c (open): Likewise.
18236         * tests/test-openat.c (openat): Likewise.
18237         * tests/test-perror.c (perror): Likewise.
18238         * tests/test-pipe2.c (pipe2): Likewise.
18239         * tests/test-poll.c (poll): Likewise.
18240         * tests/test-popen.c (popen, pclose): Likewise.
18241         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
18242         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
18243         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
18244         (posix_spawn_file_actions_destroy)
18245         (posix_spawn_file_actions_addclose)
18246         (posix_spawn_file_actions_addopen)
18247         (posix_spawn_file_actions_adddup2): Likewise.
18248         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
18249         * tests/test-pread.c (pread): Likewise.
18250         * tests/test-printf-posix.c (printf): Likewise.
18251         * tests/test-pty.c (openpty, forkpty): Likewise.
18252         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
18253         (random_r): Likewise.
18254         * tests/test-rawmemchr.c (rawmemchr): Likewise.
18255         * tests/test-readlink.c (readlink): Likewise.
18256         * tests/test-remove.c (remove): Likewise.
18257         * tests/test-rename.c (rename): Likewise.
18258         * tests/test-renameat.c (renameat): Likewise.
18259         * tests/test-rmdir.c (rmdir): Likewise.
18260         * tests/test-round1.c (round): Likewise.
18261         * tests/test-roundf1.c (roundf): Likewise.
18262         * tests/test-roundl.c (roundl): Likewise.
18263         * tests/test-setenv.c (setenv): Likewise.
18264         * tests/test-sigaction.c (sigaction): Likewise.
18265         * tests/test-sleep.c (sleep): Likewise.
18266         * tests/test-snprintf.c (snprintf): Likewise.
18267         * tests/test-sprintf-posix.c (sprintf): Likewise.
18268         * tests/test-stat.c (stat): Likewise.
18269         * tests/test-stpncpy.c (stpncpy): Likewise.
18270         * tests/test-strcasestr.c (strcasestr): Likewise.
18271         * tests/test-strchrnul.c (strchrnul): Likewise.
18272         * tests/test-strerror.c (strerror): Likewise.
18273         * tests/test-strsignal.c (strsignal): Likewise.
18274         * tests/test-strstr.c (strstr): Likewise.
18275         * tests/test-strtod.c (strtod): Likewise.
18276         * tests/test-strverscmp.c (strverscmp): Likewise.
18277         * tests/test-symlink.c (symlink): Likewise.
18278         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
18279         * tests/test-times.c (times): Likewise.
18280         * tests/test-trunc1.c (trunc): Likewise.
18281         * tests/test-truncf1.c (truncf): Likewise.
18282         * tests/test-truncl.c (truncl): Likewise.
18283         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
18284         Likewise.
18285         * tests/test-uname.c (uname): Likewise.
18286         * tests/test-unlink.c (unlink): Likewise.
18287         * tests/test-unlinkat.c (unlinkat): Likewise.
18288         * tests/test-unsetenv.c (unsetenv): Likewise.
18289         * tests/test-usleep.c (usleep): Likewise.
18290         * tests/test-utimensat.c (utimensat): Likewise.
18291         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
18292         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
18293         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
18294         * tests/test-vprintf-posix.c (vprintf): Likewise.
18295         * tests/test-vsnprintf.c (vsnprintf): Likewise.
18296         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
18297         * tests/test-wcrtomb.c (wcrtomb): Likewise.
18298         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
18299         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
18300         * tests/test-wcwidth.c (wcwidth): Likewise.
18301
18302         build: pull in conditional headers during GNULIB_POSIXCHECK
18303         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
18304         definitions from any conditionally-included headers.
18305         * lib/stdlib.in.h (includes): Likewise.
18306         * lib/unistd.in.h (includes): Likewise.
18307
18308 2009-12-24  Bruno Haible  <bruno@clisp.org>
18309
18310         * tests/test-argv-iter.c: Include header file being tested immediately
18311         after config.h.
18312         * tests/test-base64.c: Likewise.
18313         * tests/test-flock.c: Likewise.
18314         * tests/test-fsync.c: Likewise.
18315         * tests/test-getdate.c: Likewise.
18316         * tests/test-getndelim2.c: Likewise.
18317         * tests/test-isfinite.c: Likewise.
18318         * tests/test-isinf.c: Likewise.
18319         * tests/test-strerror.c: Likewise.
18320         * tests/test-strsignal.c: Likewise.
18321
18322 2009-12-23  Eric Blake  <ebb9@byu.net>
18323
18324         unistd: work around cygwin bug
18325         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
18326         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
18327         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
18328
18329 2009-12-23  Bruno Haible  <bruno@clisp.org>
18330
18331         localename: More tests.
18332         * tests/test-localename.c (SIZEOF): New macro.
18333         (categories): New variable.
18334         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
18335         test_locale_name_default): Add test w.r.t. thread locale.
18336         (test_locale_name_thread): New function.
18337         (main): Invoke it.
18338
18339         localename: Make aware of thread locale.
18340         * lib/localename.h (gl_locale_name_thread): New declaration.
18341         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
18342         behaviour with respect to thread locale.
18343         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
18344         <langinfo.h>, glthread/lock.h.
18345         (SIZE_BITS): New macro.
18346         (string_hash): New function.
18347         (struct hash_node): New type.
18348         (HASH_TABLE_SIZE): New macro.
18349         (struniq_hash_table, struniq_lock): New variables.
18350         (struniq): New function.
18351         (gl_locale_name_thread): New function.
18352         (gl_locale_name): Invoke it.
18353         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
18354         * modules/localename (Depends-on): Add lock.
18355         Reported by Mike Gran <spk121@yahoo.com>.
18356
18357 2009-12-23  Eric Blake  <ebb9@byu.net>
18358
18359         va-args: new module
18360         * modules/va-args: New file.
18361         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
18362         * MODULES.html.sh (Core language properties): Mention it.
18363
18364         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
18365         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
18366         named alias for __attribute__((__unused__)).
18367         * lib/chown.c: Update client.
18368         * lib/fchmodat.c: Likewise.
18369         * lib/fts.c: Likewise.
18370         * lib/getdate.y: Likewise.
18371         * lib/getgroups.c: Likewise.
18372         * lib/getopt.c: Likewise.
18373         * lib/getugroups.c: Likewise.
18374         * lib/mkdir.c: Likewise.
18375         * lib/mkfifo.c: Likewise.
18376         * lib/mkfifoat.c: Likewise.
18377         * lib/mknod.c: Likewise.
18378         * lib/mknodat.c: Likewise.
18379         * lib/readlink.c: Likewise.
18380         * lib/se-context.in.h: Likewise.
18381         * lib/se-selinux.in.h: Likewise.
18382         * lib/sockets.c: Likewise.
18383         * lib/symlink.c: Likewise.
18384         * lib/symlinkat.c: Likewise.
18385         * lib/unicodeio.c: Likewise.
18386         * lib/unistr.h: Likewise.
18387         * tests/test-areadlink.c: Likewise.
18388         * tests/test-areadlinkat.c: Likewise.
18389         * tests/test-filenamecat.c: Likewise.
18390         * tests/test-fseeko.c: Likewise.
18391         * tests/test-ftello.c: Likewise.
18392         * tests/test-getdate.c: Likewise.
18393         * tests/test-getgroups.c: Likewise.
18394         * tests/test-gethostname.c: Likewise.
18395         * tests/test-quotearg.c: Likewise.
18396         * tests/test-version-etc.c: Likewise.
18397         * tests/test-xalloc-die.c: Likewise.
18398         * tests/test-xfprintf-posix.c: Likewise.
18399         * tests/test-xprintf-posix.c: Likewise.
18400         * tests/test-xvasprintf.c: Likewise.
18401
18402         tests: avoid compiler warnings
18403         * tests/test-fcntl.c (main): Delete unused parameters.
18404         * tests/test-freopen-safer.c (main): Likewise.
18405         * tests/test-xalloc-die.c (main): Mark unused parameters.
18406         * tests/test-fseeko.c (main): Likewise.
18407         * tests/test-ftello.c (main): Likewise.
18408         * tests/test-nanosleep.c (main): Avoid declaration warning.
18409         * tests/test-sleep.c (main): Likewise.
18410         * tests/test-unsetenv.c (main): Silence warning about string
18411         literal.
18412         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
18413
18414 2009-12-23  Bruno Haible  <bruno@clisp.org>
18415
18416         * tests/test-localename.c (test_locale_name): New function, extracted
18417         from main. Also test mixed situations.
18418         (test_locale_name_posix, test_locale_name_environ,
18419         test_locale_name_default): New functions.
18420         (main): Invoke them all.
18421         * modules/localename-tests (configure.ac): Test for newlocale.
18422
18423 2009-12-23  Bruno Haible  <bruno@clisp.org>
18424
18425         unistd: Ensure getcwd gets declared before being overridden.
18426         * lib/unistd.in.h: Conditionally include <io.h>.
18427
18428 2009-12-22  Bruno Haible  <bruno@clisp.org>
18429
18430         wchar: Diagnose broken combination of glibc and gcc versions and flags.
18431         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
18432         (gl_WCHAR_H): Invoke it.
18433         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
18434         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
18435         Reported by Karl Berry <karl@freefriends.org>.
18436
18437 2009-12-22  Eric Blake  <ebb9@byu.net>
18438
18439         math, unistd: avoid redundant includes
18440         * lib/math.in.h (isnan): No need to re-include <math.h>.
18441         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
18442
18443         getsubopt: work around cygwin bug
18444         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
18445         avoid conflicting with system getsubopt.
18446         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
18447         bug.
18448
18449         getopt: synchronize from glibc
18450         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
18451         parameter order.  Adjust all callers.
18452         (_getopt_internal_r, main): Adjust quoting in error messages.
18453         Drop considerations for outdated POSIX 1003.2 error message.
18454         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
18455         callers.
18456         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
18457
18458         test-getopt: test stderr behavior
18459         * modules/getopt-posix-tests (Depends-on): Add dup2.
18460         * tests/test-getopt.c (ASSERT): Avoid stderr.
18461         (main): Move stderr to a temporary file.
18462         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
18463         Instead, add parameter to inform caller if output occurred.
18464         (test_getopt): Adjust all existing tests to expect silence, and
18465         add new tests of leading ":".
18466         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
18467         glibc shortcomings with leading "-:" or "+:" in optstring.
18468         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
18469         Likewise.
18470         * doc/posix-functions/getopt.texi (getopt): Likewise.
18471
18472         test-getopt: enhance test
18473         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
18474         supports optind=0.
18475         * tests/test-getopt.c (OPTIND_MIN): Move...
18476         * tests/test-getopt.h (OPTIND_MIN): ...here.
18477         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
18478         Require that optind=0 works, since modern BSD supports it in
18479         addition to optreset, and since coreutils expects it.
18480         (test_getopt_long_only): New test.
18481         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
18482         glibc shortcomings with 'W;', and enforcement of optind=0.
18483         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
18484         Likewise.
18485
18486 2009-12-21  Bruno Haible  <bruno@clisp.org>
18487
18488         localename: Improvements for MacOS X and Cygwin.
18489         * lib/localename.h (gl_locale_name_environ): New declaration.
18490         * lib/localename.c (gl_locale_name_environ): New function, extracted from
18491         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
18492         (gl_locale_name_posix): Invoke it.
18493         (gl_locale_name_default): Add comments. Use Windows native API also on
18494         Cygwin.
18495
18496 2009-12-21  Bruno Haible  <bruno@clisp.org>
18497
18498         Update list of Win32 locale ids.
18499         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
18500         (LANG_SAMI): Renamed from LANG_SAAMI.
18501         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
18502         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
18503         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
18504         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
18505         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
18506         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
18507         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
18508         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
18509         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
18510         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
18511         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
18512         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
18513         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
18514         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
18515         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
18516         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
18517         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
18518         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
18519         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
18520         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
18521         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
18522         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
18523         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
18524         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
18525         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
18526         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
18527         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
18528         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
18529         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
18530         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
18531         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
18532         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
18533         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
18534         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
18535         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
18536         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
18537         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
18538         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
18539         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
18540         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
18541         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
18542         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
18543         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
18544         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
18545         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
18546         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
18547         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
18548         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
18549         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
18550         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
18551         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
18552         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
18553         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
18554         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
18555         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
18556         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
18557         Add more languages and countries for Sami, Sorbian. Add more countries
18558         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
18559         for Pashto. Change country for Syriac, Tswana.
18560
18561 2009-12-21  Eric Blake  <ebb9@byu.net>
18562
18563         test-utimens: avoid spurious failure
18564         * tests/test-chown.h (nap): Factor...
18565         * tests/nap.h: ...into new file.
18566         * tests/test-lchown.h (nap): Avoid duplication.
18567         * tests/test-utimens-common.h (nap): Use shared implementation,
18568         necessary on file systems with 1-second resolution.
18569         * modules/chown-tests (Files): Include new file.
18570         * modules/fdutimensat-tests (Files): Likewise.
18571         * modules/futimens-tests (Files): Likewise.
18572         * modules/lchown-tests (Files): Likewise.
18573         * modules/openat-tests (Files): Likewise.
18574         * modules/utimens-tests (Files): Likewise.
18575         * modules/utimensat-tests (Files): Likewise.
18576
18577 2009-12-19  Eric Blake  <ebb9@byu.net>
18578
18579         futimens, utimensat: work around Linux bug
18580         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
18581         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
18582         * lib/utimensat.c (rpl_utimensat): Work around it.
18583         * lib/futimens.c (rpl_futimens): Adjust comment.
18584
18585         utimens: work around Linux ctime bug
18586         * lib/utimens.c (detect_ctime_bug): New helper function.
18587         (update_timespec): Differentiate between workaround needed for
18588         this bug vs. what is needed for systems that lack utimensat.
18589         (fdutimens, lutimens): Work around bug.
18590
18591         utimens: check for ctime update
18592         * tests/test-utimens-common.h (check_ctime): Define.
18593         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
18594         * tests/test-futimens.h (test_futimens): Likewise.
18595         * tests/test-lutimens.h (test_lutimens): Likewise.
18596         * doc/posix-functions/futimens.texi (futimens): Document the bug.
18597         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
18598
18599 2009-12-19  Bruno Haible  <bruno@clisp.org>
18600
18601         dprintf-posix: Check against memory leak fixed on 2009-12-15.
18602         * tests/test-dprintf-posix2.sh: New file.
18603         * tests/test-dprintf-posix2.c: New file.
18604         * modules/dprintf-posix-tests (Files): Add them.
18605         (configure.ac): Check for getrlimit and setrlimit.
18606         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
18607
18608 2009-12-19  Bruno Haible  <bruno@clisp.org>
18609
18610         fprintf-posix: Check against memory leak fixed on 2009-12-15.
18611         * tests/test-fprintf-posix3.sh: New file.
18612         * tests/test-fprintf-posix3.c: New file.
18613         * modules/fprintf-posix-tests (Files): Add them.
18614         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
18615
18616 2009-12-19  Eric Blake  <ebb9@byu.net>
18617
18618         dirfd: fix prototype
18619         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
18620         * lib/dirfd.c (dirfd): Likewise.
18621
18622         canonicalize: reduce memory usage
18623         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
18624         allocation to size.
18625         Reported by Solar Designer <solar@openwall.com>.
18626
18627 2009-12-19  Bruno Haible  <bruno@clisp.org>
18628
18629         New module attribute 'Applicability'.
18630         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
18631         * gnulib-tool: New option --extract-applicability.
18632         (func_usage): Document it.
18633         (sed_extract_prog): Recognize it.
18634         (func_get_applicability): New function.
18635         (func_import): Generalize handling of 'link-warning' module.
18636         * modules/link-warning (Applicability): New section.
18637         * modules/arg-nonnull (Applicability): New section.
18638         Repoted by Simon Josefsson <simon@josefsson.org>.
18639
18640 2009-12-19  Bruno Haible  <bruno@clisp.org>
18641
18642         fflush: tweak
18643         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
18644         * lib/fseeko.c (rpl_fseeko): Likewise.
18645
18646 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
18647
18648         * lib/gl_list.h: Fix typo in comment.
18649
18650 2009-12-16  Eric Blake  <ebb9@byu.net>
18651
18652         fcntl: use to simplify other modules
18653         * modules/cloexec (Depends-on): Add fcntl.
18654         * modules/fchdir (Depends-on): Likewise.
18655         * modules/fd-safer-flag (Depends-on): Likewise.
18656         * modules/unistd-safer (Depends-on): Likewise.
18657         * modules/dup3 (configure.ac): Set module indicator.
18658         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
18659         missing.
18660         * lib/fchdir.c (_gl_register_dup): Fix comment.
18661         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
18662         * lib/dup-safer.c (dup_safer): Likewise.
18663         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
18664         * lib/dup3.c (dup3): Likewise.
18665         * tests/test-fchdir.c (main): Enhance test.
18666         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
18667
18668         fcntl: port portions of fcntl to mingw
18669         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
18670         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
18671         replacement for mingw.
18672         * modules/fcntl (Description): Update.
18673         (Depends-on): Add dup2.
18674         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
18675         * modules/fcntl-h (Makefile.am): Substitute it.
18676         * lib/fcntl.in.h (fcntl): Update declaration.
18677         (F_DUPFD, F_GETFD): New macros, when needed.
18678         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
18679         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
18680         * tests/test-fcntl.c (check_flags, main): Enhance test for items
18681         we now guarantee.
18682
18683         fcntl: work around cygwin bug in F_DUPFD
18684         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
18685         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
18686         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
18687         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
18688         * doc/posix-functions/fcntl.texi (fcntl): Document it.
18689
18690         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
18691         * modules/fcntl (Files): List new files.
18692         (configure.ac): Run a test.
18693         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
18694         * lib/fcntl.c (rpl_fcntl): Likewise.
18695         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
18696         (gl_FCNTL_H): Always replace fcntl.h.
18697         * modules/fcntl-h (Makefile.am): Substitute witnesses.
18698         * lib/fcntl.in.h (fcntl): Declare replacement.
18699         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
18700         needed, plus a witness.
18701         * doc/posix-functions/fcntl.texi (fcntl): Document this.
18702         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
18703         * tests/test-fcntl.c: New file.
18704         * modules/fcntl-tests: Likewise.
18705
18706         binary-io: avoid potential compilation warning
18707         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
18708         directives.
18709
18710         fflush: avoid compilation error on NetBSD
18711         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
18712         between off_t and fpos_t, since the latter is sometimes a struct.
18713         * lib/fseeko.c (rpl_fseeko): Likewise.
18714         Reported by Alexander Nasonov <alnsn@yandex.ru>.
18715
18716 2009-12-15  Eric Blake  <ebb9@byu.net>
18717
18718         fcntl-h, stdio, sys_ioctl: fix declarations
18719         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
18720         function must not take arguments.
18721         * lib/sys_ioctl.in.h (ioctl): Likewise.
18722         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
18723         (open): Add a link warning.
18724
18725 2009-12-15  Jim Meyering  <meyering@redhat.com>
18726
18727         areadlink, areadlink-with-size: relax license to LGPLv2+
18728         * modules/areadlink (License): Relax to LGPLv2+.
18729         * modules/areadlink-with-size (License): Likewise.
18730
18731 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
18732             Bruno Haible  <bruno@clisp.org>
18733
18734         *printf: Fix memory leak.
18735         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
18736         * lib/vfprintf.c (vfprintf): Likewise.
18737         * lib/dprintf.c (dprintf): Likewise.
18738         * lib/vdprintf.c (vdprintf): Likewise.
18739
18740 2009-12-14  Eric Blake  <ebb9@byu.net>
18741
18742         accept4: adjust module dependencies
18743         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
18744
18745         utimens: one more try at avoiding compiler warning
18746         * lib/utimens.c (lutimens): Lower scope of result.
18747
18748 2009-12-13  Bruno Haible  <bruno@clisp.org>
18749
18750         Move the malloc checking from module 'list' to new module 'xlist'.
18751         * modules/xlist: New file.
18752         * lib/gl_xlist.h: New file.
18753         * lib/gl_xlist.c: New file.
18754         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
18755         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
18756         gl_list_add_last, gl_list_add_before, gl_list_add_after,
18757         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
18758         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
18759         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
18760         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
18761         gl_sortedlist_nx_add): New declarations.
18762         (struct gl_list_implementation): Rename and change methods accordingly.
18763         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
18764         (gl_list_nx_create): Renamed from gl_list_create.
18765         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
18766         (gl_list_nx_set_at): Renamed from gl_list_set_at.
18767         (gl_list_nx_add_first): Renamed from gl_list_add_first.
18768         (gl_list_nx_add_last): Renamed from gl_list_add_last.
18769         (gl_list_nx_add_before): Renamed from gl_list_add_before.
18770         (gl_list_nx_add_after): Renamed from gl_list_add_after.
18771         (gl_list_nx_add_at): Renamed from gl_list_add_at.
18772         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
18773         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
18774         gl_list_create_empty.
18775         (gl_list_nx_create): Renamed from gl_list_create.
18776         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
18777         (gl_list_nx_set_at): Renamed from gl_list_set_at.
18778         (gl_list_nx_add_first): Renamed from gl_list_add_first.
18779         (gl_list_nx_add_last): Renamed from gl_list_add_last.
18780         (gl_list_nx_add_before): Renamed from gl_list_add_before.
18781         (gl_list_nx_add_after): Renamed from gl_list_add_after.
18782         (gl_list_nx_add_at): Renamed from gl_list_add_at.
18783         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
18784         * lib/gl_array_list.c: Don't include xalloc.h.
18785         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
18786         NULL upon out-of-memory.
18787         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
18788         out-of-memory.
18789         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
18790         Change return type to 'int'.
18791         (gl_array_nx_set_at): Renamed from gl_array_set_at.
18792         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
18793         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
18794         upon out-of-memory.
18795         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
18796         upon out-of-memory.
18797         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
18798         upon out-of-memory.
18799         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
18800         upon out-of-memory.
18801         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
18802         out-of-memory.
18803         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
18804         Update.
18805         (gl_array_list_implementation): Update.
18806         * lib/gl_carray_list.c: Don't include xalloc.h.
18807         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
18808         Return NULL upon out-of-memory.
18809         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
18810         out-of-memory.
18811         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
18812         Change return type to 'int'.
18813         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
18814         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
18815         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
18816         upon out-of-memory.
18817         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
18818         upon out-of-memory.
18819         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
18820         out-of-memory.
18821         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
18822         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
18823         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
18824         Update.
18825         (gl_carray_list_implementation): Update.
18826         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
18827         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
18828         gl_linked_create_empty. Return NULL upon out-of-memory.
18829         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
18830         out-of-memory.
18831         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
18832         Change return type to 'int'. Return -1 upon out-of-memory.
18833         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
18834         out-of-memory.
18835         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
18836         upon out-of-memory.
18837         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
18838         upon out-of-memory.
18839         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
18840         NULL upon out-of-memory.
18841         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
18842         upon out-of-memory.
18843         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
18844         out-of-memory.
18845         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
18846         Update.
18847         * lib/gl_linked_list.c: Don't include xalloc.h.
18848         (gl_linked_list_implementation): Update.
18849         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
18850         (add_to_bucket): Change return type to 'int'.
18851         (gl_linkedhash_list_implementation): Update.
18852         * lib/gl_anytree_list1.h (free_subtree): New function.
18853         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
18854         gl_tree_create_empty. Return NULL upon out-of-memory.
18855         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
18856         Change return type to 'int'. Return -1 upon out-of-memory.
18857         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
18858         out-of-memory.
18859         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
18860         (gl_tree_remove_node): New function, moved here from
18861         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
18862         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
18863         Update.
18864         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
18865         malloc, not xmalloc. Return NULL upon out-of-memory.
18866         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
18867         out-of-memory.
18868         (gl_tree_remove_node_from_tree): New function, extracted from
18869         gl_tree_remove_node.
18870         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
18871         upon out-of-memory.
18872         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
18873         out-of-memory.
18874         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
18875         upon out-of-memory.
18876         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
18877         upon out-of-memory.
18878         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
18879         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
18880         not xmalloc. Return NULL upon out-of-memory.
18881         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
18882         out-of-memory.
18883         (gl_tree_remove_node_from_tree): New function, extracted from
18884         gl_tree_remove_node.
18885         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
18886         upon out-of-memory.
18887         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
18888         out-of-memory.
18889         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
18890         upon out-of-memory.
18891         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
18892         upon out-of-memory.
18893         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
18894         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
18895         gl_anytree_list1.h before gl_anyavltree_list2.h.
18896         (gl_avltree_list_implementation): Update.
18897         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
18898         gl_anytree_list1.h before gl_anyavltree_list2.h.
18899         (gl_rbtree_list_implementation): Update.
18900         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
18901         Change return type to 'int'. Return -1 upon out-of-memory. Use
18902         __builtin_expect.
18903         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
18904         (gl_avltreehash_list_implementation): Update.
18905         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
18906         (gl_rbtreehash_list_implementation): Update.
18907         * modules/array-list (Depends-on): Remove xalloc.
18908         * modules/carray-list (Depends-on): Likewise.
18909         * modules/linked-list (Depends-on): Likewise.
18910         * modules/linkedhash-list (Depends-on): Likewise.
18911         * modules/avltree-list (Depends-on): Likewise.
18912         * modules/rbtree-list (Depends-on): Likewise.
18913         * modules/avltreehash-list (Depends-on): Likewise.
18914         * modules/rbtreehash-list (Depends-on): Likewise.
18915
18916         * modules/xsublist: New file.
18917         * lib/gl_xsublist.h: New file.
18918         * lib/gl_xsublist.c: New file.
18919         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
18920         (gl_sublist_nx_create): New declaration.
18921         * lib/gl_sublist.c: Don't include xalloc.h.
18922         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
18923         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
18924         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
18925         Change return type to 'int'. Return -1 upon out-of-memory.
18926         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
18927         upon out-of-memory.
18928         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
18929         NULL upon out-of-memory.
18930         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
18931         upon out-of-memory.
18932         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
18933         NULL upon out-of-memory.
18934         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
18935         NULL upon out-of-memory.
18936         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
18937         upon out-of-memory.
18938         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
18939         (gl_sublist_list_implementation): Update.
18940         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
18941         upon out-of-memory.
18942         * modules/sublist (Depends-on): Remove xalloc.
18943
18944         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
18945         * tests/test-carray_list.c: Likewise.
18946         * tests/test-linked_list.c: Likewise.
18947         * tests/test-linkedhash_list.c: Likewise.
18948         * tests/test-avltree_list.c: Likewise.
18949         * tests/test-rbtree_list.c: Likewise.
18950         * tests/test-avltreehash_list.c: Likewise.
18951         * tests/test-rbtreehash_list.c: Likewise.
18952         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
18953         * modules/carray-list-tests (Makefile.am): Likewise.
18954         * modules/linked-list-tests (Makefile.am): Likewise.
18955         * modules/linkedhash-list-tests (Makefile.am): Likewise.
18956         * modules/avltree-list-tests (Makefile.am): Likewise.
18957         * modules/rbtree-list-tests (Makefile.am): Likewise.
18958         * modules/avltreehash-list-tests (Makefile.am): Likewise.
18959         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
18960
18961         * NEWS: Mention the changes.
18962
18963         * lib/clean-temp.c: Include gl_xlist.h.
18964         * modules/clean-temp (Depends-on): Add xlist.
18965
18966         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
18967         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
18968
18969         * tests/test-array_oset.c: Include gl_xlist.h.
18970         * modules/array-oset-tests (Depends-on): Add xlist.
18971
18972         Reported by José E. Marchesi <jemarch@gnu.org>.
18973
18974 2009-12-13  Bruno Haible  <bruno@clisp.org>
18975
18976         Move the malloc checking from module 'oset' to new module 'xoset'.
18977         * modules/xoset: New file.
18978         * lib/gl_xoset.h: New file.
18979         * lib/gl_xoset.c: New file.
18980         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
18981         declarations.
18982         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
18983         (struct gl_oset_implementation): Rename and change methods accordingly.
18984         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
18985         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
18986         'int'. Mark as __warn_unused_result__.
18987         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
18988         gl_oset_create_empty.
18989         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
18990         'int'.
18991         * lib/gl_array_oset.c: Don't include xalloc.h.
18992         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
18993         malloc, not xmalloc.
18994         (grow): Change return type to 'int'. Don't call xalloc_die.
18995         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
18996         to 'int'.
18997         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
18998         'int'.
18999         (gl_array_oset_implementation): Update.
19000         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
19001         gl_tree_create_empty.
19002         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
19003         'int'.
19004         * lib/gl_avltree_oset.c: Don't include xalloc.h.
19005         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
19006         xmalloc.
19007         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
19008         not xmalloc.
19009         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
19010         xmalloc.
19011         (gl_avltree_oset_implementation): Update.
19012         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
19013         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
19014         xmalloc.
19015         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
19016         not xmalloc.
19017         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
19018         xmalloc.
19019         (gl_rbtree_oset_implementation): Update.
19020         * modules/array-oset (Depends-on): Remove xalloc.
19021         * modules/avltree-oset (Depends-on): Likewise.
19022         * modules/rbtree-oset (Depends-on): Likewise.
19023         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
19024         * tests/test-avltree_oset.c: Likewise.
19025         * tests/test-rbtree_oset.c: Likewise.
19026         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
19027         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
19028         * modules/rbtree-oset-tests (Makefile.am): Likewise.
19029         * NEWS: Mention the change.
19030
19031 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
19032
19033         maint.mk: allow a project to override release-prep commands
19034         * top/maint.mk (alpha, beta, stable): Move release-preparatory
19035         commands into a new rule.
19036         (release-prep): New rule.
19037         (release-prep-hook): New overridable variable.
19038
19039 2009-12-13  Bruno Haible  <bruno@clisp.org>
19040
19041         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
19042
19043 2009-12-13  Jim Meyering  <meyering@redhat.com>
19044
19045         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
19046         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
19047
19048 2009-12-12  Bruno Haible  <bruno@clisp.org>
19049
19050         duplocale: Tweak.
19051         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
19052
19053 2009-12-12  Karl Berry  <karl@gnu.org>
19054
19055         * config/srclist.txt (strtoll.c): tab changes, no more sync.
19056
19057 2009-12-12  Bruno Haible  <bruno@clisp.org>
19058
19059         * m4/po.m4: Undo incorrect untabification.
19060
19061 2009-12-12  Bruno Haible  <bruno@clisp.org>
19062
19063         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
19064         * modules/c-strtod (Depends-on): Add locale.
19065         * modules/c-strtold (Depends-on): Likewise.
19066
19067 2009-12-12  Bruno Haible  <bruno@clisp.org>
19068
19069         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
19070
19071 2009-12-11  Eric Blake  <ebb9@byu.net>
19072
19073         setenv: relax requirement in light of POSIX ruling
19074         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
19075         not NULL.
19076         * tests/test-setenv.c (main): Relax test.
19077         * tests/test-unsetenv.c (main): Likewise.
19078         * doc/posix-functions/setenv.texi (setenv): Document this.
19079         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
19080
19081 2009-12-11  Bruno Haible  <bruno@clisp.org>
19082
19083         New module 'fd-safer-flag'.
19084         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
19085         * lib/dup-safer.c (dup_safer_flag): Remove function.
19086         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
19087         * lib/fd-safer.c (fd_safer_flag): Remove function.
19088         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
19089         * modules/cloexec (configure.ac): Drop indicator macro.
19090         * modules/fd-safer-flag: New file.
19091         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
19092         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
19093         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
19094
19095 2009-12-11  Bruno Haible  <bruno@clisp.org>
19096
19097         Tests for module 'nl_langinfo'.
19098         * modules/nl_langinfo-tests: New file.
19099         * tests/test-nl_langinfo.sh: New file.
19100         * tests/test-nl_langinfo.c: New file.
19101
19102         New module 'nl_langinfo'.
19103         * lib/nl_langinfo.c: New file.
19104         * m4/nl_langinfo.m4: New file.
19105         * modules/nl_langinfo: New file.
19106         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
19107
19108 2009-12-11  Bruno Haible  <bruno@clisp.org>
19109
19110         Tests for module 'langinfo'.
19111         * modules/langinfo-tests: New file.
19112         * tests/test-langinfo.c: New file.
19113
19114         New module 'langinfo'.
19115         * lib/langinfo.in.h: New file.
19116         * m4/langinfo_h.m4: New file.
19117         * modules/langinfo: New file.
19118         * doc/posix-headers/langinfo.texi: Mention the new module.
19119
19120 2009-12-11  Bruno Haible  <bruno@clisp.org>
19121
19122         * lib/config.charset: Untabify.
19123
19124 2009-12-11  Bruno Haible  <bruno@clisp.org>
19125
19126         * modules/unistd-safer (configure.ac): Drop indicator macro.
19127
19128 2009-12-11  Bruno Haible  <bruno@clisp.org>
19129
19130         Move pipe2-safer code to its own file.
19131         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
19132         * lib/pipe-safer.c (pipe2_safer): Remove function.
19133         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
19134         (Makefile.am): Add it to lib_SOURCES.
19135
19136 2009-12-10  Bruno Haible  <bruno@clisp.org>
19137
19138         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
19139
19140 2009-12-10  Bruno Haible  <bruno@clisp.org>
19141
19142         Declare which arguments expect non-NULL values, for GCC and clang.
19143         * build-aux/arg-nonnull.h: New file.
19144         * modules/arg-nonnull: New file.
19145         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
19146         (inet_ntop, inet_pton): Use it.
19147         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
19148         (closedir, dirfd, opendir, scandir, alphasort): Use it.
19149         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
19150         (open, openat): Use it.
19151         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
19152         (fnmatch): Use it.
19153         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
19154         (getopt, getopt_long, getopt_long_only): Use it.
19155         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
19156         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
19157         Use it.
19158         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
19159         (iconv_open): Use it.
19160         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
19161         (strtoimax, strtoumax): Use it.
19162         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
19163         (duplocale): Use it.
19164         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
19165         (frexp, frexpl): Use it.
19166         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
19167         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
19168         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
19169         (tsearch, tfind, tdelete, twalk): Use it.
19170         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
19171         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
19172         sigpending): Use it.
19173         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
19174         (posix_spawn, posix_spawnp, posix_spawnattr_init,
19175         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
19176         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
19177         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
19178         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
19179         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
19180         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
19181         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
19182         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
19183         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
19184         Use it.
19185         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
19186         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
19187         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
19188         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
19189         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
19190         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
19191         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
19192         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
19193         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
19194         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
19195         strtoull, unsetenv): Use it.
19196         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
19197         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
19198         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
19199         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
19200         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
19201         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
19202         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
19203         (strcasecmp, strncasecmp): Use it.
19204         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
19205         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
19206         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
19207         rpl_setsockopt): Use it.
19208         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
19209         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
19210         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
19211         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
19212         (gettimeofday): Use it.
19213         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
19214         (times): Use it.
19215         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
19216         (uname): Use it.
19217         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
19218         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
19219         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
19220         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
19221         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
19222         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
19223         unlinkat, write): Use it.
19224         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
19225         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
19226         * lib/argv-iter.h: Include arg-nonnull.h.
19227         (_ATTRIBUTE_NONNULL_): Remove macro.
19228         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
19229         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
19230         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
19231         optimization.
19232         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
19233         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
19234         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
19235         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
19236         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
19237         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
19238         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
19239         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
19240         * modules/arpa_inet (Depends-on): Add arg-nonnull.
19241         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
19242         * modules/dirent (Depends-on): Add arg-nonnull.
19243         (Makefile.am): Insert arg-nonnull.h into dirent.h.
19244         * modules/fcntl-h (Depends-on): Add arg-nonnull.
19245         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
19246         * modules/fnmatch (Depends-on): Add arg-nonnull.
19247         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
19248         * modules/getopt-posix (Depends-on): Add arg-nonnull.
19249         (Makefile.am): Insert arg-nonnull.h into getopt.h.
19250         * modules/glob (Depends-on): Add arg-nonnull.
19251         (Makefile.am): Insert arg-nonnull.h into glob.h.
19252         * modules/iconv_open (Depends-on): Add arg-nonnull.
19253         (Makefile.am): Insert arg-nonnull.h into iconv.h.
19254         * modules/inttypes (Depends-on): Add arg-nonnull.
19255         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
19256         * modules/locale (Depends-on): Add arg-nonnull.
19257         (Makefile.am): Insert arg-nonnull.h into locale.h.
19258         * modules/math (Depends-on): Add arg-nonnull.
19259         (Makefile.am): Insert arg-nonnull.h into math.h.
19260         * modules/netdb (Depends-on): Add arg-nonnull.
19261         (Makefile.am): Insert arg-nonnull.h into netdb.h.
19262         * modules/search (Depends-on): Add arg-nonnull.
19263         (Makefile.am): Insert arg-nonnull.h into search.h.
19264         * modules/signal (Depends-on): Add arg-nonnull.
19265         (Makefile.am): Insert arg-nonnull.h into signal.h.
19266         * modules/spawn (Depends-on): Add arg-nonnull.
19267         (Makefile.am): Insert arg-nonnull.h into spawn.h.
19268         * modules/stdio (Depends-on): Add arg-nonnull.
19269         (Makefile.am): Insert arg-nonnull.h into stdio.h.
19270         * modules/stdlib (Depends-on): Add arg-nonnull.
19271         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
19272         * modules/string (Depends-on): Add arg-nonnull.
19273         (Makefile.am): Insert arg-nonnull.h into string.h.
19274         * modules/strings (Depends-on): Add arg-nonnull.
19275         (Makefile.am): Insert arg-nonnull.h into strings.h.
19276         * modules/sys_socket (Depends-on): Add arg-nonnull.
19277         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
19278         * modules/sys_stat (Depends-on): Add arg-nonnull.
19279         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
19280         * modules/sys_time (Depends-on): Add arg-nonnull.
19281         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
19282         * modules/sys_times (Depends-on): Add arg-nonnull.
19283         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
19284         * modules/sys_utsname (Depends-on): Add arg-nonnull.
19285         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
19286         * modules/time (Depends-on): Add arg-nonnull.
19287         (Makefile.am): Insert arg-nonnull.h into time.h.
19288         * modules/unistd (Depends-on): Add arg-nonnull.
19289         (Makefile.am): Insert arg-nonnull.h into unistd.h.
19290         * modules/wchar (Depends-on): Add arg-nonnull.
19291         (Makefile.am): Insert arg-nonnull.h into wchar.h.
19292         * modules/argv-iter (Depends-on): Add arg-nonnull.
19293         * tests/test-canonicalize.c (null_ptr): New function.
19294         (main): Use it.
19295         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
19296         (main): Use it.
19297         * tests/test-memmem.c (null_ptr): New function.
19298         (main): Use it.
19299         Reported by Jim Meyering.
19300
19301 2009-12-10  Bruno Haible  <bruno@clisp.org>
19302
19303         Use spaces for indentation, not tabs.
19304         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
19305         * m4/*.m4: Untabify.
19306         * build-aux/*.h: Untabify.
19307         * tests/**/*.[hc]: Untabify.
19308         * README: New section "Indent with spaces, not TABs", based on
19309         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
19310         * NEWS: Mention the change.
19311
19312 2009-12-10  Bruno Haible  <bruno@clisp.org>
19313
19314         pty test: Fix link error.
19315         * modules/pty-tests (Makefile.am): Add the default LDADD value to
19316         test_pty_LDADD.
19317
19318 2009-12-07  Simon Josefsson  <simon@josefsson.org>
19319
19320         * modules/pty: New file.
19321         * modules/pty-tests: New file.
19322         * m4/pty.m4: New file.
19323         * tests/test-pty.c: New file.
19324         * doc/glibc-headers/pty.texi: Modified.
19325         * doc/glibc-functions/forkpty.texi: Modified.
19326         * doc/glibc-functions/openpty.texi: Modified.
19327
19328 2009-12-10  Bruno Haible  <bruno@clisp.org>
19329
19330         Avoid syntax error in C++ mode.
19331         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
19332
19333 2009-12-10  Bruno Haible  <bruno@clisp.org>
19334
19335         Use sed with option -e.
19336         * gnulib-tool (func_version, func_emit_copyright_notice,
19337         func_emit_initmacro_end, func_import, func_create_testdir): Pass
19338         option -e to sed.
19339         * modules/link-warning (Makefile.am): Likewise.
19340
19341 2009-12-10  Jim Meyering  <meyering@redhat.com>
19342
19343         mgetgroups: do not write bytes beyond end of malloc'd buffer
19344         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
19345         username, we call getgroups with a one-element-shorter buffer,
19346         but still told it the length was original, max_n_groups.
19347
19348 2009-12-09  Eric Blake  <ebb9@byu.net>
19349
19350         cloexec: relax license
19351         * modules/cloexec (Maintainer): Add myself.
19352         (License): Use LGPL, not GPL.
19353
19354         link-warning: optimize generation
19355         * modules/link-warning (Makefile.am): Reduce process usage.
19356
19357 2009-12-09  Bruno Haible  <bruno@clisp.org>
19358
19359         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
19360         workaround was added on 2009-11-17.
19361
19362 2009-12-09  Jim Meyering  <meyering@redhat.com>
19363             Bruno Haible  <bruno@clisp.org>
19364
19365         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
19366         * modules/link-warning (Makefile.am): Make the comment-removing sed
19367         command more robust in the face of bootstrap-prepended comment lines.
19368
19369 2009-12-09  Bruno Haible  <bruno@clisp.org>
19370
19371         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
19372         most one group.
19373
19374 2009-12-09  Simon Josefsson <simon@josefsson.org>
19375             Bruno Haible  <bruno@clisp.org>
19376
19377         * build-aux/link-warning.h: Add copyright notice.
19378         * modules/link-warning (Makefile.am): Generate link-warning.h from
19379         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
19380         * NEWS: Mention change in link-warning module.
19381         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
19382         * modules/dirent (Makefile.am): Add dependency to dirent.h.
19383         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
19384         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
19385         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
19386         * modules/math (Makefile.am): Add dependency to math.h.
19387         * modules/search (Makefile.am): Add dependency to search.h.
19388         * modules/signal (Makefile.am): Add dependency to signal.h.
19389         * modules/spawn (Makefile.am): Add dependency to spawn.h.
19390         * modules/stdio (Makefile.am): Add dependency to stdio.h.
19391         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
19392         * modules/string (Makefile.am): Add dependency to string.h.
19393         * modules/strings (Makefile.am): Add dependency to strings.h.
19394         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
19395         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
19396         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
19397         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
19398         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
19399         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
19400         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
19401         * modules/unistd (Makefile.am): Add dependency to unistd.h.
19402         * modules/wchar (Makefile.am): Add dependency to wchar.h.
19403
19404 2009-12-09  Bruno Haible  <bruno@clisp.org>
19405
19406         fchdir: Optimize away rpl_fstat when possible.
19407         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
19408         REPLACE_OPEN_DIRECTORY.
19409         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
19410
19411 2009-12-09  Bruno Haible  <bruno@clisp.org>
19412
19413         * lib/fchdir.c: Update comment.
19414
19415 2009-12-09  Bruno Haible  <bruno@clisp.org>
19416
19417         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
19418
19419 2009-12-08  Eric Blake  <ebb9@byu.net>
19420
19421         fchdir: avoid memory leak on re-registration.
19422         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
19423
19424 2009-12-08  Jim Meyering  <meyering@redhat.com>
19425
19426         init.sh: avoid Solaris 10 /bin/sh portability problem
19427         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
19428         sourced script:
19429           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
19430           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
19431           bar
19432         tests/init.sh relied on that, accepting a --set-path=DIR argument,
19433         and two tests used that idiom.
19434         * tests/init.sh: Update suggested usage comments.
19435         (path_prepend_): New function, to be used in place
19436         of the --src-path=DIR option.
19437         (setup_): Move PATH-prepending code into path_prepend_.
19438         * tests/test-pread.sh: Adapt to new usage.
19439         * tests/test-xalloc-die.sh: Likewise.
19440
19441 2009-12-08  Simon Josefsson  <simon@josefsson.org>
19442
19443         * doc/gnulib.texi (Glibc pty.h): Add.
19444         * doc/glibc-functions/forkpty.texi: Add.
19445         * doc/glibc-functions/openpty.texi: Add.
19446         Suggested by Bruno Haible.
19447
19448 2009-12-08  Eric Blake  <ebb9@byu.net>
19449
19450         fchdir: fix logic bugs
19451         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
19452         * tests/test-fchdir.c (main): Enhance test.
19453         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
19454         is in use.
19455
19456         dup2: fix logic bugs
19457         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
19458         REPLACE_DUP2 to decide when rpl_dup2 is needed.
19459         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
19460         exists.
19461         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
19462
19463 2009-12-07  Eric Blake  <ebb9@byu.net>
19464
19465         unlink: fix m4 detection
19466         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
19467
19468         unistd-safer: add unit test
19469         * modules/unistd-safer-tests: New file.
19470         * tests/test-dup-safer.c: Likewise.
19471         * tests/test-cloexec.c (setmode): Avoid compiler warning.
19472         * tests/test-dup2.c (setmode): Likewise.
19473         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
19474
19475         cloexec: preserve text vs. binary across dup_cloexec
19476         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
19477         mode.
19478         * modules/dup2-tests (Depends-on): Add binary-io.
19479         * modules/cloexec-tests (Depends-on): Likewise.
19480         * tests/test-dup2.c (setmode, is_mode): New helpers.
19481         (main): Add tests that translation mode is preserved.
19482         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
19483         Reported by Bruno Haible.
19484
19485         mgetgroups: reduce duplicate listings
19486         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
19487         resulting array.
19488         * tests/test-chown.h (test_chown): Simplify client.
19489         * tests/test-lchown.h (test_lchown): Likewise.
19490
19491 2009-12-06  Bruno Haible  <bruno@clisp.org>
19492
19493         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
19494         value.
19495
19496 2009-12-06  Bruno Haible  <bruno@clisp.org>
19497
19498         * lib/progname.c: Include stdio.h, stdlib.h.
19499         (set_program_name): Reject a NULL argument.
19500
19501 2009-12-05  Eric Blake  <ebb9@byu.net>
19502
19503         pipe2-safer: new module
19504         * modules/pipe2-safer: New file.
19505         * lib/unistd-safer.h (pipe2_safer): New prototype.
19506         * lib/unistd--.h (pipe2): New wrapper.
19507         * lib/pipe-safer.c (pipe2_safer): New function.
19508         * modules/pipe (Depends-on): Add pipe2-safer.
19509         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
19510
19511         stdlib-safer: preserve cloexec flag for mkostemp[s]
19512         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
19513         fd_safer_flag.
19514
19515         unistd-safer: allow preservation of cloexec status via flag
19516         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
19517         prototypes.
19518         * lib/dup-safer.c (dup_safer_flag): New function.
19519         * lib/fd-safer.c (fd_safer_flag): Likewise.
19520         * modules/cloexec (configure.ac): Set witness.
19521
19522         test-dup2: enhance test
19523         * modules/dup2-tests (Depends-on): Add cloexec.
19524         * tests/test-dup2.c (main): Enhance test.
19525
19526         cloexec: add dup_cloexec
19527         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
19528         header and comments.
19529         * lib/cloexec.c (set_cloexec_flag): Add comments.
19530         (dup_cloexec): New function, with mingw implementation borrowed
19531         from...
19532         * lib/w32spawn.h (dup_noinherit): ...here.
19533         * modules/execute (Depends-on): Add cloexec.
19534         * modules/pipe (Depends-on): Likewise.
19535         * modules/cloexec (Depends-on): Add dup2.
19536         * modules/cloexec-tests (Files): New file.
19537         * tests/test-cloexec.c: Likewise.
19538
19539         test-xalloc-die: fix test for mingw
19540         * modules/xalloc-die-tests (Files): Add tests/init.sh.
19541         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
19542         directory and .exe suffix off argv[0] output.
19543
19544         test-fseeko: fix test for mingw
19545         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
19546         than undefining fseek, so test will pass on mingw.
19547
19548 2009-12-05  Bruno Haible  <bruno@clisp.org>
19549
19550         * lib/progname.h (set_program_name): Clarify specification.
19551         * lib/progname.c (set_program_name): Likewise.
19552         Reported by Jim Meyering.
19553
19554 2009-12-05  Jim Meyering  <meyering@redhat.com>
19555
19556         maint.mk: backslash-escape parens in default regexp
19557         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
19558         backslash-escape the literal parentheses.
19559
19560         maint.mk: news-date-check: use grep -E
19561         * top/maint.mk (today): Define a Make variable, not a...
19562         (news-date-check): ...shell variable.
19563         (news-date-regexp): Use the Make variable.
19564         Use grep's -E option.  Change the failing diagnostic to mention
19565         the variable, $(news-date-regexp).
19566
19567 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
19568
19569         maintainer-makefile: allow customization of NEWS entry format
19570         * top/maint.mk (news-date-regexp): New overridable variable.
19571         (news-date-check): Use it.
19572
19573 2009-12-04  Eric Blake  <ebb9@byu.net>
19574
19575         mgetgroups: add xgetgroups, and avoid ENOSYS failures
19576         * lib/mgetgroups.h (xgetgroups): New prototype.
19577         * lib/mgetgroups.c (xgetgroups): New wrapper.
19578         (mgetgroups): Handle ENOSYS.
19579         * modules/mgetgroups (Depends-on): Add realloc.
19580         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
19581
19582         mgetgroups: avoid argument promotion issues with -1
19583         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
19584         for invalid gid_t.
19585         * tests/test-chown.h (getegid, test_chown): Likewise.
19586         * tests/test-lchown.h (getegid, test_lchown): Likewise.
19587
19588 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
19589
19590         exclude: Fix header file problems.
19591         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
19592
19593 2009-12-01  Jim Meyering  <meyering@redhat.com>
19594
19595         fts: fts_open: do not let an empty string cause immediate failure
19596         This is required in support of GNU rm, for which the command
19597         "rm A '' B" must process and remove both A and B, in spite of
19598         the empty string argument.
19599         * lib/fts.c (fts_open): Do not let the presence of an empty string
19600         cause fts_open to fail immediately.  Most fts-using tools must be
19601         able to process all arguments, in order, and can be expected to
19602         diagnose such arguments themselves.
19603
19604 2009-11-30  Eric Blake  <ebb9@byu.net>
19605
19606         utimens: fix compilation error
19607         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
19608         Declare variable at right scope.
19609
19610 2009-11-29  Jim Meyering  <meyering@redhat.com>
19611
19612         bootstrap: handle perl-5.11's changed --version output
19613         * build-aux/bootstrap (get_version): Handle perl separately,
19614         since perl-5.11's --version output is different.
19615
19616 2009-11-28  Jim Meyering  <meyering@redhat.com>
19617
19618         userspec: depend on the inttostr module, too
19619         * modules/userspec (Depends-on): Add inttostr.
19620
19621         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
19622         * lib/userspec.c (parse_with_separator): Do not accept a user ID
19623         number of MAXUID when it evaluates to (uid_t) -1.
19624         Likewise for group ID.  Reported by Matt McCutchen in
19625         <http://savannah.gnu.org/bugs/?28113>
19626
19627         userspec: reformat to use spaces, not TABs
19628         * lib/userspec.c: Expand TABs to spaces.
19629         Add Emacs' "indent-tabs-mode: nil" hint.
19630
19631 2009-11-27  Eric Blake  <ebb9@byu.net>
19632
19633         getopt-gnu: flush out another BSD bug
19634         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
19635         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
19636         flush out BSD bug.
19637         * tests/test-getopt.h (test_getopt): End lists with NULL.
19638         * tests/test-getopt_long.h (test_getopt_long): Likewise.
19639         (test_getopt_long_posix): Enhance test.
19640         * modules/getopt-posix-tests (Depends-on): Add stdbool.
19641         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
19642         getopt-gnu.
19643         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19644         Likewise.
19645
19646 2009-11-27  Simon Josefsson  <simon@josefsson.org>
19647
19648         * modules/idpriv-droptemp-tests (Notice): Fix text.
19649
19650 2009-11-27  Jim Meyering  <meyering@redhat.com>
19651
19652         test-xalloc-die: avoid spurious failure due to libtool argv difference
19653         In a libtool-enabled project, this test would fail due to a difference
19654         in the emitted program name, e.g.,
19655         -test-xalloc-die: memory exhausted
19656         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
19657         Use program to avoid that.
19658         * modules/xalloc-die-tests (Depends-on): Add progname.
19659         * tests/test-xalloc-die.c: Include progname.h".
19660         (program_name): Remove decl.
19661         (main): Call set_program_name.
19662         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
19663
19664 2009-11-26  Richard Jones  <rjones@redhat.com>
19665
19666         w32sock: leave win32 error in place.
19667         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
19668
19669 2009-11-26  Eric Blake  <ebb9@byu.net>
19670
19671         init.sh: suggest to use skip_ and fail_ functions in comments
19672         * tests/init.sh: Add a sentence.
19673
19674 2009-11-25  Bruno Haible  <bruno@clisp.org>
19675
19676         init.sh: add documentation in comments
19677         * tests/init.sh: Add some developer and user documentation.
19678
19679 2009-11-26  Jim Meyering  <meyering@redhat.com>
19680
19681         init.sh: accommodate even those who specify bogus srcdir manually
19682         * tests/init.sh: Normally, srcdir is guaranteed by automake and
19683         configure-time tests to be sanitized, so that there is no need to
19684         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
19685         (with no double quotes) suffices.  However, since tests may be
19686         invoked manually, and since you may explicitly set srcdir to the
19687         name of a directory containing spaces, do quote its uses here.
19688         * tests/test-pread.sh: Likewise.
19689         Suggested by Bruno Haible.
19690
19691         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
19692         * tests/test-pread.sh: Write no data into the pipe, because
19693         test-pread actually reads none.  This avoids a diagnostic,
19694         "bash: echo: write error: Broken pipe", that arises in the unusual
19695         event something is ignoring SIGPIPE, and might be interpreted
19696         as some sort of failure.  Reported by Bruno Haible.
19697
19698 2009-11-25  Jim Meyering  <meyering@redhat.com>
19699
19700         test-pread: cover failure with ESPIPE and EINVAL
19701         * tests/test-pread.c (main): Test for failure, too.
19702         * tests/test-pread.sh: Invoke with stdin on a pipe.
19703         Suggested by Eric Blake.
19704
19705         pread: improvement and fix
19706         * modules/pread (Depends-on): Depend on lseek, for portability to
19707         e.g., mingw.  Suggested by Eric Blake.
19708         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
19709
19710         unistd.in.h: correct declaration of pread
19711         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
19712         Reported by Richard W.M. Jones.
19713
19714         test-pread.sh: distribute the test script
19715         * modules/pread-tests (Files): Include test-pread.sh.
19716
19717         test-pread.sh: clean up
19718         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
19719         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
19720         That is unnecessary, since it's always ".".
19721         Suggestion from Eric Blake.
19722
19723         test-pread.sh: make executable
19724         * tests/test-pread.sh: Set executable bit.
19725         Reported by Eric Blake.
19726
19727         correct typo in test-pread.sh
19728         * tests/test-pread.sh: Add #! line.
19729
19730         test pread
19731         * tests/test-pread.c: New file.
19732         * tests/test-pread.sh: Likewise.
19733         * modules/pread-tests: Likewise.
19734
19735         pread: new module
19736         * modules/pread: New file.
19737         * lib/unistd.in.h (pread): Define/declare.
19738         * lib/pread.c (pread): New file.
19739         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
19740         * modules/unistd (Makefile.am): Substitute witnesses.
19741         * doc/posix-functions/pread.texi (pread): Update.
19742         * MODULES.html.sh: Add pread.
19743
19744 2009-11-25  Jim Meyering  <meyering@redhat.com>
19745
19746         tests/init.sh: new file to be used via most *.sh tests
19747         * tests/init.sh: New file.
19748
19749 2009-11-25  Eric Blake  <ebb9@byu.net>
19750
19751         utimens: work around older Linux failure with symlinks
19752         * lib/utimens.c (lutimensat_works_really): New variable.
19753         (fdutimens, lutimens): Use it to manage kernels that support
19754         nanosecond times on files, but not on symlinks.
19755         Reported by OndÅ™ej Vašík.
19756
19757         utimes: fix configure grammar
19758         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
19759
19760 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
19761
19762         regex: Fix fastmap for multibyte character ranges.
19763         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
19764         characters when a multibyte character range is included.
19765
19766 2009-11-22  Andy Wingo  <wingo@pobox.com>
19767
19768         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
19769         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
19770
19771 2009-11-24  Bruno Haible  <bruno@clisp.org>
19772
19773         doc: Most *_l functions exist in MacOS X 10.5.
19774         * doc/posix-functions/duplocale.texi: Update platforms list.
19775         * doc/posix-functions/freelocale.texi: Likewise.
19776         * doc/posix-functions/newlocale.texi: Likewise.
19777         * doc/posix-functions/uselocale.texi: Likewise.
19778         * doc/posix-functions/isalnum_l.texi: Likewise.
19779         * doc/posix-functions/isalpha_l.texi: Likewise.
19780         * doc/posix-functions/isblank_l.texi: Likewise.
19781         * doc/posix-functions/iscntrl_l.texi: Likewise.
19782         * doc/posix-functions/isdigit_l.texi: Likewise.
19783         * doc/posix-functions/isgraph_l.texi: Likewise.
19784         * doc/posix-functions/islower_l.texi: Likewise.
19785         * doc/posix-functions/isprint_l.texi: Likewise.
19786         * doc/posix-functions/ispunct_l.texi: Likewise.
19787         * doc/posix-functions/isspace_l.texi: Likewise.
19788         * doc/posix-functions/isupper_l.texi: Likewise.
19789         * doc/posix-functions/iswalnum_l.texi: Likewise.
19790         * doc/posix-functions/iswalpha_l.texi: Likewise.
19791         * doc/posix-functions/iswblank_l.texi: Likewise.
19792         * doc/posix-functions/iswcntrl_l.texi: Likewise.
19793         * doc/posix-functions/iswctype_l.texi: Likewise.
19794         * doc/posix-functions/iswdigit_l.texi: Likewise.
19795         * doc/posix-functions/iswgraph_l.texi: Likewise.
19796         * doc/posix-functions/iswlower_l.texi: Likewise.
19797         * doc/posix-functions/iswprint_l.texi: Likewise.
19798         * doc/posix-functions/iswpunct_l.texi: Likewise.
19799         * doc/posix-functions/iswspace_l.texi: Likewise.
19800         * doc/posix-functions/iswupper_l.texi: Likewise.
19801         * doc/posix-functions/iswxdigit_l.texi: Likewise.
19802         * doc/posix-functions/isxdigit_l.texi: Likewise.
19803         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
19804         * doc/posix-functions/strcasecmp_l.texi: Likewise.
19805         * doc/posix-functions/strcoll_l.texi: Likewise.
19806         * doc/posix-functions/strfmon_l.texi: Likewise.
19807         * doc/posix-functions/strftime_l.texi: Likewise.
19808         * doc/posix-functions/strncasecmp_l.texi: Likewise.
19809         * doc/posix-functions/strxfrm_l.texi: Likewise.
19810         * doc/posix-functions/tolower_l.texi: Likewise.
19811         * doc/posix-functions/toupper_l.texi: Likewise.
19812         * doc/posix-functions/towctrans_l.texi: Likewise.
19813         * doc/posix-functions/towlower_l.texi: Likewise.
19814         * doc/posix-functions/towupper_l.texi: Likewise.
19815         * doc/posix-functions/wcscoll_l.texi: Likewise.
19816         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
19817         * doc/posix-functions/wctrans_l.texi: Likewise.
19818         * doc/posix-functions/wctype_l.texi: Likewise.
19819         * doc/glibc-functions/strptime_l.texi: Likewise.
19820         * doc/glibc-functions/strtod_l.texi: Likewise.
19821         * doc/glibc-functions/strtof_l.texi: Likewise.
19822         * doc/glibc-functions/strtol_l.texi: Likewise.
19823         * doc/glibc-functions/strtold_l.texi: Likewise.
19824         * doc/glibc-functions/strtoll_l.texi: Likewise.
19825         * doc/glibc-functions/strtoul_l.texi: Likewise.
19826         * doc/glibc-functions/strtoull_l.texi: Likewise.
19827         * doc/glibc-functions/wcsftime_l.texi: Likewise.
19828         * doc/glibc-functions/wcstod_l.texi: Likewise.
19829         * doc/glibc-functions/wcstof_l.texi: Likewise.
19830         * doc/glibc-functions/wcstol_l.texi: Likewise.
19831         * doc/glibc-functions/wcstold_l.texi: Likewise.
19832         * doc/glibc-functions/wcstoll_l.texi: Likewise.
19833         * doc/glibc-functions/wcstoul_l.texi: Likewise.
19834         * doc/glibc-functions/wcstoull_l.texi: Likewise.
19835
19836 2009-11-24  Bruno Haible  <bruno@clisp.org>
19837
19838         duplocale: Fix logic bug.
19839         * lib/duplocale.c: Don't include <langinfo.h>.
19840         (_NL_LOCALE_NAME): Remove macro.
19841         (rpl_duplocale): Use setlocale instead of nl_langinfo.
19842         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
19843
19844 2009-11-23  Jim Meyering  <meyering@redhat.com>
19845
19846         test-update-copyright: don't hard-code /usr/bin/perl
19847         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
19848         perl to print the current year.  Gilles Espinasse reported that
19849         the replaced use of perl was hard-coded as /usr/bin/perl.
19850
19851 2009-11-23  Bruno Haible  <bruno@clisp.org>
19852
19853         duplocale: Add support for glibc 2.3.x.
19854         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
19855
19856 2009-11-22  Bruno Haible  <bruno@clisp.org>
19857
19858         vasnprintf: Tiny optimization.
19859         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
19860         MacOS X.
19861
19862 2009-11-22  Bruno Haible  <bruno@clisp.org>
19863
19864         Tests for module 'duplocale'.
19865         * modules/duplocale-tests: New file.
19866         * tests/test-duplocale.c: New file.
19867
19868         New module 'duplocale'.
19869         * m4/duplocale.m4: New file.
19870         * lib/locale.in.h (duplocale): New declaration.
19871         * lib/duplocale.c: New file.
19872         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
19873         gl_LOCALE_H_DEFAULTS): New macros.
19874         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
19875         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
19876         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
19877         REPLACE_DUPLOCALE.
19878         * modules/duplocale: New file.
19879         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
19880
19881 2009-11-22  Bruno Haible  <bruno@clisp.org>
19882
19883         * modules/locale-tests (configure.ac): Test for newlocale function.
19884         * tests/test-locale.c: When the system has extended locale functions,
19885         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
19886
19887         locale: Make locale_t available when possible.
19888         * lib/locale.in.h: Include <xlocale.h> when it exists.
19889         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
19890         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
19891         * modules/locale (Depends-on): Add extensions.
19892         (Makefile.am): Also substitute HAVE_XLOCALE_H.
19893         * doc/posix-headers/locale.texi: Document the problem with locale_t.
19894
19895 2009-11-22  Bruno Haible  <bruno@clisp.org>
19896
19897         Add comments.
19898         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
19899         invocation.
19900         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
19901         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
19902         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
19903
19904 2009-11-22  Bruno Haible  <bruno@clisp.org>
19905
19906         error: account for the possibility of freopen (stdout).
19907         * lib/error.c: Include <unistd.h>.
19908         (flush_stdout): New function, extracted from error and error_at_line.
19909         Determine stdout's fd dynamically.
19910         (error, error_at_line): Invoke flush_stdout.
19911         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
19912         * modules/error (Depends-on): Add unistd.
19913
19914 2009-11-22  Bruno Haible  <bruno@clisp.org>
19915
19916         diffseq: Add comment.
19917         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
19918
19919 2009-11-22  Jim Meyering  <meyering@redhat.com>
19920
19921         c-stack: avoid defining an unused static function
19922         * lib/c-stack.c (find_stack_direction): Do not define this function
19923         when it will not be used.
19924
19925         diffseq: avoid spurious gcc warnings
19926         * lib/diffseq.h (IF_LINT2): Define.
19927         (compareseq): Use it to initialize two members of "part".
19928         This avoids two used-uninitialized warnings.
19929
19930 2009-11-21  Jim Meyering  <meyering@redhat.com>
19931
19932         c-stack: avoid "ignoring return value of `write'" warning
19933         * lib/c-stack.c: Include "ignore-value.h".
19934         (die): Explicitly ignore each write return value.
19935         * modules/c-stack (Depends-on): Add ignore-value.
19936
19937 2009-11-21  Bruno Haible  <bruno@clisp.org>
19938
19939         diffseq: reduce scope of variable 'best'.
19940         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
19941         variable, earlier used for two different purposes.
19942
19943 2009-11-21  Jim Meyering  <meyering@redhat.com>
19944
19945         diffseq: remove useless assignment to "best"
19946         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
19947         assignment.  At that point "best" is already guaranteed to be zero.
19948
19949 2009-11-20  Eric Blake  <ebb9@byu.net>
19950
19951         build: mention ftp redirector in release announcements
19952         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
19953         values that used to come from cfg.mk; mention FTP redirect URL.
19954         * build-aux/announce-gen: Mention the mirror list.
19955         Suggested by Karl Berry.
19956
19957         nanosleep: improve port to mingw
19958         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
19959         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
19960         LIB_NANOSLEEP, but only when needed.
19961         * modules/select (Link): Document LIBSOCKET.
19962         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
19963         enough.
19964
19965         nanosleep: work around cygwin bug
19966         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
19967         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
19968         bug.
19969         (getnow): Delete, not needed.
19970         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
19971         LIB_CLOCK_GETTIME.
19972         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
19973         clock-time, gettime.
19974         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
19975         bug.
19976         * modules/nanosleep-tests: New test.
19977         * tests/test-nanosleep.c: New file.
19978
19979         sleep: work around cygwin bug
19980         * lib/sleep.c (rpl_sleep): Work around the bug.
19981         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
19982         (gl_PREREQ_SLEEP): Delete unused macro.
19983         * modules/sleep (Depends-on): Add verify.
19984         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
19985         * modules/unistd (Makefile.am): Substitute witness.
19986         * lib/unistd.in.h (sleep): Update prototype.
19987         * doc/posix-functions/sleep.texi (sleep): Document the bug.
19988         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
19989         * modules/sleep-tests (Depends-on): Check for alarm.
19990
19991 2009-11-20  Jim Meyering  <meyering@redhat.com>
19992
19993         maint.mk: improve sc_prohibit_magic_number_exit
19994         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
19995         so it does not match uses like System.exit(1).
19996         Add comments showing how to correct all offenders.
19997
19998 2009-11-19  Eric Blake  <ebb9@byu.net>
19999
20000         xalloc-die-tests: add missing library
20001         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
20002
20003         test-xvasprintf: silence compiler warnings
20004         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
20005         empty string from gcc.
20006
20007 2009-11-19  Jim Meyering  <meyering@redhat.com>
20008
20009         xfreopen: new module, from coreutils
20010         * modules/xfreopen: New module.
20011         * lib/xfreopen.c: New file.
20012         * lib/xfreopen.h: New file.
20013         * MODULES.html.sh (File stream based Input/Output"): Add it.
20014
20015 2009-11-19  Eric Blake  <ebb9@byu.net>
20016
20017         manywarnings: depend on warnings
20018         * modules/manywarnings (Depends-on): Add warnings.
20019
20020         build: avoid compiler warnings
20021         * lib/select.c (rpl_select): Delete unused variable.
20022         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
20023
20024 2009-11-18  Eric Blake  <ebb9@byu.net>
20025
20026         tests: avoid false negative with --with-packager
20027         * tests/test-version-etc.sh: Discard packager information.
20028         * tests/test-argp-version-etc-1.sh: Likewise.
20029         Reported by Mike Frysinger.
20030
20031         utimens: fix regression on Solaris
20032         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
20033         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
20034         can only change fd timestamps via futimesat.  Instead, use an
20035         additional witness macro to avoid BSD bug.
20036         Reported by Jim Meyering.
20037
20038 2009-11-17  Eric Blake  <ebb9@byu.net>
20039
20040         usleep: use it to simplify tests
20041         * modules/stat-time-tests (Depends-on): Add usleep.
20042         (configure.ac): Drop usleep check.
20043         * modules/chown-tests (Depends-on, configure.ac): Likewise.
20044         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
20045         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
20046         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
20047         * modules/openat-tests (Depends-on, configure.ac): Likewise.
20048         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
20049         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
20050         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
20051         Likewise.
20052         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
20053         * tests/test-lchown.h (nap): Likewise.
20054         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
20055         * tests/test-stat-time.c (nap): Likewise.
20056         * tests/test-utimens-common.h (nap): Update comments.
20057
20058         usleep: new module
20059         * modules/usleep: New file.
20060         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
20061         * lib/usleep.c (usleep): Likewise.
20062         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
20063         * modules/unistd (Makefile.am): Substitute witnesses.
20064         * lib/unistd.in.h (usleep): Add declaration.
20065         * doc/pastposix-functions/usleep.texi (usleep): Document this.
20066         * MODULES.html.sh (Date and time): Likewise.
20067         * modules/usleep-tests (Depends-on): New test.
20068         * tests/test-usleep.c: New file.
20069
20070         chown: work around OpenBSD bug
20071         * lib/chown.c (rpl_chown): Work around the bug.
20072         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
20073         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
20074         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
20075         * modules/chown (Depends-on): Add stdbool.
20076         * modules/lchown (Depends-on): Likewise.
20077         * doc/posix-functions/chown.texi (chown): Document the bug.
20078         * doc/posix-functions/lchown.texi (lchown): Likewise.
20079         * tests/test-lchown.h (test_chown): Relax test.
20080
20081         mkstemp: avoid conflict with C++ keyword template
20082         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
20083         * lib/mkostemp.c (mkostemp): Likewise.
20084         * lib/mkostemps.c (mkostemps): Likewise.
20085         * lib/mkstemp.c (mkstemp): Likewise.
20086         * lib/mkstemps.c (mkstemps): Likewise.
20087
20088         xalloc-die-tests: optimize
20089         * tests/test-xalloc-die.sh: Reduce number of processes.
20090
20091 2009-11-17  Simon Josefsson  <simon@josefsson.org>
20092
20093         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
20094         patch from ludo@gnu.org (Ludovic Courtès).
20095
20096 2009-11-17  Jim Meyering  <meyering@redhat.com>
20097
20098         version-etc: use proper license string
20099         * modules/version-etc (License): Use LGPL, not LGPLv3+.
20100         * modules/version-etc-fsf: Likewise.
20101
20102 2009-11-17  Simon Josefsson  <simon@josefsson.org>
20103
20104         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
20105         printed to stdout.  Deal with EOL differences.
20106
20107 2009-11-17  Eric Blake  <ebb9@byu.net>
20108
20109         unsetenv: work around Solaris bug
20110         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
20111         * lib/unsetenv.c (rpl_unsetenv): Work around it.
20112         Reported by Jim Meyering.
20113
20114         vasnprintf: avoid compiler warnings
20115         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
20116         variables.
20117         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
20118
20119 2009-11-17  Simon Josefsson  <simon@josefsson.org>
20120
20121         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
20122         settings since xalloc-die is no longer the self test,
20123         xalloc-die.sh is.
20124
20125 2009-11-17  Jim Meyering  <meyering@redhat.com>
20126
20127         test-xalloc-die.sh: make the code agree with the commit log
20128         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
20129         at the end, just in case you happen to have a test-xalloc-die
20130         program in some other PATH directory.
20131
20132         test-xalloc-die.sh: fix a portability bug
20133         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
20134         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
20135         Otherwise, argv[0] (as often seen in diagnostics) would be too
20136         system-dependent, sometimes with, and sometimes without the leading "./".
20137
20138         version-etc-fsf: relax license to LGPLv3+
20139         * modules/version-etc-fsf (License): Relax license.
20140
20141 2009-11-16  Eric Blake  <ebb9@byu.net>
20142
20143         xalloc-die-tests: avoid printing null pointer
20144         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
20145         shell script.
20146         * tests/test-xalloc-die.c (program_name): Declare.
20147         * tests/test-xalloc-die.sh (tmpfiles): New file.
20148
20149         setenv, unsetenv: work around various bugs
20150         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
20151         (setenv) [HAVE_SETENV]: Work around bugs.
20152         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
20153         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
20154         for bugs.
20155         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
20156         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
20157         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
20158         * modules/stdlib (Makefile.am): Update substitutions.
20159         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
20160         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
20161         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
20162         * modules/setenv-tests: New test.
20163         * modules/unsetenv-tests: Likewise.
20164         * tests/test-setenv.c: New file.
20165         * tests/test-unsetenv.c: Likewise.
20166
20167 2009-11-16  Jim Meyering  <meyering@redhat.com>
20168
20169         version-etc: relax license to LGPLv3+
20170         * modules/version-etc (License): Relax license.
20171
20172         better AC_REQUIRE expanded-before-required-warning avoidance
20173         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
20174         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
20175         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
20176         which is no longer needed.
20177
20178 2009-11-16  Eric Blake  <ebb9@byu.net>
20179
20180         test-freading: clean up temporary file
20181         * tests/test-freading.c (main): Remove file on success, and use
20182         ASSERT more liberally.
20183         Reported by Jim Meyering.
20184
20185 2009-11-16  Jim Meyering  <meyering@redhat.com>
20186
20187         avoid new AC_REQUIRE expanded-before-required warnings
20188         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
20189         merely using it.
20190         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
20191         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
20192
20193 2009-11-15  Simon Josefsson  <simon@josefsson.org>
20194
20195         * tests/test-xalloc-die.c: New file.
20196         * modules/xalloc-die-tests: New file.
20197         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
20198         XFAIL_TESTS so it can be appended by modules.
20199
20200 2009-11-15  Simon Josefsson  <simon@josefsson.org>
20201
20202         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
20203         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
20204
20205 2009-11-14  Eric Blake  <ebb9@byu.net>
20206
20207         fnmatch: avoid compiler warning
20208         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
20209         to silence compiler warning about mismatch signedness in ?:.
20210         Reported by Robert Millan.
20211
20212         intprops: add double-inclusion guard
20213         * lib/intprops.h: Allow idempotent includes.
20214         Suggested by Bruce Korb.
20215
20216         openat: detect Solaris fchownat bug
20217         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
20218         penalizing glibc chownat when only lchownat is broken.
20219         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
20220         trailing slash bugs.
20221         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
20222         * modules/openat-tests (Files): Include more files.
20223         (Depends-on): Add mgetgroups, sleep, stat-time.
20224         (configure.ac): Add additional checks.
20225         (Makefile.am): Build new test.
20226         * tests/test-fchownat.c: New file.
20227
20228         lchown: detect Solaris and FreeBSD bug
20229         * lib/lchown.c (rpl_lchown): Work around bug.
20230         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
20231         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
20232         * modules/unistd (Makefile.am): Populate it.
20233         * lib/unistd.in.h (lchown): Update declaration.
20234         * doc/posix-functions/lchown.texi (lchown): Document the bug.
20235         * modules/lchown-tests: New file.
20236         * tests/test-lchown.h (test_lchown): Likewise.
20237         * tests/test-lchown.c (main): Likewise.
20238
20239         chown: detect Solaris and FreeBSD bug
20240         * lib/chown.c (rpl_chown): Work around bug.
20241         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
20242         (gl_PREREQ_CHOWN): Delete.
20243         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
20244         * modules/unistd (Makefile.am): Populate it.
20245         * lib/unistd.in.h (chown): Update declaration.
20246         * lib/lchown.c (chown): Update client.
20247         * modules/lchown (Depends-on): Add lstat.
20248         * doc/posix-functions/chown.texi (chown): Document the bug.
20249         * doc/posix-functions/getgroups.texi (getgroups): Document
20250         getgroups pitfall.
20251         * modules/chown-tests: New file.
20252         * tests/test-chown.h (test_chown): Likewise.
20253         * tests/test-chown.c (main): Likewise.
20254
20255 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
20256
20257         gnulib-tool: correctly detect absence of m4 directories
20258         * gnulib-tool: Avoid extra newline on data passed to wc -l.
20259
20260 2009-11-14  Jim Meyering  <meyering@redhat.com>
20261
20262         maint.mk: Prohibit inclusion of "xalloc.h" without use.
20263         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
20264
20265 2009-11-14  John W. Eaton  <jwe@gnu.org>
20266
20267         strftime.h: wrap funtion declaration in extern "C" block
20268         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
20269
20270 2009-11-13  Eric Blake  <ebb9@byu.net>
20271
20272         getgroups: avoid compiler warning
20273         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
20274
20275         getgroups: work around FreeBSD bug
20276         * lib/getgroups.c (rpl_getgroups): Work around the bug.
20277         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
20278         * doc/posix-functions/getgroups.texi (getgroups): Document it.
20279         * tests/test-getgroups.c (main): Fix buffer overrun.
20280
20281         getgroups: avoid compilation failure
20282         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
20283         * modules/getgroups (Depends-on): Add stdint.
20284
20285 2009-11-13  Jim Meyering  <meyering@redhat.com>
20286
20287         test-getgroups: avoid compilation failure
20288         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
20289
20290 2009-11-13  Eric Blake  <ebb9@byu.net>
20291
20292         mgetgroups: new module, taken from coreutils
20293         * modules/mgetgroups: New file.
20294         * lib/mgetgroups.h: Likewise.
20295         * lib/mgetgroups.c (mgetgroups): Likewise.
20296         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
20297         * MODULES.html.sh (Users and groups): Mention it.
20298
20299         getgroups: don't expose GETGROUPS_T to user
20300         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
20301         an element at a time if GETGROUPS_T is wrong size.
20302         * lib/getugroups.h (getugroups): Change signature.
20303         * lib/unistd.in.h (getgroups): Likewise.
20304         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
20305         signature needs fixing.
20306         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
20307         AC_TYPE_GETGROUPS.
20308         * modules/group-member (Depends-on): Add getgroups.
20309         * lib/group-member.c (group_info, get_group_info): Use gid_t.
20310         (group_member): Rely on getgroups replacement.
20311         * lib/getugroups.c (getugroups): Use gid_t.
20312         * tests/test-getgroups.c (main): Likewise.
20313         * NEWS: Mention the signature change.
20314         * doc/posix-functions/getgroups.texi (getgroups): Mention the
20315         problem with signature.
20316         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
20317         GETGROUPS_T is still useful for setgroups.
20318
20319         getgroups, getugroups: provide stubs for mingw
20320         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
20321         * lib/getugroups.c (getugroups): Likewise.
20322         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
20323         function.  Modernize replacement scheme.
20324         (gl_PREREQ_GETGROUPS): Delete.
20325         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
20326         * modules/getgroups (configure.ac): Declare witness.
20327         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
20328         * modules/unistd (Depends-on): Substitute witness.
20329         * lib/unistd.in.h (getgroups): Declare replacement.
20330
20331         getgroups: avoid calling exit
20332         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
20333         drop xalloc.
20334         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
20335         dependencies.
20336         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
20337         exiting, in the rare case of malloc failure.
20338
20339         getgroups: fix logic error
20340         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
20341         has more than 20 groups.
20342         * modules/getgroups-tests: New test.
20343         * tests/test-getgroups.c: New file.
20344
20345 2009-11-13  Simon Josefsson  <simon@josefsson.org>
20346
20347         * tests/test-base64.c: Improve.
20348
20349 2009-11-13  Simon Josefsson  <simon@josefsson.org>
20350
20351         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
20352         Blake <ebb9@byu.net>.
20353
20354 2009-11-13  Simon Josefsson  <simon@josefsson.org>
20355
20356         * tests/test-xvasprintf.c: Add %s%s related checks.
20357
20358 2009-11-12  Eric Blake  <ebb9@byu.net>
20359
20360         version-etc: match standards.texi style
20361         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
20362         and use <> only for URLs.
20363
20364 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
20365
20366         fts: do not fail on a submount during traversal
20367         * lib/fts.c (fts_build): Read the stat info again after opening
20368         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
20369         Original report at http://bugzilla.redhat.com/501848.
20370
20371 2009-11-12  Jim Meyering  <meyering@redhat.com>
20372
20373         bootstrap: sync from coreutils
20374         * build-aux/bootstrap (bootstrap_epilogue): New function.
20375         Use git_modules_config in one more place.  This make bootstrap's
20376         --gnulib-srcdir option more useful for testing.
20377
20378         bootstrap: generalize autoheader check
20379         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
20380         AC_CONFIG_HEADERS.
20381
20382 2009-11-11  Eric Blake  <ebb9@byu.net>
20383
20384         mkfifoat: use new modules for Solaris and BSD bugs
20385         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
20386         * lib/mkfifoat.c (mknodat): Split...
20387         * lib/mknodat.c (mknodat): ...into new file.
20388         * modules/mkfifoat (Files): Ship new file.
20389         (Depends-on): Add mkfifo, mknod.
20390         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
20391         (Depends-on): Add symlink.
20392         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
20393         redundant with test_mkfifo.h.
20394         (do_mkfifoat, do_mknodat): New helpers.
20395
20396         mknod: new module
20397         * modules/mknod: New file.
20398         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
20399         * lib/mknod.c (mknod): Likewise.
20400         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
20401         defaults.
20402         * modules/sys_stat (Makefile.am): Substitute them.
20403         * lib/sys_stat.in.h (mknod): Declare replacement.
20404         * MODULES.html.sh (Support for systems lacking POSIX:2008):
20405         Document it.
20406         * doc/posix-functions/mknod.texi (mknod): Likewise.
20407         * modules/mknod-tests: New test.
20408         * tests/test-mknod.c: Likewise.
20409
20410         mkfifo: new module
20411         * modules/mkfifo: New file.
20412         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
20413         * lib/mkfifo.c (mkfifo): Likewise.
20414         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
20415         defaults.
20416         * modules/sys_stat (Makefile.am): Substitute them.
20417         * lib/sys_stat.in.h (mkfifo): Declare replacement.
20418         * MODULES.html.sh (Support for systems lacking POSIX:2008):
20419         Document it.
20420         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
20421         * modules/mkfifo-tests: New test.
20422         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
20423         from test-mkfifoat.c.
20424         * tests/test-mkfifo.c: New file.
20425
20426         readlink: detect FreeBSD bug
20427         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
20428         slash on symlink.
20429         * doc/posix-functions/readlink.texi (readlink): Document the bug.
20430         * tests/test-readlink.h (test_readlink): Enhance test.
20431
20432         symlink: detect FreeBSD bug
20433         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
20434         slash on symlink.
20435         * doc/posix-functions/symlink.texi (symlink): Document the bug.
20436         * tests/test-symlink.h (test_symlink): Enhance test.
20437
20438 2009-11-10  Eric Blake  <ebb9@byu.net>
20439
20440         link: detect FreeBSD bug
20441         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
20442         symlink.
20443         * doc/posix-functions/link.texi (link): Document the bug.
20444         * tests/test-link.h (test_link): Enhance test.
20445         * tests/test-linkat.c (main): Update caller.
20446
20447         unlink, remove: detect FreeBSD bug
20448         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
20449         slash on symlink.
20450         * doc/posix-functions/unlink.texi (unlink): Document the bug.
20451         * doc/posix-functions/remove.texi (remove): Likewise.
20452         * tests/test-unlink.h (test_unlink): Enhance test.
20453         * tests/test-remove.c (main): Likewise.
20454
20455 2009-11-09  Eric Blake  <ebb9@byu.net>
20456
20457         rename: detect FreeBSD bug
20458         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
20459         slash on symlink.
20460         * modules/renameat-tests (Depends-on): Add filenamecat.
20461         * tests/test-rename.h (test_rename): Allow one more errno.
20462         * tests/test-renameat.c (main): Likewise.
20463         * doc/posix-functions/rename.texi (rename): Document the bug.
20464
20465         open: detect FreeBSD bug
20466         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
20467         symlink.
20468         * doc/posix-functions/open.texi (open): Document the bug.
20469         * doc/posix-functions/utimes.texi (utimes): Likewise.
20470         * tests/test-open.h (test_open): Add parameters, and test symlink
20471         handling.
20472         * tests/test-open.c (main): Adjust caller.
20473         * tests/test-fcntl-safer.c (main): Likewise.
20474         * modules/open-tests (Depends-on): Add stdbool, symlink.
20475         * modules/fcntl-safer-tests (Depends-on): Likewise.
20476         * tests/test-openat.c (main): Add test-open tests.
20477
20478         stat: detect FreeBSD bug
20479         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
20480         symlink.
20481         * doc/posix-functions/stat.texi (stat): Document the bug.
20482         * tests/test-stat.h (test_stat_func): Add argument.
20483         * tests/test-stat.c (main): Adjust caller.
20484         * tests/test-fstatat.c (main): Likewise.
20485         * modules/stat-tests (Depends-on): Add stdbool, symlink.
20486         Reported by Jim Meyering.
20487
20488 2009-11-09  James Youngman  <jay@gnu.org>
20489
20490         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
20491         * lib/strftime.c: Correct placement of #include "ignore-value.h".
20492
20493 2009-11-08  Jim Meyering  <meyering@redhat.com>
20494
20495         utimens: remove invalid futimesat call
20496         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
20497         It used the file descriptor of the target file as the DIR_FD
20498         parameter and NULL as the file name.  That caused failure with
20499         errno == EFAULT on FreeBSD-8.0-rc2
20500
20501 2009-11-07  Eric Blake  <ebb9@byu.net>
20502
20503         fflush, freadseek: use fseeko, not fseek
20504         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
20505         (clear_ungetc_buffer): Avoid potential problems on large files.
20506         * lib/freadseek.c (freadseek): Likewise.
20507         * modules/freadseek (Depends-on): Add fseeko.
20508         * modules/fseek (configure.ac): Set a witness.
20509         * tests/test-fflush.c (main): Use fseeko.
20510         * tests/test-fpurge.c (fseek): Disable link warning.
20511         * tests/test-freadable.c (fseek): Likewise.
20512         * tests/test-freading.c (fseek): Likewise.
20513         * tests/test-fseeko.c (fseek): Likewise.
20514         * tests/test-ftell.c (fseek): Likewise.
20515         * tests/test-ftello.c (fseek): Likewise.
20516         * tests/test-fwritable.c (fseek): Likewise.
20517         * tests/test-fwriting.c (fseek): Likewise.
20518
20519 2009-11-06  Simon Josefsson  <simon@josefsson.org>
20520
20521         * modules/memchr (Depends-on): Drop getpagesize dependency.
20522
20523 2009-11-06  Simon Josefsson  <simon@josefsson.org>
20524
20525         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
20526         Reported by Ludovic Courtès.
20527         * build-aux/pmccabe2html: Improve example usage.
20528         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
20529
20530 2009-11-06  Jim Meyering  <meyering@redhat.com>
20531
20532         do-release-commit-and-tag: New module.
20533         Automate the release-commit and tag process.
20534         * build-aux/do-release-commit-and-tag: New script, from coreutils.
20535         * modules/do-release-commit-and-tag: New file.
20536         * MODULES.html.sh (Support for maintaining and releasing): Add it.
20537
20538 2009-11-06  Simon Josefsson  <simon@josefsson.org>
20539
20540         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
20541         because test-select.c uses inet_pton.
20542
20543 2009-11-06  Simon Josefsson  <simon@josefsson.org>
20544
20545         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
20546         GETADDRINFO_LIB.  Bump serial number.
20547         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
20548         Suggested by Eric Blake <ebb9@byu.net>.
20549
20550 2009-11-05  Eric Blake  <ebb9@byu.net>
20551
20552         strtod: detect darwin bug
20553         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
20554         Reported by Leo Davis.
20555
20556         freopen-safer: new module
20557         * modules/freopen-safer: New module.
20558         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
20559         * lib/freopen-safer.c (freopen_safer): New file.
20560         * lib/stdio-safer.h (freopen_safer): New declaration.
20561         * lib/stdio--.h (freopen): New override.
20562         * MODULES.html.sh (File stream based Input/Output): Mention it.
20563         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
20564         freopen-safer module.
20565         * doc/posix-functions/stderr.texi (stderr): Likewise.
20566         * doc/posix-functions/stdin.texi (stdin): Likewise.
20567         * doc/posix-functions/stdout.texi (stdout): Likewise.
20568         * modules/freopen-safer-tests: New test.
20569         * tests/test-reopen-safer.c: New file.
20570
20571 2009-11-05  Jim Meyering  <meyering@redhat.com>
20572
20573         maint.mk: Prohibit inclusion of "close-stream.h" without use.
20574         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
20575
20576 2009-11-05  Simon Josefsson  <simon@josefsson.org>
20577
20578         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
20579
20580 2009-11-05  Simon Josefsson  <simon@josefsson.org>
20581
20582         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
20583
20584 2009-11-05  Simon Josefsson  <simon@josefsson.org>
20585
20586         Fix link error.
20587         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
20588         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
20589
20590 2009-11-05  Simon Josefsson  <simon@josefsson.org>
20591
20592         * tests/test-func.c: Also test value of __func__.
20593
20594 2009-11-05  Simon Josefsson  <simon@josefsson.org>
20595
20596         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
20597         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
20598
20599 2009-11-05  Bruno Haible  <bruno@clisp.org>
20600
20601         Fix link error.
20602         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
20603         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
20604         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
20605
20606 2009-11-05  Bruno Haible  <bruno@clisp.org>
20607
20608         Tests for module 'inet_pton'.
20609         * modules/inet_pton-tests: New file.
20610         * tests/test-inet_pton.c: New file.
20611
20612 2009-11-05  Bruno Haible  <bruno@clisp.org>
20613
20614         Tests for module 'inet_ntop'.
20615         * modules/inet_ntop-tests: New file.
20616         * tests/test-inet_ntop.c: New file.
20617
20618 2009-11-04  Eric Blake  <ebb9@byu.net>
20619
20620         stdlib-safer: wrap all mkstemp variants
20621         * modules/mkostemp (configure.ac): Set witness.
20622         * modules/mkostemps (configure.ac): Likewise.
20623         * modules/mkstemps (configure.ac): Likewise.
20624         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
20625         (mkstemps_safer): Wrap more functions.
20626         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
20627         wrapping.
20628         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
20629         (mkstemps_safer): Implement the wrappers.
20630
20631         mkstemps, mkostemps: new modules
20632         * modules/mkostemps: New module.
20633         * modules/mkstemps: Likewise.
20634         * lib/mkostemps.c (mkostemps): New file.
20635         * lib/mkstemps.c (mkstemps): Likewise.
20636         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
20637         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
20638         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
20639         * modules/stdlib (Makefile.am): Substitute them.
20640         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
20641         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
20642         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
20643         * doc/gnulib.texi (Glibc stdlib.h): Include them.
20644         * MODULES.html.sh (File system functions): Mention them.
20645
20646         tempname: resync from glibc
20647         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
20648         same values for __GT_FILE as glibc.  Abort even when assertions
20649         are disabled.
20650         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
20651         match its value otherwise.  Allow idempotent inclusion.
20652         * lib/mkdtemp.c (mkdtemp): Adjust caller.
20653         * lib/mkostemp.c (mkostemp): Likewise.
20654         * lib/mkstemp.c (mkstemp): Likewise.
20655         * lib/tmpfile.c (tmpfile): Likewise.
20656         * NEWS: Document this.
20657
20658         utimens: fix use of futimens on older Linux
20659         * lib/utimens.c (fdutimens): Use updated, rather than original,
20660         timespec to avoid bug in older Linux kernel.
20661         Reported by Simon Josefsson.
20662
20663 2009-11-04  Bruno Haible  <bruno@clisp.org>
20664
20665         Make num_processors more flexible and consistent.
20666         * lib/nproc.h (enum nproc_query): New type.
20667         (num_processors): Add a 'query' argument.
20668         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
20669         (num_processors): Add a 'query' argument. Test the value of the
20670         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
20671         mingw, count the number of CPUs available for the current process.
20672         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
20673         Check for sched_getaffinity and sched_getaffinity_np.
20674         * modules/nproc (Depends-on): Add c-ctype, extensions.
20675         * NEWS: Mention the change.
20676
20677 2009-11-03  Bruno Haible  <bruno@clisp.org>
20678
20679         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
20680
20681 2009-11-03  Jim Meyering  <meyering@redhat.com>
20682
20683         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
20684         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
20685         if it is defined.
20686
20687 2009-11-02  Eric Blake  <ebb9@byu.net>
20688
20689         mktime, timegm: share common declaration
20690         * lib/mktime-internal.h: New file.
20691         * lib/mktime.c: Use it rather than open-coding a declaration.
20692         * lib/timegm.c: Likewise.
20693         * modules/mktime (Files): Ship it.
20694         * modules/timegm (Files): Likewise.
20695         Suggested by Bruno Haible.
20696
20697         test-update-copyright: update test to match script changes
20698         * tests/test-update-copyright.sh: Avoid hard-coding perl
20699         location.  Don't update *.bak created by earlier runs.
20700
20701 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
20702             Simon Josefsson  <simon@josefsson.org>
20703             Bruno Haible  <bruno@clisp.org>
20704
20705         Fix link error on Solaris 8.
20706         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
20707         also in libnsl. Define also INET_PTON_LIB.
20708         * modules/inet_pton (Link): New section.
20709
20710 2009-11-02  Simon Josefsson  <simon@josefsson.org>
20711             Bruno Haible  <bruno@clisp.org>
20712
20713         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
20714         * modules/inet_ntop (Link): New section.
20715         Reported by Boyan Kasarov <bkasarov@gmail.com>.
20716
20717 2009-11-02  Eric Blake  <ebb9@byu.net>
20718
20719         maint: avoid compiler warnings in m4 macros
20720         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
20721         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
20722
20723 2009-11-02  Simon Josefsson  <simon@josefsson.org>
20724
20725         * m4/pmccabe2html.m4: Remove file.
20726         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
20727         function.  Change maintainer.
20728         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
20729         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
20730         Courtès).
20731
20732 2009-10-31  Eric Blake  <ebb9@byu.net>
20733
20734         fseeko: fix m4 regression
20735         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
20736         regression from 2009-10-27.
20737         Reported by Ralf Wildenhues.
20738
20739 2009-10-31  Jim Meyering  <meyering@redhat.com>
20740
20741         inttostr: aesthetics and improved (compile-time) safety
20742         Define inttype_is_signed rather than inttype_is_unsigned,
20743         since the sole use is via "#if inttype_is_signed".
20744         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
20745         inttype_is_unsigned.
20746         * lib/offtostr.c (inttype_is_signed): Likewise.
20747         * lib/uinttostr.c (inttype_is_signed): Likewise.
20748         * lib/umaxtostr.c (inttype_is_signed): Likewise.
20749         * lib/inttostr.c (inttostr): Use verify to cross-check the
20750         inttype_is_signed value and the signedness of the actual type.
20751         * modules/inttostr (Depends-on): Add verify.
20752
20753 2009-10-30  Eric Blake  <ebb9@byu.net>
20754
20755         build: avoid compiler warnings
20756         * lib/fchmodat.c (lchmod): Mark unused variables.
20757         * lib/getopt.c (_getopt_initialize): Likewise.
20758         * lib/mktime.c (__mktime_internal): Provide prototype.
20759         * lib/inttostr.c (inttostr): Avoid compiler warning even with
20760         older gcc that do not understand #pragma GCC diagnostic.
20761         * lib/uinttostr.c (inttype_is_unsigned): Define.
20762         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
20763
20764 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
20765
20766         stat: fix compilation on AIX
20767         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
20768         only see struct stat64.
20769
20770 2009-10-30  Eric Blake  <ebb9@byu.net>
20771
20772         exclude: make more robust
20773         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
20774         rather than masking a coding bug.
20775         Suggested by Bruno Haible.
20776
20777 2009-10-30  Jim Meyering  <meyering@redhat.com>
20778
20779         perl scripts: remove #!/usr/bin/perl in favor of more portable...
20780         Rather than putting #!/usr/bin/perl on the first line,
20781         start with a variant of what's recommended by "man perlrun" that
20782         invokes the first "perl" program from your shell's search path.
20783         * build-aux/gitlog-to-changelog: Replace #!... as above.
20784         Add a "Local Variables" perl mode setting.
20785         Prompted by a patch from Ludovic Courtès.
20786         Improved by Eric Blake.
20787         * build-aux/useless-if-before-free: Likewise.
20788         * build-aux/announce-gen: Likewise.
20789         * build-aux/update-copyright: Likewise.
20790
20791 2009-10-29  Eric Blake  <ebb9@byu.net>
20792
20793         filenamecat-lgpl: adjust clients
20794         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
20795         filenamecat.
20796         * modules/renameat (Depends-on): Likewise.
20797
20798         filenamecat: split into filenamecat-lgpl
20799         * modules/filenamecat-lgpl: New module.
20800         * modules/filenamecat (Files): Move library-safe files into
20801         filenamecat-lgpl.
20802         (Depends-on): Add filenamecat-lgpl.
20803         (configure.ac): Declare witness.
20804         * lib/filenamecat.h (file_name_concat): Only declare when using
20805         GPL module.
20806         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
20807         Move...
20808         * lib/filenamecat-lgpl.c: ...into new file.
20809         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
20810         (gl_FILE_NAME_CONCAT): Use it.
20811         * MODULES.html.sh (File system functions): Mention new module.
20812
20813         argp: avoid memory leak
20814         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
20815         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
20816         base_name, since the latter malloc()s and can call exit().
20817         Leak introduced 2006-07-03.
20818
20819         dirname-lgpl: adjust clients that don't need full dirname
20820         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
20821         * modules/filenamecat (Depends-on): Likewise.
20822         * modules/linkat (Depends-on): Likewise.
20823         * modules/mkancesdirs (Depends-on): Likewise.
20824         * modules/mkdir (Depends-on): Likewise.
20825         * modules/openat (Depends-on): Likewise.
20826         * modules/savewd (Depends-on): Likewise.
20827         * modules/rename (Depends-on): Likewise.
20828         (License): Relax license.
20829         * modules/mkdir-tests (Depends-on): Drop progname.
20830         (Makefile.am): Delete unneeded LDADD.
20831         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
20832
20833         dirname: split into dirname-lgpl
20834         * modules/dirname-lgpl: New module.
20835         * modules/dirname (Files): Move library-safe files into
20836         dirname-lgpl.
20837         (Depends-on): Add dirname-lgpl.
20838         (configure.ac): Declare witness.
20839         * modules/double-slash-root (License): Relax license.
20840         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
20841         module.
20842         * lib/dirname.c (dir_len, mdir_name): Move...
20843         * lib/dirname-lgpl.c: ...into new file.
20844         * lib/basename.c (last_component, base_len): Move...
20845         * lib/basename-lgpl.c: ...into new file.
20846         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
20847         (gl_DIRNAME): Use it.
20848         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
20849         Mention new module.
20850         * modules/dirname-tests (Depends-on): Add progname.
20851         * tests/test-dirname.c (program_name): Delete.
20852
20853         mkdir: make safe for libraries
20854         * modules/mkdir (Depends-on): Drop xalloc.
20855         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
20856         exit.
20857
20858         tests: avoid some compiler warnings
20859         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
20860         literals.
20861         * tests/test-memchr.c (main): Avoid type mismatch.
20862         * tests/test-arpa_inet.c (main): Avoid unused parameters.
20863         * tests/test-base64.c (main): Likewise.
20864         * tests/test-getdelim.c (main): Likewise.
20865         * tests/test-gethostname.c (main): Likewise.
20866         * tests/test-getline.c (main): Likewise.
20867         * tests/test-netinet_in.c (main): Likewise.
20868         * tests/test-select.c (open_server_socket, main): Likewise.
20869         * tests/test-select-stdin.c (main): Likewise.
20870         * tests/test-sockets.c (main): Likewise.
20871         * tests/test-strsignal.c (main): Likewise.
20872         * tests/test-sys_select.c (main): Likewise.
20873         * tests/test-sys_socket.c (main): Likewise.
20874         * tests/test-u64.c (main): Likewise.
20875         * tests/test-xfprintf-posix.c (main): Likewise.
20876         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
20877
20878         sockets: avoid compiler warning
20879         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
20880
20881         maint: detect usage(1) and other suspicious exits
20882         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
20883
20884 2009-10-29  Jim Meyering  <meyering@redhat.com>
20885
20886         timespec: long-to-int truncation could make timespec_cmp malfunction
20887         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
20888         a multiple of 2^32 nanoseconds as no difference.
20889
20890 2009-10-28  Jim Meyering  <meyering@redhat.com>
20891
20892         fprintftime: wrap macro code argument in "do {...} while(0)"
20893         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
20894         cpy macro must be a statement that can be followed by a semicolon.
20895         Now that the else clause contains a comment and is hence longer
20896         than one line, I require curly braces.  That in turn requires
20897         that we wrap this code block in the standard do...while(0).
20898
20899         fprintftime: remove stray semicolon from previous change
20900         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
20901
20902         fprintftime: avoid a warning about ignored fwrite return value
20903         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
20904         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
20905         that is unsafe.
20906         * modules/fprintftime (Depends-on): Add ignore-value.
20907
20908         exclude: avoid an unwarranted warning
20909         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
20910
20911 2009-10-27  Eric Blake  <ebb9@byu.net>
20912
20913         fseek: avoid compilation failure when fflush is replaced
20914         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
20915         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
20916         module is in use.
20917         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
20918         module is not in use; since REPLACE_FSEEK worked otherwise.
20919         (GNULIB_FTELLO): Likewise for ftell.
20920         Reported by Ian Beckwith and others.
20921
20922 2009-10-27  Bruno Haible  <bruno@clisp.org>
20923
20924         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
20925         Reported by Jim Meyering.
20926
20927 2009-10-27  Jim Meyering  <jim@meyering.net>
20928             Bruno Haible  <bruno@clisp.org>
20929
20930         Avoid warning despite dropping the return value of fwrite.
20931         * lib/unicodeio.c: Include ignore-value.h.
20932         (fwrite_success_callback): Explicitly ignore fwrite's return value.
20933         * modules/unicodeio (Depends-on): Add ignore-value.
20934
20935 2009-10-26  Eric Blake  <ebb9@byu.net>
20936
20937         areadlinkat: fix fallback path
20938         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
20939         pointer and zero.
20940
20941 2009-10-22  Pádraig Brady  <P@draigBrady.com>
20942
20943         Use a better IO block size for modern systems
20944         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
20945         * lib/md2.c: Likewise.
20946         * lib/md4.c: Likewise.
20947         * lib/md5.c: Likewise.
20948         * lib/sha1.c: Likewise.
20949         * lib/sha256.c: Likewise.
20950         * lib/sha512.c: Likewise.
20951
20952 2009-10-22  Eric Blake  <ebb9@byu.net>
20953
20954         tests: avoid several compiler warnings
20955         * tests/test-getcwd.c (main): Avoid buffer underflow.
20956         * tests/test-getdate.c (main): String literals are not safe with
20957         putenv, so use setenv.  Declare unused argument.
20958         * modules/getdate-tests (Depends-on): Add setenv.
20959         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
20960         problems with string literals in char *.
20961         * tests/test-hash.c (main): Avoid shadowing declaration.
20962         (insert_new): Treat string literals as char const *.
20963         * tests/test-getopt.h (test_getopt): Likewise.
20964         (getopt_loop): Alter types to minimize casting elsewhere.
20965         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
20966         (test_getopt_long_posix): Likewise.
20967         (do_getopt_long): Add wrapper to minimize casting.
20968         * tests/test-atexit.c (clear_temp_file): Use void.
20969         * tests/test-areadlink-with-size.c (main): Declare unused
20970         arguments.
20971         * tests/test-areadlink.c (main): Likewise.
20972         * tests/test-areadlinkat-with-size.c (main): Likewise.
20973         * tests/test-areadlinkat.c (main): Likewise.
20974         * tests/test-canonicalize-lgpl.c (main): Likewise.
20975         * tests/test-canonicalize.c (main): Likewise.
20976         * tests/test-dirent-safer.c (main): Likewise.
20977         * tests/test-dirname.c (main): Likewise.
20978         * tests/test-dup2.c (main): Likewise.
20979         * tests/test-fchdir.c (main): Likewise.
20980         * tests/test-fcntl-h.c (main): Likewise.
20981         * tests/test-fcntl-safer.c (main): Likewise.
20982         * tests/test-fdopendir.c (main): Likewise.
20983         * tests/test-fdutimensat.c (main): Likewise.
20984         * tests/test-fflush.c (main): Likewise.
20985         * tests/test-filenamecat.c (main): Likewise.
20986         * tests/test-filevercmp.c (main): Likewise.
20987         * tests/test-fopen-safer.c (main): Likewise.
20988         * tests/test-fopen.c (main): Likewise.
20989         * tests/test-fpending.c (main): Likewise.
20990         * tests/test-fpurge.c (main): Likewise.
20991         * tests/test-freading.c (main): Likewise.
20992         * tests/test-fstatat.c (main): Likewise.
20993         * tests/test-fsync.c (main): Likewise.
20994         * tests/test-futimens.c (main): Likewise.
20995         * tests/test-getndelim2.c (main): Likewise.
20996         * tests/test-gettimeofday.c (main): Likewise.
20997         * tests/test-getopt.c (main): Likewise.
20998         * tests/test-i-ring.c (main): Likewise.
20999         * tests/test-inttypes.c (main): Likewise.
21000         * tests/test-link.c (main): Likewise.
21001         * tests/test-lstat.c (main): Likewise.
21002         * tests/test-math.c (main): Likewise.
21003         * tests/test-md5.c (main): Likewise.
21004         * tests/test-memchr2.c (main): Likewise.
21005         * tests/test-memrchr.c (main): Likewise.
21006         * tests/test-mkdir.c (main): Likewise.
21007         * tests/test-mkdirat.c (main): Likewise.
21008         * tests/test-mkfifoat.c (main): Likewise.
21009         * tests/test-open.c (main): Likewise.
21010         * tests/test-openat-safer.c (main): Likewise.
21011         * tests/test-openat.c (main): Likewise.
21012         * tests/test-quotearg.c (main): Likewise.
21013         * tests/test-rawmemchr.c (main): Likewise.
21014         * tests/test-readlink.c (main): Likewise.
21015         * tests/test-remove.c (main): Likewise.
21016         * tests/test-rename.c (main): Likewise.
21017         * tests/test-renameat.c (main): Likewise.
21018         * tests/test-rmdir.c (main): Likewise.
21019         * tests/test-sha1.c (main): Likewise.
21020         * tests/test-signal.c (main): Likewise.
21021         * tests/test-sigaction.c (main): Likewise.
21022         * tests/test-stat.c (main): Likewise.
21023         * tests/test-stat-time.c (main): Likewise.
21024         * tests/test-stddef.c (main): Likewise.
21025         * tests/test-stdint.c (main): Likewise.
21026         * tests/test-stdio.c (main): Likewise.
21027         * tests/test-stdlib.c (main): Likewise.
21028         * tests/test-strchrnul.c (main): Likewise.
21029         * tests/test-strerror.c (main): Likewise.
21030         * tests/test-string.c (main): Likewise.
21031         * tests/test-strtod.c (main): Likewise.
21032         * tests/test-strverscmp.c (main): Likewise.
21033         * tests/test-symlink.c (main): Likewise.
21034         * tests/test-symlinkat.c (main): Likewise.
21035         * tests/test-sys_stat.c (main): Likewise.
21036         * tests/test-sys_time.c (main): Likewise.
21037         * tests/test-time.c (main): Likewise.
21038         * tests/test-unistd.c (main): Likewise.
21039         * tests/test-unlink.c (main): Likewise.
21040         * tests/test-unlinkat.c (main): Likewise.
21041         * tests/test-utimens.c (main): Likewise.
21042         * tests/test-utimensat.c (main): Likewise.
21043         * tests/test-version-etc.c (main): Likewise.
21044         * tests/test-wchar.c (main): Likewise.
21045         * tests/test-wctype.c (main): Likewise.
21046         * tests/test-xprintf-posix.c (main): Likewise.
21047         * tests/test-posixtm.c (main): Likewise.
21048         (STREQ): Delete unused macro.
21049         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
21050         shadowed variables.
21051         * tests/test-memchr.c (main): Likewise.
21052
21053 2009-10-21  Eric Blake  <ebb9@byu.net>
21054
21055         areadlinkat: avoid failure on older glibc
21056         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
21057         rather than mis-comparing 0 against FUNC_RESULT of char*.
21058
21059 2009-10-21  Bruno Haible  <bruno@clisp.org>
21060
21061         * modules/stpncpy (License): Relicense under LGPLv2+.
21062         Reported by David Lutterkort <lutter@redhat.com>.
21063
21064 2009-10-20  Eric Blake  <ebb9@byu.net>
21065
21066         utimensat: work around Solaris 9 bug
21067         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
21068         has trailing slash bugs.
21069         * tests/test-lutimens.h (test_lutimens): Enhance test.
21070         * tests/test-utimens.h (test_utimens): Likewise.
21071         * doc/posix-functions/utime.texi (utime): Enhance documentation.
21072         * doc/posix-functions/utimes.texi (utimes): Likewise.
21073         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
21074         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
21075         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
21076         * doc/posix-functions/futimens.texi (futimens): Likewise.
21077
21078         fdutimensat: new module
21079         * modules/fdutimensat: New file.
21080         * lib/fdutimensat.c (fdutimensat): Likewise.
21081         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
21082         * MODULES.html.sh (File system functions): Mention module.
21083         * modules/fdutimensat-tests: New test.
21084         * tests/test-fdutimensat.c: Likewise.
21085
21086         doc: regenerate INSTALL
21087         * doc/INSTALL: Reflect recent autoconf update.
21088         * doc/INSTALL.ISO: Likewise.
21089         * doc/INSTALL.UTF-8: Likewise.
21090
21091 2009-10-20  Pádraig Brady  <P@draigBrady.com>
21092
21093         acl: warn if ACL support is not detected
21094         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
21095
21096 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
21097
21098         * lib/nproc.h: Add extern "C" block for C++.
21099
21100 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
21101             Bruno Haible  <bruno@clisp.org>
21102
21103         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
21104         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
21105         * doc/posix-functions/isalpha.texi: Likewise.
21106         * doc/posix-functions/isblank.texi: Likewise.
21107         * doc/posix-functions/iscntrl.texi: Likewise.
21108         * doc/posix-functions/isdigit.texi: Likewise.
21109         * doc/posix-functions/isgraph.texi: Likewise.
21110         * doc/posix-functions/islower.texi: Likewise.
21111         * doc/posix-functions/isprint.texi: Likewise.
21112         * doc/posix-functions/ispunct.texi: Likewise.
21113         * doc/posix-functions/isspace.texi: Likewise.
21114         * doc/posix-functions/isupper.texi: Likewise.
21115         * doc/posix-functions/isxdigit.texi: Likewise.
21116
21117 2009-10-18  Bruno Haible  <bruno@clisp.org>
21118
21119         Tests for module 'isblank'.
21120         * modules/isblank-tests: New file.
21121         * tests/test-isblank.c: New file.
21122
21123         New module 'isblank'.
21124         * lib/isblank.c: New file.
21125         * m4/isblank.m4: New file.
21126         * modules/isblank: New file.
21127         * doc/posix-functions/isblank.texi: Mention the new module.
21128
21129 2009-10-18  Bruno Haible  <bruno@clisp.org>
21130
21131         New module 'ctype'.
21132         * lib/ctype.in.h: New file.
21133         * m4/ctype.m4: New file.
21134         * modules/ctype: New file.
21135         * doc/posix-headers/ctype.texi: Mention the new module.
21136
21137 2009-10-18  Jim Meyering  <meyering@redhat.com>
21138
21139         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
21140         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
21141         right after its initialization, rather than farther down.
21142         Keeping these in close proximity makes it easier to ensure
21143         that each such variable is initialized.  E.g.,
21144
21145             LIB_CLOCK_GETTIME=
21146             AC_SUBST([LIB_CLOCK_GETTIME])
21147
21148         This change also increments these serial numbers.
21149         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
21150         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
21151         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21152
21153 2009-10-18  Bruno Haible  <bruno@clisp.org>
21154
21155         Don't let environment variables perturb build.
21156         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
21157         (gl_PREREQ_GETHRXTIME): ... not here.
21158
21159 2009-10-18  Bruno Haible  <bruno@clisp.org>
21160
21161         Avoid symlink attack in localcharset module.
21162         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
21163         (O_NOFOLLOW): Define fallback.
21164         (get_charset_aliases): Don't open the file if it is a symbolic link.
21165         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
21166         gl_FCNTL_H.
21167         (gl_FCNTL_H): Require it.
21168         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
21169         * modules/localcharset (Files): Add m4/fcntl_h.m4.
21170         Reported by Fergal Glynn <fglynn@veracode.com>.
21171
21172 2009-10-18  Bruno Haible  <bruno@clisp.org>
21173
21174         Implement nproc for mingw.
21175         * lib/nproc.c: Include <windows.h>
21176         (num_processors): On native Windows platforms, try GetSystemInfo.
21177
21178 2009-10-18  Bruno Haible  <bruno@clisp.org>
21179
21180         Implement nproc for IRIX.
21181         * lib/nproc.c: Include <sys/sysmp.h>.
21182         (num_processors): On IRIX systems, try sysmp.
21183         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
21184
21185 2009-10-18  Bruno Haible  <bruno@clisp.org>
21186
21187         Implement nproc for HP-UX.
21188         * lib/nproc.c: Include <sys/pstat.h>
21189         (num_processors): On HP-UX systems, try pstat_getdynamic.
21190         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
21191         pstat_getdynamic.
21192
21193 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
21194             Bruno Haible  <bruno@clisp.org>
21195
21196         Implement nproc for NetBSD, OpenBSD.
21197         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
21198         (ARRAY_SIZE): New macro.
21199         (num_processors): On BSD systems, try sysctl of HW_NCPU.
21200         * m4/nproc.m4: New file.
21201         * modules/nproc (Files): Add m4/nproc.m4.
21202         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
21203         (Makefile.am): Instead, augment lib_SOURCES.
21204
21205 2009-10-18  Bruno Haible  <bruno@clisp.org>
21206
21207         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
21208         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
21209         sys/param.h.
21210
21211 2009-10-16  Eric Blake  <ebb9@byu.net>
21212
21213         utimensat: new module
21214         * modules/utimensat: New file.
21215         * lib/utimensat.c (utimensat): Likewise.
21216         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
21217         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
21218         so we can work around Linux bugs.
21219         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
21220         * modules/sys_stat (Makefile.am): Substitute them.
21221         * lib/sys_stat.in.h (utimensat): Declare it.
21222         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
21223         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
21224         * modules/utimensat-tests: New test.
21225         * tests/test-utimensat.c: Likewise.
21226
21227         utimens: let lutimens work on non-symlinks
21228         * lib/utimens.c (lutimens): Fall back to utimens rather than
21229         failing with ENOSYS, when file is not a symlink.
21230         (utimens): Reduce redirection.
21231         * tests/test-lutimens.h (test_lutimens): Update test to cover
21232         non-symlinks.
21233         * tests/test-utimens.h (test_utimens): Update test to cover
21234         symlinks.
21235         * tests/test-utimens.c (main): Update caller.
21236
21237         utimens: cache whether utimensat syscall works
21238         * lib/utimens.c (utimensat_works_really): New cache variable.
21239         (fdutimens, lutimens): Use it to avoid failing syscall.
21240
21241         test-stat-time, test-utimens: improve portability
21242         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
21243         ext4 on alpha, and for cygwin.
21244         * tests/test-utimens-common.h: New file.
21245         (nap): Factor delays into single function.
21246         * tests/test-lutimens.h (test_lutimens): Use new header.
21247         * tests/test-futimens.h (test_futimens): Likewise.
21248         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
21249         timestamps to occur from same machine, as was done previously for
21250         test_utimens.
21251         * modules/utimens-tests (Files): Ship new file.
21252         * modules/futimens-tests (Files): Likewise.
21253         Reported in part by Jim Meyering.
21254
21255         sys_stat: sort replacement declarations
21256         * lib/sys_stat.in.h: Sort declarations.
21257         * lib/futimens.c (futimens): Fix typo.
21258
21259 2009-10-15  Jim Meyering  <meyering@redhat.com>
21260
21261         don't let environment settings perturb build
21262         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
21263         could cause a configure-time and/or build-time malfunction.
21264         Typically, a configure-time function-in-library test is performed
21265         via code like this:
21266
21267           LIB_VAR=
21268           AC_SUBST([LIB_VAR])
21269           prefix_saved_LIBS=$LIBS
21270             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
21271                        [test "$ac_cv_search_FUNC" = "none required" ||
21272                         LIB_VAR=$ac_cv_search_FUNC])
21273           LIBS=$prefix_saved_LIBS
21274
21275         However, in each of the files affected by this change, the LIB_VAR=
21276         initialization was omitted.  Thus, when set in the environment, its
21277         value would propagate into generated Makefiles when FUNC is not found
21278         in LIB_NAME.
21279         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
21280         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
21281         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21282
21283 2009-10-14  Eric Blake  <ebb9@byu.net>
21284
21285         fchdir: avoid infinite recursion in mingw
21286         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
21287         recursing.
21288
21289         test-stat-time: port to mingw
21290         * tests/test-stat-time.c (force_unlink): Return a value.
21291         (test_ctime) [W32]: Fix compilation error.
21292         (nap): Don't call usleep with too large an argument.  Use
21293         force_unlink.
21294         * doc/pastposix-functions/usleep.texi (usleep): Document the
21295         portability issue.
21296
21297 2009-10-13  Jim Meyering  <meyering@redhat.com>
21298
21299         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
21300         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
21301         * modules/pipe-filter-ii: Likewise.
21302         * modules/sys_socket-tests: Likewise.
21303         * modules/tsearch-tests: Likewise.
21304         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
21305         (check): Depend on it.
21306
21307 2009-10-12  Eric Blake  <ebb9@byu.net>
21308
21309         utimens-tests: port to NFS file systems
21310         * tests/test-utimens.h (test_utimens): Refactor utimecmp
21311         comparisons to avoid spurious failures from timestamp drift
21312         between NFS machines.
21313
21314 2009-10-12  Eric Blake  <ebb9@byu.net>
21315
21316         stat-time-tests: minor cleanups
21317         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
21318         * tests/test-stat-time.c (nap): Separate assignment from call.
21319         Suggested by Paolo Bonzini and Bruno Haible.
21320
21321         sys_stat: guarantee struct timespec
21322         * lib/sys_stat.in.h (includes): Always include <time.h>
21323         * modules/sys_stat (Depends-on): Add time.
21324         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
21325         mode_t permission values.
21326         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
21327         get at subsecond timestamps.
21328
21329 2009-10-10  Eric Blake  <ebb9@byu.net>
21330
21331         futimens: new module
21332         * modules/futimens: New file.
21333         * lib/futimens.c (futimens): Likewise.
21334         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
21335         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
21336         we can work around Linux bugs.
21337         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
21338         * modules/sys_stat (Makefile.am): Substitute them.
21339         * lib/sys_stat.in.h (futimens): Declare it.
21340         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
21341         * doc/posix-functions/futimens.texi (futimens): Likewise.
21342         * modules/futimens-tests: New test.
21343         * tests/test-futimens.c: Likewise.
21344
21345         utimens: introduce fdutimens
21346         * lib/utimens.h (fdutimens): New prototype.
21347         * lib/utimens.c (gl_futimens): Move guts...
21348         (fdutimens): ...to new interface.
21349         * tests/test-utimens.c (do_fdutimens): Use it.
21350
21351         utimens: add UTIME_NOW and UTIME_OMIT support
21352         * lib/utimens.c (validate_timespec, update_timespec): New helper
21353         functions.
21354         (gl_futimens, lutimens): Use them.
21355         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
21356         stdbool, sys_stat.
21357         (Link): Mention resulting library dependency.
21358         * modules/utimecmp (Link): Likewise.
21359         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
21360         (Makefile.am): Pick up library dependency.
21361         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
21362         definition.
21363         * tests/test-sys_stat.c: Test the definitions.
21364         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
21365         * NEWS: Document library dependency.
21366
21367         utimecmp: support symlink timestamps
21368         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
21369         hashing when possible.  Use pathconf when available.
21370         (SYSCALL_RESOLUTION): Recognize tighter resolution.
21371         * modules/utimecmp (Depends-on): Add lstat.
21372
21373         utimens: add lutimens interface
21374         * lib/utimens.c (lutimens): New function.
21375         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
21376         * lib/utimens.h (lutimens): Declare new interface.
21377         * tests/test-utimens.c (main): Enhance test.
21378         * tests/test-lutimens.h (test_lutimens): New file.
21379         * modules/utimens-tests (Files): Distribute it.
21380         (Depends-on): Add symlink.
21381         (configure.ac): Check for usleep.
21382
21383         utimens: validate futimens usage
21384         * lib/utimens.c (gl_futimens): Require valid fd up front, using
21385         fewer syscalls on failure later on.  Avoid compiler warning on
21386         mingw.
21387         * modules/utimens (Depends-on): Add dup2.
21388
21389         utimens: add test
21390         * modules/utimens-tests: New test.
21391         * tests/test-utimens.h: New file.
21392         * tests/test-futimens.h: Likewise.
21393         * tests/test-utimens.c: Likewise.
21394
21395         doc: mention timestamp portability issues
21396         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
21397         instead.
21398         * doc/posix-functions/utime.texi (utime): Likewise.
21399         * doc/posix-functions/utimes.texi (utimes): Likewise.
21400         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
21401         instead.
21402         * doc/posix-functions/futimens.texi (futimens): Mention utimens
21403         module.
21404         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
21405         Mention weakness with symlink timestamps.
21406         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
21407         to utimensat/futimens instead.
21408         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
21409
21410         test-dup2: enhance test
21411         * tests/test-dup2.c (main): Also check AT_FDCWD.
21412
21413         test-stat-time: avoid more spurious failures
21414         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
21415         xfs; and avoid race if the two timestamps cross quantization edge.
21416
21417         relocatable: prefer 'file system' over 'filesystem'
21418         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
21419         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
21420         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
21421         * doc/relocatable.texi (Enabling Relocatability): Likewise.
21422         * lib/relocatable.c (compute_curr_prefix): Likewise.
21423
21424 2009-10-10  Jim Meyering  <meyering@redhat.com>
21425
21426         stat-time-tests: check for the usleep function
21427         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
21428
21429 2009-10-10  Bruno Haible  <bruno@clisp.org>
21430
21431         * modules/xnanosleep: Put the Link section after the Include section.
21432
21433 2009-10-09  Eric Blake  <ebb9@byu.net>
21434
21435         dup2: work around FreeBSD 6.1 bug
21436         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
21437         * doc/posix-functions/dup2.texi (dup2): Document it.
21438         Reported by Nelson H. F. Beebe and Jim Meyering.
21439
21440         test-stat-time: port to buggy NFS clients
21441         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
21442         (test_ctime): Also skip test if mtime and ctime are skewed.
21443
21444         maint: prefer 'file system' over 'filesystem'
21445         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
21446         * doc/posix-functions/lstat.texi (lstat): Likewise.
21447         * lib/file-has-acl.c (file_has_acl): Likewise.
21448         * lib/fwriteerror.c [TEST]: Likewise.
21449         * tests/test-areadlink.h (test_areadlink): Likewise.
21450         * tests/test-areadlinkat-with-size.c (main): Likewise.
21451         * tests/test-areadlinkat.c (main): Likewise.
21452         * tests/test-canonicalize-lgpl.c (main): Likewise.
21453         * tests/test-canonicalize.c (main): Likewise.
21454         * tests/test-fstatat.c (main): Likewise.
21455         * tests/test-linkat.c (main): Likewise.
21456         * tests/test-lstat.h (test_lstat_func): Likewise.
21457         * tests/test-mkdir.h (test_mkdir): Likewise.
21458         * tests/test-readlink.h (test_readlink): Likewise.
21459         * tests/test-remove.c (main): Likewise.
21460         * tests/test-rename.h (test_rename): Likewise.
21461         * tests/test-renameat.c (main): Likewise.
21462         * tests/test-rmdir.h (test_rmdir_func): Likewise.
21463         * tests/test-symlink.h (test_symlink): Likewise.
21464         * tests/test-symlinkat.c (main): Likewise.
21465         * tests/test-unlink.h (test_unlink_func): Likewise.
21466         * tests/test-unlinkat.c (main): Likewise.
21467
21468         maint: make realtime library usage explicit
21469         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
21470         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
21471         * modules/settime (Link): Likewise.
21472         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
21473
21474         test-stat-time: speed up execution
21475         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
21476         warning on mingw.
21477         (nap): New helper function.
21478         (prepare_test): Use it to reduce sleep time.
21479         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
21480         execution.
21481         * modules/stat-time-tests (configure.ac): Check for usleep.
21482
21483 2009-10-09  Jim Meyering  <meyering@redhat.com>
21484
21485         selinux-h: always use getfilecon wrappers
21486         * lib/getfilecon.c: New file.
21487         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
21488         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
21489         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
21490         (fgetfilecon): Provide a stub.
21491         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
21492         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
21493         file unconditionally.
21494         When <selinux/selinux.h> is found, arrange to use wrappers.
21495         * modules/selinux-h (Files): Add getfilecon.c.
21496         (Makefile.am): Substitute include-next-related bits
21497         into the now-always-generated selinux/selinux.h file.
21498         * doc/glibc-functions/lgetfilecon.texi: New file.
21499         * doc/glibc-functions/fgetfilecon.texi: New file.
21500         * doc/glibc-functions/getfilecon.texi: New file.
21501         * doc/glibc-functions/getfilecon-desc.texi: New file.
21502         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
21503         which to pull in the new files.
21504         * MODULES.html.sh (Misc): Add selinux-h.
21505
21506 2009-10-08  Jim Meyering  <meyering@redhat.com>
21507
21508         unistd: fix comment typo
21509         * lib/unistd.in.h (euidaccess): Fix a comment typo.
21510
21511 2009-10-08  Eric Blake  <ebb9@byu.net>
21512
21513         areadlink: use SIZE_MAX consistently
21514         * modules/areadlink (Depends-on): Add stdint.
21515         * modules/areadlink-with-size (Depends-on): Likewise.
21516         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
21517         gives NULL; drop sys/types, since unistd gives size_t; and add
21518         stdint for SIZE_MAX.
21519         (SIZE_MAX): Rely on headers.
21520         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
21521         and add stdint.
21522         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
21523         (SIZE_MAX): Likewise.
21524         (INITIAL_BUF_SIZE): Turn into enum.
21525         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
21526
21527 2009-10-08  Jim Meyering  <meyering@redhat.com>
21528
21529         areadlinkat: avoid compilation failure
21530         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
21531         Fix typo in comment.
21532
21533 2009-10-07  Eric Blake  <ebb9@byu.net>
21534
21535         areadlinkat-with-size: new module
21536         * modules/areadlinkat-with-size: New module.
21537         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
21538         * lib/areadlink.h (areadlinkat): Declare it.
21539         * MODULES.html.sh (File system functions): Mention it.
21540         * modules/areadlinkat-with-size-tests: New test.
21541         * tests/test-areadlinkat-with-size.c: New file.
21542
21543         xreadlinkat: new module
21544         * modules/xreadlinkat: New module.
21545         * lib/xreadlinkat.c (xreadlinkat): New file.
21546         * lib/xreadlink.h (xreadlinkat): Declare it.
21547         * MODULES.html.sh (File system functions): Mention it.
21548
21549         areadlinkat: new module
21550         * lib/at-func.c (FUNC_FAIL): New define.
21551         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
21552         * modules/areadlinkat: New module.
21553         * lib/linkat.c (areadlinkat): Move...
21554         * lib/areadlinkat.c (areadlinkat): ...to new file.
21555         * lib/areadlink.h (areadlinkat): Declare it.
21556         * modules/linkat (Depends-on): Add areadlinkat.
21557         * MODULES.html.sh (File system functions): Mention it.
21558         * modules/areadlinkat-tests: New test.
21559         * tests/test-areadlinkat.c: New file.
21560
21561         areadlink, areadlink-with-size: add tests
21562         * modules/areadlink-tests: New test.
21563         * modules/areadlink-with-size-tests: Likewise.
21564         * tests/test-areadlink.h: New file.
21565         * tests/test-areadlink.c: Likewise.
21566         * tests/test-areadlink-with-size.c: Likewise.
21567
21568         maint: minor cleanups
21569         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
21570         _UNUSED_PARAMETER_ instead.
21571         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
21572         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
21573         * modules/linkat-tests (Files): Distribute test-link.h.
21574
21575         openat, utimens: whitespace cleanup
21576         * lib/openat.c: Prefer space throughout, rather than mix of 8
21577         spaces vs. tabs.
21578         * lib/at-func.c: Likewise.
21579         * lib/utimens.c: Likewise.
21580
21581         openat: avoid using wrong fd
21582         * lib/openat.c (openat_permissive): Reject user's fd if saving the
21583         working directory chooses same fd.
21584         * lib/at-func.c (AT_FUNC_NAME): Likewise.
21585
21586         mkdir, mkdirat: fix cygwin 1.5.x bug
21587         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
21588         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
21589         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
21590         bug.
21591         (gl_PREREQ_MKDIR): Delete unused macro.
21592         * modules/mkdir (Files): Track file rename.
21593         (configure.ac): Update macro name.
21594         * modules/openat (Depends-on): Add mkdir.
21595         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
21596
21597         mkdir, mkdirat: add tests
21598         * modules/mkdir-tests: New test.
21599         * tests/test-mkdir.h: New file.
21600         * tests/test-mkdir.c: Likewise.
21601         * tests/test-mkdirat.c: Likewise.
21602         * modules/openat-tests (Files): Add new files.
21603         (Makefile.am): Run new test.
21604
21605 2009-10-06  Eric Blake  <ebb9@byu.net>
21606
21607         doc: tweak *at function documentation
21608         * doc/posix-functions/faccessat.texi (faccessat): Mention
21609         known issue with replacement.
21610         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
21611         * doc/posix-functions/linkat.texi (linkat): Likewise.
21612         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
21613         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
21614         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
21615         * doc/posix-functions/renameat.texi (renameat): Likewise.
21616         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
21617
21618         openat: fix GNU/Hurd bug in unlinkat
21619         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
21620         broken.
21621         * doc/posix-functions/unlink.texi (unlink): Document this.
21622         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
21623
21624         fdopendir: fix GNU/Hurd bug
21625         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
21626         allowing non-directory fds.
21627         * lib/fdopendir.c (rpl_fdopendir): Work around it.
21628         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
21629         * modules/dirent (Makefile.am): Substitute it.
21630         * lib/dirent.in.h (fdopendir): Declare replacement.
21631         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
21632         * tests/test-fdopendir.c (main): Test something other than
21633         /dev/null, since on Hurd that behaves like a directory.
21634
21635         test-symlink: port to GNU/Hurd
21636         * tests/test-symlink.h (test_symlink): Relax expected errno.
21637
21638         doc: tweak more cygwin information
21639         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
21640         now compatible with glibc.
21641         * doc/posix-functions/getopt.texi (getopt): Likewise.
21642
21643         getopt-gnu: add another test
21644         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
21645         guarantee behavior relied on by m4.
21646         * tests/test-getopt.c (main): Use it.
21647         * modules/getopt-posix-tests (Depends-on): Add setenv.
21648         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
21649
21650         getopt: fix compilation on darwin
21651         * lib/getopt.in.h (includes): Leave breadcrumbs during system
21652         include.
21653         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
21654         Reported by Ludovic Courtès.
21655
21656 2009-10-06  Bruno Haible  <bruno@clisp.org>
21657
21658         * modules/size_max (Description): Discourage its use.
21659         Reported by Simon Josefsson.
21660
21661 2009-10-06  Jim Meyering  <meyering@redhat.com>
21662
21663         linkat: avoid compilation failure
21664         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
21665
21666 2009-10-05  Eric Blake  <ebb9@byu.net>
21667
21668         linkat: support Linux 2.6.17
21669         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
21670         linkat on Linux, but allow cache variable override.
21671         * lib/linkat.c (rpl_linkat): Define override.
21672         * modules/linkat (Depends-on): Add symlinkat.
21673         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
21674         * modules/unistd (Makefile.am): Substitute it.
21675         * lib/unistd.in.h (linkat): Declare replacement.
21676         Reported by Pádraig Brady.
21677
21678         quotearg: port test to systems with C.UTF-8 locale
21679         * tests/test-quotearg.c (struct result_strings): Add another
21680         member, differentiating between C.ASCII and C.UTF-8 handling.
21681         (compare_strings): Add parameter.
21682         (main): Adjust all callers.
21683
21684         getopt: avoid clash with FreeBSD _getopt_internal
21685         * lib/getopt.in.h (_getopt_internal): Override the name.
21686         * lib/getopt_int.h (includes): Pick up any overrides.
21687         Reported by Reuben Thomas.
21688
21689         hash: allow C89 compilation
21690         * lib/hash.c (check_tuning): Move declaration before statement.
21691         Reported by Reuben Thomas.
21692
21693 2009-10-05  Karl Berry  <karl@gnu.org>
21694
21695         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
21696
21697 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
21698             Bruno Haible  <bruno@clisp.org>
21699
21700         * lib/uname.c (uname): Use a table-driven algorithm to compute
21701         Windows NT versions.
21702
21703 2009-10-04  Bruno Haible  <bruno@clisp.org>
21704
21705         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
21706         program_invocation_short_name.
21707         * modules/progname (configure.ac): Test for presence of
21708         program_invocation_short_name.
21709         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
21710
21711 2009-10-04  Bruno Haible  <bruno@clisp.org>
21712
21713         * lib/progname.c (set_program_name): Fix comment.
21714         Reported by Jim Meyering.
21715
21716 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
21717             Bruno Haible  <bruno@clisp.org>
21718
21719         * lib/uname.c: Include <string.h>.
21720         (uname): Do only one call to GetVersionEx in the common case.
21721
21722 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
21723             Bruno Haible  <bruno@clisp.org>
21724
21725         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
21726         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
21727         (uname): Add support for Windows CE and various non-x86 CPU types.
21728
21729 2009-10-03  Bruno Haible  <bruno@clisp.org>
21730
21731         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
21732         invocation to tests/configure.ac.
21733         Reported by Ian Beckwith <ianb@erislabs.net>.
21734
21735 2009-10-02  Eric Blake  <ebb9@byu.net>
21736
21737         fchdir: avoid compiler warning
21738         * lib/fchdir.c (canonicalize_file_name)
21739         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
21740
21741         test-open: support mingw errno values
21742         * tests/test-open.h (test_open): Relax test.
21743         * tests/test-fopen.h (test_fopen): Likewise.
21744         * tests/test-openat-safer.c (main): Likewise.
21745
21746         open: fix opening directory on mingw
21747         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
21748
21749         test-open: on GNU/Hurd, /dev/null is a directory
21750         * tests/test-fopen.h (main): Rename...
21751         (test_fopen): ...to this.  Use a guaranteed non-directory when
21752         confirming open behavior on trailing slash.
21753         * tests/test-openat-safer.c (main): Likewise.
21754         * tests/test-open.h (main): Likewise....
21755         (test_open): ...to this.
21756         * tests/test-fopen.c (main): Adjust caller.
21757         * tests/test-fopen-safer.c (main): Likewise.
21758         * tests/test-open.c (main): Likewise.
21759         * tests/test-fcntl-safer.c (main): Likewise.
21760         Reported by Samuel Thibault.
21761
21762         rename, fchdir: don't ignore chdir failure
21763         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
21764         * lib/rename.c (rpl_rename) [W32]: Likewise.
21765         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
21766         an empty destination directory if source cannot be renamed,
21767         although there is still possibility for failure.
21768         * doc/posix-functions/rename.texi (rename): Document the race.
21769         Reported by Jim Meyering.
21770
21771         maint: cleanup whitespace in recent commits
21772         * lib/rename.c (rpl_rename): Remove tabs.
21773         * tests/test-link.h (test_link): Likewise.
21774         * lib/fchdir.c (get_name): Likewise.
21775         Reported by Jim Meyering.
21776
21777 2009-10-02  Ben Pfaff  <blp@gnu.org>
21778
21779         relocatable-prog-wrapper: Add missing dependency on
21780         double-slash-root.
21781         * modules/relocatable-prog-wrapper: Add dependency.
21782         Reported by Ian Beckwith <ianb@erislabs.net>.
21783
21784 2009-10-02  Eric Blake  <ebb9@byu.net>
21785
21786         renameat: fix Solaris bugs
21787         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
21788         needed fixing.
21789         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
21790         * modules/stdio (Makefile.am): Substitute it.
21791         * lib/stdio.in.h (renameat): Declare replacement.
21792         * lib/renameat.c (rpl_renameat): Implement fix.
21793
21794         renameat: new module
21795         * modules/renameat: New file.
21796         * lib/renameat.c (renameat): Likewise.
21797         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
21798         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
21799         * modules/stdio (Makefile.am): Substitute them.
21800         * lib/stdio.in.h (renameat): Declare it.
21801         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
21802         * doc/posix-functions/renameat.texi (renameat): Likewise.
21803         * modules/renameat-tests: New test.
21804         * tests/test-renameat.c: Likewise.
21805
21806         rename: fix mingw bugs
21807         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
21808         directory overwrite bugs.
21809
21810         rename: fix another cygwin 1.5 bug
21811         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
21812         checks.
21813         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
21814         unnecessary cygwin workarounds.  Also work around bug with moving
21815         full directory onto an empty one.
21816         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
21817
21818         rename-dest-slash: merge into rename module
21819         * modules/rename-dest-slash (Status): Mark obsolete.
21820         (Depends-on): Add rename.
21821         (Files): Let rename do it all.
21822         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
21823         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
21824         * m4/rename-dest-slash.m4: ...so this file can be deleted.
21825         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
21826         * lib/rename.c (rpl_rename): Update comments.
21827
21828         rename: fix cygwin 1.5.x bugs
21829         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
21830         * lib/rename.c (rpl_rename): Work around them.
21831         * modules/rename (Depends-on): Add same-inode.
21832
21833         rename: fix Solaris 10 bug
21834         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
21835         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
21836         was the only bug.
21837
21838         rename: fix Solaris 9 bug
21839         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
21840         on non-directory.  Avoid calling exit.
21841         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
21842         strdup.
21843         * modules/rename-tests (Depends-on): Drop lstat.
21844         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
21845         (gl_PREREQ_RENAME): Delete unused macro.
21846
21847         rename-dest-slash: fix NetBSD bug
21848         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
21849         links.
21850         * modules/rename-dest-slash (Depends-on): Add same-inode.
21851
21852         rename-tests: new test, exposes several platform bugs
21853         * modules/rename-tests: New file.
21854         * tests/test-rename.h: Likewise.
21855         * tests/test-rename.c: Likewise.
21856         * doc/posix-functions/rename.texi (rename): Improve documentation,
21857         including bugs that will eventually be fixed in gnulib.
21858
21859 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
21860
21861         * lib/uname.c: Include <stdlib.h>
21862         (uname): Assume version info is available.
21863
21864 2009-10-02  Jim Meyering  <meyering@redhat.com>
21865
21866         gnu-web-doc-update: correct --help output
21867         * build-aux/gnu-web-doc-update: Make --help output relevant.
21868
21869         gnu-web-doc-update: add standard options
21870         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
21871
21872         gnu-web-doc-update: New module.
21873         Use this script to automatically update the on-line web documentation
21874         for your GNU project at http://www.gnu.org/software/$pkg/manual/
21875         * modules/gnu-web-doc-update: New file, from coreutils.
21876         * build-aux/gnu-web-doc-update: New script.
21877
21878 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
21879
21880         link: LoadLibrary is not needed.
21881         * lib/link.c: Use GetModuleHandle.
21882
21883 2009-10-01  Eric Blake  <ebb9@byu.net>
21884
21885         getopt: bump serial number
21886         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
21887         change.
21888
21889         tests: tighten link, rmdir, and remove tests
21890         * tests/test-link.h (includes): No need to use <config.h> here.
21891         Clean up if directory hard link was created, otherwise test for
21892         trailing '.'.
21893         * tests/test-linkat.c (main): Simplify.
21894         * tests/test-remove.c (main): Enhance test for trailing '.'.
21895         * tests/test-rmdir.h (test_rmdir_func): Likewise.
21896
21897 2009-10-01  Jim Meyering  <meyering@redhat.com>
21898
21899         maint.mk: requiring "make major" was annoying, for a "minor" release.
21900         What is intended is "stable", to contrast with alpha and beta,
21901         so require "make stable", not "make major".
21902         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
21903         (get_tool_versions): Likewise.
21904         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
21905
21906 2009-09-30  Ben Pfaff  <blp@gnu.org>
21907
21908         Fix broken build of replacement for Windows tmpfile().
21909         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
21910         flags argument added along with the 'mkostemp' module.
21911
21912 2009-09-28  Bruno Haible  <bruno@clisp.org>
21913
21914         Avoid identifier clash with POSIX function 'remove' defined as a macro.
21915         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
21916         to 'remove_elt'.
21917         (gl_list_remove): Update.
21918         * lib/gl_list.c (gl_list_remove): Update.
21919         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
21920         to 'remove_elt'.
21921         (gl_oset_remove): Update.
21922         * lib/gl_list.c (gl_oset_remove): Update.
21923         Reported by Eric Blake.
21924
21925 2009-09-28  Eric Blake  <ebb9@byu.net>
21926
21927         doc: mention yet more cygwin 1.7 status
21928         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
21929         cygwin.
21930         * doc/glibc-functions/execvpe.texi (execvpe): New file.
21931         * doc/gnulib.texi (Glibc unistd.h): Mention it.
21932
21933         argp: fix test failure
21934         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
21935         that are not upper-case.  Pass correct range to tolower.
21936
21937 2009-09-27  Jim Meyering  <meyering@redhat.com>
21938
21939         test-yesno: work around sparc-dash here-document infelicity
21940         Without this change, the literal \177 byte in a here document
21941         would make dash 0.5.5.1-3 access uninitialized memory.
21942         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
21943         Instead, use a marker, "@", and filter through tr to create the desired
21944         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
21945
21946 2009-09-27  Bruno Haible  <bruno@clisp.org>
21947
21948         Disable untested support for new flavours of ACLs on AIX.
21949         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
21950         progress.
21951         * lib/set-mode-acl.c (qset_acl): Likewise.
21952
21953 2008-12-07  Bruno Haible  <bruno@clisp.org>
21954
21955         Add support for new flavours of ACLs on AIX. (Untested.)
21956         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
21957         (file_has_acl): Add support for newer AIX.
21958         * lib/set-mode-acl.c (qset_acl): Likewise.
21959         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
21960         Rainer Tammer <tammer@tammer.net>.
21961
21962 2009-09-26  Eric Blake  <ebb9@byu.net>
21963
21964         argp: fix compilation of getopt
21965         * lib/getopt.in.h (includes): Use different guard than glibc.
21966         Reported by Sergey Poznyakoff.
21967
21968         doc: mention more cygwin 1.7 status
21969         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
21970         bug.
21971         * doc/posix-functions/execl.texi (execl): Likewise.
21972         * doc/posix-functions/execle.texi (execle): Likewise.
21973         * doc/posix-functions/execlp.texi (execlp): Likewise.
21974         * doc/posix-functions/execv.texi (execv): Likewise.
21975         * doc/posix-functions/execve.texi (execve): Likewise.
21976         * doc/posix-functions/execvp.texi (execvp): Likewise.
21977         * doc/glibc-functions/canonicalize_file_name.texi
21978         (canonicalize_file_name): Cygwin 1.7 now provides this.
21979         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
21980         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
21981         on AT_SYMLINK_NOFOLLOW.
21982
21983 2009-09-24  Eric Blake  <ebb9@byu.net>
21984
21985         test-linkat: make test more robust
21986         * tests/test-linkat.c (main): Avoid collision with EEXIST.
21987
21988         getopt: fix inclusion guards for cygwin
21989         * modules/getopt-posix (Depends-on): Add include-next.
21990         (Makefile.am): Substitute more items in replacement header.
21991         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
21992         <getopt.h>.
21993         * lib/getopt.in.h (includes): Use split inclusion guard, and
21994         prefer <getopt.h> over include <unistd.h> when one is present.
21995         (option): Also override name of 'struct option'.
21996
21997         same-inode: revert prior change; it is not yet ready
21998         * NEWS: Undo mention of this change.
21999         * lib/same-inode.h (same-inode.h): Undo tri-state change.
22000         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
22001         * lib/cycle-check.c (cycle_check): Likewise.
22002         * lib/same.c (same_name): Likewise.
22003         * lib/at-func2.c (at_func2): Likewise.
22004
22005 2009-09-23  Eric Blake  <ebb9@byu.net>
22006
22007         linkat: new module
22008         * modules/linkat: New file.
22009         * lib/at-func2.c (at_func2): Likewise.
22010         * lib/linkat.c (linkat): Likewise.
22011         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
22012         * lib/openat-priv.h (at_func2): Add declaration.
22013         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
22014         * modules/unistd (Makefile.am): Substitute them.
22015         * lib/unistd.in.h (linkat): Declare it.
22016         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22017         * doc/posix-functions/linkat.texi (linkat): Likewise.
22018         * doc/posix-functions/link.texi (link): Tweak wording.
22019         * tests/test-link.c (main): Move guts...
22020         * tests/test-link.h (test_link): ...into new file.
22021         * modules/linkat-tests: New test.
22022         * tests/test-linkat.c: Likewise.
22023         * modules/link-tests (Files): Ship new file.
22024         (Depends-on): Add stdbool.
22025
22026         dirname: add library-safe mdir_name
22027         * lib/dirname.h (mdir_name): New prototype.
22028         * lib/dirname.c (dir_name): Move guts...
22029         (mdir_name): ...to new function that avoids xalloc_die.
22030
22031         fchdir: another mingw fix
22032         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
22033         * lib/fchdir.c (get_name): New helper method; skips canonicalize
22034         on mingw (where it has not yet been ported), and make it optional
22035         elsewhere.
22036         (_gl_register_fd): Use it.
22037
22038         same-inode: make SAME_INODE tri-state, to port to mingw
22039         * NEWS: Mention this change.
22040         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
22041         st_ino always being 0.
22042         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
22043         * lib/cycle-check.c (cycle_check): Likewise.
22044         * lib/same.c (same_name): Likewise.
22045
22046         lstat: avoid mingw compilation error
22047         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
22048         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
22049         lstat ourselves.
22050         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
22051         was adequate.
22052         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
22053         the checks for lstat.
22054         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
22055
22056         link: fix test failure on Solaris 9
22057         * lib/link.c (rpl_link): Don't assume link will catch bogus
22058         trailing slash on source.
22059
22060         test-symlinkat: enhance test
22061         * tests/test-readlink.c (main): Move guts...
22062         * tests/test-readlink.h (test_readlink): ...into new file.
22063         * tests/test-symlink.c (main): Move guts...
22064         * tests/test-symlink.h (test_symlink): ...into new file.
22065         * tests/test-symlinkat.c (main): Use new files for further
22066         coverage.
22067         (do_symlink, do_readlink): New helper functions.
22068         * modules/symlink-tests (Files): Ship new file.
22069         (Depends-on): Add stdbool.
22070         * modules/readlink-tests (Files): Ship new file.
22071         (Depends-on): Add stdbool.
22072         * modules/symlinkat-tests (Files): Use new files.
22073
22074 2009-09-23  Eric Blake  <ebb9@byu.net>
22075
22076         readlink: document portability issue with symlink length
22077         * doc/posix-functions/lstat.texi (lstat): Mention that some file
22078         systems have bogus st_size on symlinks, and mention the
22079         areadlink-with-size module.
22080         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
22081         * doc/posix-functions/readlink.texi (readlink): Mention the
22082         areadlink module, and ERANGE failure.
22083         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
22084         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
22085
22086         readlink: fix Solaris 9 bug with trailing slash
22087         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
22088         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
22089         * doc/posix-functions/readlink.texi (readlink): Document this.
22090         * modules/readlink-tests: New test.
22091         * tests/test-readlink.c: Likewise.
22092
22093         readlink: fix cygwin 1.5.x bug with return type
22094         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
22095         * lib/unistd.in.h (readlink): Use ssize_t.
22096         * lib/readlink.c (readlink): Likewise.
22097         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22098         * modules/unistd (Makefile.am): Substitute it.
22099         * lib/unistd.in.h (readlink): Declare replacement.
22100         * doc/posix-functions/readlink.texi (readlink): Document this.
22101
22102         symlink: use throughout gnulib
22103         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
22104         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
22105         symlink is not used.
22106         * modules/symlinkat (Depends-on): Add symlink.
22107         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
22108         * modules/canonicalize-tests (Depends-on): Likewise.
22109         * modules/lstat-tests (Depends-on): Likewise.
22110         * modules/openat-tests (Depends-on): Likewise.
22111         * modules/remove-tests (Depends-on): Likewise.
22112         * modules/rmdir-tests (Depends-on): Likewise.
22113         * modules/unlink-tests (Depends-on): Likewise.
22114         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
22115         * tests/test-canonicalize.c (symlink): Likewise.
22116         * tests/test-fstatat.c (symlink): Likewise.
22117         * tests/test-lstat.c (symlink): Likewise.
22118         * tests/test-remove.c (symlink): Likewise.
22119         * tests/test-rmdir.c (symlink): Likewise.
22120         * tests/test-unlink.c (symlink): Likewise.
22121         * tests/test-unlinkat.c (symlink): Likewise.
22122
22123         symlink: new module, for Solaris 9 bug
22124         * modules/symlink: New file.
22125         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
22126         * lib/symlink.c: Likewise.
22127         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
22128         * modules/unistd (Makefile.am): Substitute them.
22129         * lib/unistd.in.h (symlink): Declare replacement.
22130         * MODULES.html.sh (File system functions): Mention it.
22131         * doc/posix-functions/symlink.texi (symlink): Likewise.
22132         * modules/symlink-tests: New test.
22133         * tests/test-symlink.c: Likewise.
22134
22135 2009-09-23  Bruno Haible  <bruno@clisp.org>
22136
22137         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
22138         when needed.
22139         Test case: gnulib-tool --import --with-tests atexit inttypes.
22140         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
22141
22142 2009-09-23  Bruno Haible  <bruno@clisp.org>
22143
22144         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
22145         subcommand, not in a subshell.
22146
22147 2009-09-22  Eric Blake  <ebb9@byu.net>
22148
22149         unistd: sort replacement declarations
22150         * lib/unistd.in.h: Sort declarations.
22151
22152         open, openat: minor optimization
22153         * lib/open.c (open): If open succeeded, len is non-zero.
22154         * lib/openat.c (rpl_openat): Likewise.
22155
22156         link-follow: ensure correct result
22157         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
22158         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
22159         distinguish between possible failures.
22160
22161 2009-09-21  Eric Blake  <ebb9@byu.net>
22162
22163         fts: avoid compiler warning
22164         * lib/fts.c (dirent_inode_sort_may_be_useful)
22165         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
22166
22167 2009-09-19  Bruno Haible  <bruno@clisp.org>
22168
22169         * lib/progreloc.c (canonicalize_file_name): New declaration.
22170
22171 2009-09-19  Eric Blake  <ebb9@byu.net>
22172
22173         link: fix quoting
22174         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
22175
22176         openat: fix openat bugs on Solaris 9
22177         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
22178         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
22179         * modules/openat (Depends-on): Add open.
22180         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
22181         * modules/fcntl-h (Makefile.am): Substitute it.
22182         * lib/fcntl.in.h (openat): Declare replacement.
22183         * doc/posix-functions/openat.texi (openat): Document this.
22184
22185         openat: move fstatat and unlinkat into correct files
22186         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
22187         compiled.
22188         * lib/openat.c (fstatat, unlinkat): Move...
22189         * lib/fstatat.c (fstatat): ...into correct files.
22190         * lib/unlinkat.c (unlinkat): Likewise.
22191
22192         openat: fix unlinkat bugs on Solaris 9
22193         * lib/unlinkat.c (unlinkat): New file.
22194         * modules/openat (Depends-on): Add unlink.
22195         (Files): Distribute it.
22196         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
22197         trailing slash behavior is broken.
22198         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22199         * modules/unistd (Makefile.am): Substitute it.
22200         * lib/unistd.in.h (unlinkat): Declare replacement.
22201         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
22202
22203         openat: fix fstatat bugs on Solaris 9
22204         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
22205         stat.
22206         * doc/posix-functions/fstatat.texi (fstatat): Document this.
22207
22208         test-unlinkat: enhance test, to expose Solaris 9 bug
22209         * tests/test-unlink.c (main): Factor guts...
22210         * tests/test-unlink.h (test_rmdir_func): ...into new file.
22211         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
22212         * tests/test-rmdir.c (main): Adjust caller.
22213         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
22214         (unlinker): New helper function.
22215         (rmdirat): Enhance check.
22216         * modules/rmdir-tests (Depends-on): Add stdbool.
22217         * modules/unlink-tests (Depends-on): Likewise.
22218         (Files): Add test-unlink.h.
22219         * modules/openat-tests (Files): Likewise.
22220         (Depends-on): Add unlinkdir.
22221
22222         test-fstatat: new test, to expose Solaris 9 bugs
22223         * tests/test-stat.c (main): Factor guts...
22224         * tests/test-stat.h (test_stat_func): ...into new file.
22225         * tests/test-lstat.c (main): Factor guts...
22226         * tests/test-lstat.h (test_lstat_func): ...into new file.
22227         * tests/test-fstatat.c: New file.
22228         * modules/stat-tests (Files): Add test-stat.h.
22229         * modules/lstat-tests (Files): Add test-lstat.h.
22230         (Depends-on): Add stdbool.
22231         * modules/openat-tests (Depends-on): Add pathmax.
22232         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
22233         (Makefile.am): Run new test.
22234
22235         remove: new module, for mingw and Solaris 9 bugs
22236         * modules/remove: New file.
22237         * lib/remove.c: Likewise.
22238         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
22239         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
22240         * modules/stdio (Makefile.am): Use them.
22241         * lib/stdio.in.h (remove): Declare replacement.
22242         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22243         * doc/posix-functions/remove.texi (remove): Likewise.
22244         * modules/remove-tests: New test.
22245         * tests/test-remove.c: Likewise.
22246
22247         unlink: new module, for Solaris 9 bug
22248         * modules/unlink: New file.
22249         * lib/unlink.c: Likewise.
22250         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22251         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
22252         * modules/unistd (Makefile.am): Use them.
22253         * lib/unistd.in.h (stat): Declare replacement.
22254         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22255         * doc/posix-functions/unlink.texi (unlink): Likewise.
22256         * modules/unlink-tests: New test.
22257         * tests/test-unlink.c: Likewise.
22258
22259         lstat: fix Solaris 9 bug
22260         * lib/lstat.c (lstat): Also check for trailing slash on
22261         non-symlink, non-directories.  Use stat module to simplify logic.
22262         * doc/posix-functions/lstat.texi (lstat): Document it.
22263         * modules/lstat-tests (Depends-on): Add errno, same-inode.
22264         (configure.ac): Check for symlink.
22265         * tests/test-lstat.c (main): Add more tests.
22266
22267         stat: add as dependency to other modules
22268         * modules/chown (Depends-on): Add stat.
22269         * modules/euidaccess (Depends-on): Likewise.
22270         * modules/fchdir (Depends-on): Likewise.
22271         * modules/isdir (Depends-on): Likewise.
22272         * modules/link (Depends-on): Likewise.
22273         * modules/lstat (Depends-on): Likewise.
22274         * modules/mkdir-p (Depends-on): Likewise.
22275         * modules/modechange (Depends-on): Likewise.
22276         * modules/open (Depends-on): Likewise.
22277         * modules/readlink (Depends-on): Likewise.
22278         * modules/same (Depends-on): Likewise.
22279
22280         stat: fix Solaris 9 bug
22281         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
22282         slash.
22283         * lib/stat.c (rpl_stat): Work around it.
22284         * doc/posix-functions/stat.texi (stat): Update documentation.
22285
22286         stat: new module, for mingw bug
22287         * modules/stat: New file.
22288         * lib/stat.c: Likewise.
22289         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
22290         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
22291         * modules/sys_stat (Makefile.am): Use them.
22292         * lib/sys_stat.in.h (stat): Declare replacement.
22293         * lib/openat.c (fstatat): Deal with lstat and stat being function
22294         macros.
22295         * modules/openat (Depends-on): Add inline.
22296         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22297         * doc/posix-functions/stat.texi (stat): Likewise.
22298         * modules/stat-tests: New test.
22299         * tests/test-stat.c: Likewise.
22300
22301 2009-09-19  Jim Meyering  <meyering@redhat.com>
22302
22303         syntax-check: detect unnecessary inclusion of canonicalize.h
22304         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
22305
22306 2009-09-19  Eric Blake  <ebb9@byu.net>
22307
22308         canonicalize-lgpl: adjust clients to use correct header
22309         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
22310         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
22311         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
22312         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
22313         * lib/progreloc.c (includes): Likewise.
22314
22315 2009-09-19  Jim Meyering  <meyering@redhat.com>
22316
22317         test-posixtm.c: correct a comment
22318         * tests/test-posixtm.c: Correct first-line comment.
22319         Spotted by Eric Blake.
22320
22321 2009-09-16  Jim Meyering  <meyering@redhat.com>
22322
22323         posixtm-tests: make T const-correct; add a test case
22324         * tests/test-posixtm.c (T): Declare const.
22325         Add a test for -(2^31+1).
22326         Remove useless can-succeed-only-in-2002 test.
22327
22328         posixtm-tests: adjust the sole failing test
22329         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
22330         expected output matches what mktime now produces.  Cross-checked via
22331         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
22332
22333         posixtm: move #ifdef'd tests into a new module
22334         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
22335         * tests/test-posixtm.c: ... this new file.
22336         * modules/posixtm-tests: New module.
22337
22338 2009-09-19  Eric Blake  <ebb9@byu.net>
22339
22340         openat: simplify use of at-func.c
22341         * lib/at-func.c (includes): Include prerequisites here, to
22342         simplify requirements on client files.
22343         * lib/openat-priv.h: Add double-inclusion guard.
22344         * lib/faccessat.c (includes): Simplify.
22345         * lib/fchmodat.c (includes): Likewise.
22346         * lib/fchownat.c (includes): Likewise.
22347         * lib/mkdirat.c (includes): Likewise.
22348         * lib/mkfifoat.c (includes): Likewise.
22349         * lib/symlinkat.c (includes): Likewise.
22350
22351         openat: allow return of fd 0
22352         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
22353         * modules/save-cwd (Depends-on): Replace fcntl-safer with
22354         unistd-safer.
22355         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
22356         <fcntl.h>; this module does not leak fds.
22357         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
22358         must be allowed to return 0, leaving openat_safer to add the
22359         safety.
22360         (openat_permissive): Avoid writing to just-opened fd 2 if
22361         restoring the current directory fails.
22362         * lib/openat-die.c (openat_restore_fail): Add comment.
22363         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
22364         (save_cwd): Guarantee safe fd, but without use of open_safer.
22365         * tests/test-openat.c: New test.
22366         * modules/openat-tests (Files, Makefile.am): Distribute and build
22367         new file.
22368
22369         relocatable-prog-wrapper: fix build
22370         * modules/relocatable-prog-wrapper (Files): Update name of
22371         canonicalize m4 file, broken on 2009-09-17.
22372         Reported by emad hajjar <aleppos@hotmail.com>.
22373
22374 2009-09-19  Bruno Haible  <bruno@clisp.org>
22375
22376         * lib/safe-alloc.h: Use the standard header with GPL copyright.
22377         * lib/safe-alloc.c: Likewise.
22378         Reported by Ian Beckwith <ianb@erislabs.net>.
22379
22380 2009-09-18  Bruno Haible  <bruno@clisp.org>
22381
22382         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
22383         Reported by <erobles@sensacd.com.mx>.
22384
22385 2009-09-17  Eric Blake  <ebb9@byu.net>
22386
22387         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
22388         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
22389         slashes when checking if last component is missing.
22390         * tests/test-canonicalize.c (main): Test this.
22391
22392         canonicalize, canonicalize-lgpl: honor // if distinct from /
22393         * modules/canonicalize (Files): Add double-slash-root.m4.
22394         * modules/canonicalize-lgpl (Files): Likewise.
22395         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
22396         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
22397         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
22398         fallback definition.
22399         (canonicalize_filename_mode): Use it to protect //.
22400         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
22401         (__realpath): Likewise.
22402         * tests/test-canonicalize.c (main): Test this.
22403         * tests/test-canonicalize-lgpl.c (main): Likewise.
22404         * modules/canonicalize-tests (Depends-on): Add same-inode.
22405         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
22406
22407         canonicalize-lgpl: fix glibc bug with trailing slash
22408         * m4/canonicalize-lgpl.m4: Move contents...
22409         * m4/canonicalize.m4: ...here.
22410         (gl_CANONICALIZE_LGPL): Factor realpath check...
22411         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
22412         glibc 2.3.5 bug, fixed 2005-04-27.
22413         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
22414         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
22415         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
22416         * modules/canonicalize-lgpl (Files): Manage file rename.
22417         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
22418         * modules/stdlib (Makefile.am): Substitute witness.
22419         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
22420         is needed.
22421         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
22422         replacement is required.
22423         * lib/canonicalize.c (canonicalize_file_name): Likewise.
22424         * doc/glibc-functions/canonicalize_file_name.texi
22425         (canonicalize_file_name): Document this.
22426         * doc/posix-functions/realpath.texi (realpath): Likewise.
22427
22428         canonicalize-lgpl: reject non-directory with trailing slash
22429         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
22430         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
22431         catches failures in glibc 2.3.5.
22432         * tests/test-canonicalize.c (main): Likewise.
22433
22434         canonicalize-lgpl: use native realpath if it works
22435         * lib/canonicalize-lgpl.c (realpath): Guard with
22436         FUNC_REALPATH_WORKS.
22437         * lib/stdlib.in.h (realpath): Make declaration optional based on
22438         HAVE_REALPATH.
22439         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
22440         native realpath works.
22441         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
22442         * modules/stdlib (Makefile.am): Substitute witness.
22443
22444         canonicalize, canonicalize-lgpl: use <stdlib.h>
22445         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
22446         (Include): Mention <stdlib.h>.
22447         (configure.ac): Mention functions we provide.
22448         * modules/canonicalize (configure.ac): Likewise.
22449         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
22450         realpath if canonicalize_file_name is missing.
22451         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
22452         * modules/stdlib (Makefile.am): Substitute witnesses.
22453         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
22454         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
22455         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
22456         * NEWS: Document this.
22457         * doc/glibc-functions/canonicalize_file_name.texi
22458         (canonicalize_file_name): Likewise.
22459         * doc/posix-functions/realpath.texi (realpath): Likewise.
22460         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
22461
22462         test-canonicalize: consolidate into single C program
22463         * tests/test-canonicalize.sh: Delete; move setup into...
22464         * tests/test-canonicalize.c (main): ...the program, making it
22465         easier to run in debugger.  Add some tests.
22466         * modules/canonicalize-tests (Files): Remove unused file.
22467         (Depends-on): Add progname.
22468         (configure.ac, Makefile.am): Simplify.
22469
22470         test-canonicalize-lgpl: consolidate into single C program
22471         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
22472         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
22473         easier to run in debugger.  Add some tests.
22474         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
22475         (configure.ac, Makefile.am): Simplify.
22476
22477         canonicalize: avoid resolvepath
22478         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
22479         unnecessary checks.
22480         * lib/canonicalize.c (includes): Simplify.
22481         (canonicalize_file_name): Drop resolvepath implementation.
22482         * modules/canonicalize (Depends-on): Drop filenamecat.
22483
22484         canonicalize: don't lose errno
22485         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
22486         over calls to free.
22487
22488         canonicalize: simplify errno handling
22489         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
22490         assignment.
22491
22492         canonicalize, canonicalize-lgpl: update module dependencies
22493         * modules/canonicalize (Depends-on): Add extensions, lstat,
22494         pathmax, stdlib.
22495         (Files): Drop pathmax.h.
22496         (configure.ac): Adjust macro name.
22497         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
22498         lstat, stdlib, sys_stat.
22499         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
22500         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
22501         extensions.
22502         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
22503         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
22504         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
22505         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
22506         declaration, if available.
22507         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
22508         we can rely on the readlink module.
22509         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
22510         (includes): Use <unistd.h> unconditionally.
22511
22512 2009-09-17  Eric Blake  <ebb9@byu.net>
22513
22514         maint: make Include sections of modules consistent
22515         * modules/alloca: Use only header name; no need to list #include.
22516         * modules/alloca-opt: Likewise.
22517         * modules/arpa_inet: Likewise.
22518         * modules/canon-host: Likewise.
22519         * modules/configmake: Likewise.
22520         * modules/dirent: Likewise.
22521         * modules/eealloc: Likewise.
22522         * modules/environ: Likewise.
22523         * modules/fchdir: Likewise.
22524         * modules/fcntl: Likewise.
22525         * modules/fcntl-h: Likewise.
22526         * modules/gethrxtime: Likewise.
22527         * modules/gettime: Likewise.
22528         * modules/ignore-value: Likewise.
22529         * modules/inet_ntop: Likewise.
22530         * modules/inet_pton: Likewise.
22531         * modules/inttypes: Likewise.
22532         * modules/isnand-nolibm: Likewise.
22533         * modules/isnanf-nolibm: Likewise.
22534         * modules/mbchar: Likewise.
22535         * modules/mbfile: Likewise.
22536         * modules/mbiter: Likewise.
22537         * modules/mbuiter: Likewise.
22538         * modules/netdb: Likewise.
22539         * modules/netinet_in: Likewise.
22540         * modules/nproc: Likewise.
22541         * modules/pagealign_alloc: Likewise.
22542         * modules/poll: Likewise.
22543         * modules/printf-frexp: Likewise.
22544         * modules/pthread: Likewise.
22545         * modules/putenv: Likewise.
22546         * modules/random_r: Likewise.
22547         * modules/relocatable-prog: Likewise.
22548         * modules/search: Likewise.
22549         * modules/select: Likewise.
22550         * modules/selinux-h: Likewise.
22551         * modules/settime: Likewise.
22552         * modules/signal: Likewise.
22553         * modules/size_max: Likewise.
22554         * modules/socklen: Likewise.
22555         * modules/ssize_t: Likewise.
22556         * modules/stdarg: Likewise.
22557         * modules/stdbool: Likewise.
22558         * modules/stddef: Likewise.
22559         * modules/stdint: Likewise.
22560         * modules/stdio: Likewise.
22561         * modules/stdlib: Likewise.
22562         * modules/string: Likewise.
22563         * modules/strings: Likewise.
22564         * modules/sys_file: Likewise.
22565         * modules/sys_ioctl: Likewise.
22566         * modules/sys_select: Likewise.
22567         * modules/sys_socket: Likewise.
22568         * modules/sys_stat: Likewise.
22569         * modules/sys_time: Likewise.
22570         * modules/sys_times: Likewise.
22571         * modules/sys_utsname: Likewise.
22572         * modules/sys_wait: Likewise.
22573         * modules/sysexits: Likewise.
22574         * modules/time: Likewise.
22575         * modules/times: Likewise.
22576         * modules/tmpfile: Likewise.
22577         * modules/trim: Likewise.
22578         * modules/unistd: Likewise.
22579         * modules/wchar: Likewise.
22580         * modules/wctype: Likewise.
22581
22582 2009-09-17  Bruno Haible  <bruno@clisp.org>
22583
22584         Make getdate.y compile on QNX and NetBSD 5 / i386.
22585         * m4/getdate.m4 (gl_GETDATE): Conditionally define
22586         TIME_T_FITS_IN_LONG_INT.
22587         * lib/getdate.y (long_time_t): New type.
22588         (relative_time): Change type of 'seconds' field to long_time_t.
22589         (get_date): Update types of local variables. Check against overflow
22590         during conversion from long_time_t to time_t.
22591         Reported by Matt Kraai <kraai@ftbfs.org>
22592         and Hasso Tepper <hasso@netbsd.org>.
22593
22594 2009-09-17  Bruno Haible  <bruno@clisp.org>
22595
22596         * modules/COPYING: Update copyright years.
22597         * modules/README: Likeiwse.
22598         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
22599         Reported by Ian Beckwith <ianb@erislabs.net>.
22600
22601 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
22602
22603         * users.txt: Update references for gnuit package.
22604
22605 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
22606
22607         * m4/getdelim.m4: Fix typo in copyright line.
22608
22609 2009-09-17  Bruno Haible  <bruno@clisp.org>
22610
22611         * lib/atoll.c: Use the standard header with GPL copyright.
22612         * lib/argz.in.h: Likewise.
22613         * lib/glob.c: Likewise.
22614         * lib/glob-libc.h: Likewise.
22615         * lib/random_r.c: Likewise.
22616         * lib/siglist.h: Likewise.
22617         * lib/strsignal.c: Likewise.
22618         Reported by Ian Beckwith <ianb@erislabs.net>.
22619
22620 2009-09-17  Eric Blake  <ebb9@byu.net>
22621
22622         rmdir: ensure correct dependency order
22623         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
22624
22625 2009-09-17  Bruno Haible  <bruno@clisp.org>
22626
22627         Disable assertion that fails on NetBSD 5 / i386.
22628         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
22629         Reported by Sam Steingold <sds@gnu.org>
22630         and Hasso Tepper <hasso@netbsd.org>.
22631
22632 2009-09-16  Eric Blake  <ebb9@byu.net>
22633
22634         unlinkdir: port to mingw
22635         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
22636         on which no one can unlink a directory.
22637
22638         stdlib: sort witness names
22639         * modules/stdlib (Makefile.am): Sort replacements.
22640         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
22641         * lib/stdlib.in.h: Likewise.
22642
22643         parse-duration-tests: avoid link failure
22644         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
22645         LIBINTL.
22646         Reported by Tom G. Christensen.
22647
22648         openat-tests: ensure unlinkat behaves like rmdir
22649         * tests/test-rmdir.c (main): Factor guts...
22650         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
22651         * modules/rmdir-tests (Files): Ship new file.
22652         * modules/openat-tests: New test.
22653         * tests/test-unlinkat.c: Likewise.
22654
22655         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
22656         * modules/rmdir-errno (Status, Notice): Now obsolete.
22657
22658         rmdir: work around cygwin 1.5.x and mingw bugs
22659         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
22660         * lib/rmdir.c (rmdir): Work around it.
22661         * modules/rmdir (Status, Notice): No longer obsolete.
22662         (Files): Add dos.m4.
22663         (Depends-on): Add unistd.
22664         (configure.ac): Set witnesses.
22665         (License): Relax to LGPLv2+.
22666         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
22667         * modules/unistd (Makefile.am): Substitute witnesses.
22668         * lib/unistd.in.h (rmdir): Declare replacement.
22669         * doc/posix-functions/rmdir.texi (rmdir): Document this.
22670         * modules/rmdir-tests: New tests.
22671         * tests/test-rmdir.c: Likewise.
22672
22673 2009-09-15  Eric Blake  <ebb9@byu.net>
22674
22675         fchdir: improve use of replacement functions
22676         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
22677         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
22678         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
22679         REPLACE_CLOSEDIR.
22680         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
22681         * modules/sys_stat (Makefile.am): Substitute correct witness.
22682         * modules/dirent (Makefile.am): Likewise.
22683         * modules/unistd (Makefile.am): Likewise.
22684         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
22685         * lib/unistd.in.h (dup): Likewise.
22686         * lib/sys_stat.in.h (fstat): Likewise.
22687
22688         maint: ignore gnulib-tool temp files
22689         * .gitignore: Ignore files created during gnulib-tool --test.
22690
22691 2009-09-13  Jim Meyering  <meyering@redhat.com>
22692
22693         posixtm: don't reject a time that specify "60" as the number of seconds
22694         * lib/posixtm.c (posixtime): The code to reject invalid dates
22695         would also reject a time specified with the .60 suffix.
22696         But POSIX allows that, in order to accommodate leap seconds.
22697         So don't reject it.
22698         (main): Adjust tests accordingly.
22699         * modules/posixtm (Depends-on): Add stpcpy.
22700
22701 2009-09-11  Jim Meyering  <meyering@redhat.com>
22702
22703         announce-gen: include [$release_type] in emitted Subject:
22704         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
22705         e.g., [stable] in the emitted Subject: line.
22706
22707 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22708
22709         Remove obsolete macros from several modules.
22710         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
22711         obsolete Autoconf macros with their modern counterparts.
22712         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
22713         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
22714         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
22715         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
22716         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
22717         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22718         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
22719         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
22720         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
22721         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
22722         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
22723         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
22724         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
22725         * m4/sockets.m4 (gl_SOCKETS): Likewise.
22726         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
22727         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
22728         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
22729         * m4/time_r.m4 (gl_TIME_R): Likewise.
22730         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
22731         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
22732         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
22733
22734         Fix copyright header in build-aux scripts.
22735         * build-aux/git-version-gen: Fix copyright header to match GPLv3
22736         recommendation.
22737         * build-aux/ncftpput-ftp: Likewise.
22738         * build-aux/update-copyright: Likewise.
22739
22740 2009-09-09  Eric Blake  <ebb9@byu.net>
22741
22742         test-link: allow Linux choice of errno
22743         * tests/test-link.c (main): Relax test for alternate error.
22744
22745         strndup: fix improper m4 caching
22746         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
22747         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
22748         (gl_PREREQ_STRNDUP): Delete.
22749         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
22750         * modules/string (Makefile.am): Substitute it.
22751         * lib/string.in.h (strndup): Modernize prototype.
22752
22753         getcwd: port to mingw
22754         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
22755         different from the POSIX assumptions made throughout the getcwd
22756         module; fortunately, the mingw getcwd does not need replacement.
22757         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
22758         * modules/getcwd-tests: New test.
22759         * tests/test-getcwd.c: Likewise.
22760
22761         link: fix platform bugs
22762         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
22763         * lib/link.c (link): Work around them.  Fix related mingw bug.
22764         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
22765         * modules/unistd (Makefile.am): Substitute it.
22766         * lib/unistd.in.h (link): Declare replacement.
22767         * doc/posix-functions/link.texi (link): Document this.
22768         * modules/link (Depends-on): Add strdup-posix, sys_stat.
22769
22770         test-link: consolidate into single C program, test more cases
22771         * tests/test-link.sh: Delete.
22772         * tests/test-link.c: Test more error conditions.  Exposes bugs on
22773         at least Cygwin and Solaris.
22774         * modules/link-tests (Files): Remove unused file.
22775         (Depends-on): Add errno, sys_stat.
22776         (Makefile.am): Simplify.
22777
22778 2009-09-08  Bruno Haible  <bruno@clisp.org>
22779
22780         Work around towlower, towupper bug on mingw.
22781         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
22782         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
22783         * doc/posix-functions/towlower.texi: Mention the mingw bug.
22784         * doc/posix-functions/towupper.texi: Likewise.
22785         Reported by Eric Blake.
22786
22787 2009-09-08  Jim Meyering  <meyering@redhat.com>
22788
22789         build: don't try to run autoheader if we don't use it
22790         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
22791         is not used in configure.ac.
22792
22793 2009-09-08  Eric Blake  <ebb9@byu.net>
22794
22795         euidaccess: fix compilation error
22796         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
22797
22798         rawmemchr: relax license
22799         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
22800         okay.
22801         Reported by Jim Meyering.
22802
22803         mkfifoat: new module
22804         * modules/mkfifoat: New file.
22805         * lib/mkfifoat.c: Likewise.
22806         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
22807         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
22808         * modules/sys_stat (Makefile.am): Use them.
22809         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
22810         * MODULES.html.sh (File system functions): Mention module.
22811         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
22812         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
22813         * modules/mkfifoat-tests: New test.
22814         * tests/test-mkfifoat.c: Likewise.
22815
22816         strchrnul: relax license
22817         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
22818         okay.
22819         Reported by Jim Meyering.
22820
22821 2009-09-08  Eric Blake  <ebb9@byu.net>
22822
22823         fstatat: fix compilation on Solaris
22824         * lib/fstatat.c (includes): Add fcntl.h.
22825         Reported by Pádraig Brady.
22826
22827 2009-09-07  Eric Blake  <ebb9@byu.net>
22828
22829         rename: modernize replacement
22830         * modules/rename (Depends-on): Add stdio.
22831         (configure.ac): Declare witness.
22832         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
22833         stdio take care of replacement.
22834         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
22835         * modules/stdio (Makefile.am): Substitute them.
22836         * lib/stdio.in.h (rename): Declare replacement.
22837         * lib/rename.c (includes): Allow cross-compilation to non-windows
22838         machines.
22839         * doc/posix-functions/rename.texi (rename): Improve
22840         documentation.
22841
22842         stdio: sort witness names
22843         * modules/stdio (Makefile.am): Sort replacements.
22844         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
22845         * lib/stdio.in.h: Likewise.
22846
22847         getcwd: minor cleanups
22848         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
22849         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
22850
22851         openat: provide more convenience names
22852         * modules/faccessat (configure.ac): Add C witness.
22853         * lib/unistd.in.h (readlinkat): Fix typo.
22854         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
22855         convenience wrappers.
22856         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
22857         wrappers in syntax checks.
22858
22859 2009-09-06  Eric Blake  <ebb9@byu.net>
22860
22861         doc: fix comments in recent patches
22862         * lib/faccessat.c: Mention correct function.
22863         * lib/fchmodat.c: Likewise.
22864         * lib/fchownat.c: Likewise.
22865         * lib/symlinkat.c: Likewise.
22866         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
22867         constants.
22868
22869         faccessat, symlinkat: continue cleanup of previous patch
22870         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
22871         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
22872         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
22873         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
22874         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
22875         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
22876         set.
22877
22878 2009-09-06  Bruno Haible  <bruno@clisp.org>
22879
22880         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
22881         (fstatat): Declare if GNULIB_FSTATAT is set.
22882         (mkdirat): Declare if GNULIB_MKDIRAT is set.
22883         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
22884         (unlinkat): Declare if GNULIB_UNLINKAT is set.
22885         * modules/fcntl-h (Files): Remove m4/openat.m4.
22886         * modules/sys_stat (Files): Remove m4/openat.m4.
22887         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
22888         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
22889         * modules/unistd (Files): Remove m4/openat.m4.
22890         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
22891         GNULIB_OPENAT.
22892         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
22893         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
22894         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
22895         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
22896         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
22897         gl_OPENAT_DEFAULTS.
22898         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
22899         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
22900         Don't require gl_OPENAT_DEFAULTS.
22901         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
22902         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
22903         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
22904         (gl_OPENAT_DEFAULTS): Remove macro.
22905
22906 2009-09-06  Bruno Haible  <bruno@clisp.org>
22907
22908         * modules/openat (configure.ac): Remove unneeded witness.
22909
22910 2009-09-06  Bruno Haible  <bruno@clisp.org>
22911
22912         Set errno to ENOSYS when a function is entirely unsupported.
22913         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
22914         EOPNOTSUPP.
22915         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
22916         * modules/chown (Depends-on): Remove errno.
22917
22918 2009-09-06  Bruno Haible  <bruno@clisp.org>
22919
22920         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
22921
22922 2009-09-06  Bruno Haible  <bruno@clisp.org>
22923
22924         * lib/sys_stat.in.h: Fix preprocessor command indentation.
22925
22926 2009-09-06  Ben Pfaff  <blp@gnu.org>
22927             Bruno Haible  <bruno@clisp.org>
22928
22929         Work around a glibc bug in strtok_r.
22930         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
22931         Undefine if UNDEFINE_STRTOK_R is set.
22932         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
22933         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
22934         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
22935         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
22936         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
22937         UNDEFINE_STRTOK_R.
22938         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
22939
22940 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
22941
22942         exclude: minor fix
22943         * lib/exclude.c: Include wctype.h
22944
22945 2009-09-06  Akim Demaille  <demaille@gostai.com>
22946
22947         bootstrap: improve error message
22948         * build-aux/bootstrap (find_tool): Upon failure, report the list
22949         of candidates.
22950         Honor the initial value of the envvar.
22951
22952 2009-09-05  Eric Blake  <ebb9@byu.net>
22953
22954         symlinkat: new module
22955         * modules/symlinkat: New file.
22956         * lib/symlinkat.c: Likewise.
22957         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
22958         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
22959         * modules/unistd (Makefile.am): Use them.
22960         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
22961         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
22962         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
22963         * MODULES.html.sh (File system functions): Mention module.
22964         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
22965         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
22966         * modules/symlinkat-tests: New test.
22967         * tests/test-symlinkat.c: Likewise.
22968
22969         test-openat-safer: add more checks
22970         * tests/test-openat-safer.c (main): Check more code paths.
22971
22972 2009-09-05  Jim Meyering  <meyering@redhat.com>
22973
22974         syntax-check: detect unnecessary inclusion of openat.h
22975         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
22976
22977 2009-09-05  Bruno Haible  <bruno@clisp.org>
22978
22979         Support towlower, towupper.
22980         * doc/posix-functions/towlower.texi: Mention module wctype.
22981         * doc/posix-functions/towupper.texi: Likewise.
22982         * lib/wctype.in.h (towlower, towupper): New functions.
22983         * tests/test-wctype.c: Include stdio.h, stdlib.h.
22984         (ASSERT): New macro.
22985         (e): New variable.
22986         (main): Test also towlower, towupper. Test WEOF argument.
22987         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
22988
22989 2009-09-05  Bruno Haible  <bruno@clisp.org>
22990
22991         Fix conversion behaviour when the input is invalid.
22992         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
22993         mark occurring in first pass of indirect conversion.
22994         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
22995         input.
22996         Found by clang's static analyzer.
22997
22998 2009-09-05  Bruno Haible  <bruno@clisp.org>
22999
23000         * tests/test-striconveh.c (main): Test indirect conversion on platforms
23001         where direct conversion is possible.
23002
23003 2009-09-04  Eric Blake  <ebb9@byu.net>
23004
23005         openat: fail with ENOENT on empty name
23006         * lib/openat-proc.c (openat_proc_name): Special-case the empty
23007         buffer.
23008
23009         link-follow: fix logic bug in prior patch
23010         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
23011         reversed sense of yes and no in prior patch.  Avoid confusing
23012         compilation failure with desired semantics.
23013
23014         link-follow: accomodate mingw and cross-compilation
23015         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
23016         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
23017         cross-compilation results to -1, to make linkat easier to
23018         implement when cross-compiling.  Trivially support mingw.
23019         * modules/link-follow (configure.ac): Call new name.
23020         * NEWS: Mention this.
23021
23022 2009-09-03  Eric Blake  <ebb9@byu.net>
23023
23024         faccessat: compile replacement
23025         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
23026         needed.
23027
23028         fts: fix compilation error
23029         * lib/fts.c (includes): Re-add "openat.h", for
23030         openat_needs_fchdir.
23031
23032         faccessat: new module
23033         * modules/faccessat: New file.
23034         * lib/faccessat.c: Likewise.
23035         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
23036         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23037         * modules/unistd (Makefile.am): Use it.
23038         * lib/unistd.in.h (faccessat): Declare it.
23039         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
23040         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
23041         * MODULES.html.sh (File system functions): Mention it.
23042         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
23043         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
23044
23045         euidaccess: prefer POSIX over non-standard implementation
23046         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
23047         * lib/euidaccess.c (euidaccess): Use it if available.
23048
23049         openat: make template easier to use
23050         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
23051         AT_FUNC_F2 to be undefined.
23052         (VALIDATE_FLAG): New macro; use it to reject bad flags.
23053         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
23054         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
23055         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
23056         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
23057         Likewise.
23058         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
23059         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
23060         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
23061         Likewise.
23062
23063         openat: declare in POSIX headers
23064         * NEWS: Mention this.
23065         * modules/openat (configure.ac): Declare witnesses.
23066         (Depends-on): Add fcntl-h, sys_stat, unistd.
23067         (Include): Mention correct headers.
23068         * modules/fcntl-h (Depends-on): Add link-warning.
23069         (Files): Add openat.m4.
23070         (Makefile.am): Substitute witnesses.
23071         * modules/sys_stat (Files, Makefile.am): Likewise.
23072         * modules/unistd (Files, Makefile.am): Likewise.
23073         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
23074         (gl_OPENAT_DEFAULTS): New macro.
23075         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
23076         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
23077         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
23078         (SYS_STAT_H): Remove unused variable.
23079         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
23080         * lib/fcntl--.h (includes): Remove unneeded header.
23081         * lib/openat-safer.c (includes): Likewise.
23082         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
23083         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
23084         appropriate headers.
23085         (__OPENAT_PREFIX): Delete.
23086         * lib/fcntl.in.h (openat): Provide declaration.
23087         (AT_FDCWD): Fix Solaris bug.
23088         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
23089         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
23090         * lib/fchmodat.c (includes):  Adjust to find declaration.
23091         * lib/fchownat.c (includes): Likewise.
23092         * lib/mkdirat.c (includes): Likewise.
23093         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
23094         still visible.
23095
23096 2009-09-02  Eric Blake  <ebb9@byu.net>
23097
23098         errno: use consistently
23099         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
23100         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
23101         * lib/canonicalize.c (ELOOP): Likewise.
23102         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
23103         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
23104         * lib/lchown.c (EOPNOTSUPP): Likewise.
23105         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
23106         * lib/savewd.c (ESTALE): Likewise.
23107         * lib/settime.c (ENOSYS): Likewise.
23108         * lib/utimens.c (ENOSYS): Likewise.
23109         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
23110         * lib/chdir-safer.c (ELOOP): Likewise.
23111         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
23112         * modules/c-stack (Depends-on): Add errno.
23113         * modules/canonicalize (Depends-on): Likewise.
23114         * modules/chdir-safer (Depends-on): Likewise.
23115         * modules/fdopendir (Depends-on): Likewise.
23116         * modules/inet_ntop (Depends-on): Likewise.
23117         * modules/inet_pton (Depends-on): Likewise.
23118         * modules/lchown (Depends-on): Likewise.
23119         * modules/openat (Depends-on): Likewise.
23120         * modules/savewd (Depends-on): Likewise.
23121         * modules/settime (Depends-on): Likewise.
23122         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
23123
23124         fts: avoid leaking fds
23125         * modules/fts (Depends-on): Add cloexec.
23126         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
23127         flag.
23128
23129         fts: make directory fds more robust
23130         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
23131         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
23132
23133         backupfile, chdir-long, fts, savedir: make safer
23134         * lib/backupfile.c (includes): Use "dirent--.h", since
23135         numbered_backup can write to stderr during readdir.
23136         * lib/savedir.c (includes): Likewise.
23137         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
23138         emulation can write to stderr on failure.
23139         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
23140         * lib/getcwd.c: Document why opendir_safer is unused.
23141         * lib/glob.c: Likewise.
23142         * lib/scandir.c: Likewise.
23143         * lib/openat-proc.c: Likewise, for open_safer.
23144         * modules/backupfile (Depends-on): Add dirent-safer.
23145         * modules/savedir (Depends-on): Likewise.
23146         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
23147         * modules/chdir-long (Depends-on): Add openat-safer.
23148
23149         openat-safer: new module
23150         * modules/openat-safer: New file.
23151         * lib/openat-safer.c: Likewise.
23152         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
23153         * lib/fcntl-safer.h (openat_safer): Declare.
23154         * lib/fcntl--.h (openat): Override.
23155         * MODULES.html.sh (File descriptor based I/O): Mention it.
23156         * lib/openat.h: Add double-inclusion guards.
23157         * lib/openat.c (includes): Only include "fcntl-safer.h", not
23158         "fcntl--.h", so we can implement openat.
23159         * modules/openat-safer-tests: New test.
23160         * tests/test-openat-safer.c: New file.
23161
23162         dirent-safer: new module
23163         * modules/dirent-safer: New file.
23164         * lib/dirent--.h: Likewise.
23165         * lib/dirent-safer.h: Likewise.
23166         * lib/opendir-safer.c: Likewise.
23167         * m4/dirent-safer.m4: Likewise.
23168         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
23169         * modules/dirent-safer-tests: New test.
23170         * tests/test-dirent-safer.c: New file.
23171         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
23172
23173         fdopendir: optimize on mingw
23174         * lib/unistd.in.h (_gl_directory_name): New prototype.
23175         * lib/fchdir.c (_gl_directory_name): Implement it.
23176         (fchdir): Use it to simplify implementation.
23177         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
23178         fchdir, when available, to avoid calling [f]chdir().
23179
23180         fdopendir: split into its own module
23181         * lib/openat.c (fdopendir): Move...
23182         * lib/fdopendir.c: ...into new file.
23183         * modules/fdopendir: New module.
23184         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
23185         * modules/openat (Depends-on): Add fdopendir.
23186         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
23187         fdopendir here.
23188         * modules/savedir (Depends-on): Only need fdopendir, not full
23189         openat.
23190         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
23191         * lib/openat.h (fdopendir): Drop prototype.
23192         * lib/dirent.in.h (fdopendir): Provide prototype.
23193         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
23194         * modules/dirent (Makefile.am): Substitute them.
23195         * MODULES.html.sh (File system functions): Mention it.
23196         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
23197         * modules/fdopendir-tests: New file.
23198         * tests/test-fdopendir.c: Likewise.
23199
23200         fchdir: use more consistent macro convention
23201         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
23202         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
23203         REPLACE_FCHDIR, rather than relying on config.h macros.
23204         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
23205         inside a single make-time REPLACE_FCHDIR block, rather than using
23206         the config.h FCHDIR_REPLACEMENT.
23207         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
23208         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
23209         Manage fstat replacement.
23210         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
23211         REPLACE_FCHDIR.
23212         * modules/sys_stat (Files): Add m4/unistd_h.m4.
23213         (Makefile.am): Substitute REPLACE_FCHDIR.
23214         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
23215         FCHDIR_REPLACEMENT.
23216         * lib/dup-safer.c (dup_safer): Likewise.
23217         * lib/dup2.c (rpl_dup2): Likewise.
23218         * lib/dup3.c (rpl_dup3): Likewise.
23219         * lib/open.c (rpl_open): Likewise.
23220
23221         fchdir: simplify error handling, and support dup3
23222         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
23223         stdbool, malloc-posix, realloc-posix.
23224         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
23225         (ensure_dirs_slot): Return false on allocation failure.
23226         (rpl_dup2): Delete.
23227         (_gl_register_dup): New function.
23228         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
23229         (_gl_register_fd): Close fd on allocation failure.
23230         * lib/fcntl.in.h (_gl_register_fd): Update signature.
23231         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
23232         prototype.
23233         (rpl_dup2_fchdir): Delete prototype.
23234         * lib/open.c (open): Update caller.
23235         * lib/dup2.c (dup2): Track fchdir metadata.
23236         * lib/dup3.c (dup3): Likewise.
23237         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
23238         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
23239
23240 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23241
23242         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
23243         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
23244         don't pass arguments to AC_OUTPUT.
23245
23246 2009-09-02  Bruno Haible  <bruno@clisp.org>
23247
23248         * modules/mkdtemp (License): Relicense under LGPLv2+.
23249         Reported by Paolo Bonzini.
23250
23251 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23252
23253         Replace uses of obsolete autoconf macros in Jim's modules.
23254         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
23255         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
23256         can evoke a warning from autoconf when run with -Wobsolete
23257         enabled.  They were declared obsolete for good reasons (see
23258         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
23259         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
23260         should not continue using the deprecated macros.
23261         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
23262         obsolete Autoconf macros with modern counterparts.
23263         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
23264         * m4/dos.m4 (gl_AC_DOS): Likewise.
23265         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
23266         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
23267         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
23268         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
23269         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
23270         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
23271         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
23272         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
23273         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
23274         Likewise.
23275         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
23276         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23277         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
23278         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
23279         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
23280         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
23281
23282 2009-09-01  Eric Blake  <ebb9@byu.net>
23283
23284         fchdir: fix off-by-one bug in previous patch
23285         * lib/fchdir.c (rpl_fstat): Use correct bounds.
23286         (_gl_unregister_fd): Delete useless if.
23287
23288 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
23289
23290         maint.mk: sort the list of syntax-check rules
23291         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
23292         easier to get a sense of progress when the rules are run sequentially
23293         and take a long time.
23294
23295 2009-09-01  Simon Josefsson  <simon@josefsson.org>
23296
23297         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
23298         * modules/netinet_in: Likewise.
23299         * modules/sys_file: Likewise.
23300         * modules/sys_ioctl: Likewise.
23301         * modules/sys_select: Likewise.
23302         * modules/sys_socket: Likewise.
23303         * modules/sys_stat: Likewise.
23304         * modules/sys_time: Likewise.
23305         * modules/sys_times: Likewise.
23306         * modules/sys_utsname: Likewise.
23307         * modules/sys_wait: Likewise.
23308
23309 2009-09-01  Jim Meyering  <meyering@redhat.com>
23310
23311         fts: help ensure that return values are not ignored
23312         * lib/fts_.h (__GNUC_PREREQ): Define.
23313         (__attribute_warn_unused_result__): Define.
23314         (fts_children, fts_close, fts_open, fts_read): Declare with
23315         __attribute_warn_unused_result__.
23316
23317         fts: fts_close now fails also when closing a dir file descriptor fails
23318         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
23319         and propagate to caller, along with errno.
23320
23321         announce-gen: correct formatting in --help output
23322         * build-aux/announce-gen (usage): Move the one-line description in
23323         --help output "up", to where it belongs, just after Usage:.
23324
23325 2009-08-31  Eric Blake  <ebb9@byu.net>
23326
23327         fchdir: port to mingw
23328         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
23329         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
23330         opened, then use a substitute.
23331         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
23332         replacement.
23333         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
23334         (_gl_register_fd): No need to check stat if open already filters
23335         all directories.
23336         (fchdir): Fix error condition to match POSIX.
23337         * modules/fchdir (Depends-on): Add sys_stat.
23338         * doc/posix-functions/open.texi (open): Document the limitation.
23339         * modules/fchdir-tests: New file.
23340         * tests/test-fchdir.c: Likewise.
23341
23342         canonicalize: allow cross-testing from cygwin to mingw
23343         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
23344         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
23345         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
23346         Likewise.
23347         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
23348         target does not support symlinks.
23349         * tests/test-canonicalize-lgpl.sh: Likewise.
23350
23351         chown: avoid compilation warning on mingw
23352         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
23353         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
23354         mingw.
23355         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
23356         * modules/chown (Depends-on): Add errno.
23357
23358 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23359
23360         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
23361         command.
23362
23363 2009-08-31  Jim Meyering  <meyering@redhat.com>
23364
23365         canonicalize: remove useless initialization
23366         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
23367         initialization of local, "end".
23368
23369 2009-08-30  Bruno Haible  <bruno@clisp.org>
23370
23371         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
23372         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
23373         ENOSYS.
23374
23375 2009-08-30  Bruno Haible  <bruno@clisp.org>
23376
23377         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
23378         /usr/xpg4/bin/tr when it exists.
23379         * tests/test-pipe-filter-gi1.sh: Likewise.
23380
23381 2009-08-30  Bruno Haible  <bruno@clisp.org>
23382
23383         Work around deficient /usr/bin/id program on Solaris.
23384         * tests/test-file-has-acl.sh (ID): New variable.
23385         * tests/test-set-mode-acl.sh (ID): Likewise.
23386         * tests/test-copy-acl.sh (ID): Likewise.
23387         * tests/test-copy-file.sh (ID): Likewise.
23388
23389 2009-08-30  Bruno Haible  <bruno@clisp.org>
23390
23391         New module 'xstriconveh'.
23392         * lib/xstriconveh.h: New file.
23393         * lib/xstriconveh.c: New file.
23394         * modules/xstriconveh: New file.
23395
23396 2009-08-30  Bruno Haible  <bruno@clisp.org>
23397
23398         Make it easier to use mem_cd_iconveh.
23399         * lib/striconveh.h (iconveh_t): New type.
23400         (iconveh_open, iconveh_close): New declarations.
23401         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
23402         with a single 'const iconveh_t *' argument.
23403         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
23404         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
23405         with a single 'const iconveh_t *' argument.
23406         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
23407         * tests/test-striconveh.c (main): Update.
23408         * NEWS: Mention the change.
23409
23410 2009-08-30  Bruno Haible  <bruno@clisp.org>
23411
23412         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
23413         problem.
23414
23415 2009-08-30  Bruno Haible  <bruno@clisp.org>
23416
23417         Work around iconv_open problem on Solaris.
23418         * lib/iconv_open-solaris.gperf: New file.
23419         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
23420         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
23421         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
23422         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
23423         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
23424         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
23425
23426 2009-08-29  Jim Meyering  <meyering@redhat.com>
23427
23428         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
23429         * top/maint.mk (cvs-check): Remove target; it was just an alias
23430         to the better-named vc-diff-check.
23431         (maintainer-distcheck): Remove rule.  It was used only from
23432         the (alpha/beta/major) target, and all of its commands but one
23433         were coreutils-specific.
23434         (vc-dist): Remove rule.
23435         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
23436         Run vc-diff-check, not vc-dist.
23437         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
23438
23439 2009-08-27  Bruno Haible  <bruno@clisp.org>
23440
23441         * tests/test-bitrotate.c (main): Remove test that uses a shift count
23442         of 0.
23443
23444 2009-08-27  Bruno Haible  <bruno@clisp.org>
23445
23446         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
23447         compilers.
23448         * doc/func.texi: Document the SunPRO C bug.
23449
23450 2009-08-27  Bruno Haible  <bruno@clisp.org>
23451
23452         Fix link error on Solaris.
23453         * tests/test-parse-duration.c (xstrdup): Remove function.
23454
23455 2009-08-26  Pádraig Brady  <P@draigbrady.com>
23456
23457         ignore-value: handle pointer types, too
23458         * lib/ignore-value.h (__attribute__): Remove definition.
23459         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
23460         of a more concise and more-often effective "(void) i" statement.
23461         (ignore_ptr): New function to suppress warnings from functions that
23462         return pointers, and to make it explicit that one function doesn't
23463         handle all cases.
23464
23465 2009-08-25  Bruno Haible  <bruno@clisp.org>
23466
23467         dup2: work around a Linux bug.
23468         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
23469         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
23470         * doc/posix-functions/dup2.texi: Mention the Linux bug.
23471         Reported by Simon Josefsson.
23472
23473 2009-08-25  Jim Meyering  <meyering@redhat.com>
23474
23475         libguestfs uses gnulib
23476         * users.txt: Add libguestfs.
23477
23478 2009-08-24  Eric Blake  <ebb9@byu.net>
23479
23480         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
23481         * lib/pipe2.c (includes): Add binary-io.h.
23482         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
23483
23484 2009-08-24  Bruno Haible  <bruno@clisp.org>
23485
23486         Tolerate declared but missing accept4 syscall.
23487         * lib/accept4.c (accept4): Invoke original accept4 function first, if
23488         available.
23489         * lib/sys_socket.in.h (accept4): If the function is already present,
23490         override it.
23491         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
23492         * modules/accept4 (Makefile.am): Compile accept4.c always.
23493         Reported by Paolo Bonzini and Eric Blake.
23494
23495 2009-08-23  Bruno Haible  <bruno@clisp.org>
23496
23497         New module 'accept4'.
23498         * lib/sys_socket.in.h (accept4): New declaration.
23499         * lib/accept4.c: New file.
23500         * m4/accept4.m4: New file.
23501         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
23502         GNULIB_ACCEPT4, HAVE_ACCEPT4.
23503         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
23504         HAVE_ACCEPT4.
23505         * modules/accept4: New file.
23506         * doc/glibc-functions/accept4.texi: Mention the new module.
23507
23508 2009-08-24  Jim Meyering  <meyering@redhat.com>
23509
23510         progname: also set global program_invocation_name, when possible
23511         Before this change, a libtool-enabled program that calls glibc's
23512         error function would report the program name as
23513         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
23514         * modules/progname (configure.ac): Check for a declaration of
23515         program_invocation_name.
23516         * lib/progname.c:  Include <errno.h>.
23517         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
23518         Set program_invocation_name.
23519
23520 2009-08-23  Bruno Haible  <bruno@clisp.org>
23521
23522         * lib/dup3.c: Include <string.h>.
23523
23524 2009-08-23  Bruno Haible  <bruno@clisp.org>
23525
23526         * lib/dup3.c (dup3): Test only once whether the system actually exists.
23527         * lib/pipe2.c (pipe2): Likewise.
23528         Suggested by Eric Blake.
23529
23530 2009-08-23  Bruno Haible  <bruno@clisp.org>
23531
23532         Tolerate declared but missing dup3 syscall.
23533         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
23534         * lib/unistd.in.h (dup3): If the function is already present,
23535         override it.
23536         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
23537         * modules/dup3 (Makefile.am): Compile dup3.c always.
23538         Reported by Paolo Bonzini.
23539
23540 2009-08-23  Bruno Haible  <bruno@clisp.org>
23541
23542         Tolerate declared but missing pipe2 syscall.
23543         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
23544         available.
23545         * lib/unistd.in.h (pipe2): If the function is already present,
23546         override it.
23547         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
23548         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
23549         Reported by Paolo Bonzini.
23550
23551 2009-08-23  Bruno Haible  <bruno@clisp.org>
23552
23553         * lib/pipe2.c (pipe2): Move #ifs inside function.
23554
23555 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
23556
23557         quotearg: document limitations of quote_these_too
23558         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
23559         those limitations are created.
23560         * lib/quotearg.h (set_char_quoting): Document that digits and
23561         letters that are special after backslash are not permitted.
23562         (quotearg_char): Cross-reference set_char_quoting documentation.
23563
23564 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
23565
23566         quotearg: implement custom_quoting_style
23567         * lib/quotearg.c: (struct quoting_options): Add left_quote and
23568         right_quote fields.
23569         (set_custom_quoting): New public function.
23570         (quotearg_buffer_restyled): Add left_quote and right_quote
23571         arguments, handle them very much like locale quoting, and update
23572         all uses.
23573         (quotearg_n_custom): New public function.
23574         (quotearg_n_custom_mem): New public function.
23575         (quotearg_custom): New public function.
23576         (quotearg_custom_mem): New public function.
23577         * lib/quotearg.h: Prototype and document new public functions.
23578         (enum quoting_style): For escape_quoting_style and
23579         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
23580         ignored even though they're otherwise like c_quoting_style.
23581         Add custom_quoting_style member and document with comparison to
23582         clocale_quoting_style.
23583         * tests/test-quotearg.c (custom_quotes): New array.
23584         (custom_results): New array.
23585         (main): Extend to test custom quoting.
23586
23587 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
23588
23589         quotearg: fix right quote escaping when it's in quote_these_too
23590         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
23591         quote, be sure to prepend only one backslash.
23592         * tests/test-quotearg.c (use_quote_double_quotes): New function.
23593         (main): Test it.
23594
23595 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
23596
23597         quotearg-tests: test escaping of embedded locale quotes
23598         * tests/test-quotearg.c (struct result_strings): Add member for
23599         new input.
23600         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
23601         (inputs): Add new input.
23602         (results_g): Add expected results.
23603         (flag_results): Likewise.
23604         (locale_results): Likewise.
23605         (compare_strings): Check those.
23606
23607 2009-08-23  Bruno Haible  <bruno@clisp.org>
23608
23609         Tests for module 'dup3'.
23610         * modules/dup3-tests: New file.
23611         * tests/test-dup3.c: New file.
23612
23613         New module 'dup3'.
23614         * lib/unistd.in.h (dup3): New declaration.
23615         * lib/dup3.c: New file.
23616         * m4/dup3.m4: New file.
23617         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
23618         HAVE_DUP3.
23619         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
23620         * modules/dup3: New file.
23621         * doc/glibc-functions/dup3.texi: Mention the new module.
23622
23623 2009-08-23  Bruno Haible  <bruno@clisp.org>
23624
23625         Tweak the dup2 test.
23626         * tests/test-dup2.c (main): Create the test file empty. Verify that an
23627         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
23628         the test file is still empty. Fix argument order of lseek.
23629
23630 2009-08-23  Bruno Haible  <bruno@clisp.org>
23631
23632         Avoid test link errors when the modules getopt-gnu, gettext are used.
23633         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
23634         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23635
23636 2009-08-23  Bruno Haible  <bruno@clisp.org>
23637
23638         Fix getdtablesize() on mingw.
23639         * lib/getdtablesize.c (getdtablesize): Implement differently.
23640         * lib/unistd.in.h (getdtablesize): Improve comment.
23641
23642 2009-08-23  Bruno Haible  <bruno@clisp.org>
23643
23644         New module 'mkostemp'.
23645         Based on Ulrich Drepper's 2007-08-10 change in glibc.
23646         * lib/stdlib.in.h (mksotemp): New declaration.
23647         * lib/mkostemp.c: New file, from glibc with modifications.
23648         * lib/tempname.h (GT_FILE): Remove outdated comment.
23649         (gen_tempname): Add flags argument.
23650         * lib/tempname.c (__GT_BIGFILE): Remove macro.
23651         (__GT_FILE): Map to 1.
23652         (small_open, large_open): Remove macros.
23653         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
23654         * lib/mkstemp.c (mkstemp): Update.
23655         * lib/mkdtemp.c (mkdtemp): Likewise.
23656         * m4/mkostemp.m4: New file.
23657         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
23658         HAVE_MKOSTEMP.
23659         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
23660         HAVE_MKOSTEMP.
23661         * modules/mkostemp: New file, based on modules/mkstemp.
23662         * doc/glibc-functions/mkostemp.texi: Mention the new module.
23663         * NEWS: Mention the change.
23664
23665 2009-08-23  Bruno Haible  <bruno@clisp.org>
23666
23667         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
23668         Reported by Eric Blake.
23669
23670 2009-08-23  Bruno Haible  <bruno@clisp.org>
23671
23672         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
23673         Reported by Eric Blake.
23674
23675 2009-08-23  Bruno Haible  <bruno@clisp.org>
23676
23677         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
23678         * modules/pipe2 (Depends-on): Likewise.
23679
23680 2009-08-23  Eric Blake  <ebb9@byu.net>
23681
23682         fcntl-h: add O_TTY_INIT support
23683         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
23684         * tests/test-fcntl-h.c (o): Test it.
23685         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
23686
23687         fcntl-h: rename from fcntl, in preparation for fcntl(2)
23688         * modules/fcntl: Move <fcntl.h> header replacement...
23689         * modules/fcntl-h: ...to new name, so as not to collide with
23690         like-named function.
23691         * tests/test-fcntl.c: Rename...
23692         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
23693         * modules/fcntl-tests: Rename...
23694         * modules/fcntl-h-tests: ...to this.  Update test file name.
23695         * modules/chdir-long (Depends-on): Update clients.
23696         * modules/chdir-safer (Depends-on): Likewise.
23697         * modules/fcntl-safer (Depends-on): Likewise.
23698         * modules/fts (Depends-on): Likewise.
23699         * modules/mkancesdirs (Depends-on): Likewise.
23700         * modules/mkdir-p (Depends-on): Likewise.
23701         * modules/open (Depends-on): Likewise.
23702         * modules/savewd (Depends-on): Likewise.
23703         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
23704         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
23705
23706 2009-08-22  Bruno Haible  <bruno@clisp.org>
23707
23708         * modules/binary-io (License): Relicense under LGPL.
23709         * modules/pipe2 (License): Likewise.
23710
23711 2009-08-22  Bruno Haible  <bruno@clisp.org>
23712
23713         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
23714         return value.
23715         * lib/pipe-filter-gi.c (filter_init): Likewise.
23716         Reported by Eric Blake.
23717
23718 2009-08-22  Bruno Haible  <bruno@clisp.org>
23719
23720         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
23721         * modules/pipe (Depends-on): Add pipe2.
23722
23723 2009-08-22  Bruno Haible  <bruno@clisp.org>
23724
23725         Tests for module 'pipe2'.
23726         * modules/pipe2-tests: New file.
23727         * tests/test-pipe2.c: New file.
23728
23729         New module 'pipe2'.
23730         * lib/unistd.in.h (pipe2): New declaration.
23731         * lib/pipe2.c: New file.
23732         * m4/pipe2.m4: New file.
23733         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
23734         HAVE_PIPE2.
23735         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
23736         * modules/pipe2: New file.
23737         * doc/glibc-functions/pipe2.texi: Mention the new module.
23738
23739 2009-08-22  Bruno Haible  <bruno@clisp.org>
23740
23741         Reference some new glibc functions.
23742         * doc/glibc-functions/accept4.texi: New file.
23743         * doc/glibc-functions/dup3.texi: New file.
23744         * doc/glibc-functions/mkostemp.texi: New file.
23745         * doc/glibc-functions/pipe2.texi: New file.
23746         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
23747         (Glibc sys/socket.h): Refer to accept4.
23748         (Glibc unistd.h): Refer to dup3, pipe2.
23749         Reported by Eric Blake.
23750
23751 2009-08-22  Jim Meyering  <meyering@redhat.com>
23752             Bruno Haible  <bruno@clisp.org>
23753
23754         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
23755         This makes it so packages using automake-1.11's silent-rules option
23756         can print e.g., a single "GEN    configmake.h" line, rather than
23757         the 30+ statements that perform the job.  If you want to see the
23758         actual commands, you can still run "make V=1".
23759         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
23760         so that make output is abbreviated when those variables are defined
23761         appropriately.
23762         * modules/argz: Likewise.
23763         * modules/arpa_inet: Likewise.
23764         * modules/byteswap: Likewise.
23765         * modules/configmake: Likewise.
23766         * modules/dirent: Likewise.
23767         * modules/errno: Likewise.
23768         * modules/fcntl: Likewise.
23769         * modules/float: Likewise.
23770         * modules/fnmatch: Likewise.
23771         * modules/getopt-posix: Likewise.
23772         * modules/glob: Likewise.
23773         * modules/iconv_open: Likewise.
23774         * modules/inttypes: Likewise.
23775         * modules/localcharset: Likewise.
23776         * modules/locale: Likewise.
23777         * modules/math: Likewise.
23778         * modules/netdb: Likewise.
23779         * modules/netinet_in: Likewise.
23780         * modules/poll: Likewise.
23781         * modules/posix_spawnp-tests: Likewise.
23782         * modules/sched: Likewise.
23783         * modules/search: Likewise.
23784         * modules/selinux-h: Likewise.
23785         * modules/signal: Likewise.
23786         * modules/spawn: Likewise.
23787         * modules/stdarg: Likewise.
23788         * modules/stdbool: Likewise.
23789         * modules/stddef: Likewise.
23790         * modules/stdint: Likewise.
23791         * modules/stdio: Likewise.
23792         * modules/stdlib: Likewise.
23793         * modules/string: Likewise.
23794         * modules/strings: Likewise.
23795         * modules/sys_file: Likewise.
23796         * modules/sys_ioctl: Likewise.
23797         * modules/sys_select: Likewise.
23798         * modules/sys_socket: Likewise.
23799         * modules/sys_stat: Likewise.
23800         * modules/sys_time: Likewise.
23801         * modules/sys_times: Likewise.
23802         * modules/sys_utsname: Likewise.
23803         * modules/sys_wait: Likewise.
23804         * modules/sysexits: Likewise.
23805         * modules/time: Likewise.
23806         * modules/unistd: Likewise.
23807         * modules/wchar: Likewise.
23808         * modules/wctype: Likewise.
23809
23810 2009-08-22  Jim Meyering  <meyering@redhat.com>
23811
23812         announce-gen: detect write failure
23813         * build-aux/announce-gen: Add Coda at end.
23814         Remove equivalent-but-more-verbose block at top.
23815
23816 2009-08-19  Akim Demaille  <demaille@gostai.com>
23817
23818         bootstrap: --help to stdout.
23819         * bootstrap (usage): Don't send --help to stderr.
23820         Use a here doc instead of a long string.
23821
23822 2009-08-21  Eric Blake  <ebb9@byu.net>
23823
23824         test-popen-safer: split from test-popen
23825         * tests/test-popen.c (main): Move...
23826         * tests/test-popen.h: ...into new file.
23827         * tests/test-popen-safer2.c: New file.
23828         * modules/popen-tests (Files): Add test-popen.h.
23829         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
23830         Suggested by Bruno Haible.
23831
23832         test-fcntl-safer: split from test-open
23833         * tests/test-open.c (main): Move...
23834         * tests/test-open.h: ...into new file.
23835         * tests/test-fcntl-safer.c: New file.
23836         * modules/open-tests (Files): Add test-open.h.
23837         * modules/fcntl-safer-tests: New file.
23838         Suggested by Bruno Haible.
23839
23840         test-fopen-safer: split from test-fopen
23841         * tests/test-fopen.c (main): Move...
23842         * tests/test-fopen.h: ...into new file.
23843         * tests/test-fopen-safer.c: New file.
23844         * modules/fopen-tests (Files): Add test-fopen.h.
23845         * modules/fopen-safer-tests: New file.
23846         Suggested by Bruno Haible.
23847
23848 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
23849
23850         popen-safer: test O_CLOEXEC at run-time.
23851         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
23852
23853 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
23854
23855         fcntl: move more flags to the header
23856         * lib/cloexec.c: Do not define FD_CLOEXEC here.
23857         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
23858         * lib/fcntl.in.h: Do both things here.
23859
23860 2009-08-21  Jim Meyering  <meyering@redhat.com>
23861
23862         consistently remove $@-t before redirecting to it
23863         * modules/argz: Remove $@-t and $@ before redirecting to the former.
23864         * modules/alloca-opt: Likewise.
23865         * modules/byteswap: Likewise.
23866         * modules/fnmatch: Likewise.
23867         * modules/getopt-posix: Likewise.
23868         * modules/glob: Likewise.
23869         * modules/poll: Likewise.
23870         * modules/posix_spawnp-tests: Likewise.
23871         * modules/sys_socket: Likewise.
23872         * modules/sysexits: Likewise.
23873
23874 2009-08-21  Eric Blake  <ebb9@byu.net>
23875
23876         popen: simplify access to original popen
23877         * lib/popen.c (rpl_popen): No need to worry about popen being a
23878         macro.
23879         Reported by Bruno Haible.
23880
23881 2009-08-20  Eric Blake  <ebb9@byu.net>
23882
23883         build: avoid some compiler warnings
23884         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
23885         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
23886         type.
23887         (new_exclude_segment, excluded_file_pattern_p)
23888         (excluded_file_name_p): Reduce scope.
23889         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
23890         old-style declaration.
23891
23892 2009-08-20  Simon Josefsson  <simon@josefsson.org>
23893
23894         * tests/test-exclude1.sh: Handle Windows EOL.
23895         * tests/test-exclude2.sh: Likewise.
23896         * tests/test-exclude3.sh: Likewise.
23897         * tests/test-exclude4.sh: Likewise.
23898         * tests/test-exclude5.sh: Likewise.
23899         * tests/test-exclude6.sh: Likewise.
23900         * tests/test-exclude7.sh: Likewise.
23901
23902 2009-08-19  Akim Demaille  <demaille@gostai.com>
23903
23904         bootstrap: find sha1sum when named gsha1sum.
23905         * bootstrap (find_tool): New.
23906         ($SHA1SUM): New.
23907         Use it.
23908
23909 2009-08-20  Jim Meyering  <meyering@redhat.com>
23910
23911         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
23912         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
23913         expression that converts "." in a file name to "\." in the resulting
23914         regexp.  Start with a dummy statement, so that prior shell variable
23915         definitions are expanded portably.  Reported by Simon Josefsson.
23916
23917 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
23918
23919         Fix polling for writeability of a screen buffer.
23920         * lib/poll.c: Distinguish input and screen buffers for the
23921         Win32 implementation.
23922         * lib/select.c: Likewise.
23923
23924 2009-08-19  Eric Blake  <ebb9@byu.net>
23925
23926         popen-safer: prevent popen from clobbering std descriptors
23927         * modules/popen-safer: New file.
23928         * lib/popen-safer.c: Likewise.
23929         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
23930         * lib/stdio--.h (popen): Provide override.
23931         * lib/stdio-safer.h (popen_safer): Provide declaration.
23932         * tests/test-popen.c (includes): Partially test this.
23933         * modules/popen-safer-tests: New file, for more tests.
23934         * tests/test-popen-safer.c: Likewise.
23935         * MODULES.html.sh (file stream based Input/Output): Mention it.
23936
23937         tests: test some of the *-safer modules
23938         * modules/fopen-safer (Depends-on): Add fopen.
23939         * modules/fcntl-safer (Depends-on): Add fcntl.
23940         * modules/stdlib-safer (Depends-on): Add stdlib.
23941         (configure.ac): Set indicator.
23942         * modules/unistd-safer (configure.ac): Likewise.
23943         * modules/tmpfile-safer (configure.ac): Likewise.
23944         (Depends-on): Add tmpfile.
23945         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
23946         active.
23947         * tests/test-fopen.c (includes): Test safer versions when they are
23948         in use.
23949         * tests/test-open.c (includes): Likewise.
23950
23951         popen: fix cygwin 1.5 bug when stdin closed
23952         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
23953         * modules/popen: New file.
23954         * modules/popen-tests: Likewise.
23955         * tests/test-popen.c: Likewise.
23956         * m4/popen.m4: Likewise.
23957         * lib/popen.c: Likewise.
23958         * lib/stdio.in.h (popen): New declaration.
23959         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
23960         * modules/stdio (Makefile.am): Likewise.
23961         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
23962
23963 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
23964
23965         maint.mk: give full control over update-copyright exclusions
23966         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
23967         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
23968         (update-copyright): Don't force inclusion of top-level
23969         ChangeLog.  Don't force exclusion of all COPYING files, but make
23970         them the default exclusion instead.
23971
23972 2009-08-16  Bruno Haible  <bruno@clisp.org>
23973
23974         Fix test failures on Solaris 10.
23975         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
23976         tests when Solaris iconv() is used.
23977         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
23978         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
23979         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
23980         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
23981         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
23982
23983 2009-08-16  Bruno Haible  <bruno@clisp.org>
23984
23985         Fix test failures on Solaris 10.
23986         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
23987         'tr' program and pass it as first argument.
23988         * tests/test-pipe-filter-gi1.sh: Likewise.
23989         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
23990         program as first argument.
23991         * tests/test-pipe-filter-gi1.c (main): Likewise.
23992
23993 2009-08-16  Eric Blake  <ebb9@byu.net>
23994
23995         fpurge: fix previous commits
23996         * modules/fpurge (Makefile.am): Make replacement conditional,
23997         partially reverting 2007-04-29 change; missed in previous
23998         attempt.
23999         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
24000         is missing.
24001
24002 2009-08-16  Bruno Haible  <bruno@clisp.org>
24003
24004         Clarify fpurge's effect on the file position.
24005         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
24006         * tests/test-fpurge.c (main): Make a second pass for checking the file
24007         position.
24008
24009 2009-08-16  Bruno Haible  <bruno@clisp.org>
24010
24011         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
24012         declaration of fpurge is missing.
24013         * tests/test-fpurge.c (main): Check that the file has not more contents
24014         than expected. Close the file before removing it.
24015
24016 2009-08-15  Eric Blake  <ebb9@byu.net>
24017
24018         fpurge: don't wrap working cygwin implementation
24019         * lib/fpurge.c (fpurge): Fix comment typo.
24020         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
24021         1.7 to avoid replacement.
24022         * tests/test-fpurge.c (main): Enhance test.
24023
24024 2009-08-15  Eric Blake  <ebb9@byu.net>
24025         and Jim Meyering  <meyering@redhat.com>
24026
24027         test-update-copyright: skip if perl is insufficient
24028         * tests/test-update-copyright.sh: Failure to run maintainer tool
24029         should not cause testsuite failure on cygwin 1.5.
24030
24031 2009-08-14  Eric Blake  <ebb9@byu.net>
24032
24033         doc: mention more functions added in cygwin 1.7.0
24034         * doc/posix-headers/limits.texi (limits.h): Update for recent
24035         cygwin additions.
24036         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
24037         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
24038         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
24039         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
24040         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
24041
24042 2009-08-14  Eric Blake  <ebb9@byu.net>
24043
24044         maint.mk: simplify update-copyright rule
24045         * top/maint.mk (update-copyright-local): Delete, and document how
24046         to do it in cfg.mk instead.
24047         (update-copyright-exclude-regexp): Delete, and document how to do
24048         it in .x-update-copyright instead.
24049         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
24050         exclude ChangeLog.
24051
24052 2009-08-14  Bruno Haible  <bruno@clisp.org>
24053
24054         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
24055
24056 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
24057
24058         maint.mk: support update-copyright-env
24059         * top/maint.mk (update-copyright-env): Define place-holder.
24060         (update-copyright): Expand $(update-copyright-env) before
24061         invoking update-copyright.
24062
24063 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
24064
24065         update-copyright: implement forced reformatting
24066         * build-aux/update-copyright: Implement and document
24067         UPDATE_COPYRIGHT_FORCE.
24068         * tests/test-update-copyright.sh: Test it.
24069
24070 2009-08-14  Eric Blake  <ebb9@byu.net>
24071         and Bruno Haible  <bruno@clisp.org>
24072
24073         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
24074         * tests/test-locale.c: Revert previous patch related to NULL.
24075         * tests/test-stdio.c: Likewise.
24076         * tests/test-stdlib.c: Likewise.
24077         * tests/test-string.c: Likewise.
24078         * tests/test-unistd.c: Likewise.
24079         * modules/time-tests (Depends-on): Add verify.
24080         * modules/wchar-tests (Depends-on): Likewise.
24081         * tests/test-time.c: Test for NULL compliance.
24082         * tests/test-wchar.c: Likewise.
24083         * modules/locale (Depends-on): Add stddef.
24084         * modules/stdio (Depends-on): Likewise.
24085         * modules/stdlib (Depends-on): Likewise.
24086         * modules/string (Depends-on): Likewise.
24087         * modules/time (Depends-on): Likewise.
24088         * modules/unistd (Depends-on): Likewise.
24089         * modules/wchar (Depends-on): Likewise.
24090         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
24091         * lib/stdlib.in.h (includes): Likewise.
24092         * lib/string.in.h (includes): Likewise.
24093         * lib/time.in.h (includes): Likewise.
24094         * lib/unistd.in.h (includes): Likewise.
24095         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
24096         replaced.
24097         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
24098         * m4/stddef_h.m4: New file.
24099         * modules/stddef: Likewise.
24100         * lib/stddef.in.h: Likewise.
24101         * modules/stddef-tests: Likewise.
24102         * tests/test-stddef.c: Likewise.
24103         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
24104         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
24105         * doc/posix-headers/locale.texi (locale.h): Likewise.
24106         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
24107         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24108         * doc/posix-headers/string.texi (string.h): Likewise.
24109         * doc/posix-headers/time.texi (time.h): Likewise.
24110         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
24111         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
24112
24113 2009-08-14  Eric Blake  <ebb9@byu.net>
24114
24115         doc: improve git diff of texinfo files
24116         * .gitattributes: Add rule for *.texi files, with hint on how to
24117         use it.
24118         Copied from m4, and based on a report by Bruno Haible.
24119
24120 2009-08-14  Bruno Haible  <bruno@clisp.org>
24121
24122         Disable multithread support by default on Cygwin 1.5.x for real.
24123         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
24124
24125 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
24126
24127         update-copyright: much ado about intervals
24128         * build-aux/update-copyright: Implement and document
24129         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
24130         of copyright year intervals.
24131         Also, document UPDATE_COPYRIGHT_YEAR.
24132         * tests/test-update-copyright.sh: Test it.
24133
24134         update-copyright: convert 2-digit to 4-digit years
24135         * build-aux/update-copyright: Implement and document.
24136         * tests/test-update-copyright.sh: Update.
24137
24138 2009-08-14  Jim Meyering  <meyering@redhat.com>
24139
24140         test-exclude: avoid coreutils "make check" failure
24141         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
24142         just as in test-argmatch.c.
24143
24144 2009-08-13  Eric Blake  <ebb9@byu.net>
24145
24146         test-dup2: fix bad assumption
24147         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
24148         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
24149
24150         test-version-etc: fix CRLF portability issue
24151         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
24152         recognize \r.
24153         * tests/test-argp-version-etc-1.sh: Likewise.
24154
24155         getopt: update client modules
24156         * modules/argp (Depends-on): Use getopt-gnu.
24157         * modules/git-merge-changelog (Depends-on): Likewise.
24158         * modules/long-options (Depends-on): Likewise.
24159         * modules/xstrtol (Depends-on): Likewise.
24160
24161 2009-08-13  Simon Josefsson  <simon@josefsson.org>
24162
24163         * tests/test-version-etc.sh: Don't fail on different
24164         project/version.  Don't fail on CRLF differences.  Rewrite to use
24165         multiple -e instead of multiple sed forks, suggested by Eric Blake
24166         <ebb9@byu.net>.
24167         * tests/test-argp-version-etc-1.sh: Likewise.
24168
24169 2009-08-13  Simon Josefsson  <simon@josefsson.org>
24170
24171         * tests/test-version-etc.sh: Don't fail on different
24172         project/version.
24173
24174 2009-08-12  Bruno Haible  <bruno@clisp.org>
24175
24176         Tests for modules 'getopt-posix', 'getopt-gnu'.
24177         * modules/getopt-posix-tests: New file.
24178         * tests/test-getopt.c: New file.
24179         * tests/test-getopt.h: New file.
24180         * tests/test-getopt_long.h: New file.
24181
24182         New modules 'getopt-posix', 'getopt-gnu'.
24183         * modules/getopt-gnu: New file, renamed from modules/getopt.
24184         * modules/getopt-posix: New file.
24185         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
24186         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
24187         (gl_GETOPT): Remove macro.
24188         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
24189         Disable the test against BSD systems that declare optreset. Test
24190         against mingw bug. Test against lack of support of optional arguments
24191         on many platforms.
24192         * doc/glibc-headers/getopt.texi: Update module name and list of
24193         relevant platforms.
24194         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
24195         'getopt-gnu' and more portability problems.
24196         * NEWS: Mention the changes.
24197
24198 2009-08-12  Bruno Haible  <bruno@clisp.org>
24199
24200         Ensure that optarg etc. get declared by <unistd.h>.
24201         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
24202         AC_USE_SYSTEM_EXTENSIONS.
24203         * modules/getopt (Depends-on): Add 'extensions'.
24204
24205 2009-08-12  Bruno Haible  <bruno@clisp.org>
24206
24207         Avoid test link errors.
24208         * modules/pipe-filter-ii-tests (Makefile.am): Define
24209         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
24210         * modules/pipe-filter-gi-tests (Makefile.am): Define
24211         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
24212         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24213
24214 2009-08-12  Bruno Haible  <bruno@clisp.org>
24215
24216         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
24217         gl_GETOPT_SUBSTITUTE before.
24218         (gl_GETOPT): Use it.
24219         * m4/argp.m4 (gl_ARGP): Update.
24220         Reported by Sergey Poznyakoff.
24221
24222         * m4/getopt.m4: Reorder macros.
24223         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
24224         (gl_GETOPT_SUBSTITUTE): Remove macro.
24225
24226 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
24227
24228         Minor improvement in gitlog-to-changelog
24229
24230         * build-aux/gitlog-to-changelog: New option `--format' makes
24231         output format string configurable.
24232
24233 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
24234
24235         Optimize exclude: use hash tables for non-wildcard patterns.
24236
24237         * lib/exclude.c: Include hash.h and mbuiter.h
24238         (struct exclude_pattern, exclude_segment): New data types.
24239         (struct exclude): Rewrite.
24240         (fnmatch_pattern_has_wildcards): New function.
24241         (new_exclude_segment, free_exclude_segment): New functions.
24242         (excluded_file_pattern_p, excluded_file_name_p): New functions.
24243         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
24244         * lib/exclude.h (is_fnmatch_pattern): New prototype.
24245         * modules/exclude: Depend on hash and mbuiter.
24246
24247         * modules/exclude-tests: New file.
24248         * tests/test-exclude.c: New file.
24249         * tests/test-exclude1.sh: New file.
24250         * tests/test-exclude2.sh: New file.
24251         * tests/test-exclude3.sh: New file.
24252         * tests/test-exclude4.sh: New file.
24253         * tests/test-exclude5.sh: New file.
24254         * tests/test-exclude6.sh: New file.
24255         * tests/test-exclude7.sh: New file.
24256
24257 2009-08-12  Bruno Haible  <bruno@clisp.org>
24258
24259         Ensure that getopt() gets declared by <unistd.h>.
24260         * lib/unistd.in.h: Conditionally include getopt.h.
24261         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
24262         Set GNULIB_UNISTD_H_GETOPT.
24263         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24264         GNULIB_UNISTD_H_GETOPT.
24265         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
24266
24267 2009-08-12  Bruno Haible  <bruno@clisp.org>
24268
24269         Clarify logic.
24270         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
24271         gl_replace_getopt instead of GETOPT_H.
24272
24273 2009-08-12  Bruno Haible  <bruno@clisp.org>
24274
24275         * m4/getopt.m4: Add comments.
24276
24277 2009-08-12  Bruno Haible  <bruno@clisp.org>
24278
24279         Disable multithread support by default on Cygwin 1.5.x.
24280         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
24281         set gl_use_threads=no if not specified otherwise.
24282
24283 2009-08-11  Bruno Haible  <bruno@clisp.org>
24284
24285         Avoid compilation error on NetBSD 5.0.
24286         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
24287         * tests/test-stdio.c: Likewise.
24288         * tests/test-stdlib.c: Likewise.
24289         * tests/test-string.c: Likewise.
24290         * tests/test-unistd.c: Likewise.
24291         Reported by Greg Troxel <gdt@ir.bbn.com>
24292         at <https://savannah.gnu.org/support/?106973>.
24293
24294 2009-08-11  Bruno Haible  <bruno@clisp.org>
24295
24296         * modules/dup2-tests (Depends-on): Remove close.
24297
24298         Undo 2009-07-19 commit.
24299         * modules/acl-tests (Depends-on): Remove close.
24300         * modules/binary-io-tests (Depends-on): Likewise.
24301         * modules/closein-tests (Depends-on): Likewise.
24302         * modules/flock-tests (Depends-on): Likewise.
24303         * modules/fsync-tests (Depends-on): Likewise.
24304         * modules/lseek-tests (Depends-on): Likewise.
24305         * modules/pipe-tests (Depends-on): Likewise.
24306         * modules/posix_spawn-tests (Depends-on): Likewise.
24307         * modules/posix_spawnp-tests (Depends-on): Likewise.
24308         * modules/stat-time-tests (Depends-on): Likewise.
24309         * modules/yesno-tests (Depends-on): Likewise.
24310
24311 2009-08-10  Bruno Haible  <bruno@clisp.org>
24312
24313         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
24314
24315 2009-08-10  Bruno Haible  <bruno@clisp.org>
24316
24317         Fix a gcc warning.
24318         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
24319
24320 2009-08-10  Bruno Haible  <bruno@clisp.org>
24321
24322         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
24323         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
24324         not only the first time.
24325         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
24326         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
24327         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
24328         is 1, not only the the first time.
24329
24330 2009-08-10  Bruno Haible  <bruno@clisp.org>
24331
24332         Make it possible to use module 'gethostname' without module 'close'.
24333         * lib/unistd.in.h (close): Evoke a link error only if
24334         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
24335         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24336         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24337         * modules/unistd (Makefile.am): Substitute
24338         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24339         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
24340         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
24341         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
24342         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24343         * modules/sys_ioctl (Makefile.am): Substitute
24344         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24345         * modules/socket (configure.ac): On native Windows, set
24346         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
24347         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24348         Reported by Sam Steingold <sds@gnu.org>.
24349
24350 2009-08-10  Bruno Haible  <bruno@clisp.org>
24351
24352         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
24353         * modules/ioctl (configure.ac): Likewise.
24354
24355 2009-08-10  Bruno Haible  <bruno@clisp.org>
24356
24357         Avoid collision between gnulib wrapper and libintl wrapper.
24358         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
24359         already defined in intl/printf.c.
24360         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
24361         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
24362
24363 2009-08-09  Bruno Haible  <bruno@clisp.org>
24364
24365         Make <sys/select.h> really self-contained, also on Solaris 10.
24366         * lib/sys_select.in.h: Include <string.h>.
24367         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
24368         Solaris 10 problem.
24369         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
24370         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
24371         Reported by Jim Meyering.
24372
24373 2009-08-09  Bruno Haible  <bruno@clisp.org>
24374
24375         Avoid warnings from 'aclocal' that are due to a use of macro name
24376         AM_XGETTEXT_OPTION that is not defined in automake.
24377         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
24378         automake.
24379         * modules/error (configure.ac): Likewise.
24380         * modules/propername (configure.ac): Likewise.
24381         * modules/vasprintf (configure.ac): Likewise.
24382         * modules/verror (configure.ac): Likewise.
24383         * modules/xprintf (configure.ac): Likewise.
24384         * modules/xvasprintf (configure.ac): Likewise.
24385
24386 2009-08-08  Bruno Haible  <bruno@clisp.org>
24387
24388         Avoid compilation error in C++ mode.
24389         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
24390         Reported by Sam Steingold <sds@gnu.org>.
24391
24392 2009-08-08  Bruno Haible  <bruno@clisp.org>
24393
24394         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
24395         for the various Unix platforms.
24396         * doc/posix-headers/limits.texi: Update platforms list regarding
24397         HOST_NAME_MAX.
24398         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24399
24400 2009-08-07  Jim Meyering  <meyering@redhat.com>
24401
24402         selinux-at: fix typo in a comment
24403         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
24404         Spotted by Paolo Bonzini.
24405
24406         selinux-at: remove redundant m4 code, add documentation
24407         * modules/selinux-at (configure.ac): Remove redundant code.
24408         LIB_SELINUX is already set via the dependent module, selinux-h.
24409         (Include): Add quotes around selinux-at.h.
24410         * lib/selinux-at.h: Add documentation.
24411         Reported by Bruno Haible in
24412         http://marc.info/?l=gnulib-bug&m=124958988300749
24413
24414 2009-08-07  Bruno Haible  <bruno@clisp.org>
24415
24416         Avoid link error on MacOS X 10.3 and 10.4.
24417         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
24418         on non-ELF systems.
24419         * lib/argp-pv.c (argp_program_version): Likewise.
24420         Reported by Simon Josefsson.
24421
24422 2009-08-07  Simon Josefsson  <simon@josefsson.org>
24423
24424         * tests/test-version-etc.sh: Use $EXEEXT.
24425
24426 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
24427
24428         update-copyright: update documentation to point to maint.mk
24429         * build-aux/update-copyright: Here.
24430
24431 2009-08-06  Jim Meyering  <meyering@redhat.com>
24432
24433         maint.mk: support update-copyright-local
24434         * top/maint.mk (update-copyright-local): Define place-holder.
24435         (update-copyright): Depend on $(update-copyright-local).
24436
24437 2009-08-06  Jim Meyering  <meyering@redhat.com>
24438
24439         selinux-at: new module
24440         Initially written for coreutils, this module will soon be
24441         used by findutils, too.
24442         * MODULES.html.sh [Misc]: Add selinux-at.
24443         * lib/selinux-at.h: New file, from coreutils.
24444         * lib/selinux-at.c: Likewise.
24445         * modules/selinux-at: Likewise.
24446         (License): Change from LGPL to GPL, since it depends
24447         on the GPL'd openat module.
24448
24449         doc: update README
24450         * README: Remove references to cogito.
24451         Remove cvs-repo-updating instructions from 2007.
24452         Don't imply that CVS is better if you have limited disk space.
24453
24454 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
24455
24456         update-copyright: support C-style comments
24457         * build-aux/update-copyright: Implement and document.
24458         * tests/test-update-copyright.sh: Test.
24459
24460 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
24461
24462         update-copyright: support omitted "(C)"
24463         * build-aux/update-copyright: Implement and document.  Also,
24464         allow variable whitespace before "(C)".
24465         * tests/test-update-copyright.sh: Test.
24466
24467 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
24468
24469         update-copyright: don't trip on non-FSF copyright statements
24470         * build-aux/update-copyright: Fix so that the first correctly
24471         formatted FSF copyright statement is recognized no matter what
24472         appears before it.  Update documentation.
24473         * tests/test-update-copyright.sh: Test that.
24474
24475 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
24476
24477         update-copyright: clean up code a little
24478         * build-aux/update-copyright: Append "_re" to the name of any
24479         variable holding a regular expression.
24480         Replace "old" and "new" with "stmt" in variable names.
24481         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
24482         handled correctly.
24483         Format code more consistently.
24484
24485 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
24486
24487         update-copyright-tests: improve portability
24488         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
24489         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
24490
24491 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
24492
24493         update-copyright: support @copyright{} and &copy;
24494         * build-aux/update-copyright: Implement and document.
24495         * tests/test-update-copyright.sh: Test.
24496
24497 2009-08-04  Jim Meyering  <meyering@redhat.com>
24498
24499         update-copyright-tests: correctly test EOL=\r\n handling
24500         * tests/test-update-copyright.sh: Put \r at the end of some lines
24501         for the dos-eol tests.  Based on a patch by Joel E. Denny.
24502
24503         maint.mk: make update-copyright exclusion list more configurable
24504         * top/maint.mk (update-copyright): Default to excluding COPYING,
24505         but allow an override, in case someone does want to update that file.
24506
24507         maint.mk: don't update copyright date in COPYING
24508         * top/maint.mk (update-copyright): Exclude COPYING.
24509
24510         maint.mk: add a copyright-updating rule
24511         * top/maint.mk (update-copyright): New rule.
24512         Derived from coreutils/Makefile.am.
24513
24514         update-copyright: rename some variables
24515         * build-aux/update-copyright: Rename a few variables for clarity.
24516         Tweak syntax.  List Joel E. Denny as coauthor.
24517
24518 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
24519
24520         update-copyright: fix bug for 2-digit last year and add tests
24521         * build-aux/update-copyright: Fix bug.
24522         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
24523         specified.
24524         * modules/update-copyright-tests: New
24525         * tests/test-update-copyright.sh: New.
24526
24527 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
24528
24529         update-copyright: handle leading tabs in line prefix
24530         * build-aux/update-copyright: Count leading tabs as 8 spaces
24531         when computing margin.  This helps with the formatting of
24532         ChangeLogs, for example.
24533         Fix documentation a little.
24534
24535 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
24536
24537         update-copyright: support EOL=\r\n
24538         * build-aux/update-copyright: Implement that.
24539
24540 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
24541
24542         update-copyright: automatically format copyright statements
24543         * build-aux/update-copyright: Implement that.
24544         Also, be a little more predictable and safer by always failing
24545         when the full copyright format is not perfectly recognized as an
24546         unbroken whole.  Discussed at
24547         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
24548         Rewrite documentation.
24549
24550 2009-08-03  Bruno Haible  <bruno@clisp.org>
24551
24552         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
24553
24554 2009-08-02  Bruno Haible  <bruno@clisp.org>
24555
24556         Tests for module 'uname'.
24557         * modules/uname-tests: New file.
24558         * tests/test-uname.c: New file.
24559
24560         New module 'uname'.
24561         * lib/uname.c: New file.
24562         * m4/uname.m4: New file.
24563         * modules/uname: New file.
24564         * doc/posix-functions/uname.texi: Mention the new module.
24565
24566 2009-08-02  Bruno Haible  <bruno@clisp.org>
24567
24568         Tests for module 'sys_utsname'.
24569         * modules/sys_utsname-tests: New file.
24570         * tests/test-sys_utsname.c: New file.
24571
24572         New module 'sys_utsname'.
24573         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
24574         * m4/sys_utsname_h.m4: New file.
24575         * modules/sys_utsname: New file.
24576         * doc/posix-headers/sys_utsname.texi: Mention the new module.
24577
24578 2009-08-02  Bruno Haible  <bruno@clisp.org>
24579
24580         Implicitly initialize the sockets library.
24581         * lib/gethostname.c: Include sockets.h.
24582         (rpl_gethostname): Invoke gl_sockets_startup.
24583         * lib/socket.c: Include sockets.h.
24584         (rpl_socket): Invoke gl_sockets_startup.
24585         * modules/gethostname (Depends-on): Add sockets.
24586         * modules/socket (Depends-on): Likewise.
24587         * tests/test-poll.c: Don't include sockets.h.
24588         (main): Don't invoke gl_sockets_startup.
24589         * tests/test-select.c: Don't include sockets.h.
24590         (main): Don't invoke gl_sockets_startup.
24591
24592 2009-08-02  Bruno Haible  <bruno@clisp.org>
24593
24594         Allow multiple calls to gl_sockets_startup.
24595         * lib/sockets.c (initialized_sockets_version): New variable.
24596         (gl_sockets_startup): Do nothing if already called for this or a higher
24597         version.
24598         (gl_sockets_cleanup): Reset initialized_sockets_version.
24599
24600 2009-08-03  Simon Josefsson  <simon@josefsson.org>
24601
24602         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
24603         different project/version.
24604
24605 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
24606             Bruno Haible  <bruno@clisp.org>
24607
24608         Tests for module 'pipe-filter-gi'.
24609         * modules/pipe-filter-gi-tests: New file.
24610         * tests/test-pipe-filter-gi1.sh: New file.
24611         * tests/test-pipe-filter-gi1.c: New file.
24612         * tests/test-pipe-filter-gi2.sh: New file.
24613         * tests/test-pipe-filter-gi2-main.c: New file.
24614         * tests/test-pipe-filter-gi2-child.c: New file.
24615
24616         New module 'pipe-filter-gi'.
24617         * lib/pipe-filter-gi.c: New file.
24618         * modules/pipe-filter-gi: New file.
24619
24620 2009-08-02  Bruno Haible  <bruno@clisp.org>
24621             Paolo Bonzini  <bonzini@gnu.org>
24622
24623         Tests for module 'pipe-filter-ii'.
24624         * modules/pipe-filter-ii-tests: New file.
24625         * tests/test-pipe-filter-ii1.sh: New file.
24626         * tests/test-pipe-filter-ii1.c: New file.
24627         * tests/test-pipe-filter-ii2.sh: New file.
24628         * tests/test-pipe-filter-ii2-main.c: New file.
24629         * tests/test-pipe-filter-ii2-child.c: New file.
24630
24631         New module 'pipe-filter-ii'.
24632         * lib/pipe-filter.h: New file.
24633         * lib/pipe-filter-ii.c: New file.
24634         * lib/pipe-filter-aux.h: New file.
24635         * modules/pipe-filter-ii: New file.
24636
24637 2009-08-02  Simon Josefsson  <simon@josefsson.org>
24638
24639         * lib/gc-libgcrypt.c: Change copyright to FSF.
24640         * lib/gc-gnulib.c: Likewise.
24641
24642 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
24643
24644         * lib/gethostname.c: Include limits.h.
24645
24646 2009-08-02  Simon Josefsson  <simon@josefsson.org>
24647             Bruno Haible  <bruno@clisp.org>
24648
24649         Ensure HOST_NAME_MAX as part of the gethostname module.
24650         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
24651         define also HOST_NAME_MAX.
24652         * tests/test-gethostname.c: Include <limits.h>.
24653         (main): Check also HOST_NAME_MAX.
24654         * doc/posix-headers/limits.texi: Document the mingw problem.
24655
24656 2009-08-02  Bruno Haible  <bruno@clisp.org>
24657
24658         * lib/gethostname.c (gethostname): Fix handling of large len argument.
24659         Add comments.
24660
24661 2009-03-31  Simon Josefsson  <simon@josefsson.org>
24662
24663         * lib/gethostname.c: Add Windows wrapper.
24664         * m4/gethostname.m4: Look for gethostname in -lws2_32.
24665         * modules/gethostname: Depend on sys_socket & errno, for also
24666         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
24667         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
24668
24669 2009-07-31  Jim Meyering  <meyering@redhat.com>
24670
24671         getloadavg: fix symbol name in comment
24672         * lib/getloadavg.c: Correct a typo I introduced when adding
24673         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
24674         Matt Kraai spotted the problem.
24675
24676 2009-07-29  Matt Kraai  <mkraai@beckman.com>
24677
24678         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
24679         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
24680         code also if ! defined N_NAME_POINTER.
24681         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
24682         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
24683         but the n_name member is a 12-byte array.
24684
24685 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
24686
24687         update-copyright: generalize comment handling
24688         * build-aux/update-copyright: Handle copyright statements
24689         within more comment styles.
24690         Document usage.
24691         Report any file with an external copyright holder or parse failure.
24692
24693 2009-07-29  Jim Meyering  <meyering@redhat.com>
24694
24695         mktime: correct setting of REPLACE_MKTIME
24696         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
24697
24698         update-copyright: new module
24699         * modules/update-copyright: New file.
24700         * build-aux/update-copyright: New file.
24701         * MODULES.html.sh (maint+release support): Add update-copyright.
24702
24703 2009-07-27  Bruno Haible  <bruno@clisp.org>
24704
24705         Fix compilation error when <ctime> is used and mktime is replaced.
24706         * lib/time.in.h (mktime): New declaration.
24707         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
24708         REPLACE_MKTIME instead of defining mktime in config.h.
24709         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
24710         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
24711         Reported by Ross McFarland <rwmcfa1@neces.com>.
24712
24713 2009-07-27  Bruno Haible  <bruno@clisp.org>
24714
24715         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
24716         Reported by Matt Kraai <mkraai@beckman.com>.
24717
24718 2009-07-25  Jim Meyering  <meyering@redhat.com>
24719
24720         maint.mk: avoid warnings about missing files
24721         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
24722         diagnostic when .prev-version does not exist.
24723         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
24724         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
24725         nonexistent cfg.mk.
24726         Suggestions from Simon Josefsson.
24727
24728 2009-07-25  Bruno Haible  <bruno@clisp.org>
24729
24730         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
24731         defined as macros. Needed on QNX 6.4.1.
24732         Reported by Matt Kraai <mkraai@beckman.com>.
24733
24734 2009-07-23  Jim Meyering  <meyering@redhat.com>
24735
24736         maint.mk: invoke "make dist" with a working value of XZ_OPT
24737         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
24738
24739 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
24740
24741         Make fseeko.c compile on QNX.
24742         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
24743
24744 2009-07-22  Peter Simons  <simons@cryp.to>
24745
24746         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
24747         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
24748         * lib/md4.h: Likewise.
24749         * lib/md5.h: Likewise.
24750         * lib/sha1.h: Likewise.
24751         * lib/sha256.h: Likewise.
24752         * lib/sha512.h: Likewise.
24753
24754         tests-sha1: don't assign literal string to 'char *' variable
24755         * tests/test-sha1.c (main): Declare locals with "const" to match
24756         attributes of the right hand side.
24757
24758 2009-07-21  Eric Blake  <ebb9@byu.net>
24759
24760         dup2: fix more mingw problems
24761         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
24762         fd to itself.
24763         * doc/posix-functions/dup2.texi (dup2): Document the bug.
24764         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
24765         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
24766         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
24767         care of mingw bugs.
24768
24769 2009-07-21  Jim Meyering  <meyering@redhat.com>
24770
24771         vc-list-files: avoid failure when /bin/sh is dash
24772         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
24773         On some Debian based systems, /bin/sh is a symlink to dash, and running
24774         this command would omit the "/" following each 'tests' prefix:
24775           dash -x build-aux/vc-list-files -C . tests
24776         That is because bash and dash work differently:
24777           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
24778           bash ok
24779           dash odd
24780
24781 2009-07-21  Eric Blake  <ebb9@byu.net>
24782
24783         dup2-tests: test previous patch
24784         * modules/dup2-tests: New file.
24785         * tests/test-dup2.c: Likewise.
24786         * tests/test-open.c (main): Avoid unspecified behavior.
24787         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
24788         test.
24789
24790         dup2: work around mingw and cygwin 1.5 bug
24791         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
24792         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24793         * modules/unistd (Makefile.am): Substitute it.
24794         * lib/unistd.in.h (dup2): Declare the replacement.
24795         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
24796         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
24797         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
24798         * modules/execute (Depends-on): Add dup2.
24799         * modules/fseterr (Depends-on): Likewise.
24800         * modules/pipe (Depends-on): Likewise.
24801         * modules/posix_spawn-internal (Depends-on): Likewise.
24802
24803 2009-07-21  Bruno Haible  <bruno@clisp.org>
24804
24805         * modules/.gitattributes: New file.
24806
24807 2009-07-20  Bruno Haible  <bruno@clisp.org>
24808
24809         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
24810         (main): Use it.
24811
24812 2009-07-20  Eric Blake  <ebb9@byu.net>
24813
24814         test-pipe: make a bit more robust.
24815         * tests/test-pipe.c (myerr): Allow error messages regardless of
24816         what we do to stderr.
24817         (test_pipe): Rearrange to avoid deadlock.
24818         (child_main): Try a larger read, to ensure we avoided deadlock.
24819         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
24820         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
24821         if misused.
24822
24823 2009-07-19  Jim Meyering  <meyering@redhat.com>
24824
24825         fts: avoid false-positive cycle-detection
24826         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
24827         for each new command line argument.
24828
24829 2009-07-19  Bruno Haible  <bruno@clisp.org>
24830
24831         Fix build error on mingw with the modules sys_select and unistd.
24832         * modules/acl-tests (Depends-on): Add close.
24833         * modules/binary-io-tests (Depends-on): Likewise.
24834         * modules/closein-tests (Depends-on): Likewise.
24835         * modules/flock-tests (Depends-on): Likewise.
24836         * modules/fsync-tests (Depends-on): Likewise.
24837         * modules/lseek-tests (Depends-on): Likewise.
24838         * modules/pipe-tests (Depends-on): Likewise.
24839         * modules/posix_spawn-tests (Depends-on): Likewise.
24840         * modules/posix_spawnp-tests (Depends-on): Likewise.
24841         * modules/stat-time-tests (Depends-on): Likewise.
24842         * modules/yesno-tests (Depends-on): Likewise.
24843
24844 2009-07-19  Bruno Haible  <bruno@clisp.org>
24845
24846         Unify conditionals.
24847         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
24848         macros, not at the compiler macros.
24849         * lib/pipe.c: Likewise.
24850         * lib/execute.c: Likewise.
24851         * lib/spawni.c: Likewise.
24852
24853 2009-07-19  Bruno Haible  <bruno@clisp.org>
24854
24855         Fix handling of closed stdin/stdout/stderr on mingw.
24856         * lib/w32spawn.h: Include unistd.h.
24857         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
24858         file descriptor with O_NOINHERIT flag.
24859         (fd_safer_noinherit): New function, based on fd-safer.c.
24860         (dup_safer_noinherit): New function, based on dup-safer.c.
24861         (undup_safer_noinherit): New function.
24862         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
24863         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
24864         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
24865         instead of fd_safer.
24866         * tests/test-pipe.c: Include <windows.h>.
24867         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
24868
24869         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
24870         from main.
24871         (test_pipe): Pass an extra argument for disambiguation.
24872         (main): Invoke parent_main or child_main.
24873
24874         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
24875         consistently.
24876
24877 2009-07-18  Eric Blake  <ebb9@byu.net>
24878
24879         test-pipe: fix mingw build
24880         * tests/test-pipe.c (main): Avoid fcntl on mingw.
24881
24882 2009-07-18  Bruno Haible  <bruno@clisp.org>
24883
24884         * modules/pipe-tests (Makefile.am): Fix typo.
24885
24886 2009-07-18  Eric Blake  <ebb9@byu.net>
24887
24888         error: fix mingw build
24889         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
24890         Reported by Bruno Haible.
24891
24892         error: avoid undefined use of stdout
24893         * lib/error.c (error, error_at_line): Check that fd 1 is open
24894         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
24895         is handling faults and the close_stdout module wants to report the
24896         detection of closed stdout as an error.
24897
24898 2009-07-17  Eric Blake  <ebb9@byu.net>
24899
24900         pipe: be robust in face of closed fds
24901         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
24902         should cause child to misbehave.
24903         * modules/pipe-tests: New module.
24904         * tests/test-pipe.c: New file.
24905         * tests/test-pipe.sh: New file.
24906         Reported by Akim Demaille.
24907
24908 2009-07-14  Bruno Haible  <bruno@clisp.org>
24909
24910         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
24911         Reported by anonymous kc.
24912
24913 2009-07-07  Jim Meyering  <meyering@redhat.com>
24914
24915         maint.mk: don't look for translatable strings in *.m4 or *.mk
24916         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
24917         when searching for translatable strings.
24918
24919 2009-07-05  Jim Meyering  <meyering@redhat.com>
24920
24921         remove superfluous parentheses in STREQ definition
24922         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
24923         * lib/getugroups.c (STREQ): Likewise.
24924         * lib/fnmatch.c (STREQ): Likewise.
24925         Spotted by Bruno Haible.
24926
24927 2009-07-04  Jim Meyering  <meyering@redhat.com>
24928
24929         argv-iter: new module
24930         * MODULES.html.sh: Add argv-iter.
24931         * lib/argv-iter.c, lib/argv-iter.h: New files.
24932         * modules/argv-iter: New file.
24933         * modules/argv-iter-tests: New file.
24934         * tests/test-argv-iter.c: Test it.
24935
24936 2009-07-04  Bruno Haible  <bruno@clisp.org>
24937
24938         Fix assertion.
24939         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
24940         contains more exact copies of a given entry than file2, leave the extra
24941         copies unpaired rather than aborting.
24942         Reported by Eric Blake.
24943
24944 2009-07-02  Bruno Haible  <bruno@clisp.org>
24945
24946         Speedup git-merge-changelog for git cherry-pick.
24947         * lib/git-merge-changelog.c (struct entries_mapping): New type.
24948         (entries_mapping_get): New function, extracted from compute_mapping.
24949         (entries_mapping_reverse_get): New function.
24950         (compute_mapping): Add a 'full' argument. Return the result in a
24951         'struct entries_mapping'.
24952         (main): Update. Access the mappings through entries_mapping_get.
24953         Reported by Eric Blake.
24954
24955 2009-07-02  Bruno Haible  <bruno@clisp.org>
24956
24957         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
24958         best_i.
24959
24960 2009-07-02  Bruno Haible  <bruno@clisp.org>
24961
24962         Speed up approximate search for matching ChangeLog entries.
24963         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
24964         argument. Call fstrcmp_bounded instead of fstrcmp.
24965         (compute_mapping, try_split_merged_entry, main): Update callers.
24966
24967 2009-07-02  Bruno Haible  <bruno@clisp.org>
24968
24969         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
24970
24971 2009-06-30  Bruno Haible  <bruno@clisp.org>
24972
24973         Reduce the number of uc_is_cased calls.
24974         * lib/unicase.h (casing_suffix_context_t): Add
24975         'first_char_except_ignorable' field.
24976         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
24977         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
24978         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
24979         Update initializer.
24980         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
24981         case-ignorable characters.
24982         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
24983         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
24984         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
24985         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
24986         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
24987
24988 2009-06-30  Bruno Haible  <bruno@clisp.org>
24989
24990         Tests for module 'unicase/ignorable'.
24991         * modules/unicase/ignorable-tests: New file.
24992         * tests/unicase/test-ignorable.c: New file, generated by
24993         gen-uni-tables.
24994
24995         Tests for module 'unicase/cased'.
24996         * modules/unicase/cased-tests: New file.
24997         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
24998         * tests/unicase/test-predicate-part1.h: New file, derived from
24999         tests/unictype/test-predicate-part1.h.
25000         * tests/unicase/test-predicate-part2.h: New file, same as
25001         tests/unictype/test-predicate-part2.h.
25002
25003         Fix evaluation of "Before C" condition of FINAL_SIGMA.
25004         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
25005         (output_casing_properties): New function.
25006         (main): Call it.
25007         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
25008         * lib/unicase/cased.c: Include unictype/bitmap.h.
25009         (uc_is_cased): Define through a bitmap lookup.
25010         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
25011         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
25012         (uc_is_case_ignorable): Define through a bitmap lookup.
25013         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
25014         lib/unictype/bitmap.h.
25015         (Depends-on): Add inline. Clean up.
25016         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
25017         lib/unictype/bitmap.h.
25018         (Depends-on): Add inline. Clean up.
25019         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
25020         recognition.
25021         * tests/unicase/test-u16-tolower.c (main): Likewise.
25022         * tests/unicase/test-u32-tolower.c (main): Likewise.
25023
25024 2009-06-30  Bruno Haible  <bruno@clisp.org>
25025
25026         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
25027         * lib/unicase/u16-casemap.c: Likewise.
25028         * lib/unicase/u32-casemap.c: Likewise.
25029
25030 2009-06-29  Bruno Haible  <bruno@clisp.org>
25031
25032         Define u32_casefold as a wrapper around u32_ct_casefold.
25033         * lib/unicase/u32-casefold.c: Update.
25034         * modules/unicase/u32-casefold (Depends-on): Add
25035         unicase/u32-ct-casefold, unicase/empty-prefix-context,
25036         unicase/empty-suffix-context. Clean up.
25037
25038         Define u16_casefold as a wrapper around u16_ct_casefold.
25039         * lib/unicase/u16-casefold.c: Update.
25040         * modules/unicase/u16-casefold (Depends-on): Add
25041         unicase/u16-ct-casefold, unicase/empty-prefix-context,
25042         unicase/empty-suffix-context. Clean up.
25043
25044         Define u8_casefold as a wrapper around u8_ct_casefold.
25045         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
25046         * lib/unicase/u8-casefold.c: Update.
25047         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
25048         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
25049
25050         Define u32_totitle as a wrapper around u32_ct_totitle.
25051         * lib/unicase/u32-totitle.c: Update.
25052         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
25053         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
25054
25055         Define u16_totitle as a wrapper around u16_ct_totitle.
25056         * lib/unicase/u16-totitle.c: Update.
25057         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
25058         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
25059
25060         Define u8_totitle as a wrapper around u8_ct_totitle.
25061         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
25062         functions.
25063         (FUNC): Delegate to U_CT_TOTITLE.
25064         * lib/unicase/u8-totitle.c: Update.
25065         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
25066         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
25067
25068         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
25069         invocation.
25070         * modules/unicase/u32-tolower (Depends-on): Add
25071         unicase/empty-prefix-context, unicase/empty-suffix-context.
25072
25073         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
25074         invocation.
25075         * modules/unicase/u16-tolower (Depends-on): Add
25076         unicase/empty-prefix-context, unicase/empty-suffix-context.
25077
25078         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
25079         * modules/unicase/u8-tolower (Depends-on): Add
25080         unicase/empty-prefix-context, unicase/empty-suffix-context.
25081
25082         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
25083         invocation.
25084         * modules/unicase/u32-toupper (Depends-on): Add
25085         unicase/empty-prefix-context, unicase/empty-suffix-context.
25086
25087         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
25088         invocation.
25089         * modules/unicase/u16-toupper (Depends-on): Add
25090         unicase/empty-prefix-context, unicase/empty-suffix-context.
25091
25092         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
25093         * modules/unicase/u8-toupper (Depends-on): Add
25094         unicase/empty-prefix-context, unicase/empty-suffix-context.
25095
25096         New module 'unicase/u32-ct-casefold'.
25097         * lib/unicase/u32-ct-casefold.c: New file.
25098         * modules/unicase/u32-ct-casefold: New file.
25099
25100         New module 'unicase/u16-ct-casefold'.
25101         * lib/unicase/u16-ct-casefold.c: New file.
25102         * modules/unicase/u16-ct-casefold: New file.
25103
25104         New module 'unicase/u8-ct-casefold'.
25105         * lib/unicase/u8-ct-casefold.c: New file.
25106         * lib/unicase/u-ct-casefold.h: New file, derived from
25107         lib/unicase/u-casefold.h.
25108         * modules/unicase/u8-ct-casefold: New file.
25109
25110         New module 'unicase/u32-ct-totitle'.
25111         * lib/unicase/u32-ct-totitle.c: New file.
25112         * modules/unicase/u32-ct-totitle: New file.
25113
25114         New module 'unicase/u16-ct-totitle'.
25115         * lib/unicase/u16-ct-totitle.c: New file.
25116         * modules/unicase/u16-ct-totitle: New file.
25117
25118         New module 'unicase/u8-ct-totitle'.
25119         * lib/unicase/u8-ct-totitle.c: New file.
25120         * lib/unicase/u-ct-totitle.h: New file, derived from
25121         lib/unicase/u-totitle.h.
25122         * modules/unicase/u8-ct-totitle: New file.
25123
25124         New module 'unicase/u32-ct-tolower'.
25125         * lib/unicase/u32-ct-tolower.c: New file.
25126         * modules/unicase/u32-ct-tolower: New file.
25127
25128         New module 'unicase/u16-ct-tolower'.
25129         * lib/unicase/u16-ct-tolower.c: New file.
25130         * modules/unicase/u16-ct-tolower: New file.
25131
25132         New module 'unicase/u8-ct-tolower'.
25133         * lib/unicase/u8-ct-tolower.c: New file.
25134         * modules/unicase/u8-ct-tolower: New file.
25135
25136         New module 'unicase/u32-ct-toupper'.
25137         * lib/unicase/u32-ct-toupper.c: New file.
25138         * modules/unicase/u32-ct-toupper: New file.
25139
25140         New module 'unicase/u16-ct-toupper'.
25141         * lib/unicase/u16-ct-toupper.c: New file.
25142         * modules/unicase/u16-ct-toupper: New file.
25143
25144         New module 'unicase/u8-ct-toupper'.
25145         * lib/unicase/u8-ct-toupper.c: New file.
25146         * modules/unicase/u8-ct-toupper: New file.
25147
25148         Add context arguments to u*_casemap functions.
25149         * lib/unicase/unicasemap.h: Include unicase.h.
25150         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
25151         suffix_context arguments.
25152         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
25153         functions.
25154         (FUNC): Add prefix_context and suffix_context arguments. Use
25155         uc_is_cased and uc_is_case_ignorable.
25156         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
25157         * lib/unicase/u16-casemap.c: Likewise.
25158         * lib/unicase/u32-casemap.c: Likewise.
25159         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
25160         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
25161         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
25162         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
25163         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
25164         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
25165
25166         New module 'unicase/u32-suffix-context'.
25167         * lib/unicase/u32-suffix-context.c: New file.
25168         * modules/unicase/u32-suffix-context: New file.
25169
25170         New module 'unicase/u16-suffix-context'.
25171         * lib/unicase/u16-suffix-context.c: New file.
25172         * modules/unicase/u16-suffix-context: New file.
25173
25174         New module 'unicase/u8-suffix-context'.
25175         * lib/unicase/u8-suffix-context.c: New file.
25176         * lib/unicase/u-suffix-context.h: New file.
25177         * modules/unicase/u8-suffix-context: New file.
25178
25179         New module 'unicase/empty-suffix-context'.
25180         * lib/unicase/empty-suffix-context.c: New file.
25181         * modules/unicase/empty-suffix-context: New file.
25182
25183         New module 'unicase/u32-prefix-context'.
25184         * lib/unicase/u32-prefix-context.c: New file.
25185         * modules/unicase/u32-prefix-context: New file.
25186
25187         New module 'unicase/u16-prefix-context'.
25188         * lib/unicase/u16-prefix-context.c: New file.
25189         * modules/unicase/u16-prefix-context: New file.
25190
25191         New module 'unicase/u8-prefix-context'.
25192         * lib/unicase/u8-prefix-context.c: New file.
25193         * lib/unicase/u-prefix-context.h: New file.
25194         * lib/unicase/context.h: New file.
25195         * modules/unicase/u8-prefix-context: New file.
25196
25197         New module 'unicase/empty-prefix-context'.
25198         * lib/unicase/empty-prefix-context.c: New file.
25199         * modules/unicase/empty-prefix-context: New file.
25200
25201         New module 'unicase/ignorable'.
25202         * lib/unicase/ignorable.c: New file.
25203         * modules/unicase/ignorable: New file.
25204
25205         New module 'unicase/cased'.
25206         * lib/unicase/caseprop.h: New file.
25207         * lib/unicase/cased.c: New file.
25208         * modules/unicase/cased: New file.
25209
25210         New functions for case mapping of substrings.
25211         * lib/unicase.h (casing_prefix_context_t): New type.
25212         (unicase_empty_prefix_context): New variable.
25213         (u8_casing_prefix_context, u16_casing_prefix_context,
25214         u32_casing_prefix_context, u8_casing_prefixes_context,
25215         u16_casing_prefixes_context, u32_casing_prefixes_context): New
25216         declarations.
25217         (casing_suffix_context_t): New type.
25218         (unicase_empty_suffix_context): New variable.
25219         (u8_casing_suffix_context, u16_casing_suffix_context,
25220         u32_casing_suffix_context, u8_casing_suffixes_context,
25221         u16_casing_suffixes_context, u32_casing_suffixes_context,
25222         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
25223         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
25224         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
25225         declarations.
25226
25227 2009-06-28  Jim Meyering  <meyering@redhat.com>
25228
25229         boostrap: indent only with spaces
25230         * build-aux/bootstrap: Indent only with spaces, never TABs.
25231
25232         bootstrap: split long lines
25233         * build-aux/bootstrap: Keep line length < 80.
25234
25235         bootstrap: sync from coreutils
25236         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
25237         just as autoreconf does.  Verify a list of prerequisite
25238         package-name,version-number pairs if defined in bootstrap.conf.
25239         Refer to README-prereq, if prerequisites are not satisfied.
25240
25241 2009-06-27  Eric Blake  <ebb9@byu.net>
25242
25243         tests: add test for bogus NULL definition
25244         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
25245         * tests/test-stdlib.c: Likewise.
25246         * tests/test-string.c: Likewise.
25247         * tests/test-locale.c: Likewise.
25248         * tests/test-unistd.c: Likewise.
25249         * modules/stdio-tests (Depends-on): Add verify.
25250         * modules/stdlib-tests (Depends-on): Likewise.
25251         * modules/string-tests (Depends-on): Likewise.
25252         * modules/locale-tests (Depends-on): Likewise.
25253         * modules/unistd-tests (Depends-on): Likewise.
25254
25255 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
25256
25257         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
25258         self-explaining comment.
25259         * m4/selinux-selinux-h: Update serial.
25260         (gl_LIBSELINUX): New macro, adding a warning for missing development
25261         packages to code extracted from...
25262         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
25263         Add warning for missing development packages here, too.
25264
25265 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
25266
25267         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
25268
25269 2009-06-25  Eric Blake  <ebb9@byu.net>
25270
25271         version-etc: fix regression
25272         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
25273         gcc.
25274         (version_etc): Use it, to catch bugs with trailing NULL.
25275         * lib/version-etc.c (version_etc_arn): Delete unused argument.
25276         (version_etc_va): Fix logic bug.
25277         * modules/version-etc-tests: Add test.
25278         * tests/test-version-etc.c: New file.
25279         * tests/test-version-etc.sh: Likewise.
25280
25281 2009-06-25  Sam Steingold  <sds@gnu.org>
25282
25283         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
25284         mbtowc declaration.
25285
25286 2009-06-25  Eric Blake  <ebb9@byu.net>
25287
25288         fpurge: migrate into <stdio.h>
25289         * lib/fpurge.h: Delete...
25290         * lib/stdio.in.h (fpurge): ...and declare here, instead.
25291         * lib/fpurge.c (fpurge): Change declaring header.
25292         * modules/fpurge (Files): Drop deleted file.
25293         (Depends-on): Add stdio.
25294         (configure.ac): Set witness.
25295         * modules/stdio (Makefile.am): Support fpurge macros.
25296         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
25297         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
25298         * lib/fflush.c: Update client.
25299         * tests/test-fpurge.c: Likewise.
25300         * NEWS: Mention the change.
25301
25302 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
25303
25304         * lib/argp-version-etc.c (program_authors): Add const
25305         qualifier.
25306         * lib/version-etc.c: Fix typos in the comments.
25307         * modules/argp-version-etc: Depends on version-etc.
25308
25309 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
25310
25311         argp-version-etc: new module.
25312
25313         * lib/argp-version-etc.c: New file.
25314         * lib/argp-version-etc.h: New file.
25315         * modules/argp-version-etc: New file.
25316         * modules/argp-version-etc-tests: New file.
25317         * tests/test-argp-version-etc.c: New test.
25318         * tests/test-argp-version-etc-1.sh: New test.
25319
25320 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
25321
25322         Provide additional interfaces and documentation for version-etc
25323         module.
25324
25325         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
25326         interfaces.
25327         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
25328         prototypes.
25329
25330 2009-06-24  Bruno Haible  <bruno@clisp.org>
25331
25332         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
25333         HAVE_LIB${NAME} macro.
25334         Reported by Sam Steingold <sds@gnu.org>.
25335
25336 2009-06-23  Simon Josefsson  <simon@josefsson.org>
25337
25338         * modules/hash-tests (test_hash_LDADD): Link to libintl when
25339         needed.
25340
25341 2009-06-21  Bruno Haible  <bruno@clisp.org>
25342
25343         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
25344         work.
25345         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
25346         together with LIB${NAME}, LTLIB${NAME}.
25347         Reported by Sam Steingold <sds@gnu.org>.
25348
25349 2009-06-20  Jim Meyering  <meyering@redhat.com>
25350
25351         tests: make sc_require_test_exit_idiom more generic
25352         * top/maint.mk (Exit_witness_file): New overridable variable.
25353         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
25354         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
25355
25356 2009-06-19  Jim Meyering  <meyering@redhat.com>
25357
25358         hash: reverse order of src/dst parameters in an internal interface
25359         * lib/hash.c (transfer_entries): Reverse order of parameters to
25360         put DST before SRC.  Adjust callers.
25361
25362         tests: test-hash: avoid wholesale duplication
25363         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
25364         Instead, use a loop and add a single conditional.
25365
25366         tests: test-hash: allow seed selection via a command line argument
25367         * tests/test-hash.c (get_seed): New function.
25368         (main): Use it.
25369
25370 2009-06-19  Eric Blake  <ebb9@byu.net>
25371
25372         hash: avoid memory leak on allocation failure
25373         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
25374         failure.  Factor repeated algorithm...
25375         (transfer_entries): ...into new helper routine.
25376         (hash_delete): React to hash_rehash return value.
25377
25378         hash: reduce memory pressure in hash_rehash no-op case
25379         * lib/hash.c (next_prime): Avoid overflow.
25380         (hash_initialize): Factor bucket size computation...
25381         (compute_bucket_size): ...into new helper function.
25382         (hash_rehash): Use new function and open coding to reduce memory
25383         pressure, and avoid a memory leak in USE_OBSTACK code.
25384         Reported by Jim Meyering.
25385
25386 2009-06-18  Eric Blake  <ebb9@byu.net>
25387
25388         hash: make rotation more obvious
25389         * modules/hash (Depends-on): Add bitrotate and stdint.
25390         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
25391         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
25392         (SIZE_MAX): Rely on headers for definition.
25393         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
25394         (raw_hasher): Use rotr_sz.
25395         Suggested by Jim Meyering.
25396
25397         hash: fix memory leak in last patch
25398         * lib/hash.c (hash_rehash): Avoid memory leak.
25399
25400         hash: avoid no-op rehashing
25401         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
25402
25403         hash: provide default callback functions
25404         * lib/hash.c (raw_hasher, raw_comparator): New functions.
25405         (hash_initialize): Use them as defaults.
25406         * tests/test-hash.c (main): Test this.
25407
25408         hash: minor optimization
25409         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
25410         when possible.
25411         (hash_initialize): Document this promise.
25412         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
25413         * tests/test-hash.c (hash_compare_strings): Test this.
25414
25415 2009-06-18  Bruno Haible  <bruno@clisp.org>
25416
25417         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
25418         going to be replaced anyway.
25419
25420 2009-06-18  Bruno Haible  <bruno@clisp.org>
25421
25422         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
25423         in one place.
25424         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
25425         be replaced anyway.
25426
25427 2009-06-18  Eric Blake  <ebb9@byu.net>
25428
25429         hash: check for resize before insertion
25430         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
25431         threshold before insertion, so that a pathological hash_rehash
25432         that fills every bucket can still trigger another rehash.
25433
25434 2009-06-18  Jim Meyering  <meyering@redhat.com>
25435
25436         hash-tests: add a loop around the small tests
25437         * tests/test-hash.c (main): Repeat small tests with selected
25438         small initial table sizes.
25439
25440 2009-06-17  Eric Blake  <ebb9@byu.net>
25441
25442         hash: minor cleanups
25443         * lib/hash.h (hash_entry): Make opaque, by moving...
25444         * lib/hash.c (hash_entry): ...here.
25445         (hash_insert): Clarify restrictions on what can be inserted.
25446         (hash_get_next): Clarify when it is safe to remove an element
25447         during traversal.
25448         (check_tuning): Skip verification when tuning is known safe.
25449         (hash_initialize): Clarify restrictions on tuning.
25450
25451 2009-06-17  Jim Meyering  <jim@meyering.net>
25452         and Eric Blake  <ebb9@byu.net>
25453
25454         hash-tests: new module
25455         * modules/hash-tests: New file.
25456         * tests/test-hash.c: New file.
25457
25458 2009-06-17  Eric Blake  <ebb9@byu.net>
25459
25460         strstr-simple: document new module
25461         * MODULES.html.sh: Document new module.
25462
25463         strstr, strcasestr: replace on platforms with broken memchr
25464         * modules/strstr: Split into...
25465         * modules/strstr-simple: ...new module that does not care about
25466         performance, but does care about glibc bug.
25467         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
25468         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
25469         if platform memchr is broken, per Debian bug 521737.
25470         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
25471         memchr.
25472         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
25473         * doc/posix-functions/strstr.texi (strstr): Document the fix.
25474         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
25475         * modules/mountlist (Depends-on): Add strstr-simple.
25476         * modules/gen-uni-tables (Depends-on): Likewise.
25477         * modules/argz (Depends-on): Add strstr.
25478
25479 2009-06-17  Bruno Haible  <bruno@clisp.org>
25480
25481         * modules/posix_spawn-internal (Depends-on): Add errno.
25482
25483 2009-06-17  Bruno Haible  <bruno@clisp.org>
25484
25485         Define missing ESTALE on Interix 3.5.
25486         * lib/errno.in.h (ESTALE): Assign a value if missing.
25487         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
25488         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
25489         missing.
25490         * doc/posix-headers/errno.texi: Mention the Interix bug.
25491         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
25492
25493 2009-06-15  Eric Blake  <ebb9@byu.net>
25494
25495         memchr, memchr2: add valgrind exception
25496         * lib/memchr.valgrind: New file.
25497         * lib/memchr2.valgrind: New file.
25498         * modules/memchr (Files): Distribute valgrind file.
25499         * modules/memchr2 (Files): Likewise.
25500
25501         docs: memchr is no longer obsolete
25502         * MODULES.html.sh: Move memchr from obsolete to string.h section.
25503         * lib/string.in.h (memchr): Simplify logic.
25504
25505 2009-06-14  Jim Meyering  <meyering@redhat.com>
25506
25507         link-follow: fix the "checking..." message to not mention trailing slash
25508         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
25509         never considered trailing slashes.
25510
25511 2009-06-14  Bruno Haible  <bruno@clisp.org>
25512
25513         * m4/memchr.m4: Mention also the bug on IA-64.
25514         * doc/posix-functions/memchr.texi: Likewise.
25515
25516 2009-06-12  Eric Blake  <ebb9@byu.net>
25517
25518         memchr: detect broken x86_64 and alpha implementations
25519         * modules/memchr-tests (Depends-on): Move mmap detection...
25520         * modules/memchr (Depends-on): ...here.
25521         (configure.ac): Set indicator.
25522         * lib/string.in.h (memchr): Declare replacement.
25523         * modules/string (Makefile.am): Trigger replacement.
25524         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
25525         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
25526         bugs.
25527         * doc/posix-functions/memchr.texi (memchr): Document the bug.
25528         * modules/getpagesize (License): Relax license.
25529
25530 2009-06-11  Bruno Haible  <bruno@clisp.org>
25531
25532         * lib/idpriv.h: Add more references.
25533
25534 2009-06-08  Bruno Haible  <bruno@clisp.org>
25535
25536         Tests for module 'idpriv-droptemp'.
25537         * modules/idpriv-droptemp-tests: New file.
25538         * tests/test-idpriv-droptemp.sh: New file.
25539         * tests/test-idpriv-droptemp.su.sh: New file.
25540         * tests/test-idpriv-droptemp.c: New file.
25541
25542         New module 'idpriv-droptemp'.
25543         * lib/idpriv-droptemp.c: New file.
25544         * modules/idpriv-droptemp: New file.
25545
25546 2009-06-08  Bruno Haible  <bruno@clisp.org>
25547
25548         Tests for module 'idpriv-drop'.
25549         * modules/idpriv-drop-tests: New file.
25550         * tests/test-idpriv-drop.sh: New file.
25551         * tests/test-idpriv-drop.su.sh: New file.
25552         * tests/test-idpriv-drop.c: New file.
25553
25554         New module 'idpriv-drop'.
25555         * lib/idpriv.h: New file.
25556         * lib-idpriv-drop.c: New file.
25557         * m4/idpriv.m4: New file.
25558         * modules/idpriv-drop: New file.
25559
25560 2009-06-08  Bruno Haible  <bruno@clisp.org>
25561
25562         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
25563         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
25564         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
25565         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
25566         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
25567         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
25568         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
25569
25570 2009-06-08  Eric Blake  <ebb9@byu.net>
25571
25572         test-strstr: use memory fence, when possible
25573         * tests/test-strstr.c (main): Use memory fence, in order to be
25574         more likely to trigger Debian bug 521737.
25575         * modules/strstr-tests (Files): Pull in additional files.
25576
25577         memchr: no longer obsolete, for wider field testing
25578         * modules/memchr (Status, Notice): Delete, this module is no
25579         longer obsolete.
25580         * modules/vasnprintf (Depends-on): Add memchr.
25581
25582 2009-06-07  Jim Meyering  <meyering@redhat.com>
25583
25584         hash: declare some functions with the warn_unused_result attribute
25585         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
25586
25587 2009-06-07  Bruno Haible  <bruno@clisp.org>
25588
25589         * tests/test-alignof.c: Don't test int64_t if it does not exist.
25590         Reported by Eric Blake.
25591
25592 2009-06-06  Eric Blake  <ebb9@byu.net>
25593
25594         test-alignof: fix typo with long double
25595         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
25596         compiler error.
25597
25598 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
25599
25600         Escape non-texinfo { and }s.
25601         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
25602         markup error.
25603
25604 2009-06-04  Jim Meyering  <meyering@redhat.com>
25605
25606         gitlog-to-changelog: don't infloop on an empty commit log
25607         * build-aux/gitlog-to-changelog: Warn about an empty log message.
25608         Reported by Boris Petersen <transacid@centerim.org>.
25609
25610 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
25611
25612         version-etc: extend for packagers
25613         Add three new configure options, intended for packagers:
25614           --with-packager="packager name"
25615           --with-packager-version="packager-specific version"
25616           --with-packager-bug-reports="packager bug reporting"
25617         An example with coreutils:
25618           $ ./configure \
25619             --with-packager=Gentoo \
25620             --with-packager-bug-report=http://bugs.gentoo.org/ \
25621             --with-packager-version="patchset 1.6"
25622           $ ./src/ls --version | head -n2
25623           ls (GNU coreutils) 7.1-dirty
25624           Packaged by Gentoo (patchset 1.6)
25625         Note that the bug reporting info via --help doesn't show up because
25626         coreutils uses its own custom emit_bug_reporting_address() implementation
25627         in src/system.h.  If it didn't, it'd look like:
25628           $ ./src/ls --help | tail -n4
25629           Report bugs to <bug-coreutils@gnu.org>.
25630           Report Gentoo bugs to <http://bugs.gentoo.org/>.
25631           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
25632           General help using GNU software: <http://www.gnu.org/gethelp/>.
25633         * lib/version-etc.c: Print new information, if provided.
25634         * m4/version-etc.m4: New file.
25635         * modules/version-etc (Files): Add m4/version-etc.m4.
25636         (configure.ac): Add gl_VERSION_ETC.
25637
25638 2009-05-31  Bruno Haible  <bruno@clisp.org>
25639
25640         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
25641         and 'int64_t'.
25642         * modules/alignof-tests (Dependencies): Add stdint.
25643         Reported by Eric Blake.
25644
25645 2009-05-31  Bruno Haible  <bruno@clisp.org>
25646
25647         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
25648         restriction due to compiler bugs.
25649         Reported by Eric Blake.
25650
25651 2009-05-31  Simon Josefsson  <simon@josefsson.org>
25652             Bruno Haible  <bruno@clisp.org>
25653
25654         Fix test-alignof failure.
25655         * lib/alignof.h (alignof_slot): New macro.
25656         (alignof_type): New macro, with the same semantics as the previous
25657         'alignof'.
25658         (alignof): Alias to alignof_slot.
25659         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
25660         check that the results are usable as constant expressions.
25661
25662 2009-05-31  Bruno Haible  <bruno@clisp.org>
25663
25664         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
25665         * tests/test-memchr.c (main): Check that memchr does not read past the
25666         first occurrence of the byte.
25667         * tests/test-strstr.c (main): Update comment.
25668         Suggested by Eric Blake.
25669
25670 2009-05-30  Bruno Haible  <bruno@clisp.org>
25671
25672         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
25673         detail how to use dumpbin.
25674         Reported by David Byron <dbyron@dbyron.com>.
25675
25676 2009-06-02  Simon Josefsson  <simon@josefsson.org>
25677
25678         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
25679
25680 2009-06-02  Simon Josefsson  <simon@josefsson.org>
25681
25682         * m4/manywarnings.m4: Add GCC 4.4 warnings.
25683
25684 2009-05-28  Bruno Haible  <bruno@clisp.org>
25685
25686         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
25687         build-aux/ files.
25688
25689 2009-05-28  Simon Josefsson  <simon@josefsson.org>
25690
25691         * gnulib-tool (func_import): Transform license on build-aux/ files too.
25692
25693 2009-05-27  Simon Josefsson  <simon@josefsson.org>
25694
25695         * gnulib-tool (sed_transform_main_lib_file)
25696         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
25697         regexps.
25698
25699 2009-05-26  Simon Josefsson  <simon@josefsson.org>
25700
25701         * tests/test-strstr.c: Add another self-test.
25702         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
25703         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
25704
25705 2009-05-23  Bruno Haible  <bruno@clisp.org>
25706
25707         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
25708         change.
25709
25710 2009-05-21  Bruno Haible  <bruno@clisp.org>
25711
25712         Simplify use of mode_t varargs.
25713         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
25714         uses 'mode_t' or 'int'.
25715         * lib/openat.c (openat): Likewise.
25716         * lib/open-safer.c (open_safer): Likewise.
25717         * m4/mode_t.m4: New file.
25718         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
25719         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
25720         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
25721         * modules/open (Files): Add m4/mode_t.m4.
25722         * modules/openat (Files): Likewise.
25723         * modules/fcntl-safer (Files): Likewise.
25724         Suggested by Eric Blake.
25725
25726 2009-05-21  Pádraig Brady  <P@draigbrady.com>
25727
25728         * doc/glibc-functions/fallocate.texi: New file.
25729         * doc/gnulib.texi: Include it.
25730
25731 2009-05-21  Eric Blake  <ebb9@byu.net>
25732             Bruno Haible  <bruno@clisp.org>
25733
25734         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
25735         invocations.
25736         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
25737
25738 2009-05-21  Eric Blake  <ebb9@byu.net>
25739             Bruno Haible  <bruno@clisp.org>
25740
25741         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
25742         include_next. Fix of 2008-11-20 commit.
25743         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
25744         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
25745         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
25746         NEXT_MATH_H.
25747         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
25748         instead of NEXT_MATH_H.
25749
25750 2009-05-21  Bruno Haible  <bruno@clisp.org>
25751
25752         Avoid redefinition warnings for SIZE_MAX.
25753         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
25754         Reported by Simon Josefsson.
25755
25756 2009-05-21  Bruno Haible  <bruno@clisp.org>
25757
25758         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
25759         AC_CACHE_VAL.
25760
25761 2009-05-20  Bruno Haible  <bruno@clisp.org>
25762
25763         Make zeroptr.h work on mingw.
25764         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
25765         mprotect.
25766         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
25767         * modules/memchr2-tests (configure.ac): Likewise.
25768         * modules/memcmp-tests (configure.ac): Likewise.
25769         * modules/memmem-tests (configure.ac): Likewise.
25770         * modules/memrchr-tests (configure.ac): Likewise.
25771         Reported by Simon Josefsson.
25772
25773 2009-05-20  Simon Josefsson  <simon@josefsson.org>
25774
25775         * tests/test-glob.c: Include string.h for strcmp prototype.
25776
25777 2009-05-20  Simon Josefsson  <simon@josefsson.org>
25778
25779         * modules/getdelim (Depends-on): Add explicit stdint, although it
25780         was implicitly already pulled in via realloc-posix.
25781         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
25782
25783 2009-05-20  Simon Josefsson  <simon@josefsson.org>
25784
25785         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
25786         G. Christensen" <tgc@jupiterrise.com>.
25787         * m4/sys_socket_h.m4: Check for sa_family_t.
25788         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
25789         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
25790         * tests/test-sys_socket.c: Check that sa_family_t works.
25791
25792 2009-05-18  Eric Blake  <ebb9@byu.net>
25793
25794         maint.mk: allow gnulib_dir in VPATH build
25795         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
25796
25797 2009-05-15  Jim Meyering  <meyering@redhat.com>
25798
25799         maint.mk: Give gnulib_dir a default definition.
25800         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
25801         Thus, most packages no longer need to specify this variable in cfg.mk
25802
25803 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
25804
25805         rename.m4: fix typos that would make non-mingw cross-configure fail
25806         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
25807
25808 2009-05-13  Eric Blake  <ebb9@byu.net>
25809
25810         mmap-anon: avoid out-of-order autoconf expansion
25811         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
25812         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
25813         * modules/memchr-tests (Depends-on): Add extensions.
25814         * modules/memchr2-tests (Depends-on): Add extensions.
25815         * modules/memcmp-tests (Depends-on): Add extensions.
25816         * modules/memmem-tests (Depends-on): Add extensions.
25817         * modules/memrchr-tests (Depends-on): Add extensions.
25818
25819 2009-05-13  Bruno Haible  <bruno@clisp.org>
25820
25821         Make some tests ISO C 99 compliant.
25822         * tests/zerosize-ptr.h: New file.
25823         * tests/test-memchr.c: Include zerosize-ptr.h.
25824         (main): Use a zero-size object pointer instead of NULL.
25825         * tests/test-memchr2.c: Include zerosize-ptr.h.
25826         (main): Use a zero-size object pointer instead of NULL.
25827         * tests/test-memcmp.c: Include zerosize-ptr.h.
25828         (main): Use a zero-size object pointer instead of NULL.
25829         * tests/test-memmem.c: Include zerosize-ptr.h.
25830         (main): Use a zero-size object pointer instead of NULL.
25831         * tests/test-memrchr.c: Include zerosize-ptr.h.
25832         (main): Use a zero-size object pointer instead of NULL.
25833         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
25834         m4/mmap-anon.m4.
25835         (Depends-on): Add getpagesize.
25836         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
25837         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
25838         m4/mmap-anon.m4.
25839         (Depends-on): Add getpagesize.
25840         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
25841         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
25842         m4/mmap-anon.m4.
25843         (Depends-on): Add getpagesize.
25844         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
25845         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
25846         m4/mmap-anon.m4.
25847         (Depends-on): Add getpagesize.
25848         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
25849         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
25850         m4/mmap-anon.m4.
25851         (Depends-on): Add getpagesize.
25852         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
25853
25854 2009-05-12  Bruno Haible  <bruno@clisp.org>
25855
25856         Tests for module 'alignof'.
25857         * modules/alignof-tests: New file.
25858         * tests/test-alignof.c: New file.
25859
25860 2009-05-12  Bruno Haible  <bruno@clisp.org>
25861
25862         Fix alignof macro.
25863         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
25864         vendor compilers that are always correct.
25865
25866 2009-05-12  Bruno Haible  <bruno@clisp.org>
25867
25868         Make the MAP_ANONYMOUS detection work on HP-UX 11.
25869         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
25870         not whether its fully works.
25871
25872 2009-05-12  Bruno Haible  <bruno@clisp.org>
25873
25874         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
25875
25876 2009-05-12  Jim Meyering  <meyering@redhat.com>
25877
25878         * top/maint.mk: Adjust backslash alignment.
25879
25880 2009-05-11  Simon Josefsson  <simon@josefsson.org>
25881
25882         * top/maint.mk: Make $(srcdir)/build-aux configurable.
25883
25884 2009-05-11  Eric Blake  <ebb9@byu.net>
25885
25886         argp: avoid undefined behavior
25887         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
25888         macros.
25889
25890 2009-05-08  Simon Josefsson  <simon@josefsson.org>
25891
25892         * tests/test-vc-list-files-git.sh: Do git config of user.email and
25893         user.name to prevent git commit from complaining.
25894
25895 2009-05-10  Bruno Haible  <bruno@clisp.org>
25896
25897         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
25898         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
25899         it rewrites every file name only once.
25900         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
25901
25902 2009-05-08  Bruno Haible  <bruno@clisp.org>
25903
25904         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
25905         instead of 'max'.
25906
25907 2009-05-08  Simon Josefsson  <simon@josefsson.org>
25908
25909         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
25910         sockaddr_storage test.
25911
25912 2009-05-07  Simon Josefsson  <simon@josefsson.org>
25913
25914         * modules/sys_socket (Makefile.am): Substitute
25915         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
25916         * m4/sys_socket_h.m4: Check for sockaddr_storage.
25917         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
25918         * tests/test-sys_socket.c: Check sockaddr_storage.
25919
25920 2009-05-08  Bruno Haible  <bruno@clisp.org>
25921
25922         New module 'alignof'.
25923         * lib/alignof.h: New file.
25924         * modules/alignof: New file.
25925
25926 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
25927             Bruno Haible  <bruno@clisp.org>
25928
25929         Fix test-file-has-acl on FreeBSD.
25930         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
25931         mask is implicitly added.
25932         * tests/test-file-has-acl.c: Include <signal.h>.
25933         (main): Terminate the test after 5 seconds.
25934         * modules/acl-tests (configure.ac): Check for alarm function.
25935
25936 2009-05-04  Bruno Haible  <bruno@clisp.org>
25937
25938         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
25939         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
25940         * modules/errno (configure.ac): Drop AC_REQUIRE.
25941         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
25942         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
25943
25944 2009-05-04  Simon Josefsson  <simon@josefsson.org>
25945
25946         * modules/glob-tests: New module.
25947         * tests/test-glob.c: Add.
25948
25949 2009-05-04  Simon Josefsson  <simon@josefsson.org>
25950
25951         * modules/fnmatch-tests: New module.
25952         * tests/test-fnmatch.c: Add.
25953
25954 2009-05-04  Eric Blake  <ebb9@byu.net>
25955
25956         maint: make the new no-submodule-changes rule VPATH-safe
25957         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
25958
25959 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
25960             Bruno Haible  <bruno@clisp.org>
25961
25962         acl: Fix infinite loop on FreeBSD.
25963         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
25964         of return value from acl_get_entry.
25965         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
25966         Likewise.
25967
25968 2009-05-03  Bruno Haible  <bruno@clisp.org>
25969
25970         * lib/acl-internal.h (acl_entries): Clarify return value.
25971         * lib/acl_entries.c (acl_entries): Likewise.
25972
25973 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
25974
25975         Bug fix in acl module.
25976         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
25977
25978 2009-05-03  Bruno Haible  <bruno@clisp.org>
25979
25980         Create gperf-generated file in the source dir, not in the build dir.
25981         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
25982         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
25983         * modules/unicase/locale-language (unicase/locale-languages.h):
25984         Likewise.
25985         * modules/unicase/special-casing (unicase/special-casing-table.h):
25986         Likewise.
25987         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
25988         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
25989         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
25990         Reported by Ralf Wildenhues.
25991
25992 2009-05-03  Bruno Haible  <bruno@clisp.org>
25993
25994         * modules/fnmatch (Description, configure.ac): Taken from
25995         fnmatch-posix.
25996         * modules/fnmatch-posix: Turn into a symbolic reference to the
25997         'fnmatch' module, and deprecate.
25998         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
25999
26000 2009-05-03  Bruno Haible  <bruno@clisp.org>
26001
26002         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
26003         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
26004         Reported by Ralf Wildenhues.
26005
26006 2009-05-04  Simon Josefsson  <simon@josefsson.org>
26007
26008         * m4/fnmatch.m4: Fix fnmatch re-define.
26009
26010 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
26011
26012         priv-set: new module and tests; adapt write-any-file
26013         * lib/priv-set.c: New file.
26014         * lib/priv-set.h: New file.
26015         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
26016         * lib/write-any-file.c: Simplify by using priv-set module.
26017         * m4/priv-set.m4: New file.
26018         * modules/priv-set: New file.
26019         * modules/unlinkdir: Add dependency on priv-set module.
26020         * modules/write-any-file: Likewise.
26021
26022         Tests for module 'priv-set'.
26023         * modules/priv-set-tests: New file.
26024         * tests/test-priv-set.c: New file.
26025
26026 2009-05-03  Jim Meyering  <meyering@redhat.com>
26027             Bruno Haible  <bruno@clisp.org>
26028
26029         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
26030         use the converted UTF-8 variant of the name instead.
26031
26032 2009-05-03  Jim Meyering  <meyering@redhat.com>
26033
26034         tests: tighten some getdate tests
26035         * tests/test-getdate.c (main): Tighten tests: require equality,
26036         not just greater than.  Set TZ envvar to UTC0.
26037
26038 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
26039
26040         getdate: correctly interpret "next monday" when run on a Monday
26041         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
26042         that e.g., "next tues" (when run on a tuesday) results in a date
26043         that is one week in the future, and not today's date.
26044         I.e., add a week when the wday is the same as the current one.
26045         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
26046         and earlier by Martin Bernreuther and Jan Minář.
26047         * tests/test-getdate.c (main): Check that "next DAY" is always in
26048         the future and that "last DAY" is always in the past.
26049
26050 2009-05-02  Jim Meyering  <meyering@redhat.com>
26051
26052         build: ensure that a release build fails when a submodule is unclean
26053         * top/maint.mk (no-submodule-changes): New rule.
26054         (alpha beta major): Depend on it.
26055
26056 2009-05-02  Bruno Haible  <bruno@clisp.org>
26057
26058         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
26059         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
26060         shell variable gl_fnmatch_required to detect which variant is
26061         requested.
26062         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
26063         gl_FUNC_FNMATCH_POSIX.
26064         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
26065         exclude fnmatch-posix.
26066
26067 2009-05-02  Bruno Haible  <bruno@clisp.org>
26068
26069         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
26070         * modules/mbsrtowcs (License): Change to LGPLv2+.
26071         * modules/strnlen1 (License): Likewise.
26072         Reported by Simon Josefsson.
26073
26074 2009-05-02  Bruno Haible  <bruno@clisp.org>
26075
26076         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
26077         "cross".
26078         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
26079         gnulib-tool was called with option --source-base=lib.
26080
26081 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26082
26083         Use automake *-local hooks without commands, for extensibility.
26084         * modules/localcharset (Makefile.am): Rename install-exec-local
26085         rule to install-exec-localcharset, and make it a prerequisite of
26086         install-exec-local.  Likewise, rename the uninstall-local rule to
26087         uninstall-localcharset, and make it a prerequisite of the former.
26088
26089 2009-05-01  Bruno Haible  <bruno@clisp.org>
26090
26091         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
26092         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
26093         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
26094         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
26095         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
26096         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
26097         m4/locale-zh.m4, m4/codeset.m4.
26098
26099         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
26100         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
26101         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
26102         m4/locale-zh.m4.
26103
26104         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
26105         REPLACE_WCRTOMB if mbstate_t must be replaced.
26106         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
26107         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
26108
26109 2009-05-01  Bruno Haible  <bruno@clisp.org>
26110
26111         Avoid compiler warnings when redefining macros defined by <libintl.h>.
26112         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
26113         dngettext, dcngettext, textdomain, bindtextdomain,
26114         bind_textdomain_codeset): Undefine before redefining.
26115
26116 2009-04-30  Bruno Haible  <bruno@clisp.org>
26117
26118         Fix bug introduced on 2009-04-25.
26119         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
26120         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
26121         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
26122         is defined.
26123         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
26124         is defined.
26125         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
26126         is defined.
26127         Reported by Elbert_Pol <elbert.pol@gmail.com>.
26128
26129 2009-04-28  Bruno Haible  <bruno@clisp.org>
26130
26131         Comment tweaks.
26132         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
26133         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
26134         * lib/unicase.h (u*_casexfrm): Likewise.
26135         Reported by Paolo Bonzini.
26136
26137 2009-04-28  Bruno Haible  <bruno@clisp.org>
26138
26139         Fix a compilation error.
26140         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
26141         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
26142         Reported by Jim Meyering.
26143
26144 2009-04-27  Bruno Haible  <bruno@clisp.org>
26145
26146         New module 'libunistring'.
26147         * modules/libunistring: New file.
26148         * m4/libunistring.m4: New file.
26149         * MODULES.html.sh (Unicode string functions): Add it.
26150
26151 2009-04-27  Eric Blake  <ebb9@byu.net>
26152
26153         maint.mk: allow package-specific header to provide <config.h>
26154         * top/maint.mk (sc_require_config_h): New variable.
26155         (sc_require_config_h, sc_require_config_h_first): Use it.
26156
26157 2009-04-27  Simon Josefsson  <simon@josefsson.org>
26158
26159         * top/maint.mk (sc_avoid_if_before_free): Except
26160         useless-if-before-free script.
26161
26162 2009-04-27  Eric Blake  <ebb9@byu.net>
26163
26164         maintainer-makefile: depend on all required helper scripts
26165         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
26166         useless-if-before-free.
26167         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
26168         version, rather than assuming gnulib checkout is available.
26169         Reported by Simen Josefsson.
26170
26171 2009-04-26  Bruno Haible  <bruno@clisp.org>
26172
26173         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
26174         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
26175         "../" or "..".
26176
26177 2009-04-26  Bruno Haible  <bruno@clisp.org>
26178
26179         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
26180         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
26181         AC_LIB_HAVE_LINKFLAGS.
26182
26183 2009-04-26  Bruno Haible  <bruno@clisp.org>
26184
26185         Simplify calling convention of u*_conv_from_encoding.
26186         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
26187         u32_conv_from_encoding): Expect a resultbuf argument and return the
26188         result directly as a pointer.
26189         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
26190         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
26191         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
26192         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
26193         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
26194         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
26195         Update.
26196         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
26197         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
26198         * lib/vasnprintf.c (VASNPRINTF): Update.
26199         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
26200         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
26201         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
26202         * NEWS: Mention the change.
26203
26204 2009-04-26  Bruno Haible  <bruno@clisp.org>
26205
26206         Simplify calling convention of u*_conv_to_encoding.
26207         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
26208         u32_conv_to_encoding): Expect a resultbuf argument and return the
26209         result directly as a pointer.
26210         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
26211         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
26212         freeing scaled_offsets if mem_iconveha failed.
26213         * lib/unicase/u-casexfrm.h (FUNC): Update.
26214         * lib/uninorm/u-normxfrm.h (FUNC): Update.
26215         * lib/vasnprintf.c (VASNPRINTF): Update.
26216         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
26217         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
26218         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
26219         * NEWS: Mention the change.
26220
26221 2009-04-26  Bruno Haible  <bruno@clisp.org>
26222
26223         Avoid test failures on AIX and OSF/1.
26224         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
26225         malloc(0).
26226         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
26227         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
26228         Likewise.
26229         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
26230         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
26231         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
26232         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
26233         * doc/posix-functions/malloc.texi: Document the portability problem
26234         related to malloc(0).
26235
26236 2009-04-26  Bruno Haible  <bruno@clisp.org>
26237
26238         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
26239         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
26240         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
26241
26242 2009-04-25  Bruno Haible  <bruno@clisp.org>
26243
26244         Avoid link error when creating a namespace clean library.
26245         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
26246         as macro with arguments if already defined as an alias.
26247         * lib/signbitf.c (gl_signbitf): Don't undefine.
26248         * lib/signbitd.c (gl_signbitd): Don't undefine.
26249         * lib/signbitl.c (gl_signbitl): Don't undefine.
26250
26251 2009-04-25  Jim Meyering  <meyering@redhat.com>
26252
26253         vc-list-files: fix another quoting bug
26254         * build-aux/vc-list-files: Avoid sed backslash expansion
26255         of pathological directory names.
26256
26257 2009-04-25  Eric Blake  <ebb9@byu.net>
26258
26259         vc-list-files: fix shell quoting error
26260         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
26261         timestamp.
26262
26263 2009-04-25  Jim Meyering  <meyering@redhat.com>
26264
26265         vc-list-files: restore lost functionality with subdir argument
26266         * build-aux/vc-list-files: When given a non-"." sub-directory
26267         argument, substitute the $dir/ prefix back onto each resulting name.
26268         Otherwise, coreutils' root_tests check would fail.
26269
26270 2009-04-24  Eric Blake  <ebb9@byu.net>
26271
26272         vc-list-files: ignore git symlinks
26273         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
26274         than ls-files, to ignore git symlinks.
26275
26276         maint.mk: import improvements from m4
26277         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
26278         (move_if_change): Delete unused macro.
26279         (news-date-check, vc-diff-check): Support VPATH builds.
26280         (announcement): Likewise.  Split --bootstrap-tools list...
26281         (boostrap-tools): ...into separate list, which can be overridden
26282         in cfg.mk.
26283         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
26284         requiring dependency on useless-if-before-free module.
26285         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
26286         Support VPATH builds.
26287
26288 2009-04-24  Jim Meyering  <meyering@redhat.com>
26289
26290         maint.mk: remove coreutils-specific rules and variables
26291         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
26292         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
26293         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
26294
26295         maint.mk: remove obsolete rule
26296         * top/maint.mk (rel-check): Remove rule.
26297         (WGET, WGETFLAGS): Remove now-unused variables.
26298
26299 2009-04-24  Simon Josefsson  <simon@josefsson.org>
26300
26301         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
26302         consistency.
26303
26304         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
26305         '$(PATH_SEPARATOR)' instead of ':'.
26306
26307 2009-04-24  Simon Josefsson  <simon@josefsson.org>
26308
26309         * lib/getopt1.c (main): Use 'const' for static array.
26310
26311 2009-04-24  Simon Josefsson  <simon@josefsson.org>
26312
26313         * top/maint.mk: Sync with coreutils.
26314         * NEWS: Explain incompatibilities.
26315
26316 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26317             Bruno Haible  <bruno@clisp.org>
26318
26319         Fix cross-compilation results.
26320         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
26321         statement, as third argument of AC_TRY_RUN.
26322         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
26323         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
26324         Likewise.
26325         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26326         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
26327         Likewise.
26328         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
26329         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
26330         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
26331
26332 2009-04-20  Bruno Haible  <bruno@clisp.org>
26333
26334         Avoid test failure on mingw.
26335         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
26336
26337 2009-04-20  Bruno Haible  <bruno@clisp.org>
26338
26339         Avoid compilation error on mingw.
26340         * modules/localename-tests (Depends-on): Add locale.
26341
26342 2009-04-19  Bruno Haible  <bruno@clisp.org>
26343
26344         Support for building a shared library on Windows platforms.
26345         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
26346         (main): Test the presence of UNINORM_NFC here.
26347         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
26348         (main): Test the presence of UNINORM_NFD here.
26349         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
26350         (main): Test the presence of UNINORM_NFKC here.
26351         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
26352         (main): Test the presence of UNINORM_NFKD here.
26353
26354 2009-04-19  Bruno Haible  <bruno@clisp.org>
26355
26356         Avoid a compiler warning.
26357         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
26358         Change type of variable 'sequence'.
26359
26360 2009-04-19  Bruno Haible  <bruno@clisp.org>
26361
26362         * modules/configmake (Makefile.am): When the contents of configmake.h
26363         does not change, arrange to preserve its modification time.
26364
26365 2009-04-17  Simon Josefsson  <simon@josefsson.org>
26366
26367         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
26368         gettext domain.
26369
26370 2009-04-16  Jim Meyering  <meyering@redhat.com>
26371
26372         useless-if-before-free: improve conversion code
26373         * build-aux/useless-if-before-free: Adjust code-in-comment to match
26374         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
26375
26376 2009-04-14  Bruno Haible  <bruno@clisp.org>
26377
26378         * modules/fcntl (Depends-on): Add extensions.
26379         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
26380
26381 2009-04-12  Ben Pfaff  <blp@gnu.org>
26382
26383         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
26384         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
26385
26386 2009-03-20  Ben Pfaff  <blp@gnu.org>
26387
26388         Make rename replace existing destinations on Windows.
26389         * m4/rename.m4: Add test for Mingw.
26390         * lib/rename.c: Add rename replacement that uses MoveFileEx with
26391         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
26392         * doc/posix-functions/rename.texi: Document.
26393
26394 2009-04-10  Bruno Haible  <bruno@clisp.org>
26395
26396         New include file "iconveh.h".
26397         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
26398         * lib/striconveh.h: Include it.
26399         (enum iconv_ilseq_handler): Remove definition.
26400         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
26401         striconveh.h.
26402         * lib/striconveha.c: Include striconveh.h.
26403         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
26404         * modules/striconveh (Files): Add lib/iconveh.h.
26405         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
26406         lib/striconveh.h.
26407
26408 2009-04-10  Bruno Haible  <bruno@clisp.org>
26409
26410         * lib/uniconv.h: Update comment.
26411
26412 2009-04-10  Bruno Haible  <bruno@clisp.org>
26413
26414         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
26415         always.
26416         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
26417         * lib/unistr/u16-mbtouc-aux.c: Likewise.
26418         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
26419         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
26420         "unistring-notinline.h", so that the function gets defined always.
26421         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
26422         * lib/unistr/u8-uctomb.c: Likewise.
26423         * lib/unistr/u16-mbtouc.c: Likewise.
26424         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
26425         * lib/unistr/u16-uctomb.c: Likewise.
26426         * lib/unistr/u32-mbtouc.c: Likewise.
26427         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
26428         * lib/unistr/u32-uctomb.c: Likewise.
26429
26430 2009-04-10  Bruno Haible  <bruno@clisp.org>
26431
26432         Mark 'utime' obsolete.
26433         * modules/utime (Status, Notice): New sections.
26434         Suggested by Jim Meyering.
26435
26436         Fix cross-compile guess for utime test.
26437         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
26438         autoconf.
26439         * doc/posix-functions/utime.texi: Give more precisions.
26440         Reported by Jan <ipif@ymail.com>.
26441
26442 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
26443
26444         filevercmp: correct today's change
26445         * lib/filevercmp.c: Also handle coreutils' test inputs.
26446         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
26447
26448         Fix regression in 'filevercmp' module. Thanks Sven Joachim
26449         for reporting it.
26450         * lib/filevercmp.c: Special handle for "", "." and "..".
26451         * tests/test-filevercmp.c: Enlarge the set suite.
26452
26453 2009-04-07  Jim Meyering  <meyering@redhat.com>
26454
26455         useless-if-before-free: show how to remove braced useless free, too
26456         * build-aux/useless-if-before-free: still only in a comment, though.
26457
26458 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
26459
26460         maint.mk: import changes to syntax-check macros from coreutils
26461         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
26462         Use them in the relevant macros.
26463
26464 2009-04-06  Bruno Haible  <bruno@clisp.org>
26465
26466         Fix unportable use of bit-fields.
26467         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
26468         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
26469         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
26470
26471 2009-04-06  Bruno Haible  <bruno@clisp.org>
26472
26473         Avoid test failures on AIX and OSF/1.
26474         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
26475         that malloc(0) = NULL.
26476         * tests/unicase/test-u8-tolower.c (check): Likewise.
26477         * tests/unicase/test-u8-totitle.c (check): Likewise.
26478         * tests/unicase/test-u8-toupper.c (check): Likewise.
26479         * tests/unicase/test-u16-casefold.c (check): Likewise.
26480         * tests/unicase/test-u16-tolower.c (check): Likewise.
26481         * tests/unicase/test-u16-totitle.c (check): Likewise.
26482         * tests/unicase/test-u16-toupper.c (check): Likewise.
26483         * tests/unicase/test-u32-casefold.c (check): Likewise.
26484         * tests/unicase/test-u32-tolower.c (check): Likewise.
26485         * tests/unicase/test-u32-totitle.c (check): Likewise.
26486         * tests/unicase/test-u32-toupper.c (check): Likewise.
26487         * tests/uninorm/test-u8-nfc.c (check): Likewise.
26488         * tests/uninorm/test-u8-nfd.c (check): Likewise.
26489         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
26490         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
26491         * tests/uninorm/test-u16-nfc.c (check): Likewise.
26492         * tests/uninorm/test-u16-nfd.c (check): Likewise.
26493         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
26494         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
26495         * tests/uninorm/test-u32-nfc.c (check): Likewise.
26496         * tests/uninorm/test-u32-nfd.c (check): Likewise.
26497         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
26498         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
26499
26500 2009-04-05  Bruno Haible  <bruno@clisp.org>
26501
26502         Work around an autoconf limitation.
26503         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
26504         comment line if it would be longer than 3 KB.
26505
26506 2009-04-05  Bruno Haible  <bruno@clisp.org>
26507
26508         Avoid test failure with libiconv-1.13.
26509         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
26510         of the expected test results.
26511
26512 2009-04-05  Bruno Haible  <bruno@clisp.org>
26513
26514         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
26515         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
26516         that it should be installed.
26517
26518 2009-04-05  Bruno Haible  <bruno@clisp.org>
26519
26520         * gnulib-tool: New option --copy-file.
26521         (func_usage): Document it.
26522         (func_dest_tmpfilename): Moved out of func_import.
26523         (func_add_file, func_update_file): New functions, extracted from
26524         func_import.
26525         (func_import): Update.
26526
26527 2009-04-05  Karl Berry  <karl@gnu.org>
26528
26529         * README: prominently mention gnulib-tool.
26530         Rearrange sections so getting the code is near the top.
26531
26532 2009-04-05  Bruno Haible  <bruno@clisp.org>
26533
26534         * lib/unicase.h: Mention u*_cmp2.
26535         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
26536         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
26537         * lib/unicase/ulc-casecmp.c: Likewise.
26538         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
26539         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
26540         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
26541         unistr/u8-cmp.
26542         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
26543         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
26544         unistr/u16-cmp.
26545         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
26546         unistr/u32-cmp.
26547
26548         * lib/uninorm.h: Mention u*_cmp2.
26549         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
26550         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
26551         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
26552         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
26553         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
26554         unistr/u8-cmp.
26555         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
26556         unistr/u16-cmp.
26557         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
26558         unistr/u32-cmp.
26559
26560         New module 'unistr/u32-cmp2'.
26561         * lib/unistr/u32-cmp2.c: New file.
26562         * modules/unistr/u32-cmp2: New file.
26563
26564         New module 'unistr/u16-cmp2'.
26565         * lib/unistr/u16-cmp2.c: New file.
26566         * modules/unistr/u16-cmp2: New file.
26567
26568         New module 'unistr/u8-cmp2'.
26569         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
26570         * lib/unistr/u8-cmp2.c: New file.
26571         * lib/unistr/u-cmp2.h: New file.
26572         * modules/unistr/u8-cmp2: New file.
26573
26574 2009-04-05  Bruno Haible  <bruno@clisp.org>
26575
26576         * lib/unictype.h (uc_property_is_valid): New macro.
26577         * tests/unictype/test-pr_byname.c (main): Use it.
26578
26579         * lib/unistr.h: Doc fixes.
26580         * lib/uniconv.h: Doc fixes.
26581         * lib/unictype.h: Doc fixes.
26582
26583 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
26584
26585         Port coreutils 7.2 to Solaris 8.
26586
26587         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
26588         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
26589         for Solaris 8.  This is a bit of a hack, as it means it's the
26590         caller's responsibility to add -lnsl if needed, but most likely it
26591         won't be needed since only getaddrinfo uses this and getaddrinfo
26592         isn't needed on Solaris 8.
26593
26594         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
26595         problem to Solaris 8 encountered with coreutils 7.2, which
26596         resulted in a message "fnmatch.c:292: warning: passing argument 4
26597         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
26598         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
26599
26600 2009-04-03  Simon Josefsson  <simon@josefsson.org>
26601
26602         * m4/ld-version-script.m4: Add FIXME comment.
26603
26604 2009-04-02  Simon Josefsson  <simon@josefsson.org>
26605
26606         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
26607         SOVERSION variable.
26608
26609 2009-04-02  Bruno Haible  <bruno@clisp.org>
26610
26611         * Makefile (info, html, dvi, pdf): Combine the rules.
26612         Suggested by Jim Meyering.
26613
26614 2009-04-01  Bruno Haible  <bruno@clisp.org>
26615
26616         * Makefile (info, html, dvi, pdf): New targets.
26617         Reported by Reuben Thomas <rrt@sc3d.org>.
26618
26619 2009-04-01  Bruno Haible  <bruno@clisp.org>
26620
26621         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
26622         can be put into PATH.
26623         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
26624
26625 2009-04-01  Bruno Haible  <bruno@clisp.org>
26626
26627         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
26628
26629 2009-04-01  Bruno Haible  <bruno@clisp.org>
26630
26631         Rename module 'visibility'.
26632         * modules/lib-symbol-visibility: Renamed from modules/visibility.
26633         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
26634         * doc/gnulib.texi: Update.
26635         * MODULES.html.sh (Misc): Update.
26636         * NEWS: Mention the change.
26637
26638 2009-04-01  Simon Josefsson  <simon@josefsson.org>
26639
26640         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
26641         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
26642         Eric Blake <ebb9@byu.net> for review.
26643         * MODULES.html.sh: Add lib-msvc-compat.
26644         * doc/gnulib.texi: Link to new section.
26645         * m4/ld-output-def.m4: New file.
26646         * doc/ld-output-def.texi: New file.
26647
26648 2009-04-01  Simon Josefsson  <simon@josefsson.org>
26649
26650         Rename ld-version-script to lib-symbol-versions.  Suggested by
26651         Bruno Haible <bruno@clisp.org>.
26652         * modules/ld-version-script: Renamed to lib-symbol-versions.
26653         * doc/ld-version-script.texi: Fix module name.
26654         * MODULES.html.sh: Add lib-symbol-versions.
26655
26656 2009-03-31  Simon Josefsson  <simon@josefsson.org>
26657
26658         * modules/u64-tests: New file.
26659         * tests/test-u64.c: New file.
26660
26661 2009-03-04  Simon Josefsson  <simon@josefsson.org>
26662
26663         * MODULES.html.sh: Mention u64.
26664         * modules/u64: New module.
26665         * modules/crypto/sha512: Depend on u64 module instead of providing
26666         u64.h.
26667
26668 2009-03-27  Eric Blake  <ebb9@byu.net>
26669
26670         test-strerror: make debugging EAI_SYSTEM easier
26671         * modules/getaddrinfo-tests (Depends-on): Add strerror.
26672         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
26673         failure was EAI_SYSTEM.
26674
26675 2009-03-25  Bruno Haible  <bruno@clisp.org>
26676
26677         Fix a problem with --enable-relocatable on Solaris 7.
26678         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
26679         since 2008-02-24.
26680
26681 2009-03-25  Eric Blake  <ebb9@byu.net>
26682
26683         test-sockets: avoid gcc warning
26684         * tests/test-sockets.c (main): Silence compiler warning.
26685
26686 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
26687
26688         New modules nproc, pthread, contributed by Glen Lenker.
26689
26690         * MODULES.html.sh: Add pthread, nproc.
26691         * lib/nproc.c: New file.
26692         * lib/nproc.h: New file.
26693         * lib/pthread.in.h: New file.
26694         * m4/pthread.m4: New file.
26695         * modules/nproc: New file.
26696         * modules/pthread: New file.
26697
26698 2009-03-24  Simon Josefsson  <simon@josefsson.org>
26699
26700         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
26701         New variable.
26702
26703 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
26704
26705         filevercmp: handle simple~ and numbered.~3~ backup suffixes
26706         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
26707         * tests/test-filevercmp.c: Add tests for backup suffixes.
26708
26709 2009-03-24  Simon Josefsson  <simon@josefsson.org>
26710
26711         * modules/stdlib (Depends-on): Add stdint, needed when defining
26712         struct random_data on, for example, HP-UX 10.20.  Reported by
26713         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
26714
26715 2009-03-24  Simon Josefsson  <simon@josefsson.org>
26716
26717         * lib/readline.c (readline): Call fflush on stdout after printing
26718         prompt.
26719
26720 2009-03-20  Bruno Haible  <bruno@clisp.org>
26721
26722         Remove dependency from 'close' module to -lws2_32 on native Windows.
26723         * lib/close-hook.h: New file.
26724         * lib/close-hook.c: New file.
26725         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
26726         w32sock.h.
26727         (_gl_close_fd_maybe_socket): Remove function.
26728         (rpl_close): Invoke execute_all_close_hooks instead of
26729         _gl_close_fd_maybe_socket.
26730         * lib/sockets.c: Include close-hook.h, w32sock.h.
26731         (close_fd_maybe_socket): New function, essentially from lib/close.c.
26732         (close_sockets_hook): New variable.
26733         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
26734         (gl_sockets_cleanup): Unregister it.
26735         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
26736         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
26737         * modules/close-hook: New file.
26738         * modules/close (Files): Remove lib/w32sock.h.
26739         (Depends-on): Add close-hook.
26740         (Link): Remove section.
26741         * modules/sockets (Files): Add lib/w32sock.h.
26742         (Depends-on): Add close-hook.
26743         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
26744         invocation.
26745         * NEWS: Mention that LIB_CLOSE is gone.
26746
26747 2009-03-23  Eric Blake  <ebb9@byu.net>
26748
26749         signal-tests: test previous patch
26750         * tests/test-signal.c: New file.
26751         * modules/signal-tests: Likewise.
26752
26753         signal.h: always support 'volatile sig_atomic_t'
26754         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
26755         (gl_SIGNAL_H_DEFAULTS): Add a default.
26756         * modules/signal (Makefile.am): Substitute if needed.
26757         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
26758         users can blindly add volatile.
26759         * doc/posix-headers/signal.texi (signal.h): Document it.
26760         Reported by Matthew Woehlke.
26761
26762 2009-03-23  Jim Meyering  <meyering@redhat.com>
26763
26764         pathmax: PATH_MAX: use pathconf only when available
26765         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
26766         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
26767         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
26768         This avoids a link failure in a PSP cross-compilation environment
26769         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
26770
26771         * lib/vasnprintf.c (divide): Fix typo in comment.
26772
26773 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26774
26775         * gnulib-tool (func_filter_filelist): Fix comment.
26776
26777 2009-03-20  Bruno Haible  <bruno@clisp.org>
26778
26779         Make sockets.h self-contained.
26780         * lib/sockets.c: Include sockets.h first.
26781         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
26782
26783 2009-03-19  Eric Blake  <ebb9@byu.net>
26784
26785         doc: mention more functions added in cygwin 1.7.0
26786         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
26787         addition.
26788         * doc/posix-functions/log2f.texi: Likewise.
26789
26790 2009-03-19  Jim Meyering  <meyering@redhat.com>
26791
26792         fsusage: avoid syntax error due to statement-before-declaration
26793         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
26794         after all declarations.  Reported by Matthew Woehlke in
26795         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
26796
26797 2009-03-18  Eric Blake  <ebb9@byu.net>
26798
26799         build-aux/compile: sync from automake
26800         * build-aux/compile: New file, from automake.
26801         * config/srclist.txt: Mention build-aux/compile.
26802
26803 2009-03-17  Bruno Haible  <bruno@clisp.org>
26804
26805         * lib/git-merge-changelog.c: Fix typo in comment.
26806         Reported by Reuben Thomas <rrt@sc3d.org>.
26807
26808 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
26809
26810         * m4/regex.m4: update and improve help for
26811         --without-included-regex.
26812
26813 2009-03-17  Simon Josefsson  <simon@josefsson.org>
26814
26815         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
26816         failure on missing include files.
26817
26818 2009-03-17  Eric Blake  <ebb9@byu.net>
26819
26820         doc: mention more functions added in cygwin 1.7.0
26821         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
26822         addition.
26823         * doc/posix-functions/fwscanf.texi: Likewise.
26824         * doc/posix-functions/swprintf.texi: Likewise.
26825         * doc/posix-functions/swscanf.texi: Likewise.
26826         * doc/posix-functions/vfwprintf.texi: Likewise.
26827         * doc/posix-functions/vfwscanf.texi: Likewise.
26828         * doc/posix-functions/vswprintf.texi: Likewise.
26829         * doc/posix-functions/vswscanf.texi: Likewise.
26830         * doc/posix-functions/vwprintf.texi: Likewise.
26831         * doc/posix-functions/vwscanf.texi: Likewise.
26832         * doc/posix-functions/wcscasecmp.texi: Likewise.
26833         * doc/posix-functions/wcsdup.texi: Likewise.
26834         * doc/posix-functions/wcsftime.texi: Likewise.
26835         * doc/posix-functions/wcsncasecmp.texi: Likewise.
26836         * doc/posix-functions/wprintf.texi: Likewise.
26837         * doc/posix-functions/wscanf.texi: Likewise.
26838         * doc/glibc-functions/gethostbyname2.texi: Likewise.
26839
26840 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26841
26842         maint.mk: really add $(AM_MAKEFLAGS)
26843         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
26844         was inadvertently omitted in the last commit.
26845         Spotted by Bruno Haible.
26846
26847         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
26848         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
26849         $(AM_MAKEFLAGS)' rather than plain `make'.
26850
26851         gnulib-tool: execute $MAKE not make
26852         * gnulib-tool: Default $MAKE to 'make'.
26853         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
26854         than make.  Initialize $MAKE in the do-autobuild script.
26855
26856         gnulib-tool: use $MAKE not make in generated files
26857         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
26858         make, in generated files.  Initialize $MAKE in the do-autobuild
26859         script.
26860
26861         * top/GNUmakefile (_have-git-version-gen): Fix typo.
26862
26863         GNUmakefile: disable parallelism only for multiple, recursive targets
26864         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
26865         additions in the Makefile.
26866         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
26867         by Automake.
26868         (.NOTPARALLEL): Only disable parallel builds if multiple targets
26869         are listed on the command line and at least one of them is
26870         listed in $(ALL_RECURSIVE_TARGETS).
26871
26872 2009-03-14  Bruno Haible  <bruno@clisp.org>
26873
26874         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
26875         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
26876         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
26877         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
26878         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
26879         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
26880         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
26881         unistr/u8-uctomb.
26882         * modules/unistr/u8-strchr (Depends-on): Likewise.
26883         * modules/unistr/u8-strrchr (Depends-on): Likewise.
26884         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
26885         unistr/u16-uctomb.
26886         * modules/unistr/u16-strchr (Depends-on): Likewise.
26887         * modules/unistr/u16-strrchr (Depends-on): Likewise.
26888
26889 2009-03-12  Bruno Haible  <bruno@clisp.org>
26890
26891         Work around select() bug on Interix 3.5.
26892         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
26893         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
26894         * m4/select.m4: New file.
26895         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
26896         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
26897         * modules/select (Files): Add m4/select.m4.
26898         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
26899         * modules/nanosleep (Depends-on): Add select.
26900         * modules/poll (Depends-on): Likewise.
26901         * doc/posix-functions/select.texi: Mention the Interix bug.
26902         Reported by Markus Duft <mduft@gentoo.org>.
26903
26904         * lib/select.c: Renamed from lib/winsock-select.c.
26905         * modules/select (Files): Add lib/select.c, remove
26906         lib/winsock-select.c.
26907         (configure.ac): Update.
26908
26909 2009-03-12  Jim Meyering  <meyering@redhat.com>
26910
26911         avoid gcc warnings about unused macro definitions
26912         * lib/readtokens.c (STREQ): Remove unused definition.
26913         * lib/xmalloc.c (SIZE_MAX): Likewise.
26914         * lib/openat-die.c (N_): Likewise.
26915         * lib/mountlist.c (SIZE_MAX): Remove definition.
26916         Instead, include <stdint.h>.
26917         * lib/readutmp.c: Likewise.
26918         * modules/readutmp (Depends-on): Add stdint.
26919         * modules/mountlist (Depends-on): Add stdint.
26920         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
26921
26922 2009-03-10  Bruno Haible  <bruno@clisp.org>
26923
26924         Tests for module 'mbmemcasecoll'.
26925         * modules/mbmemcasecoll-tests: New file.
26926         * tests/test-mbmemcasecoll1.sh: New file.
26927         * tests/test-mbmemcasecoll2.sh: New file.
26928         * tests/test-mbmemcasecoll3.sh: New file.
26929         * tests/test-mbmemcasecoll.c: New file.
26930
26931         New module 'mbmemcasecoll'.
26932         * lib/mbmemcasecoll.h: New file.
26933         * lib/mbmemcasecoll.c: New file.
26934         * modules/mbmemcasecoll: New file.
26935
26936         * tests/test-mbmemcasecmp.h: New file, extracted from
26937         tests/test-mbmemcasecmp.c.
26938         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
26939         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
26940         (main): Update.
26941         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
26942
26943 2009-03-09  Bruno Haible  <bruno@clisp.org>
26944
26945         Tests for module 'mbmemcasecmp'.
26946         * modules/mbmemcasecmp-tests: New file.
26947         * tests/test-mbmemcasecmp1.sh: New file.
26948         * tests/test-mbmemcasecmp2.sh: New file.
26949         * tests/test-mbmemcasecmp3.sh: New file.
26950         * tests/test-mbmemcasecmp.c: New file.
26951
26952         New module 'mbmemcasecmp'.
26953         * lib/mbmemcasecmp.h: New file.
26954         * lib/mbmemcasecmp.c: New file.
26955         * modules/mbmemcasecmp: New file.
26956
26957 2009-03-09  Bruno Haible  <bruno@clisp.org>
26958
26959         Tests for module 'unicase/ulc-casecoll'.
26960         * modules/unicase/ulc-casecoll-tests: New file.
26961         * tests/unicase/test-ulc-casecoll1.sh: New file.
26962         * tests/unicase/test-ulc-casecoll2.sh: New file.
26963         * tests/unicase/test-ulc-casecoll.c: New file.
26964
26965         New module 'unicase/ulc-casecoll'.
26966         * lib/unicase.h (ulc_casecoll): New declaration.
26967         * lib/unicase/ulc-casecoll.c: New file.
26968         * modules/unicase/ulc-casecoll: New file.
26969
26970         New module 'unicase/ulc-casexfrm'.
26971         * lib/unicase.h (ulc_casexfrm): New declaration.
26972         * lib/unicase/ulc-casexfrm.c: New file.
26973         * modules/unicase/ulc-casexfrm: New file.
26974
26975 2009-03-09  Bruno Haible  <bruno@clisp.org>
26976
26977         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
26978         invocations.
26979
26980         * m4/mbscasecmp.m4: Remove file.
26981         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
26982         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
26983
26984         * m4/mbscasestr.m4: Remove file.
26985         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
26986         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
26987
26988         * m4/mbschr.m4: Remove file.
26989         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
26990         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
26991
26992         * m4/mbscspn.m4: Remove file.
26993         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
26994         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
26995
26996         * m4/mbslen.m4: Remove file.
26997         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
26998         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
26999
27000         * m4/mbsncasecmp.m4: Remove file.
27001         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
27002         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
27003
27004         * m4/mbsnlen.m4: Remove file.
27005         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
27006         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
27007
27008         * m4/mbspbrk.m4: Remove file.
27009         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
27010         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
27011
27012         * m4/mbspcasecmp.m4: Remove file.
27013         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
27014         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
27015
27016         * m4/mbsrchr.m4: Remove file.
27017         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
27018         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
27019
27020         * m4/mbssep.m4: Remove file.
27021         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
27022         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
27023
27024         * m4/mbsspn.m4: Remove file.
27025         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
27026         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
27027
27028         * m4/mbsstr.m4: Remove file.
27029         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
27030         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
27031
27032         * m4/mbstok_r.m4: Remove file.
27033         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
27034         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
27035
27036         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
27037
27038         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
27039         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
27040
27041         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
27042
27043 2009-03-08  Bruno Haible  <bruno@clisp.org>
27044
27045         Tests for module 'unicase/ulc-casecmp'.
27046         * modules/unicase/ulc-casecmp-tests: New file.
27047         * tests/unicase/test-ulc-casecmp1.sh: New file.
27048         * tests/unicase/test-ulc-casecmp2.sh: New file.
27049         * tests/unicase/test-ulc-casecmp.c: New file.
27050
27051         New module 'unicase/ulc-casecmp'.
27052         * lib/unicase.h (ulc_casecmp): New declaration.
27053         * lib/unicase/ulc-casecmp.c: New file.
27054         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
27055         'const SRC_UNIT *'.
27056         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
27057         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
27058         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
27059         * modules/unicase/ulc-casecmp: New file.
27060
27061         Tests for module 'unicase/u32-is-cased'.
27062         * modules/unicase/u32-is-cased-tests: New file.
27063         * tests/unicase/test-u32-is-cased.c: New file.
27064
27065         Tests for module 'unicase/u16-is-cased'.
27066         * modules/unicase/u16-is-cased-tests: New file.
27067         * tests/unicase/test-u16-is-cased.c: New file.
27068
27069         Tests for module 'unicase/u8-is-cased'.
27070         * modules/unicase/u8-is-cased-tests: New file.
27071         * tests/unicase/test-u8-is-cased.c: New file.
27072         * tests/unicase/test-is-cased.h: New file.
27073
27074         New module 'unicase/u32-is-cased'.
27075         * lib/unicase/u32-is-cased.c: New file.
27076         * modules/unicase/u32-is-cased: New file.
27077
27078         New module 'unicase/u16-is-cased'.
27079         * lib/unicase/u16-is-cased.c: New file.
27080         * modules/unicase/u16-is-cased: New file.
27081
27082         New module 'unicase/u8-is-cased'.
27083         * lib/unicase/u8-is-cased.c: New file.
27084         * lib/unicase/u-is-cased.h: New file.
27085         * modules/unicase/u8-is-cased: New file.
27086
27087         Tests for module 'unicase/u32-is-casefolded'.
27088         * modules/unicase/u32-is-casefolded-tests: New file.
27089         * tests/unicase/test-u32-is-casefolded.c: New file.
27090
27091         Tests for module 'unicase/u16-is-casefolded'.
27092         * modules/unicase/u16-is-casefolded-tests: New file.
27093         * tests/unicase/test-u16-is-casefolded.c: New file.
27094
27095         Tests for module 'unicase/u8-is-casefolded'.
27096         * modules/unicase/u8-is-casefolded-tests: New file.
27097         * tests/unicase/test-u8-is-casefolded.c: New file.
27098         * tests/unicase/test-is-casefolded.h: New file.
27099
27100         New module 'unicase/u32-is-casefolded'.
27101         * lib/unicase/u32-is-casefolded.c: New file.
27102         * modules/unicase/u32-is-casefolded: New file.
27103
27104         New module 'unicase/u16-is-casefolded'.
27105         * lib/unicase/u16-is-casefolded.c: New file.
27106         * modules/unicase/u16-is-casefolded: New file.
27107
27108         New module 'unicase/u8-is-casefolded'.
27109         * lib/unicase/u8-is-casefolded.c: New file.
27110         * modules/unicase/u8-is-casefolded: New file.
27111
27112         Tests for module 'unicase/u32-is-titlecase'.
27113         * modules/unicase/u32-is-titlecase-tests: New file.
27114         * tests/unicase/test-u32-is-titlecase.c: New file.
27115
27116         Tests for module 'unicase/u16-is-titlecase'.
27117         * modules/unicase/u16-is-titlecase-tests: New file.
27118         * tests/unicase/test-u16-is-titlecase.c: New file.
27119
27120         Tests for module 'unicase/u8-is-titlecase'.
27121         * modules/unicase/u8-is-titlecase-tests: New file.
27122         * tests/unicase/test-u8-is-titlecase.c: New file.
27123         * tests/unicase/test-is-titlecase.h: New file.
27124
27125         New module 'unicase/u32-is-titlecase'.
27126         * lib/unicase/u32-is-titlecase.c: New file.
27127         * modules/unicase/u32-is-titlecase: New file.
27128
27129         New module 'unicase/u16-is-titlecase'.
27130         * lib/unicase/u16-is-titlecase.c: New file.
27131         * modules/unicase/u16-is-titlecase: New file.
27132
27133         New module 'unicase/u8-is-titlecase'.
27134         * lib/unicase/u8-is-titlecase.c: New file.
27135         * modules/unicase/u8-is-titlecase: New file.
27136
27137         Tests for module 'unicase/u32-is-lowercase'.
27138         * modules/unicase/u32-is-lowercase-tests: New file.
27139         * tests/unicase/test-u32-is-lowercase.c: New file.
27140
27141         Tests for module 'unicase/u16-is-lowercase'.
27142         * modules/unicase/u16-is-lowercase-tests: New file.
27143         * tests/unicase/test-u16-is-lowercase.c: New file.
27144
27145         Tests for module 'unicase/u8-is-lowercase'.
27146         * modules/unicase/u8-is-lowercase-tests: New file.
27147         * tests/unicase/test-u8-is-lowercase.c: New file.
27148         * tests/unicase/test-is-lowercase.h: New file.
27149
27150         New module 'unicase/u32-is-lowercase'.
27151         * lib/unicase/u32-is-lowercase.c: New file.
27152         * modules/unicase/u32-is-lowercase: New file.
27153
27154         New module 'unicase/u16-is-lowercase'.
27155         * lib/unicase/u16-is-lowercase.c: New file.
27156         * modules/unicase/u16-is-lowercase: New file.
27157
27158         New module 'unicase/u8-is-lowercase'.
27159         * lib/unicase/u8-is-lowercase.c: New file.
27160         * modules/unicase/u8-is-lowercase: New file.
27161
27162         Tests for module 'unicase/u32-is-uppercase'.
27163         * modules/unicase/u32-is-uppercase-tests: New file.
27164         * tests/unicase/test-u32-is-uppercase.c: New file.
27165
27166         Tests for module 'unicase/u16-is-uppercase'.
27167         * modules/unicase/u16-is-uppercase-tests: New file.
27168         * tests/unicase/test-u16-is-uppercase.c: New file.
27169
27170         Tests for module 'unicase/u8-is-uppercase'.
27171         * modules/unicase/u8-is-uppercase-tests: New file.
27172         * tests/unicase/test-u8-is-uppercase.c: New file.
27173         * tests/unicase/test-is-uppercase.h: New file.
27174
27175         New module 'unicase/u32-is-uppercase'.
27176         * lib/unicase/u32-is-uppercase.c: New file.
27177         * modules/unicase/u32-is-uppercase: New file.
27178
27179         New module 'unicase/u16-is-uppercase'.
27180         * lib/unicase/u16-is-uppercase.c: New file.
27181         * modules/unicase/u16-is-uppercase: New file.
27182
27183         New module 'unicase/u8-is-uppercase'.
27184         * lib/unicase/u8-is-uppercase.c: New file.
27185         * modules/unicase/u8-is-uppercase: New file.
27186
27187         New module 'unicase/u32-is-invariant'.
27188         * lib/unicase/u32-is-invariant.c: New file.
27189         * modules/unicase/u32-is-invariant: New file.
27190
27191         New module 'unicase/u16-is-invariant'.
27192         * lib/unicase/u16-is-invariant.c: New file.
27193         * modules/unicase/u16-is-invariant: New file.
27194
27195         New module 'unicase/u8-is-invariant'.
27196         * lib/unicase/u8-is-invariant.c: New file.
27197         * lib/unicase/invariant.h: New file.
27198         * lib/unicase/u-is-invariant.h: New file.
27199         * modules/unicase/u8-is-invariant: New file.
27200
27201         Tests for module 'unicase/u32-casecoll'.
27202         * modules/unicase/u32-casecoll-tests: New file.
27203         * tests/unicase/test-u32-casecoll.c: New file.
27204
27205         Tests for module 'unicase/u16-casecoll'.
27206         * modules/unicase/u16-casecoll-tests: New file.
27207         * tests/unicase/test-u16-casecoll.c: New file.
27208
27209         Tests for module 'unicase/u8-casecoll'.
27210         * modules/unicase/u8-casecoll-tests: New file.
27211         * tests/unicase/test-u8-casecoll.c: New file.
27212
27213         New module 'unicase/u32-casecoll'.
27214         * lib/unicase/u32-casecoll.c: New file.
27215         * modules/unicase/u32-casecoll: New file.
27216
27217         New module 'unicase/u16-casecoll'.
27218         * lib/unicase/u16-casecoll.c: New file.
27219         * modules/unicase/u16-casecoll: New file.
27220
27221         New module 'unicase/u8-casecoll'.
27222         * lib/unicase/u8-casecoll.c: New file.
27223         * lib/unicase/u-casecoll.h: New file.
27224         * modules/unicase/u8-casecoll: New file.
27225
27226         New module 'unicase/u32-casexfrm'.
27227         * lib/unicase/u32-casexfrm.c: New file.
27228         * modules/unicase/u32-casexfrm: New file.
27229
27230         New module 'unicase/u16-casexfrm'.
27231         * lib/unicase/u16-casexfrm.c: New file.
27232         * modules/unicase/u16-casexfrm: New file.
27233
27234         New module 'unicase/u8-casexfrm'.
27235         * lib/unicase/u8-casexfrm.c: New file.
27236         * lib/unicase/u-casexfrm.h: New file.
27237         * modules/unicase/u8-casexfrm: New file.
27238
27239         Tests for module 'unicase/u32-casecmp'.
27240         * modules/unicase/u32-casecmp-tests: New file.
27241         * tests/unicase/test-u32-casecmp.c: New file.
27242
27243         Tests for module 'unicase/u16-casecmp'.
27244         * modules/unicase/u16-casecmp-tests: New file.
27245         * tests/unicase/test-u16-casecmp.c: New file.
27246
27247         Tests for module 'unicase/u8-casecmp'.
27248         * modules/unicase/u8-casecmp-tests: New file.
27249         * tests/unicase/test-u8-casecmp.c: New file.
27250         * tests/unicase/test-casecmp.h: New file.
27251
27252         New module 'unicase/u32-casecmp'.
27253         * lib/unicase/u32-casecmp.c: New file.
27254         * modules/unicase/u32-casecmp: New file.
27255
27256         New module 'unicase/u16-casecmp'.
27257         * lib/unicase/u16-casecmp.c: New file.
27258         * modules/unicase/u16-casecmp: New file.
27259
27260         New module 'unicase/u8-casecmp'.
27261         * lib/unicase/u8-casecmp.c: New file.
27262         * lib/unicase/u-casecmp.h: New file.
27263         * modules/unicase/u8-casecmp: New file.
27264
27265         Tests for module 'unicase/u32-casefold'.
27266         * modules/unicase/u32-casefold-tests: New file.
27267         * tests/unicase/test-u32-casefold.c: New file.
27268
27269         Tests for module 'unicase/u16-casefold'.
27270         * modules/unicase/u16-casefold-tests: New file.
27271         * tests/unicase/test-u16-casefold.c: New file.
27272
27273         Tests for module 'unicase/u8-casefold'.
27274         * modules/unicase/u8-casefold-tests: New file.
27275         * tests/unicase/test-u8-casefold.c: New file.
27276
27277         New module 'unicase/u32-casefold'.
27278         * lib/unicase/u32-casefold.c: New file.
27279         * modules/unicase/u32-casefold: New file.
27280
27281         New module 'unicase/u16-casefold'.
27282         * lib/unicase/u16-casefold.c: New file.
27283         * modules/unicase/u16-casefold: New file.
27284
27285         New module 'unicase/u8-casefold'.
27286         * lib/unicase/u8-casefold.c: New file.
27287         * lib/unicase/u-casefold.h: New file.
27288         * modules/unicase/u8-casefold: New file.
27289
27290         New module 'unicase/tocasefold'.
27291         * lib/unicase/casefold.h: New file.
27292         * lib/unicase/tocasefold.c: New file.
27293         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
27294         * modules/unicase/tocasefold: New file.
27295
27296         Tests for module 'unicase/u32-totitle'.
27297         * modules/unicase/u32-totitle-tests: New file.
27298         * tests/unicase/test-u32-totitle.c: New file.
27299
27300         Tests for module 'unicase/u16-totitle'.
27301         * modules/unicase/u16-totitle-tests: New file.
27302         * tests/unicase/test-u16-totitle.c: New file.
27303
27304         Tests for module 'unicase/u8-totitle'.
27305         * modules/unicase/u8-totitle-tests: New file.
27306         * tests/unicase/test-u8-totitle.c: New file.
27307
27308         New module 'unicase/u32-totitle'.
27309         * lib/unicase/u32-totitle.c: New file.
27310         * modules/unicase/u32-totitle: New file.
27311
27312         New module 'unicase/u16-totitle'.
27313         * lib/unicase/u16-totitle.c: New file.
27314         * modules/unicase/u16-totitle: New file.
27315
27316         New module 'unicase/u8-totitle'.
27317         * lib/unicase/u8-totitle.c: New file.
27318         * lib/unicase/u-totitle.h: New file.
27319         * modules/unicase/u8-totitle: New file.
27320
27321         Tests for module 'unicase/u32-tolower'.
27322         * modules/unicase/u32-tolower-tests: New file.
27323         * tests/unicase/test-u32-tolower.c: New file.
27324
27325         Tests for module 'unicase/u16-tolower'.
27326         * modules/unicase/u16-tolower-tests: New file.
27327         * tests/unicase/test-u16-tolower.c: New file.
27328
27329         Tests for module 'unicase/u8-tolower'.
27330         * modules/unicase/u8-tolower-tests: New file.
27331         * tests/unicase/test-u8-tolower.c: New file.
27332
27333         New module 'unicase/u32-tolower'.
27334         * lib/unicase/u32-tolower.c: New file.
27335         * modules/unicase/u32-tolower: New file.
27336
27337         New module 'unicase/u16-tolower'.
27338         * lib/unicase/u16-tolower.c: New file.
27339         * modules/unicase/u16-tolower: New file.
27340
27341         New module 'unicase/u8-tolower'.
27342         * lib/unicase/u8-tolower.c: New file.
27343         * modules/unicase/u8-tolower: New file.
27344
27345         Tests for module 'unicase/u32-toupper'.
27346         * modules/unicase/u32-toupper-tests: New file.
27347         * tests/unicase/test-u32-toupper.c: New file.
27348
27349         Tests for module 'unicase/u16-toupper'.
27350         * modules/unicase/u16-toupper-tests: New file.
27351         * tests/unicase/test-u16-toupper.c: New file.
27352
27353         Tests for module 'unicase/u8-toupper'.
27354         * modules/unicase/u8-toupper-tests: New file.
27355         * tests/unicase/test-u8-toupper.c: New file.
27356
27357         New module 'unicase/u32-toupper'.
27358         * lib/unicase/u32-toupper.c: New file.
27359         * modules/unicase/u32-toupper: New file.
27360
27361         New module 'unicase/u16-toupper'.
27362         * lib/unicase/u16-toupper.c: New file.
27363         * modules/unicase/u16-toupper: New file.
27364
27365         New module 'unicase/u8-toupper'.
27366         * lib/unicase/u8-toupper.c: New file.
27367         * modules/unicase/u8-toupper: New file.
27368
27369         New module 'unicase/u32-casemap'.
27370         * lib/unicase/u32-casemap.c: New file.
27371         * modules/unicase/u32-casemap: New file.
27372
27373         New module 'unicase/u16-casemap'.
27374         * lib/unicase/u16-casemap.c: New file.
27375         * modules/unicase/u16-casemap: New file.
27376
27377         New module 'unicase/u8-casemap'.
27378         * lib/unicase/unicasemap.h: New file.
27379         * lib/unicase/u8-casemap.c: New file.
27380         * lib/unicase/u-casemap.h: New file.
27381         * modules/unicase/u8-casemap: New file.
27382
27383         New module 'unicase/special-casing'.
27384         * lib/unicase/special-casing.h: New file.
27385         * lib/unicase/special-casing.c: New file.
27386         * lib/unicase/special-casing-table.gperf: New file, generated by
27387         gen-uni-tables.c.
27388         * modules/unicase/special-casing: New file.
27389
27390         Tests for module 'unicase/locale-language'.
27391         * modules/unicase/locale-language-tests: New file.
27392         * tests/unicase/test-locale-language.sh: New file.
27393         * tests/unicase/test-locale-language.c: New file.
27394
27395         New module 'unicase/locale-language'.
27396         * lib/unicase/locale-language.c: New file.
27397         * lib/unicase/locale-languages.gperf: New file.
27398         * modules/unicase/locale-language: New file.
27399
27400         Generate more tables for case conversion and case folding.
27401         * lib/gen-uni-tables.c (SCC_*): New enum items.
27402         (struct special_casing_rule): New type.
27403         (casing_rules, num_casing_rules, allocated_casing_rules): New
27404         variables.
27405         (add_casing_rule, fill_casing_rules): New functions.
27406         (struct casefold_rule): New type.
27407         (casefolding_rules, num_casefolding_rules,
27408         allocated_casefolding_rules): New variables.
27409         (fill_casefolding_rules): New function.
27410         (unicode_casefold): New variable.
27411         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
27412         sort_casing_rules, output_casing_rules): New functions.
27413         (main): Accept to more arguments: SpecialCasing.txt and
27414         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
27415         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
27416         Output mapping for casefolding.
27417
27418         * lib/unicase.h: Include stdbool.h, uninorm.h.
27419         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
27420         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
27421         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
27422         arguments.
27423         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
27424         resultp arguments.
27425         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
27426         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
27427         resultp arguments.
27428         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
27429         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
27430         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
27431         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
27432         declarations.
27433         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
27434
27435 2009-03-08  Bruno Haible  <bruno@clisp.org>
27436
27437         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
27438         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
27439         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
27440         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
27441
27442 2009-03-07  Bruno Haible  <bruno@clisp.org>
27443
27444         Adjust u*_normcmp, u*_normcoll API.
27445         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
27446         u16_normcoll, u32_normcoll): Change failure conventions.
27447         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
27448         errno and return -1.
27449         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
27450
27451 2009-03-07  Bruno Haible  <bruno@clisp.org>
27452
27453         Tests for module 'uninorm/u32-normcoll'.
27454         * modules/uninorm/u32-normcoll-tests: New file.
27455         * tests/uninorm/test-u32-normcoll.c: New file.
27456
27457         Tests for module 'uninorm/u16-normcoll'.
27458         * modules/uninorm/u16-normcoll-tests: New file.
27459         * tests/uninorm/test-u16-normcoll.c: New file.
27460
27461         Tests for module 'uninorm/u8-normcoll'.
27462         * modules/uninorm/u8-normcoll-tests: New file.
27463         * tests/uninorm/test-u8-normcoll.c: New file.
27464
27465 2009-03-07  Bruno Haible  <bruno@clisp.org>
27466
27467         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
27468         tests/uninorm/test-u32-normcmp.c.
27469         * tests/uninorm/test-u32-normcmp.c: Include it.
27470         (test_nonascii): New function, extracted from main. Add some more
27471         tests.
27472         (main): Invoke test_ascii and test_nonascii.
27473         * modules/uninorm/u32-normcmp-tests (Files): Add
27474         tests/uninorm/test-u32-normcmp.h.
27475         (Depends-on): Remove uninorm/u32-normcmp.
27476
27477         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
27478         tests/uninorm/test-u16-normcmp.c.
27479         * tests/uninorm/test-u16-normcmp.c: Include it.
27480         (test_nonascii): New function, extracted from main. Add some more
27481         tests.
27482         (main): Invoke test_ascii and test_nonascii.
27483         * modules/uninorm/u16-normcmp-tests (Files): Add
27484         tests/uninorm/test-u16-normcmp.h.
27485         (Depends-on): Remove uninorm/u16-normcmp.
27486
27487         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
27488         tests/uninorm/test-u8-normcmp.c.
27489         * tests/uninorm/test-u8-normcmp.c: Include it.
27490         (test_nonascii): New function, extracted from main. Add some more
27491         tests.
27492         (main): Invoke test_ascii and test_nonascii.
27493         * modules/uninorm/u8-normcmp-tests (Files): Add
27494         tests/uninorm/test-u8-normcmp.h.
27495         (Depends-on): Remove uninorm/u8-normcmp.
27496
27497 2009-03-07  Bruno Haible  <bruno@clisp.org>
27498
27499         New module 'uninorm/u32-normcoll'.
27500         * lib/uninorm/u32-normcoll.c: New file.
27501         * modules/uninorm/u32-normcoll: New file.
27502
27503         New module 'uninorm/u16-normcoll'.
27504         * lib/uninorm/u16-normcoll.c: New file.
27505         * modules/uninorm/u16-normcoll: New file.
27506
27507         New module 'uninorm/u8-normcoll'.
27508         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
27509         declarations.
27510         * lib/uninorm/u8-normcoll.c: New file.
27511         * lib/uninorm/u-normcoll.h: New file.
27512         * modules/uninorm/u8-normcoll: New file.
27513
27514         New module 'uninorm/u32-normxfrm'.
27515         * lib/uninorm/u32-normxfrm.c: New file.
27516         * modules/uninorm/u32-normxfrm: New file.
27517
27518         New module 'uninorm/u16-normxfrm'.
27519         * lib/uninorm/u16-normxfrm.c: New file.
27520         * modules/uninorm/u16-normxfrm: New file.
27521
27522         New module 'uninorm/u8-normxfrm'.
27523         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
27524         declarations.
27525         * lib/uninorm/u8-normxfrm.c: New file.
27526         * lib/uninorm/u-normxfrm.h: New file.
27527         * modules/uninorm/u8-normxfrm: New file.
27528
27529 2009-03-07  Bruno Haible  <bruno@clisp.org>
27530
27531         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
27532         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
27533         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
27534
27535 2009-03-07  Bruno Haible  <bruno@clisp.org>
27536
27537         New module 'memxfrm'.
27538         * lib/memxfrm.h: New file.
27539         * lib/memxfrm.c: New file.
27540         * modules/memxfrm: New file.
27541
27542 2009-03-07  Bruno Haible  <bruno@clisp.org>
27543
27544         New module 'memcmp2'.
27545         * lib/memcmp2.h: New file.
27546         * lib/memcmp2.c: New file.
27547         * modules/memcmp2: New file.
27548
27549 2009-03-07  Bruno Haible  <bruno@clisp.org>
27550
27551         Tests for module 'uninorm/decomposing-form'.
27552         * modules/uninorm/decomposing-form-tests: New file.
27553         * tests/uninorm/test-decomposing-form.c: New file.
27554
27555         New module 'uninorm/decomposing-form'.
27556         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
27557         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
27558         Add 'decomposing_variant' field.
27559         * lib/uninorm/decomposing-form.c: New file.
27560         * lib/uninorm/nfc.c (uninorm_nfc): Update.
27561         * lib/uninorm/nfd.c (uninorm_nfd): Update.
27562         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
27563         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
27564         * modules/uninorm/decomposing-form: New file.
27565         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
27566         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
27567
27568 2009-03-07  Bruno Haible  <bruno@clisp.org>
27569
27570         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
27571         strings.
27572
27573 2009-03-06  Bruno Haible  <bruno@clisp.org>
27574
27575         Tests for module 'uninorm/u32-normcmp'.
27576         * tests/uninorm/test-u32-normcmp.c: New file.
27577         * modules/uninorm/u32-normcmp-tests: New file.
27578
27579         Tests for module 'uninorm/u16-normcmp'.
27580         * tests/uninorm/test-u16-normcmp.c: New file.
27581         * modules/uninorm/u16-normcmp-tests: New file.
27582
27583         Tests for module 'uninorm/u8-normcmp'.
27584         * tests/uninorm/test-u8-normcmp.c: New file.
27585         * modules/uninorm/u8-normcmp-tests: New file.
27586
27587         New module 'uninorm/u32-normcmp'.
27588         * lib/uninorm/u32-normcmp.c: New file.
27589         * modules/uninorm/u32-normcmp: New file.
27590
27591         New module 'uninorm/u16-normcmp'.
27592         * lib/uninorm/u16-normcmp.c: New file.
27593         * modules/uninorm/u16-normcmp: New file.
27594
27595         New module 'uninorm/u8-normcmp'.
27596         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
27597         declarations.
27598         * lib/uninorm/u8-normcmp.c: New file.
27599         * lib/uninorm/u-normcmp.h: New file.
27600         * modules/uninorm/u8-normcmp: New file.
27601
27602 2009-03-06  Bruno Haible  <bruno@clisp.org>
27603
27604         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
27605         Reported by Eric Blake.
27606
27607 2009-03-06  Eric Blake  <ebb9@byu.net>
27608             Bruno Haible  <bruno@clisp.org>
27609
27610         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
27611         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
27612         condition.
27613         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
27614         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
27615         condition.
27616         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
27617
27618 2009-03-06  Eric Blake  <ebb9@byu.net>
27619
27620         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
27621         to avoid compiler warnings.
27622         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
27623
27624 2009-03-05  Bruno Haible  <bruno@clisp.org>
27625
27626         * tests/test-ftell.c (main): Disable test beyond end of file on
27627         FreeMiNT.
27628         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
27629
27630 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
27631
27632         * lib/filevercmp.c: Move hidden files up in ordering.
27633         * tests/test-filevercmp.c: Add tests for hidden files.
27634
27635 2009-03-04  Bruno Haible  <bruno@clisp.org>
27636
27637         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
27638         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
27639         AM_CFLAGS.
27640         Reported by Simon Josefsson.
27641
27642 2009-03-03  Bruno Haible  <bruno@clisp.org>
27643
27644         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
27645         Reported by Simon Josefsson.
27646
27647         * doc/ld-version-script.texi: Update node reference.
27648
27649 2009-03-03  Bruno Haible  <bruno@clisp.org>
27650
27651         * modules/visibility (License): Change to 'unlimited'.
27652         Suggested by Simon Josefsson.
27653
27654 2009-03-03  Jim Meyering  <meyering@redhat.com>
27655
27656         unlinkdir: cannot_unlink_dir may modify process state
27657         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
27658         it's neither thread-safe nor appropriate for use in a library.
27659
27660 2009-03-03  Eric Blake  <ebb9@byu.net>
27661
27662         test-closein: silence test under Darwin
27663         * tests/test-closein.sh: Ignore stderr from cat, since we don't
27664         care if it dies from EPIPE or EBADF.
27665
27666 2009-03-03  Bruno Haible  <bruno@clisp.org>
27667
27668         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
27669         earlier.
27670         * doc/visibility.texi: Fix @node and @section.
27671
27672 2009-03-03  Simon Josefsson  <simon@josefsson.org>
27673
27674         * doc/gnulib.texi: Link to sections for ld version script and
27675         visibility.
27676         * doc/visibility.texi: Add @node and @section.
27677         * modules/ld-version-script: New module.
27678         * m4/ld-version-script.m4: New file.
27679         * doc/ld-version-script.texi: New file.
27680
27681 2009-03-02  David Lutterkort  <lutter@redhat.com>
27682
27683         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
27684         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27685
27686 2009-03-02  Bruno Haible  <bruno@clisp.org>
27687
27688         * doc/visibility.texi: Mention libtool's -export-symbols option.
27689
27690 2009-03-02  Jim Meyering  <meyering@redhat.com>
27691
27692         announce-gen: new option: --no-print-checksums
27693         * build-aux/announce-gen (usage): Describe it.
27694         (print_checksums): Print a newline here, not in the [*] footnote.
27695         (main): Honor it.
27696
27697 2009-03-01  Bruno Haible  <bruno@clisp.org>
27698
27699         Use socklen_t in the native Windows replacements prototypes.
27700         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
27701         instead of 'int'.
27702         * lib/getsockopt.c (rpl_getsockopt): Likewise.
27703         * lib/setsockopt.c (rpl_setsockopt): Likewise.
27704         * modules/getsockopt (Depends-on): Add socklen.
27705         * modules/setsockopt (Depends-on): Add socklen.
27706
27707 2009-03-01  Bruno Haible  <bruno@clisp.org>
27708
27709         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
27710         least 4.2.
27711
27712 2009-03-01  Eric Blake  <ebb9@byu.net>
27713             Bruno Haible  <bruno@clisp.org>
27714
27715         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
27716         error messages.
27717         * lib/wait-process.c (wait_subprocess): Omit error message about
27718         deadly signal sent to the child of termsigp != NULL.
27719
27720 2009-03-01  Eric Blake  <ebb9@byu.net>
27721
27722         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
27723
27724 2009-03-01  Bruno Haible  <bruno@clisp.org>
27725
27726         Avoid a gcc warning.
27727         * tests/test-sched.c (b): Make global.
27728         Reported by Eric Blake.
27729
27730 2009-01-19  Martin Lambers  <marlam@marlam.de>
27731
27732         Provide POSIX semantics for socket timeout options on W32.
27733         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
27734         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
27735         * modules/setsockopt: Depend on sys_time module for struct timeval.
27736         * modules/getsockopt: Depend on sys_time module for struct timeval.
27737
27738 2009-03-01  Simon Josefsson  <simon@josefsson.org>
27739
27740         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
27741         __USE_GNU, for consistency with netdb.in.h.
27742         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
27743
27744 2009-03-01  Bruno Haible  <bruno@clisp.org>
27745
27746         More support for FreeMiNT.
27747         * lib/fseeko.c (rpl_fseeko): Complete last commit.
27748         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
27749
27750 2009-03-01  Bruno Haible  <bruno@clisp.org>
27751
27752         More support for FreeMiNT.
27753         * lib/fpurge.c (fpurge): Correct last commit.
27754         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
27755
27756 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27757
27758         Fix unportable awk script in vc-list-files.
27759         * build-aux/vc-list-files: In the replacement awk script, use
27760         substr with a second argument of 1, not zero.
27761         Report by Simon Josefsson.
27762
27763 2009-02-28  Bruno Haible  <bruno@clisp.org>
27764
27765         More support for FreeMiNT.
27766         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
27767         to FreeMiNT today.
27768         * lib/fwriting.c (fwriting): Likewise.
27769         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
27770
27771 2009-02-28  Bruno Haible  <bruno@clisp.org>
27772
27773         * tests/test-freadseek.c (main): Disable test beyond end of file on
27774         FreeMiNT.
27775         * tests/test-ftello.c (main): Likewise.
27776         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
27777
27778 2009-02-28  Bruno Haible  <bruno@clisp.org>
27779
27780         Add tentative support for FreeMiNT.
27781         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
27782         * lib/fpurge.c (fpurge): Likewise.
27783         * lib/freadable.c (freadable): Likewise.
27784         * lib/freading.c (freading): Likewise.
27785         * lib/freadptr.c (freadptr): Likewise.
27786         * lib/freadseek.c (freadptrinc): Likewise.
27787         * lib/fseeko.c (rpl_fseeko): Likewise.
27788         * lib/fseterr.c (fseterr): Likewise.
27789         * lib/fwritable.c (fwritable): Likewise.
27790         * lib/fwriting.c (fwriting): Likewise.
27791         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
27792         Hourihane.
27793         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
27794
27795 2009-02-28  Bruno Haible  <bruno@clisp.org>
27796
27797         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
27798         SIGCHLD.
27799         Reported by Jim Meyering.
27800
27801 2009-02-28  Bruno Haible  <bruno@clisp.org>
27802
27803         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
27804         Mention the results of these tests on various platforms.
27805         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
27806         order.
27807         * doc/posix-functions/printf.texi: Likewise.
27808         * doc/posix-functions/snprintf.texi: Likewise.
27809         * doc/posix-functions/sprintf.texi: Likewise.
27810         * doc/posix-functions/vfprintf.texi: Likewise.
27811         * doc/posix-functions/vprintf.texi: Likewise.
27812         * doc/posix-functions/vsnprintf.texi: Likewise.
27813         * doc/posix-functions/vsprintf.texi: Likewise.
27814         * doc/glibc-functions/obstack_printf.texi: Likewise.
27815         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
27816
27817 2009-02-28  Bruno Haible  <bruno@clisp.org>
27818
27819         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
27820         Reported by Loïc Minier <lool@dooz.org>.
27821
27822 2009-02-27  Bruno Haible  <bruno@clisp.org>
27823
27824         * gnulib-tool (func_import): Make the sed expression used to create the
27825         sed script for updating the .gitignore file POSIX compliant.
27826         Reported by Eric Blake.
27827
27828 2009-02-27  Bruno Haible  <bruno@clisp.org>
27829
27830         * gnulib-tool (sed): Don't alias as "sed --posix".
27831         Reported by Eric Blake.
27832
27833 2009-02-27  Bruno Haible  <bruno@clisp.org>
27834
27835         Avoid test link errors.
27836         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
27837         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
27838         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
27839         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
27840         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27841
27842 2009-02-27  Bruno Haible  <bruno@clisp.org>
27843
27844         Avoid spurious "(cached)" in configure output.
27845         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
27846         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
27847         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
27848         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
27849         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
27850         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
27851         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
27852         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
27853         Reported by Eric Blake.
27854
27855 2009-02-27  Eric Blake  <ebb9@byu.net>
27856
27857         printf: fix regression in previous patch
27858         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
27859
27860 2009-02-27  Bruno Haible  <bruno@clisp.org>
27861
27862         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
27863         value.
27864         * lib/stdint.in.h: Likewise.
27865         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
27866
27867 2009-02-27  Eric Blake  <ebb9@byu.net>
27868
27869         doc: mention more functions added in cygwin 1.7.0
27870         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
27871         addition.
27872         * doc/posix-functions/open_wmemstream.texi: Likewise.
27873         * doc/posix-functions/wcsnlen.texi: Likewise.
27874         * doc/posix-functions/wcsnrtombs.texi: Likewise.
27875         * doc/posix-functions/wcstod.texi: Likewise.
27876         * doc/posix-functions/wcstof.texi: Likewise.
27877         * doc/posix-functions/wcstoimax.texi: Likewise.
27878         * doc/posix-functions/wcstok.texi: Likewise.
27879         * doc/posix-functions/wcstoumax.texi: Likewise.
27880
27881         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
27882         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
27883         * doc/posix-functions/fprintf.texi: Update.
27884         * doc/posix-functions/printf.texi: Update.
27885         * doc/posix-functions/snprintf.texi: Update.
27886         * doc/posix-functions/sprintf.texi: Update.
27887         * doc/posix-functions/vfprintf.texi: Update.
27888         * doc/posix-functions/vprintf.texi: Update.
27889         * doc/posix-functions/vsnprintf.texi: Update.
27890         * doc/posix-functions/vsprintf.texi: Update.
27891         * doc/glibc-functions/obstack_printf.texi: Update.
27892         * doc/glibc-functions/obstack_vprintf.texi: Update.
27893
27894 2009-02-26  Eric Blake  <ebb9@byu.net>
27895
27896         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
27897         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
27898         compilation bug by using runtime conversion.
27899         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
27900         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
27901         * modules/ceill-tests (Files): Use nan.h.
27902         * modules/floorl-tests (Files): Likewise.
27903         * modules/frexpl-tests (Files): Likewise.
27904         * modules/isnanl-tests (Files): Likewise.
27905         * modules/ldexpl-tests (Files): Likewise.
27906         * modules/roundl-tests (Files): Likewise.
27907         * modules/truncl-tests (Files): Likewise.
27908         * tests/test-ceill.c (main): Use a working NaN.
27909         * tests/test-floorl.c (main): Likewise.
27910         * tests/test-frexpl.c (main): Likewise.
27911         * tests/test-isnan.c (test_long_double): Likewise.
27912         * tests/test-isnanl.h (main): Likewise.
27913         * tests/test-ldexpl.h (main): Likewise.
27914         * tests/test-roundl.h (main): Likewise.
27915         * tests/test-truncl.h (main): Likewise.
27916         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
27917
27918 2009-02-26  Eric Blake  <ebb9@byu.net>
27919             Bruno Haible  <bruno@clisp.org>
27920
27921         Work around a *printf bug with %ls on Solaris.
27922         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
27923         precision is specified, sprintf stops converting the wide string
27924         argument when the number of bytes that have been produced by this
27925         conversion equals or exceeds the precision.
27926         * doc/posix-functions/fprintf.texi: Update.
27927         * doc/posix-functions/printf.texi: Update.
27928         * doc/posix-functions/snprintf.texi: Update.
27929         * doc/posix-functions/sprintf.texi: Update.
27930         * doc/posix-functions/vfprintf.texi: Update.
27931         * doc/posix-functions/vprintf.texi: Update.
27932         * doc/posix-functions/vsnprintf.texi: Update.
27933         * doc/posix-functions/vsprintf.texi: Update.
27934         * doc/glibc-functions/obstack_printf.texi: Update.
27935         * doc/glibc-functions/obstack_vprintf.texi: Update.
27936
27937 2009-02-26  Eric Blake  <ebb9@byu.net>
27938
27939         stdlib: favor compiler check of random.h
27940         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
27941         to avoid an ObjC random.h installed by Swarm.
27942
27943 2009-02-26  Bruno Haible  <bruno@clisp.org>
27944
27945         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
27946         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
27947         Reported by Gary V. Vaughan <gary@gnu.org>.
27948
27949 2009-02-26  Bruno Haible  <bruno@clisp.org>
27950
27951         Fix *printf behaviour regarding the %ls directive.
27952         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
27953         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
27954         NEED_PRINTF_DIRECTIVE_LS.
27955         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
27956         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
27957         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27958         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
27959         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
27960         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
27961         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
27962         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
27963         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27964         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27965         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27966         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
27967         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27968         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27969         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27970         * doc/posix-functions/fprintf.texi: Update.
27971         * doc/posix-functions/printf.texi: Update.
27972         * doc/posix-functions/snprintf.texi: Update.
27973         * doc/posix-functions/sprintf.texi: Update.
27974         * doc/posix-functions/vfprintf.texi: Update.
27975         * doc/posix-functions/vprintf.texi: Update.
27976         * doc/posix-functions/vsnprintf.texi: Update.
27977         * doc/posix-functions/vsprintf.texi: Update.
27978         * doc/glibc-functions/obstack_printf.texi: Update.
27979         * doc/glibc-functions/obstack_vprintf.texi: Update.
27980         Reported by Eric Blake.
27981
27982 2009-02-25  Bruno Haible  <bruno@clisp.org>
27983
27984         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
27985         with known value.
27986         Reported by Gary V. Vaughan <gary@gnu.org>.
27987
27988 2009-02-25  Bruno Haible  <bruno@clisp.org>
27989
27990         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
27991         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
27992         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
27993         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
27994         Reported by Gary V. Vaughan <gary@gnu.org>.
27995
27996 2009-02-25  Bruno Haible  <bruno@clisp.org>
27997
27998         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
27999         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
28000         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
28001         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
28002         Reported by Gary V. Vaughan <gary@gnu.org>.
28003
28004 2009-02-25  Eric Blake  <ebb9@byu.net>
28005
28006         tests: skip fseek/ftell tests if ungetc is broken
28007         * m4/ungetc.m4: New file.
28008         * modules/fseek-tests: Split test, so ungetc dependency is
28009         separate from rest of test.
28010         * modules/fseeko-tests: Likewise.
28011         * modules/ftell-tests: Likewise.
28012         * modules/ftello-tests: Likewise.
28013         * tests/test-fseek.c (main): Isolate ungetc dependency.
28014         * tests/test-fseeko.c (main): Likewise.
28015         * tests/test-ftell.c (main): Likewise.
28016         * tests/test-ftello.c (main): Likewise.
28017         * tests/test-fseek2.sh: New file.
28018         * tests/test-fseeko2.sh: Likewise.
28019         * tests/test-ftell2.sh: Likewise.
28020         * tests/test-ftello2.sh: Likewise.
28021
28022 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
28023
28024         test-getaddrinfo: fix usage of skip return code 77
28025         * tests/test-gettaddrinfo.c: Return skip code 77 only
28026         for first occurance of skip (4x77 is not 77)
28027
28028 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
28029
28030         strtod: avoid C99 decl-after-statement
28031         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
28032
28033 2009-02-24  Eric Blake  <ebb9@byu.net>
28034
28035         strtod: detect HP-UX 11.31 bug
28036         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
28037         Reported by Gary V. Vaughan.
28038
28039 2009-02-23  Bruno Haible  <bruno@clisp.org>
28040
28041         Fix invalid read past end of memory block.
28042         * lib/vasnprintf.c (DCHAR_SET): Define.
28043         (local_wcslen): Define only when needed.
28044         (local_strnlen, local_wcsnlen): New functions.
28045         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
28046         directives that involve a conversion ourselves.
28047         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
28048         wcsnlen, mbrtowc, wcrtomb.
28049         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
28050         * tests/test-vasprintf-posix.c (test_function): Likewise.
28051         * tests/test-snprintf-posix.h (test_function): Likewise.
28052         * tests/test-sprintf-posix.h (test_function): Likewise.
28053         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28054
28055 2009-02-22  Bruno Haible  <bruno@clisp.org>
28056
28057         Implement new clarified decomposition of Hangul syllables.
28058         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
28059         of type LTV, return only a pairwise decomposition.
28060         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
28061         Likewise.
28062         * tests/uninorm/test-decomposition.c (main): Updated expected result.
28063         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
28064         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
28065
28066 2009-02-22  Bruno Haible  <bruno@clisp.org>
28067
28068         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
28069         zero-length results and shrink excess allocated memory.
28070         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
28071         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
28072         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
28073         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
28074         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
28075         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
28076         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
28077         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
28078         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
28079         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
28080         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
28081         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
28082
28083 2009-02-21  Bruno Haible  <bruno@clisp.org>
28084
28085         * doc/gnulib.texi: Include safe-alloc.texi earlier.
28086         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
28087         spaces after a period. Put a space between a macro name and its
28088         argument list. Trivial rewordings.
28089         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
28090         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
28091         (main): Return 0 explicitly.
28092
28093 2009-02-21  Bruno Haible  <bruno@clisp.org>
28094
28095         Tests for module 'uninorm/filter'.
28096         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
28097         * modules/uninorm/filter-tests: New file.
28098
28099         New module 'uninorm/filter'.
28100         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
28101         uninorm_filter_flush, uninorm_filter_free): New declarations.
28102         * lib/uninorm/uninorm-filter.c: New file.
28103         * modules/uninorm/filter: New file.
28104
28105 2009-02-21  Bruno Haible  <bruno@clisp.org>
28106
28107         Tests for module 'uninorm/nfkc'.
28108         * tests/uninorm/test-nfkc.c: New file.
28109         * tests/uninorm/test-u8-nfkc.c: New file.
28110         * tests/uninorm/test-u16-nfkc.c: New file.
28111         * tests/uninorm/test-u32-nfkc.c: New file.
28112         * tests/uninorm/test-u32-nfkc-big.sh: New file.
28113         * tests/uninorm/test-u32-nfkc-big.c: New file.
28114         * modules/uninorm/nfkc-tests: New file.
28115
28116         New module 'uninorm/nfkc'.
28117         * lib/uninorm/nfkc.c: New file.
28118         * modules/uninorm/nfkc: New file.
28119
28120         Tests for module 'uninorm/nfkd'.
28121         * tests/uninorm/test-nfkd.c: New file.
28122         * tests/uninorm/test-u8-nfkd.c: New file.
28123         * tests/uninorm/test-u16-nfkd.c: New file.
28124         * tests/uninorm/test-u32-nfkd.c: New file.
28125         * tests/uninorm/test-u32-nfkd-big.sh: New file.
28126         * tests/uninorm/test-u32-nfkd-big.c: New file.
28127         * modules/uninorm/nfkd-tests: New file.
28128
28129         New module 'uninorm/nfkd'.
28130         * lib/uninorm/nfkd.c: New file.
28131         * modules/uninorm/nfkd: New file.
28132
28133         Tests for module 'uninorm/nfc'.
28134         * tests/uninorm/test-nfc.c: New file.
28135         * tests/uninorm/test-u8-nfc.c: New file.
28136         * tests/uninorm/test-u16-nfc.c: New file.
28137         * tests/uninorm/test-u32-nfc.c: New file.
28138         * tests/uninorm/test-u32-nfc-big.sh: New file.
28139         * tests/uninorm/test-u32-nfc-big.c: New file.
28140         * modules/uninorm/nfc-tests: New file.
28141
28142         New module 'uninorm/nfc'.
28143         * lib/uninorm/nfc.c: New file.
28144         * modules/uninorm/nfc: New file.
28145
28146         Tests for module 'uninorm/nfd'.
28147         * tests/uninorm/test-nfd.c: New file.
28148         * tests/uninorm/test-u8-nfd.c: New file.
28149         * tests/uninorm/test-u16-nfd.c: New file.
28150         * tests/uninorm/test-u32-nfd.c: New file.
28151         * tests/uninorm/test-u32-nfd-big.sh: New file.
28152         * tests/uninorm/test-u32-nfd-big.c: New file.
28153         * tests/uninorm/test-u32-normalize-big.h: New file.
28154         * tests/uninorm/test-u32-normalize-big.c: New file.
28155         * tests/uninorm/NormalizationTest.txt: New file, created from
28156         Unicode 5.1.0 NormalizationTest.txt.
28157         * modules/uninorm/nfd-tests: New file.
28158
28159         New module 'uninorm/nfd'.
28160         * lib/uninorm/nfd.c: New file.
28161         * modules/uninorm/nfd: New file.
28162
28163         New module 'uninorm/u32-normalize'.
28164         * lib/uninorm/u32-normalize.c: New file.
28165         * modules/uninorm/u32-normalize: New file.
28166
28167         New module 'uninorm/u16-normalize'.
28168         * lib/uninorm/u16-normalize.c: New file.
28169         * modules/uninorm/u16-normalize: New file.
28170
28171         New module 'uninorm/u8-normalize'.
28172         * lib/uninorm/u8-normalize.c: New file.
28173         * lib/uninorm/normalize-internal.h: New file.
28174         * lib/uninorm/u-normalize-internal.h: New file.
28175         * modules/uninorm/u8-normalize: New file.
28176
28177         New module 'uninorm/decompose-internal'.
28178         * lib/uninorm/decompose-internal.c: New file.
28179         * modules/uninorm/decompose-internal: New file.
28180
28181         Tests for module 'uninorm/composition'.
28182         * tests/uninorm/test-composition.c: New file.
28183         * modules/uninorm/composition-tests: New file.
28184
28185         New module 'uninorm/composition'.
28186         * lib/uninorm/composition.c: New file.
28187         * lib/uninorm/composition-table.gperf: New file, generated by
28188         gen-uni-tables.
28189         * modules/uninorm/composition: New file.
28190
28191         Tests for module 'uninorm/compat-decomposition'.
28192         * tests/uninorm/test-compat-decomposition.c: New file.
28193         * modules/uninorm/compat-decomposition-tests: New file.
28194
28195         New module 'uninorm/compat-decomposition'.
28196         * lib/uninorm/decompose-internal.h: New file.
28197         * lib/uninorm/compat-decomposition.c: New file.
28198         * modules/uninorm/compat-decomposition: New file.
28199
28200         Tests for module 'uninorm/canonical-decomposition'.
28201         * tests/uninorm/test-canonical-decomposition.c: New file.
28202         * modules/uninorm/canonical-decomposition-tests: New file.
28203
28204         New module 'uninorm/canonical-decomposition'.
28205         * lib/uninorm/canonical-decomposition.c: New file.
28206         * modules/uninorm/canonical-decomposition: New file.
28207
28208         Tests for module 'uninorm/decomposition'.
28209         * tests/uninorm/test-decomposition.c: New file.
28210         * modules/uninorm/decomposition-tests: New file.
28211
28212         New module 'uninorm/decomposition'.
28213         * lib/uninorm/decomposition.c: New file.
28214         * modules/uninorm/decomposition: New file.
28215
28216         New module 'uninorm/decomposition-table'.
28217         * lib/uninorm/decomposition-table.h: New file.
28218         * lib/uninorm/decomposition-table.c: New file.
28219         * lib/uninorm/decomposition-table1.h: New file, generated by
28220         gen-uni-tables.
28221         * lib/uninorm/decomposition-table2.h: New file, generated by
28222         gen-uni-tables.
28223         * modules/uninorm/decomposition-table: New file.
28224
28225         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
28226         (UC_DECOMP_*): New enumeration items.
28227         (get_decomposition): New function.
28228         (struct decomp_table): New type.
28229         (output_decomposition, output_decomposition_tables): New functions.
28230         (unicode_composition_exclusions): New variable.
28231         (fill_composition_exclusions, debug_output_composition_tables): New
28232         functions.
28233         (main): Accept one more argument. Invoke fill_composition_exclusions.
28234         Output decomposition and composition tables.
28235
28236         New module 'uninorm/base'.
28237         * lib/uninorm.h: New file.
28238         * lib/unictype.h: Update comment.
28239         * modules/uninorm/base: New file.
28240
28241 2009-02-21  David Lutterkort  <lutter@redhat.com>
28242
28243         Tests for module 'safe-alloc'.
28244         * tests/test-safe-alloc.c: New file.
28245         * modules/safe-alloc-tests: New file.
28246
28247         New module 'safe-alloc'.
28248         * lib/safe-alloc.h: New file.
28249         * lib/safe-alloc.c: New file.
28250         * m4/safe-alloc.m4: New file.
28251         * modules/safe-alloc: New file.
28252         * doc/safe-alloc.texi: New file.
28253         * doc/gnulib.texi: Include it.
28254         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
28255         safe-alloc.
28256
28257 2009-02-18  Bruno Haible  <bruno@clisp.org>
28258
28259         Fix link error on non-glibc systems.
28260         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
28261         variable.
28262         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28263
28264 2009-02-18  Jim Meyering  <meyering@redhat.com>
28265
28266         fts: avoid used-uninitialized error due to recent change
28267         * lib/fts.c (fts_read): Guard uses of the new member,
28268         parent->fts_n_dirs_remaining, since it's not relevant for
28269         the parent of a directory specified on the command-line.
28270
28271 2009-02-17  James Youngman  <jay@gnu.org>
28272             Bruno Haible  <bruno@clisp.org>
28273
28274         * m4/include_next.m4: Reformulate comment.
28275
28276 2009-02-16  Jim Meyering  <meyering@redhat.com>
28277
28278         fts: add #if guards so that the fts_lgpl module still builds
28279         * lib/fts.c: Guard just-added hash-table-using parts with
28280         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
28281         Reported by Simon Josefsson.
28282
28283 2009-02-15  Bruno Haible  <bruno@clisp.org>
28284
28285         * modules/array-mergesort-tests: New file.
28286         * tests/test-array-mergesort.c: New file.
28287
28288         New module 'array-mergesort'.
28289         * modules/array-mergesort: New file.
28290         * lib/array-mergesort.h: New file.
28291
28292 2009-02-15  Bruno Haible  <bruno@clisp.org>
28293
28294         Fix 2009-02-07 commit.
28295         * lib/gen-uni-tables.c (output_predicate, output_category,
28296         output_combclass, output_bidi_category, output_decimal_digit,
28297         output_digit, output_numeric, output_mirror, output_scripts,
28298         output_ident_category, output_simple_mapping): Fix format directives.
28299         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
28300
28301 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
28302
28303         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
28304         fixes are available from IBM.
28305
28306 2009-02-13  Jim Meyering  <meyering@redhat.com>
28307
28308         fts: arrange not to stat non-directories in more cases
28309         This makes GNU find (when it doesn't need to stat each file)
28310         *much* more efficient at traversing reiserfs file systems.
28311         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
28312         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
28313         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
28314         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
28315         (leaf_optimization_applies): New function.
28316         (LCO_hash, LCO_compare): New helper functions.
28317         (link_count_optimize_ok): New function.
28318         (fts_stat): Initialize new member (if dir).
28319         (fts_read): Decrement parent's fts_n_dirs_remaining count if
28320         we've just stat'ed a directory.  Skip the stat call when possible.
28321         ---
28322         Note this AFS-related exchange:
28323         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
28324         and note find's pioctl call in find/fstype.c.
28325         But that is necessary only if you want to enable the
28326         optimization for AFS, and for now, I don't.
28327
28328         fts: move a function definition "up" (no semantic change)
28329         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
28330         "up" to precede upcoming use of a related function.
28331
28332 2009-02-11  Jim Meyering  <meyering@redhat.com>
28333
28334         fts: correct internal computation of nlinks (optimization-related)
28335         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
28336         whether the current entry is a directory, so don't test it.
28337
28338 2009-02-10  Bruno Haible  <bruno@clisp.org>
28339
28340         Tests for module 'uniwbrk/ulc-wordbreaks'.
28341         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
28342         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
28343         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
28344
28345         Tests for module 'uniwbrk/u32-wordbreaks'.
28346         * modules/uniwbrk/u32-wordbreaks-tests: New file.
28347         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
28348
28349         Tests for module 'uniwbrk/u16-wordbreaks'.
28350         * modules/uniwbrk/u16-wordbreaks-tests: New file.
28351         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
28352
28353         Tests for module 'uniwbrk/u8-wordbreaks'.
28354         * modules/uniwbrk/u8-wordbreaks-tests: New file.
28355         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
28356
28357 2009-02-10  Bruno Haible  <bruno@clisp.org>
28358
28359         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
28360         property.
28361         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
28362         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
28363         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
28364
28365 2009-02-10  Simon Josefsson  <simon@josefsson.org>
28366
28367         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
28368         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
28369
28370 2009-02-10  Bruno Haible  <bruno@clisp.org>
28371
28372         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
28373         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
28374         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
28375         * lib/unilbrk/u8-possible-linebreaks.c: Update.
28376         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
28377         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
28378
28379 2009-02-09  Simon Josefsson  <simon@josefsson.org>
28380
28381         * lib/sockets.h (gl_fd_to_handle): New function.
28382
28383         * tests/test-sockets.c: Call gl_fd_to_handle.
28384
28385 2009-02-09  Bruno Haible  <bruno@clisp.org>
28386
28387         * doc/havelib.texi: Document the conventions on bi-arch systems.
28388
28389 2009-02-08  Bruno Haible  <bruno@clisp.org>
28390
28391         Document the AC_LIB_LINKFLAGS macro.
28392         * doc/havelib.texi: New file, mostly written on 2005-05-24.
28393         * doc/gnulib.texi: Include it.
28394
28395 2009-02-08  Bruno Haible  <bruno@clisp.org>
28396
28397         Fix wrong order of sections, compared to TOC.
28398         * doc/gnulib.texi: Include relocatable-maint.texi after the
28399         "Regular expressions" node, not before.
28400
28401 2009-02-08  Bruno Haible  <bruno@clisp.org>
28402
28403         Tests for module 'unicase/totitle'.
28404         * modules/unicase/totitle-tests: New file.
28405
28406         Tests for module 'unicase/tolower'.
28407         * modules/unicase/tolower-tests: New file.
28408
28409         Tests for module 'unicase/toupper'.
28410         * modules/unicase/toupper-tests: New file.
28411         * tests/unicase/test-mapping-part1.h: New file.
28412         * tests/unicase/test-mapping-part2.h: New file.
28413
28414         New module 'unicase/totitle'.
28415         * modules/unicase/totitle: New file.
28416         * lib/unicase/totitle.c: New file.
28417
28418         New module 'unicase/tolower'.
28419         * modules/unicase/tolower: New file.
28420         * lib/unicase/tolower.c: New file.
28421
28422         New module 'unicase/toupper'.
28423         * modules/unicase/toupper: New file.
28424         * lib/unicase/toupper.c: New file.
28425         * lib/unicase/simple-mapping.h: New file.
28426
28427         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
28428         (mapping_table): New structure.
28429         (output_simple_mapping): New function.
28430         (main): Invoke output_simple_mapping_test and output_simple_mapping.
28431         * modules/gen-uni-tables (Description): Update.
28432         * lib/unicase/toupper.h: New file, automatically generated by
28433         gen-uni-tables.
28434         * lib/unicase/tolower.h: New file, automatically generated by
28435         gen-uni-tables.
28436         * lib/unicase/totitle.h: New file, automatically generated by
28437         gen-uni-tables.
28438         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
28439         gen-uni-tables.
28440         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
28441         gen-uni-tables.
28442         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
28443         gen-uni-tables.
28444
28445         New module 'unicase/base'.
28446         * modules/unicase/base: New file.
28447         * lib/unicase.h: New file.
28448
28449 2009-02-08  Bruno Haible  <bruno@clisp.org>
28450
28451         New module 'uniwbrk/ulc-wordbreaks'.
28452         * modules/uniwbrk/ulc-wordbreaks: New file.
28453         * lib/uniwbrk/ulc-wordbreaks.c: New file.
28454
28455         New module 'uniwbrk/u32-wordbreaks'.
28456         * modules/uniwbrk/u32-wordbreaks: New file.
28457         * lib/uniwbrk/u32-wordbreaks.c: New file.
28458
28459         New module 'uniwbrk/u16-wordbreaks'.
28460         * modules/uniwbrk/u16-wordbreaks: New file.
28461         * lib/uniwbrk/u16-wordbreaks.c: New file.
28462
28463         New module 'uniwbrk/u8-wordbreaks'.
28464         * modules/uniwbrk/u8-wordbreaks: New file.
28465         * lib/uniwbrk/u8-wordbreaks.c: New file.
28466         * lib/uniwbrk/u-wordbreaks.h: New file.
28467
28468         New module 'uniwbrk/table'.
28469         * modules/uniwbrk/table: New file.
28470         * lib/uniwbrk/wbrktable.h: New file.
28471         * lib/uniwbrk/wbrktable.c: New file.
28472
28473         New module 'uniwbrk/wordbreak-property'.
28474         * modules/uniwbrk/wordbreak-property: New file.
28475         * lib/uniwbrk/wordbreak-property.c: New file.
28476
28477         * lib/gen-uni-tables.c (WBP_*): New enum items.
28478         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
28479         (unicode_org_wbp): New variable.
28480         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
28481         New functions.
28482         (wbp_table): New structure.
28483         (output_wbp, output_wbrk_tables): New functions.
28484         (main): Accept additional argument. Invoke fill_org_wbp,
28485         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
28486         output_wbrk_tables.
28487         * modules/gen-uni-tables (Description): Update.
28488         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
28489         gen-uni-tables.
28490
28491         New module 'uniwbrk/base'.
28492         * modules/uniwbrk/base: New file.
28493         * lib/uniwbrk.h: New file.
28494
28495 2009-02-08  Bruno Haible  <bruno@clisp.org>
28496
28497         Update to Unicode 5.1.0.
28498         * lib/gen-uni-tables.c (is_property_alphabetic): Include
28499         U+2185..U+2188.
28500         (is_property_default_ignorable_code_point): Don't include characters
28501         of category Cc or Cs and not-a-characters.
28502         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
28503         U+0D79, U+109E, U+109F, U+A60C.
28504         * lib/unictype/bidi_of.h: Regenerated.
28505         * lib/unictype/blocks.h: Regenerated.
28506         * lib/unictype/categ_C.h: Regenerated.
28507         * lib/unictype/categ_Cf.h: Regenerated.
28508         * lib/unictype/categ_Cn.h: Regenerated.
28509         * lib/unictype/categ_L.h: Regenerated.
28510         * lib/unictype/categ_Ll.h: Regenerated.
28511         * lib/unictype/categ_Lm.h: Regenerated.
28512         * lib/unictype/categ_Lo.h: Regenerated.
28513         * lib/unictype/categ_Lu.h: Regenerated.
28514         * lib/unictype/categ_M.h: Regenerated.
28515         * lib/unictype/categ_Mc.h: Regenerated.
28516         * lib/unictype/categ_Me.h: Regenerated.
28517         * lib/unictype/categ_Mn.h: Regenerated.
28518         * lib/unictype/categ_N.h: Regenerated.
28519         * lib/unictype/categ_Nd.h: Regenerated.
28520         * lib/unictype/categ_Nl.h: Regenerated.
28521         * lib/unictype/categ_No.h: Regenerated.
28522         * lib/unictype/categ_P.h: Regenerated.
28523         * lib/unictype/categ_Pd.h: Regenerated.
28524         * lib/unictype/categ_Pe.h: Regenerated.
28525         * lib/unictype/categ_Pf.h: Regenerated.
28526         * lib/unictype/categ_Pi.h: Regenerated.
28527         * lib/unictype/categ_Po.h: Regenerated.
28528         * lib/unictype/categ_Ps.h: Regenerated.
28529         * lib/unictype/categ_S.h: Regenerated.
28530         * lib/unictype/categ_Sk.h: Regenerated.
28531         * lib/unictype/categ_Sm.h: Regenerated.
28532         * lib/unictype/categ_So.h: Regenerated.
28533         * lib/unictype/categ_of.h: Regenerated.
28534         * lib/unictype/combining.h: Regenerated.
28535         * lib/unictype/ctype_alnum.h: Regenerated.
28536         * lib/unictype/ctype_alpha.h: Regenerated.
28537         * lib/unictype/ctype_graph.h: Regenerated.
28538         * lib/unictype/ctype_lower.h: Regenerated.
28539         * lib/unictype/ctype_print.h: Regenerated.
28540         * lib/unictype/ctype_punct.h: Regenerated.
28541         * lib/unictype/ctype_upper.h: Regenerated.
28542         * lib/unictype/decdigit.h: Regenerated.
28543         * lib/unictype/digit.h: Regenerated.
28544         * lib/unictype/mirror.h: Regenerated.
28545         * lib/unictype/numeric.h: Regenerated.
28546         * lib/unictype/pr_alphabetic.h: Regenerated.
28547         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
28548         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
28549         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
28550         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
28551         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
28552         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
28553         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
28554         * lib/unictype/pr_combining.h: Regenerated.
28555         * lib/unictype/pr_dash.h: Regenerated.
28556         * lib/unictype/pr_decimal_digit.h: Regenerated.
28557         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
28558         * lib/unictype/pr_deprecated.h: Regenerated.
28559         * lib/unictype/pr_diacritic.h: Regenerated.
28560         * lib/unictype/pr_extender.h: Regenerated.
28561         * lib/unictype/pr_format_control.h: Regenerated.
28562         * lib/unictype/pr_grapheme_base.h: Regenerated.
28563         * lib/unictype/pr_grapheme_extend.h: Regenerated.
28564         * lib/unictype/pr_grapheme_link.h: Regenerated.
28565         * lib/unictype/pr_id_continue.h: Regenerated.
28566         * lib/unictype/pr_id_start.h: Regenerated.
28567         * lib/unictype/pr_ideographic.h: Regenerated.
28568         * lib/unictype/pr_ignorable_control.h: Regenerated.
28569         * lib/unictype/pr_lowercase.h: Regenerated.
28570         * lib/unictype/pr_math.h: Regenerated.
28571         * lib/unictype/pr_numeric.h: Regenerated.
28572         * lib/unictype/pr_other_alphabetic.h: Regenerated.
28573         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
28574         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
28575         * lib/unictype/pr_other_id_continue.h: Regenerated.
28576         * lib/unictype/pr_other_lowercase.h: Regenerated.
28577         * lib/unictype/pr_other_math.h: Regenerated.
28578         * lib/unictype/pr_punctuation.h: Regenerated.
28579         * lib/unictype/pr_sentence_terminal.h: Regenerated.
28580         * lib/unictype/pr_soft_dotted.h: Regenerated.
28581         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
28582         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
28583         * lib/unictype/pr_unified_ideograph.h: Regenerated.
28584         * lib/unictype/pr_uppercase.h: Regenerated.
28585         * lib/unictype/pr_xid_continue.h: Regenerated.
28586         * lib/unictype/pr_xid_start.h: Regenerated.
28587         * lib/unictype/pr_zero_width.h: Regenerated.
28588         * lib/unictype/scripts.h: Regenerated.
28589         * lib/unictype/scripts_byname.gperf: Regenerated.
28590         * lib/unictype/sy_java_ident.h: Regenerated.
28591         * lib/unilbrk/lbrkprop1.h: Regenerated.
28592         * lib/unilbrk/lbrkprop2.h: Regenerated.
28593         * tests/unictype/test-categ_C.c: Regenerated.
28594         * tests/unictype/test-categ_Cf.c: Regenerated.
28595         * tests/unictype/test-categ_Cn.c: Regenerated.
28596         * tests/unictype/test-categ_L.c: Regenerated.
28597         * tests/unictype/test-categ_Ll.c: Regenerated.
28598         * tests/unictype/test-categ_Lm.c: Regenerated.
28599         * tests/unictype/test-categ_Lo.c: Regenerated.
28600         * tests/unictype/test-categ_Lu.c: Regenerated.
28601         * tests/unictype/test-categ_M.c: Regenerated.
28602         * tests/unictype/test-categ_Mc.c: Regenerated.
28603         * tests/unictype/test-categ_Me.c: Regenerated.
28604         * tests/unictype/test-categ_Mn.c: Regenerated.
28605         * tests/unictype/test-categ_N.c: Regenerated.
28606         * tests/unictype/test-categ_Nd.c: Regenerated.
28607         * tests/unictype/test-categ_Nl.c: Regenerated.
28608         * tests/unictype/test-categ_No.c: Regenerated.
28609         * tests/unictype/test-categ_P.c: Regenerated.
28610         * tests/unictype/test-categ_Pd.c: Regenerated.
28611         * tests/unictype/test-categ_Pe.c: Regenerated.
28612         * tests/unictype/test-categ_Pf.c: Regenerated.
28613         * tests/unictype/test-categ_Pi.c: Regenerated.
28614         * tests/unictype/test-categ_Po.c: Regenerated.
28615         * tests/unictype/test-categ_Ps.c: Regenerated.
28616         * tests/unictype/test-categ_S.c: Regenerated.
28617         * tests/unictype/test-categ_Sk.c: Regenerated.
28618         * tests/unictype/test-categ_Sm.c: Regenerated.
28619         * tests/unictype/test-categ_So.c: Regenerated.
28620         * tests/unictype/test-ctype_alnum.c: Regenerated.
28621         * tests/unictype/test-ctype_alpha.c: Regenerated.
28622         * tests/unictype/test-ctype_graph.c: Regenerated.
28623         * tests/unictype/test-ctype_lower.c: Regenerated.
28624         * tests/unictype/test-ctype_print.c: Regenerated.
28625         * tests/unictype/test-ctype_punct.c: Regenerated.
28626         * tests/unictype/test-ctype_upper.c: Regenerated.
28627         * tests/unictype/test-decdigit.h: Regenerated.
28628         * tests/unictype/test-digit.h: Regenerated.
28629         * tests/unictype/test-numeric.h: Regenerated.
28630         * tests/unictype/test-pr_alphabetic.c: Regenerated.
28631         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
28632         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
28633         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
28634         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
28635         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
28636         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
28637         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
28638         * tests/unictype/test-pr_combining.c: Regenerated.
28639         * tests/unictype/test-pr_dash.c: Regenerated.
28640         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
28641         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
28642         * tests/unictype/test-pr_deprecated.c: Regenerated.
28643         * tests/unictype/test-pr_diacritic.c: Regenerated.
28644         * tests/unictype/test-pr_extender.c: Regenerated.
28645         * tests/unictype/test-pr_format_control.c: Regenerated.
28646         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
28647         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
28648         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
28649         * tests/unictype/test-pr_id_continue.c: Regenerated.
28650         * tests/unictype/test-pr_id_start.c: Regenerated.
28651         * tests/unictype/test-pr_ideographic.c: Regenerated.
28652         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
28653         * tests/unictype/test-pr_lowercase.c: Regenerated.
28654         * tests/unictype/test-pr_math.c: Regenerated.
28655         * tests/unictype/test-pr_numeric.c: Regenerated.
28656         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
28657         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
28658         Regenerated.
28659         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
28660         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
28661         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
28662         * tests/unictype/test-pr_other_math.c: Regenerated.
28663         * tests/unictype/test-pr_punctuation.c: Regenerated.
28664         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
28665         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
28666         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
28667         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
28668         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
28669         * tests/unictype/test-pr_uppercase.c: Regenerated.
28670         * tests/unictype/test-pr_xid_continue.c: Regenerated.
28671         * tests/unictype/test-pr_xid_start.c: Regenerated.
28672         * tests/unictype/test-pr_zero_width.c: Regenerated.
28673
28674         Update to Unicode 5.1.0.
28675         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
28676         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
28677         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
28678         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
28679         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
28680         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
28681         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
28682         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
28683         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
28684         (nonspacing_table_ind): Update.
28685         * tests/uniwidth/test-uc_width2.sh: Update expected result.
28686
28687         Update to Unicode 5.1.0.
28688         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
28689         code transform.
28690         * lib/uniname/uniname.c (unicode_character_name,
28691         unicode_name_character): Add the range 0x1Fxxx to the code transform.
28692         * lib/uniname/uninames.h: Regenerated.
28693         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
28694
28695 2009-02-07  Bruno Haible  <bruno@clisp.org>
28696
28697         Merge gen-ctype and gen-lbrk into a single program.
28698         * lib/gen-uni-tables.c: New file, incorporating
28699         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
28700         Add directory prefixes to the names of the generated files.
28701         * lib/unictype/gen-ctype.c: Remove file.
28702         * lib/unilbrk/gen-lbrk.c: Remove file.
28703         * modules/gen-uni-tables: New file.
28704         * modules/unictype/gen-ctype: Remove file.
28705         * modules/unilbrk/gen-lbrk: Remove file.
28706
28707 2009-02-07  Bruno Haible  <bruno@clisp.org>
28708
28709         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
28710
28711         New module 'unistr/u32-strcoll'.
28712         * modules/unistr/u32-strcoll: New file.
28713         * lib/unistr/u32-strcoll.c: New file.
28714
28715         New module 'unistr/u16-strcoll'.
28716         * modules/unistr/u16-strcoll: New file.
28717         * lib/unistr/u16-strcoll.c: New file.
28718
28719         New module 'unistr/u8-strcoll'.
28720         * modules/unistr/u8-strcoll: New file.
28721         * lib/unistr/u8-strcoll.c: New file.
28722         * lib/unistr/u-strcoll.h: New file.
28723
28724 2009-02-07  Bruno Haible  <bruno@clisp.org>
28725
28726         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
28727         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
28728         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
28729         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
28730         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
28731         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
28732
28733 2009-02-07  Bruno Haible  <bruno@clisp.org>
28734
28735         Make 64-bit clean.
28736         * lib/unictype/gen-ctype.c (output_predicate, output_category,
28737         output_combclass, output_bidi_category, output_decimal_digit,
28738         output_digit, output_numeric, output_mirror, output_scripts,
28739         output_ident_category): Use proper width specifier in format strings.
28740
28741 2009-02-07  Bruno Haible  <bruno@clisp.org>
28742
28743         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
28744         failure behaviour.
28745
28746 2009-02-07  Jim Meyering  <meyering@redhat.com>
28747
28748         regex: avoid compilation failure with upcoming gcc-4.4
28749         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
28750         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
28751         "... error: integer overflow in preprocessor expression".
28752
28753 2009-02-05  Ben Pfaff  <blp@gnu.org>
28754
28755         Fix link errors on Windows when close module is used.
28756         * modules/close: Add $(LIB_CLOSE) to Link section.
28757         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
28758         $(LIB_CLOSE) on Windows.
28759
28760 2009-02-05  Jim Meyering  <meyering@redhat.com>
28761
28762         still avoid unused-parameter warnings, but do it cleanly
28763         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
28764         (get_fs_usage): Cast to void instead.
28765         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
28766         (dev_from_mount_options, read_file_system_list): Cast to void.
28767         Prompted by Bruno Haible.
28768
28769 2009-02-04  Jim Meyering  <meyering@redhat.com>
28770
28771         fsusage.c: correct copyright year
28772         * lib/fsusage.c: Reflect year in which the change is pushed into
28773
28774         avoid misc. warnings
28775         * lib/fsusage.c (UNUSED_PARAM): Define.
28776         (get_fs_usage): Mark parameter "disk" as unused.
28777         * lib/getugroups.c (getgrent): Use "void" in prototype.
28778         * lib/mountlist.c: Mark unused parameters.
28779         (read_file_system_list): Declare a local with "const".
28780         * lib/nanosleep.c (getnow): Declare static.
28781         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
28782
28783         dirfd: set errno upon failure
28784         * lib/dirfd.c: Include <errno.h>.
28785         Set errno to ENOTSUP when returning -1.
28786         * modules/dirfd (Depends-on): Add errno.
28787         Suggested by John Kodis <kodis@comcast.net>.
28788
28789 2009-02-01  Bruno Haible  <bruno@clisp.org>
28790
28791         Don't assume sizeof (long) >= sizeof (void *).
28792         * lib/memcmp.c: Include stdint.h.
28793         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
28794         srcp2 to 'const byte *'.
28795         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
28796         types to uintptr_t.
28797         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
28798         * modules/memcmp (Depends-on): Add stdint.
28799         Reported by Ozkan Sezer <sezeroz@gmail.com>.
28800
28801 2009-01-30  Eric Blake  <ebb9@byu.net>
28802
28803         fix more require-before-expand issues
28804         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
28805         expand, AC_PROG_AWK.
28806         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
28807
28808 2009-01-28  Eric Blake  <ebb9@byu.net>
28809
28810         version-etc: use consistent URL formatting
28811         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
28812         Improve formatting.  Use fputs for string without %.
28813
28814 2009-01-28  Jim Meyering  <meyering@redhat.com>
28815
28816         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
28817         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
28818         "underquoted definition of NAME" from autoconf-2.59.
28819
28820 2009-01-28  Bruno Haible  <bruno@clisp.org>
28821
28822         * doc/gnulib.texi: Add "Obsolete modules" to index.
28823
28824 2009-01-28  Jim Meyering  <meyering@redhat.com>
28825
28826         useless-if-before-free: recognize more variants
28827         * build-aux/useless-if-before-free: Also recognize e.g.,
28828         if (NULL != p) free (p);
28829
28830 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
28831
28832         test-getaddrinfo: skip (don't fail) this test when there's no network
28833         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
28834         on the presumption that it means you lack network access.
28835
28836 2009-01-26  Jim Meyering  <meyering@redhat.com>
28837
28838         fflush: avoid warnings on modern systems
28839         * lib/fflush.c (rpl_fflush): Move declarations of locals,
28840         pos and result, into scopes where they're used.
28841
28842 2009-01-26  Eric Blake  <ebb9@byu.net>
28843
28844         Silence warning reintroduced by recent extensions patch.
28845         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
28846         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
28847         autoconf.
28848
28849         Backport improved autoconf semantics of AC_DEFUN_ONCE.
28850         * m4/00gnulib.m4: New file.
28851         * gnulib-tool (func_get_filelist): Always use it.
28852         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
28853         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
28854
28855 2009-01-25  Bruno Haible  <bruno@clisp.org>
28856
28857         Make test-quotearg work on MacOS X and AIX.
28858         * tests/test-quotearg.sh: New file.
28859         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
28860         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
28861         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
28862         include <libintl.h>.
28863         (fake_locale): Remove variable.
28864         (gettext, dgettext, dcgettext): Remove functions.
28865         (main): Instead of setting a fake locale, set a real locale. Call
28866         textdomain and bindtextdomain.
28867         * modules/quotearg-tests (Files): Add the new files.
28868         (Depends-on): Add gettext, setenv, unsetenv.
28869         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
28870         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
28871         Augment TESTS_ENVIRONMENT.
28872
28873 2009-01-25  Bruno Haible  <bruno@clisp.org>
28874
28875         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
28876         fr_FR.ISO8859-1 locale on MacOS X.
28877         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
28878         ja_JP.eucJP locale on MacOS X.
28879         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
28880         zh_CN.GB18030 locale on MacOS X.
28881
28882 2009-01-25  Bruno Haible  <bruno@clisp.org>
28883
28884         Avoid link errors on MacOS X 10.3.
28885         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
28886         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
28887
28888 2009-01-25  Bruno Haible  <bruno@clisp.org>
28889
28890         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
28891         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
28892         * modules/pipe (Files): Remove m4/posix_spawn.m4.
28893         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
28894         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
28895         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
28896         posix_spawnattr_init, posix_spawnattr_setsigmask,
28897         posix_spawnattr_setflags, posix_spawnattr_destroy.
28898
28899         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
28900         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
28901         * modules/execute (Files): Remove m4/posix_spawn.m4.
28902         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
28903         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
28904         posix_spawnattr_init, posix_spawnattr_setsigmask,
28905         posix_spawnattr_setflags, posix_spawnattr_destroy.
28906
28907 2009-01-25  Bruno Haible  <bruno@clisp.org>
28908
28909         * lib/glthread/threadlib.c: Include <stdlib.h>.
28910
28911 2009-01-25  Bruno Haible  <bruno@clisp.org>
28912
28913         * lib/glthread/threadlib.c (dummy): New declaration.
28914
28915 2009-01-25  Bruno Haible  <bruno@clisp.org>
28916
28917         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
28918         multibyte characters also for the GB18030 encoding. Don't crash when
28919         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
28920
28921 2009-01-25  Bruno Haible  <bruno@clisp.org>
28922
28923         Avoid redefining 'struct random_data' on OSF/1 5.1.
28924         * lib/stdlib.in.h: Include <random.h> if it exists.
28925         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
28926         HAVE_RANDOM_H. Include <random.h> when testing whether
28927         'struct random_data' exists.
28928         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
28929
28930 2009-01-25  Bruno Haible  <bruno@clisp.org>
28931
28932         Don't install charset.alias on MacOS X >= 10.3.
28933         * lib/localcharset.c (DARWIN7): New macro.
28934         (get_charset_aliases): Hardcode the result for Darwin7.
28935         * modules/localcharset (install-exec-local): Don't install
28936         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
28937
28938 2009-01-25  Bruno Haible  <bruno@clisp.org>
28939
28940         Don't install charset.alias on mingw and Cygwin.
28941         * modules/localcharset (install-exec-local): Don't install
28942         charset.alias on mingw and Cygwin, if the file does not yet exist.
28943         The result for these platforms is hardcoded in localcharset.c.
28944
28945 2009-01-25  Bruno Haible  <bruno@clisp.org>
28946
28947         Make it possible again to use AC_GNU_SOURCE together with gnulib.
28948         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
28949         before requiring AC_USE_SYSTEM_EXTENSIONS.
28950
28951 2009-01-25  Jim Meyering  <meyering@redhat.com>
28952
28953         c-strtod: avoid warnings
28954         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
28955         "assignment discards qualifiers from pointer target type" warnings.
28956
28957 2009-01-24  Bruno Haible  <bruno@clisp.org>
28958
28959         Add support for non-UTF-8 locales on MacOS X.
28960         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
28961         canonical encodings. For Darwin 7 and newer, don't map traditional
28962         encodings to UTF-8.
28963         Reported by Vincent Lefevre <vincent@vinc17.org>
28964         at <http://savannah.gnu.org/bugs/?25235>.
28965
28966 2009-01-24  Bruno Haible  <bruno@clisp.org>
28967
28968         * doc/gnulib.texi (Obsolete modules): New section.
28969         Reported by Mike Frysinger <vapier@gentoo.org>.
28970
28971 2009-01-24  Bruno Haible  <bruno@clisp.org>
28972
28973         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
28974         (%.dvi): New rule.
28975
28976 2009-01-24  Bruno Haible  <bruno@clisp.org>
28977
28978         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
28979         Reported by Eric Blake.
28980
28981 2009-01-24  Bruno Haible  <bruno@clisp.org>
28982
28983         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
28984         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
28985         Reported by Gary V. Vaughan <gary@gnu.org>.
28986
28987 2009-01-24  Bruno Haible  <bruno@clisp.org>
28988
28989         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
28990
28991 2009-01-23  Bruno Haible  <bruno@clisp.org>
28992
28993         Make c-strtod, c-strtold usable in libraries.
28994         * lib/c-strtod.c: Include string.h instead of xalloc.h.
28995         (C_STRTOD): Call strdup instead of xstrdup.
28996         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
28997         * modules/c-strtold (Depends-on): Likewise.
28998         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
28999         * NEWS: Mention the change.
29000         Reported by Michael Gold <mgold@ncf.ca>.
29001
29002 2009-01-23  Jim Meyering  <meyering@redhat.com>
29003
29004         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
29005         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
29006         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
29007
29008 2009-01-23  Simon Josefsson  <simon@josefsson.org>
29009
29010         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
29011         GNU CoreUtils.
29012         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
29013         * modules/version-etc (Description): Update.
29014
29015 2009-01-22  Bruno Haible  <bruno@clisp.org>
29016
29017         Cache the C locale object.
29018         * lib/c-strtod.c (c_locale_cache): New variable.
29019         (c_locale): New function.
29020         (C_STRTOD): Use it, and don't call freelocale.
29021         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
29022         Suggested by Paolo Bonzini.
29023
29024 2009-01-21  Bruno Haible  <bruno@clisp.org>
29025
29026         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
29027         conditions other than overflow.
29028
29029 2009-01-21  Bruno Haible  <bruno@clisp.org>
29030
29031         * lib/c-strtod.c: Include errno.h.
29032         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
29033         value from STRTOD_L and STRTOD.
29034
29035 2009-01-21  Bruno Haible  <bruno@clisp.org>
29036         and Jim Meyering  <meyering@redhat.com>
29037
29038         nanosleep: skip configure test (fail it) for apple universal builds
29039         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
29040         universal builds, assume that nanosleep does not work.
29041         * modules/nanosleep (Depends-on): Add multiarch.
29042
29043         mktime: skip configure test (fail it) for apple universal builds
29044         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
29045         universal builds, assume that mktime does not work.
29046         * modules/mktime (Depends-on): Add multiarch.
29047
29048 2009-01-21  Eric Blake  <ebb9@byu.net>
29049
29050         multiarch: avoid expand-before-require warning
29051         * modules/multiarch (configure.ac): Require, rather than expand,
29052         gl_MULTIARCH.
29053         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
29054         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
29055         enforce that all clients require it.  Partial reversion of
29056         2008-12-29 patch.
29057
29058         error: avoid expand-before-require warning
29059         * modules/errno (configure.ac): Require, rather than expand,
29060         gl_HEADER_ERRNO_H.
29061         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
29062         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
29063         enforce that all clients require it.
29064
29065         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
29066         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
29067         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
29068         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
29069
29070 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
29071
29072         Revert:
29073         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
29074
29075         regex: do not depend on obsolete modules.
29076         * modules/regex: Remove memcmp and memmove.
29077
29078 2009-01-20  Bruno Haible  <bruno@clisp.org>
29079
29080         Make the 'link' module link on Windows NT 4.
29081         * lib/link.c (_WIN32_WINNT): Don't define.
29082         (CreateHardLinkFuncType): New type.
29083         (CreateHardLinkFunc, initialized): New variables.
29084         (initialize): New function.
29085         (link): Invoke CreateHardLink indirectly through the function pointer.
29086
29087 2009-01-20  Bruno Haible  <bruno@clisp.org>
29088
29089         Fix compilation failure on mingw.
29090         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
29091
29092 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
29093
29094         * doc/c-strtod.texi: Mention a couple of restrictions.
29095
29096 2009-01-20  Jim Meyering  <meyering@redhat.com>
29097
29098         gettimeofday: move more declarations out of functions
29099         * lib/gettimeofday.c: Move extern declarations of tzset and
29100         gmtime out of containing functions.  Prompted by Bruno Haible.
29101
29102 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
29103
29104         regex: do not depend on obsolete modules.
29105         * modules/regex: Remove memcmp and memmove.
29106
29107 2009-01-19  Bruno Haible  <bruno@clisp.org>
29108
29109         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
29110         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
29111         gl_BIGENDIAN, not AC_C_BIGENDIAN.
29112         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
29113         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
29114
29115 2009-01-19  Bruno Haible  <bruno@clisp.org>
29116
29117         * tests/test-link.c: Include <errno.h>.
29118         (main): Exit with code 77 when a hard link cannot be created due to
29119         the file system.
29120         * tests/test-link.sh: Skip test when a hard link cannot be created due
29121         to the file system.
29122         Suggested by Eric Blake.
29123
29124 2009-01-19  Martin Lambers  <marlam@marlam.de>
29125
29126         * modules/link-tests: New file.
29127         * tests/test-link.sh: New file.
29128         * tests/test-link.c: New file.
29129
29130 2009-01-19  Eric Blake  <ebb9@byu.net>
29131
29132         doc: mention another function added in cygwin 1.7.0
29133         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
29134         Another new function in cygwin 1.7.
29135
29136 2009-01-19  Bruno Haible  <bruno@clisp.org>
29137
29138         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
29139         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
29140         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
29141         gl_BIGENDIAN, not AC_C_BIGENDIAN.
29142         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
29143         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
29144         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
29145         * m4/md4.m4 (gl_MD4): Likewise.
29146         * m4/md5.m4 (gl_MD5): Likewise.
29147         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
29148         * m4/sha1.m4 (gl_SHA1): Likewise.
29149         * m4/sha256.m4 (gl_SHA256): Likewise.
29150         * m4/sha512.m4 (gl_SHA512): Likewise.
29151
29152 2009-01-19  Bruno Haible  <bruno@clisp.org>
29153
29154         * modules/uniname/uniname-tests (Depends-on): Add progname.
29155         * tests/uniname/test-uninames.c: Include progname.h.
29156         (main): Call set_program_name.
29157
29158         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
29159         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
29160         (main): Call set_program_name.
29161
29162         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
29163         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
29164         (main): Call set_program_name.
29165
29166         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
29167         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
29168         (main): Call set_program_name.
29169
29170         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
29171         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
29172         (main): Call set_program_name.
29173
29174         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
29175         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
29176         (main): Call set_program_name.
29177
29178         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
29179         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
29180         (main): Call set_program_name.
29181
29182         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
29183         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
29184         (main): Call set_program_name.
29185
29186         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
29187         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
29188         (main): Call set_program_name.
29189
29190 2009-01-19  Eric Blake  <ebb9@byu.net>
29191
29192         test-unistd: test previous patch
29193         * tests/test-unistd.c: Test *_FILENO macros.
29194
29195         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
29196         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
29197         Guarantee a definition.
29198         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
29199         * modules/unistd-safer (Depends-on): Add dependency on unistd.
29200         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
29201         * lib/dup-safer.c (STDERR_FILENO): Likewise.
29202         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
29203         Likewise.
29204         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
29205         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
29206         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
29207         Likewise.
29208         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
29209         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
29210         (STDERR_FILENO): Likewise.
29211         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
29212         (STDERR_FILENO): Likewise.
29213         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
29214         (STDERR_FILENO): Likewise.
29215         Reported by Elbert Pol.
29216
29217 2009-01-19  Eric Blake  <ebb9@byu.net>
29218
29219         doc: mention more functions added in cygwin 1.7.0
29220         * doc/posix-functions/abort.texi (abort): Update wording related
29221         to cygwin.
29222         * doc/posix-functions/daylight.texi (daylight): Likewise.
29223         * doc/posix-functions/optarg.texi (optarg): Likewise.
29224         * doc/posix-functions/optarg.texi (opterr): Likewise.
29225         * doc/posix-functions/optarg.texi (optind): Likewise.
29226         * doc/posix-functions/optarg.texi (optopt): Likewise.
29227         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
29228         worked in 1.5.x, and was withdrawn in 1.7.
29229         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
29230         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
29231         cygwin versions.
29232         * doc/posix-functions/perror.texi (perror): Likewise.
29233         * doc/posix-functions/printf.texi (printf): Likewise.
29234         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
29235         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
29236         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
29237         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
29238         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
29239         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
29240         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
29241         Likewise.
29242         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
29243         Likewise.
29244         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
29245         this function.
29246         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
29247         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
29248         Likewise.
29249         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
29250         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
29251         * doc/posix-functions/confstr.texi (confstr): Likewise.
29252         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
29253         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
29254         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
29255         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
29256         * doc/posix-functions/fputws.texi (fputws): Likewise.
29257         * doc/posix-functions/fwide.texi (fwide): Likewise.
29258         * doc/posix-functions/getwc.texi (getwc): Likewise.
29259         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
29260         * doc/posix-functions/putwc.texi (putwc): Likewise.
29261         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
29262         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
29263         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
29264         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
29265         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
29266         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
29267         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
29268         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
29269         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
29270         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
29271         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
29272
29273 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
29274
29275         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
29276         * lib/ioctl.c: Include <sys/ioctl.h>.
29277
29278 2009-01-19  Simon Josefsson  <simon@josefsson.org>
29279
29280         * modules/getdate-tests (Depends-on): Add progname.
29281         * tests/test-getdate.c: Use progname module, to avoid link errors
29282         on non-glibc systems.
29283
29284 2009-01-18  Simon Josefsson  <simon@josefsson.org>
29285
29286         * modules/filenamecat-tests (Depends-on): Add progname.
29287         * modules/fstrcmp-tests (Depends-on): Likewise.
29288
29289         * tests/test-filenamecat.c: Use progname module, to avoid link
29290         errors on non-glibc systems.
29291         * tests/test-fstrcmp.c: Likewise.
29292
29293 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
29294
29295         gettimeofday: avoid warning: nested extern declaration of 'localtime'
29296         * lib/gettimeofday.c: Move extern declaration out of function.
29297
29298 2009-01-18  Bruno Haible  <bruno@clisp.org>
29299
29300         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
29301         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
29302         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
29303
29304 2009-01-18  Bruno Haible  <bruno@clisp.org>
29305
29306         * lib/strftime.c (MEMPCPY): Remove unused macro.
29307         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
29308
29309 2009-01-18  Martin Lambers  <marlam@marlam.de>
29310
29311         New module 'link'.
29312         * lib/unistd.in.h (link): New declaration.
29313         * lib/link.c: New file.
29314         * m4/link.m4: New file.
29315         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
29316         HAVE_LINK.
29317         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
29318         * modules/link: New file.
29319         * doc/posix-functions/link.texi: Mention the new module.
29320
29321 2009-01-18  Bruno Haible  <bruno@clisp.org>
29322
29323         * tests/test-avltree_list.c (main): Call set_program_name.
29324         * tests/test-avltree_oset.c (main): Likewise.
29325         * tests/test-obstack-printf.c: Include progname.h.
29326         (main): Call set_program_name.
29327         * tests/test-quotearg.c: Include progname.h.
29328         (main): Call set_program_name.
29329         * tests/test-xmemdup0.c: Include progname.h.
29330         (main): Call set_program_name.
29331
29332 2009-01-18  Bruno Haible  <bruno@clisp.org>
29333
29334         New module 'alphasort'.
29335         * lib/dirent.in.h (alphasort): New declaration.
29336         * lib/alphasort.c: New file, from glibc with modifications.
29337         * m4/alphasort.m4: New file.
29338         * modules/alphasort: New file.
29339         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
29340         HAVE_ALPHASORT.
29341         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
29342         HAVE_ALPHASORT.
29343         * doc/posix-functions/alphasort.texi: Mention the new module and the
29344         portability problems.
29345
29346 2009-01-18  Bruno Haible  <bruno@clisp.org>
29347
29348         New module 'scandir'.
29349         * lib/dirent.in.h (scandir): New declaration.
29350         * lib/scandir.c: New file, from glibc with modifications.
29351         * m4/scandir.m4: New file.
29352         * modules/scandir: New file.
29353         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
29354         HAVE_SCANDIR.
29355         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
29356         HAVE_SCANDIR.
29357         * doc/posix-functions/scandir.texi: Mention the new module and the
29358         portability problems.
29359
29360 2009-01-17  Bruno Haible  <bruno@clisp.org>
29361
29362         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
29363         Update documentation.
29364         (func_remove_suffix): Escape all dots in the suffix. Update
29365         documentation.
29366         (func_filter_filelist): Update documentation.
29367         Reported by Ralf Wildenhues.
29368
29369 2009-01-17  Bruno Haible  <bruno@clisp.org>
29370
29371         * modules/dprintf-posix-tests: New file.
29372         * tests/test-dprintf-posix.sh: New file.
29373         * tests/test-dprintf-posix.c: New file.
29374
29375         New modules 'dprintf', 'dprintf-posix'.
29376         * lib/stdio.in.h (dprintf): New declaration.
29377         * lib/dprintf.c: New file.
29378         * m4/dprintf.m4: New file.
29379         * m4/dprintf-posix.m4: New file.
29380         * modules/dprintf: New file.
29381         * modules/dprintf-posix: New file.
29382         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
29383         HAVE_DPRINTF, REPLACE_DPRINTF.
29384         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
29385         HAVE_DPRINTF, REPLACE_DPRINTF.
29386         * doc/posix-functions/dprintf.texi: Mention the new modules.
29387
29388 2009-01-17  Bruno Haible  <bruno@clisp.org>
29389
29390         * modules/vdprintf-posix-tests: New file.
29391         * tests/test-vdprintf-posix.sh: New file.
29392         * tests/test-vdprintf-posix.c: New file.
29393
29394         New modules 'vdprintf', 'vdprintf-posix'.
29395         * lib/stdio.in.h (vdprintf): New declaration.
29396         * lib/vdprintf.c: New file.
29397         * m4/vdprintf.m4: New file.
29398         * m4/vdprintf-posix.m4: New file.
29399         * modules/vdprintf: New file.
29400         * modules/vdprintf-posix: New file.
29401         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
29402         HAVE_VDPRINTF, REPLACE_VDPRINTF.
29403         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
29404         HAVE_VDPRINTF, REPLACE_VDPRINTF.
29405         * doc/posix-functions/vdprintf.texi: Mention the new modules.
29406
29407 2009-01-17  Bruno Haible  <bruno@clisp.org>
29408
29409         Fix replacement of fopen on mingw.
29410         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
29411         mingw.
29412
29413 2009-01-17  Bruno Haible  <bruno@clisp.org>
29414
29415         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
29416         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
29417
29418 2009-01-17  Bruno Haible  <bruno@clisp.org>
29419
29420         Avoid test-fflush2.sh failure on mingw.
29421         * tests/test-fflush2.c: Include binary-io.h.
29422         (main): Put standard input into binary mode.
29423         * modules/fflush-tests (Depends-on): Add binary-io.
29424
29425 2009-01-17  Bruno Haible  <bruno@clisp.org>
29426
29427         * lib/wchar.in.h: In another particular situation, include only the
29428         system's <wchar.h> file.
29429         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
29430         Reported by Albert Chin-A-Young <china@thewrittenword.com>
29431         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
29432
29433 2009-01-17  Bruno Haible  <bruno@clisp.org>
29434
29435         Support for stripping executables in --enable-relocatable.
29436         * build-aux/install-reloc: Expect one more argument, or an environment
29437         variable RELOC_STRIP_PROG. If set, strip the destination program and
29438         its wrapper.
29439         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
29440         RELOC_STRIP_PROG.
29441         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
29442         to set RELOCATABLE_STRIP.
29443         * NEWS: Mention the new Makefile requirement.
29444
29445 2009-01-17  Bruno Haible  <bruno@clisp.org>
29446
29447         * build-aux/install-reloc: Remove debugging information left over by
29448         C compiler on MacOS X.
29449
29450 2009-01-17  Bruno Haible  <bruno@clisp.org>
29451
29452         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
29453         * lib/progreloc.c (find_executable): Fix type of pointer passed to
29454         _NSGetExecutablePath.
29455
29456 2009-01-16  Jim Meyering  <meyering@redhat.com>
29457
29458         strerror: avoid warnings about discarding "const"
29459         * lib/strerror.c (rpl_strerror): Instead of returning a const
29460         string from each and every "case", use a variable, and add a single
29461         cast after the switch.
29462
29463 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
29464
29465         * lib/arpa_inet.in.h: Add extern "C" block for C++.
29466
29467 2009-01-16  Bruno Haible  <bruno@clisp.org>
29468
29469         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
29470         array initializer syntax that also works in C++ mode.
29471         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
29472
29473 2009-01-16  Jim Meyering  <meyering@redhat.com>
29474
29475         poll: suppress a warning
29476         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
29477         to ignore "...unsigned expression < 0 is always false" warnings.
29478
29479 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
29480
29481         poll: remove declarations of unused variables
29482         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
29483         sockbuf and optlen.
29484
29485 2009-01-15  Bruno Haible  <bruno@clisp.org>
29486
29487         Make fflush-after-ungetc POSIX compliant on BSD systems.
29488         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
29489         (clear_ungetc_buffer): Implement also for other systems.
29490         (rpl_fflush): On glibc systems, invoke
29491         clear_ungetc_buffer_preserving_position. Otherwise, invoke
29492         clear_ungetc_buffer after fetching the stream's position, not before.
29493
29494 2009-01-15  Bruno Haible  <bruno@clisp.org>
29495
29496         Make fflush-after-ungetc POSIX compliant on glibc systems.
29497         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
29498         after ungetc.
29499         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
29500         (rpl_fflush): On glibc systems, simply call the system's fflush
29501         function after clearing the ungetc buffer.
29502         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
29503         Instead, lseek only to the end of file, then use the system's fseeko
29504         for the rest. On glibc systems, reset the EOF indicator bit.
29505
29506 2009-01-15  Jim Meyering  <meyering@redhat.com>
29507
29508         openmp.m4: revert quote-adding change, for portability to older autoconf
29509         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
29510         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
29511         Simon Josefsson noticed the problem when using autoconf-2.61.
29512
29513 2009-01-15  Bruno Haible  <bruno@clisp.org>
29514
29515         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
29516         * tests/test-fflush2.c (ASSERT): Always fail.
29517         (main): Add two tests for fflush() after ungetc(), taking into account
29518         the Austin Group's clarification.
29519         Suggested by Eric Blake.
29520
29521 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
29522
29523         mktime.m4: remove K&R-style function prototypes
29524         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
29525         for the Sun C++ compiler.
29526
29527 2009-01-14  Bruno Haible  <bruno@clisp.org>
29528
29529         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
29530         while including <wchar.h>.
29531         * lib/wchar.in.h: In two particular situations on HP-UX, include only
29532         the system's <wchar.h> file.
29533         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
29534
29535 2009-01-14  Bruno Haible  <bruno@clisp.org>
29536
29537         * m4/csharp.m4: Don't mention gettext on the serial number line.
29538         * m4/csharpexec.m4: Likewise.
29539         * m4/eaccess.m4: Likewise.
29540         * m4/javaexec.m4: Likewise.
29541         * m4/sig_atomic_t.m4: Likewise.
29542         * m4/tmpdir.m4: Likewise.
29543         * m4/intldir.m4: Bump gettext version.
29544         * m4/lib-ld.m4: Likewise.
29545
29546 2009-01-14  Bruno Haible  <bruno@clisp.org>
29547
29548         * lib/progname.c (set_program_name): Add more comments.
29549         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
29550
29551 2009-01-14  Simon Josefsson  <simon@josefsson.org>
29552
29553         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
29554         were sys/stat.h does not define it.
29555
29556 2009-01-14  Jim Meyering  <meyering@redhat.com>
29557
29558         many *.m4 files: improve m4 quoting
29559         99% of this change was performed by running the following commands:
29560         git ls-files | grep '\.m4$' | xargs perl -pi \
29561           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
29562           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
29563           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
29564           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
29565         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
29566         The remainder were to add Copyright dates, increment serial numbers,
29567         undo some changes in comments, exclude m4/intl.m4, and add quotes
29568         around the "1" in ",1" where the unusual spacing prohibited the
29569         above regexps from doing the job.  For more details, see
29570         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
29571         * m4/acl.m4: Modified.
29572         * m4/afs.m4: Likewise.
29573         * m4/alloca.m4: Likewise.
29574         * m4/argp.m4: Likewise.
29575         * m4/argz.m4: Likewise.
29576         * m4/atexit.m4: Likewise.
29577         * m4/bison-i18n.m4: Likewise.
29578         * m4/bison.m4: Likewise.
29579         * m4/byteswap.m4: Likewise.
29580         * m4/c-stack.m4: Likewise.
29581         * m4/c-strtod.m4: Likewise.
29582         * m4/calloc.m4: Likewise.
29583         * m4/canonicalize-lgpl.m4: Likewise.
29584         * m4/chown.m4: Likewise.
29585         * m4/clock_time.m4: Likewise.
29586         * m4/codeset.m4: Likewise.
29587         * m4/copy-file.m4: Likewise.
29588         * m4/csharp.m4: Likewise.
29589         * m4/csharpcomp.m4: Likewise.
29590         * m4/csharpexec.m4: Likewise.
29591         * m4/d-ino.m4: Likewise.
29592         * m4/d-type.m4: Likewise.
29593         * m4/dirfd.m4: Likewise.
29594         * m4/double-slash-root.m4: Likewise.
29595         * m4/eaccess.m4: Likewise.
29596         * m4/eealloc.m4: Likewise.
29597         * m4/environ.m4: Likewise.
29598         * m4/errno_h.m4: Likewise.
29599         * m4/euidaccess.m4: Likewise.
29600         * m4/execute.m4: Likewise.
29601         * m4/fatal-signal.m4: Likewise.
29602         * m4/fchdir.m4: Likewise.
29603         * m4/fcntl_h.m4: Likewise.
29604         * m4/fileblocks.m4: Likewise.
29605         * m4/filenamecat.m4: Likewise.
29606         * m4/findprog.m4: Likewise.
29607         * m4/flexmember.m4: Likewise.
29608         * m4/fnmatch.m4: Likewise.
29609         * m4/fopen.m4: Likewise.
29610         * m4/fpending.m4: Likewise.
29611         * m4/fprintf-posix.m4: Likewise.
29612         * m4/free.m4: Likewise.
29613         * m4/frexp.m4: Likewise.
29614         * m4/frexpl.m4: Likewise.
29615         * m4/fsusage.m4: Likewise.
29616         * m4/ftruncate.m4: Likewise.
29617         * m4/gc-camellia.m4: Likewise.
29618         * m4/gc-random.m4: Likewise.
29619         * m4/gc.m4: Likewise.
29620         * m4/getaddrinfo.m4: Likewise.
29621         * m4/getcwd-abort-bug.m4: Likewise.
29622         * m4/getcwd-path-max.m4: Likewise.
29623         * m4/getdate.m4: Likewise.
29624         * m4/getdomainname.m4: Likewise.
29625         * m4/getgroups.m4: Likewise.
29626         * m4/gethostname.m4: Likewise.
29627         * m4/gethrxtime.m4: Likewise.
29628         * m4/getline.m4: Likewise.
29629         * m4/getloadavg.m4: Likewise.
29630         * m4/getndelim2.m4: Likewise.
29631         * m4/getpass.m4: Likewise.
29632         * m4/gettext.m4: Likewise.
29633         * m4/gettime.m4: Likewise.
29634         * m4/gettimeofday.m4: Likewise.
29635         * m4/gnulib-common.m4: Likewise.
29636         * m4/group-member.m4: Likewise.
29637         * m4/host-os.m4: Likewise.
29638         * m4/iconv.m4: Likewise.
29639         * m4/iconv_open.m4: Likewise.
29640         * m4/inet_ntop.m4: Likewise.
29641         * m4/inet_pton.m4: Likewise.
29642         * m4/inline.m4: Likewise.
29643         * m4/intldir.m4: Likewise.
29644         * m4/intlmacosx.m4: Likewise.
29645         * m4/intmax.m4: Likewise.
29646         * m4/intmax_t.m4: Likewise.
29647         * m4/inttypes.m4: Likewise.
29648         * m4/inttypes_h.m4: Likewise.
29649         * m4/inttypes-pri.m4: Likewise.
29650         * m4/isapipe.m4: Likewise.
29651         * m4/isnand.m4: Likewise.
29652         * m4/isnanf.m4: Likewise.
29653         * m4/isnanl.m4: Likewise.
29654         * m4/javacomp.m4: Likewise.
29655         * m4/javaexec.m4: Likewise.
29656         * m4/jm-winsz1.m4: Likewise.
29657         * m4/jm-winsz2.m4: Likewise.
29658         * m4/lchown.m4: Likewise.
29659         * m4/lcmessage.m4: Likewise.
29660         * m4/ldexpl.m4: Likewise.
29661         * m4/lib-ld.m4: Likewise.
29662         * m4/lib-link.m4: Likewise.
29663         * m4/libsigsegv.m4: Likewise.
29664         * m4/link-follow.m4: Likewise.
29665         * m4/localcharset.m4: Likewise.
29666         * m4/locale-fr.m4: Likewise.
29667         * m4/locale-ja.m4: Likewise.
29668         * m4/locale-tr.m4: Likewise.
29669         * m4/locale-zh.m4: Likewise.
29670         * m4/lock.m4: Likewise.
29671         * m4/longlong.m4: Likewise.
29672         * m4/ls-mntd-fs.m4: Likewise.
29673         * m4/lstat.m4: Likewise.
29674         * m4/malloc.m4: Likewise.
29675         * m4/mathl.m4: Likewise.
29676         * m4/mbrtowc.m4: Likewise.
29677         * m4/mbstate_t.m4: Likewise.
29678         * m4/mbswidth.m4: Likewise.
29679         * m4/memchr.m4: Likewise.
29680         * m4/memcmp.m4: Likewise.
29681         * m4/memcpy.m4: Likewise.
29682         * m4/memmem.m4: Likewise.
29683         * m4/memmove.m4: Likewise.
29684         * m4/mempcpy.m4: Likewise.
29685         * m4/memrchr.m4: Likewise.
29686         * m4/memset.m4: Likewise.
29687         * m4/minmax.m4: Likewise.
29688         * m4/mkdir-slash.m4: Likewise.
29689         * m4/mkdtemp.m4: Likewise.
29690         * m4/mktime.m4: Likewise.
29691         * m4/mmap-anon.m4: Likewise.
29692         * m4/mountlist.m4: Likewise.
29693         * m4/nanosleep.m4: Likewise.
29694         * m4/nls.m4: Likewise.
29695         * m4/nocrash.m4: Likewise.
29696         * m4/open.m4: Likewise.
29697         * m4/openat.m4: Likewise.
29698         * m4/openmp.m4: Likewise.
29699         * m4/pathmax.m4: Likewise.
29700         * m4/perl.m4: Likewise.
29701         * m4/physmem.m4: Likewise.
29702         * m4/pipe.m4: Likewise.
29703         * m4/po.m4: Likewise.
29704         * m4/poll.m4: Likewise.
29705         * m4/posixtm.m4: Likewise.
29706         * m4/posixver.m4: Likewise.
29707         * m4/printf-frexp.m4: Likewise.
29708         * m4/printf-frexpl.m4: Likewise.
29709         * m4/printf-posix.m4: Likewise.
29710         * m4/printf-posix-rpl.m4: Likewise.
29711         * m4/printf.m4: Likewise.
29712         * m4/progtest.m4: Likewise.
29713         * m4/putenv.m4: Likewise.
29714         * m4/readline.m4: Likewise.
29715         * m4/readlink.m4: Likewise.
29716         * m4/readutmp.m4: Likewise.
29717         * m4/realloc.m4: Likewise.
29718         * m4/regex.m4: Likewise.
29719         * m4/relocatable.m4: Likewise.
29720         * m4/relocatable-lib.m4: Likewise.
29721         * m4/rename-dest-slash.m4: Likewise.
29722         * m4/rename.m4: Likewise.
29723         * m4/rmdir-errno.m4: Likewise.
29724         * m4/rmdir.m4: Likewise.
29725         * m4/roundf.m4: Likewise.
29726         * m4/roundl.m4: Likewise.
29727         * m4/rpmatch.m4: Likewise.
29728         * m4/save-cwd.m4: Likewise.
29729         * m4/selinux-selinux-h.m4: Likewise.
29730         * m4/setenv.m4: Likewise.
29731         * m4/settime.m4: Likewise.
29732         * m4/sig2str.m4: Likewise.
29733         * m4/sig_atomic_t.m4: Likewise.
29734         * m4/signalblocking.m4: Likewise.
29735         * m4/signbit.m4: Likewise.
29736         * m4/sigpipe.m4: Likewise.
29737         * m4/sockets.m4: Likewise.
29738         * m4/sockpfaf.m4: Likewise.
29739         * m4/st_dm_mode.m4: Likewise.
29740         * m4/stat-time.m4: Likewise.
29741         * m4/stdbool.m4: Likewise.
29742         * m4/stdint.m4: Likewise.
29743         * m4/stdint_h.m4: Likewise.
29744         * m4/stpcpy.m4: Likewise.
29745         * m4/stpncpy.m4: Likewise.
29746         * m4/strcase.m4: Likewise.
29747         * m4/strchrnul.m4: Likewise.
29748         * m4/strcspn.m4: Likewise.
29749         * m4/strdup.m4: Likewise.
29750         * m4/strftime.m4: Likewise.
29751         * m4/strndup.m4: Likewise.
29752         * m4/strnlen.m4: Likewise.
29753         * m4/strpbrk.m4: Likewise.
29754         * m4/strptime.m4: Likewise.
29755         * m4/strsep.m4: Likewise.
29756         * m4/strtod.m4: Likewise.
29757         * m4/strtoimax.m4: Likewise.
29758         * m4/strtok_r.m4: Likewise.
29759         * m4/strtol.m4: Likewise.
29760         * m4/strtoll.m4: Likewise.
29761         * m4/strtoul.m4: Likewise.
29762         * m4/strtoull.m4: Likewise.
29763         * m4/strtoumax.m4: Likewise.
29764         * m4/strverscmp.m4: Likewise.
29765         * m4/threadlib.m4: Likewise.
29766         * m4/timegm.m4: Likewise.
29767         * m4/tm_gmtoff.m4: Likewise.
29768         * m4/tmpdir.m4: Likewise.
29769         * m4/tmpfile.m4: Likewise.
29770         * m4/tzset.m4: Likewise.
29771         * m4/uintmax_t.m4: Likewise.
29772         * m4/unlinkdir.m4: Likewise.
29773         * m4/unlocked-io.m4: Likewise.
29774         * m4/uptime.m4: Likewise.
29775         * m4/userspec.m4: Likewise.
29776         * m4/utimbuf.m4: Likewise.
29777         * m4/utime.m4: Likewise.
29778         * m4/utimes-null.m4: Likewise.
29779         * m4/utimes.m4: Likewise.
29780         * m4/vararrays.m4: Likewise.
29781         * m4/vasnprintf.m4: Likewise.
29782         * m4/vfprintf-posix.m4: Likewise.
29783         * m4/vprintf-posix.m4: Likewise.
29784         * m4/wait-process.m4: Likewise.
29785         * m4/wchar_t.m4: Likewise.
29786         * m4/wint_t.m4: Likewise.
29787         * m4/write-any-file.m4: Likewise.
29788         * m4/yield.m4: Likewise.
29789
29790 2009-01-13  Bruno Haible  <bruno@clisp.org>
29791
29792         Avoid test-copy-file.sh failures when ACL support insufficient.
29793         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
29794         TESTS_ENVIRONMENT.
29795         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
29796         Reported by Jim Meyering.
29797
29798 2009-01-13  Bruno Haible  <bruno@clisp.org>
29799
29800         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
29801         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
29802         * modules/unistdio/u8-printf-parse (Files): Likewise.
29803         * modules/unistdio/u32-printf-parse (Files): Likewise.
29804         * modules/unistdio/ulc-printf-parse (Files): Likewise.
29805
29806 2009-01-13  Simon Josefsson  <simon@josefsson.org>
29807
29808         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
29809         and m4/inttypes_h.m4 too.
29810
29811 2009-01-12  Eric Blake  <ebb9@byu.net>
29812
29813         tests: IRIX 6.2 cc can't compile -0.0 into .data
29814         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
29815         rather than at compile-time.
29816         * tests/test-floorl.c (minus_zero): Likewise.
29817         * tests/test-frexpl.c (minus_zero): Likewise.
29818         * tests/test-isnan.c (minus_zerol): Likewise.
29819         * tests/test-isnanl.h (minus_zero): Likewise.
29820         * tests/test-ldexpl.c (minus_zero): Likewise.
29821         * tests/test-roundl.c (minus_zero): Likewise.
29822         * tests/test-signbit.c (minus_zerol): Likewise.
29823         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
29824         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
29825         * tests/test-truncl.c (minus_zero): Likewise.
29826         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
29827         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
29828         Reported by Tom G. Christensen and Nelson H. F. Beebe.
29829
29830 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
29831
29832         regex: fix glibc bug 9697
29833         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
29834         handling.
29835
29836 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
29837
29838         regex: fix glibc bug 697
29839         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
29840         being NULL also if there are no backreferences.
29841
29842 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
29843
29844         regex: merge glibc changes
29845         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
29846         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
29847         re_string_skip_chars, re_string_reconstruct): Likewise.
29848         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
29849
29850 2009-01-07  Jim Meyering  <meyering@redhat.com>
29851
29852         poll: filter through cppi
29853         * lib/poll.c: Indent cpp directives to reflect nesting.
29854
29855 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
29856
29857         poll: don't return uninitialized
29858         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
29859
29860 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
29861
29862         avoid compile failure on AIX 6.1
29863         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
29864         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
29865
29866 2009-01-04  Jim Meyering  <meyering@redhat.com>
29867
29868         remove duplicate inclusion of <stdio.h>
29869         * tests/test-fprintf-posix.c: Likewise.
29870         * tests/test-printf-posix.c: Likewise.
29871         * tests/test-snprintf-posix.c: Likewise.
29872         * tests/test-sprintf-posix.c: Likewise.
29873         * tests/test-vasprintf-posix.c: Likewise.
29874         * tests/test-vfprintf-posix.c: Likewise.
29875         * tests/test-vprintf-posix.c: Likewise.
29876         * tests/test-vsnprintf-posix.c: Likewise.
29877         * tests/test-vsprintf-posix.c: Likewise.
29878
29879 2009-01-03  Jim Meyering  <meyering@redhat.com>
29880
29881         gnulib-tool: fix sed-based filtering
29882         * gnulib-tool (func_filter_filelist): Remove extra backslash
29883         in sed_fff_filter definition.
29884
29885 2009-01-02  Jim Meyering  <meyering@redhat.com>
29886
29887         strftime: avoid compilation failure on Solaris 2.6
29888         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
29889         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
29890         Don't #define mbrlen or mbsinit, since now they're guaranteed to
29891         be available.  Reported by Tom G. Christensen.  Details in
29892         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
29893
29894 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29895             Bruno Haible  <bruno@clisp.org>
29896
29897         Speed up gnulib-tool by doing more string processing through shell
29898         built-ins.
29899         * gnulib-tool (fast_func_append): New variable.
29900         (func_remove_prefix, func_remove_suffix): New functions.
29901         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
29902         (func_filter_filelist): New function.
29903         (func_get_dependencies): Use func_remove_suffix instead of sed.
29904         (func_get_automake_snippet): Use func_filter_filelist instead of a
29905         subshell and sed invocation.
29906
29907 2009-01-01  Bruno Haible  <bruno@clisp.org>
29908
29909         Fix a security bug.
29910         * gnulib-tool (func_import, import, update): Don't allow the characters
29911         '"', '$', '`', '\' in macro arguments that become part of commands that
29912         are evaluated.
29913
29914 2009-01-01  Bruno Haible  <bruno@clisp.org>
29915
29916         * gnulib-tool (func_reset_sigpipe): Add more comments.
29917
29918 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29919
29920         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
29921         func_emit_tests_Makefile_am, func_import): Abort loops early if we
29922         already know the answer.
29923
29924 2009-01-01  Jim Meyering  <meyering@redhat.com>
29925
29926         * lib/version-etc.c (version_etc_va): Update copyright year.
29927
29928 2008-12-30  Bruno Haible  <bruno@clisp.org>
29929
29930         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
29931         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
29932         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
29933
29934 2008-12-29  Eric Blake  <ebb9@byu.net>
29935
29936         multiarch: avoid autoconf AC_REQUIRE bug
29937         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
29938         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
29939         2.63 and older.
29940         Reported by Bruno Haible, and analyzed in
29941         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
29942
29943 2008-12-29  Bruno Haible  <bruno@clisp.org>
29944
29945         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
29946         files in subdirectories correctly.
29947         Reported by Ralf Wildenhues.
29948
29949 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29950
29951         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
29952         rather than 'join FILE -', for Solaris join.
29953
29954 2008-12-29  Bruno Haible  <bruno@clisp.org>
29955
29956         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
29957         quoting.
29958         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
29959         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
29960         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
29961         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
29962         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
29963         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
29964         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
29965         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
29966         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
29967         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
29968         * m4/nls.m4 (AM_NLS): Likewise.
29969         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
29970         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
29971         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
29972         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
29973         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
29974         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
29975         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
29976         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
29977         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
29978         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
29979         * m4/xsize.m4 (gl_XSIZE): Likewise.
29980         Suggested by Jim Meyering.
29981
29982 2008-11-17  Bruce Korb  <bkorb@gnu.org>
29983
29984         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
29985         * lib/parse-duration.c: use a switch instead of cascading if's.
29986
29987 2008-12-29  Eric Blake  <ebb9@byu.net>
29988
29989         wchar.h: supply WEOF on Irix 5.3
29990         * lib/wchar.in.h (wint_t): Also supply WEOF.
29991         * lib/wctype.in.h (wint_t): Likewise.
29992         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
29993         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
29994         Reported by Tom G. Christensen.
29995
29996 2008-12-26  Bruno Haible  <bruno@clisp.org>
29997
29998         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
29999         i486, i586, i686.
30000
30001 2008-12-26  Bruno Haible  <bruno@clisp.org>
30002
30003         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
30004
30005 2008-12-26  Bruno Haible  <bruno@clisp.org>
30006
30007         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
30008         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
30009         not __STDC_CONSTANT_MACROS.
30010         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
30011
30012 2008-12-25  Bruno Haible  <bruno@clisp.org>
30013
30014         Add support for universal builds to vasnprintf.
30015         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
30016         universal builds, guess no.
30017         * modules/vasnprintf-posix (Depends-on): Add multiarch.
30018         * modules/vasprintf-posix (Depends-on): Likewise.
30019         * modules/fprintf-posix (Depends-on): Likewise.
30020         * modules/vfprintf-posix (Depends-on): Likewise.
30021         * modules/snprintf-posix (Depends-on): Likewise.
30022         * modules/vsnprintf-posix (Depends-on): Likewise.
30023         * modules/sprintf-posix (Depends-on): Likewise.
30024         * modules/vsprintf-posix (Depends-on): Likewise.
30025         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
30026         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
30027         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
30028         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
30029         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
30030         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
30031         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
30032
30033         Add support for universal builds to <inttypes.h>.
30034         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
30035         _SCNu64_PREFIX): In Apple
30036         universal builds, define directly, using _LP64.
30037         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
30038         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
30039         * modules/inttypes (Depends-on): Add multiarch.
30040         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
30041
30042         Add support for universal builds to <stdint.h>.
30043         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
30044         universal builds, define directly, using _LP64.
30045         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
30046         Apple universal builds, don't test for the size and suffix of ptrdiff_t
30047         and size_t.
30048         * modules/stdint (Depends-on): Add multiarch.
30049         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
30050
30051         New module 'multiarch'.
30052         * modules/multiarch: New file.
30053         * m4/multiarch.m4: New file.
30054
30055 2008-12-25  Bruno Haible  <bruno@clisp.org>
30056
30057         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
30058
30059 2008-12-25  Bruno Haible  <bruno@clisp.org>
30060
30061         * modules/btowc (License): Relicense under LGPLv2+.
30062         * modules/mbsinit (License): Likewise.
30063         * modules/mbrtowc (License): Likewise.
30064         * modules/wcrtomb (License): Likewise.
30065         * modules/streq (License): Likewise.
30066         Reported by David Lutterkort <lutter@redhat.com>.
30067
30068 2008-12-23  Bruno Haible  <bruno@clisp.org>
30069
30070         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
30071
30072 2008-12-23  Bruno Haible  <bruno@clisp.org>
30073
30074         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
30075         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
30076         GETADDRINFO_LIB, not in LIBS.
30077         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
30078         * modules/canon-host (Link): Likewise.
30079         * NEWS: Mention the change.
30080         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
30081         GETADDRINFO_LIB.
30082
30083 2008-12-22  Bruno Haible  <bruno@clisp.org>
30084
30085         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
30086         * doc/posix-functions/iswalpha_l.texi: Likewise.
30087         * doc/posix-functions/iswblank_l.texi: Likewise.
30088         * doc/posix-functions/iswcntrl_l.texi: Likewise.
30089         * doc/posix-functions/iswctype_l.texi: Likewise.
30090         * doc/posix-functions/iswdigit_l.texi: Likewise.
30091         * doc/posix-functions/iswgraph_l.texi: Likewise.
30092         * doc/posix-functions/iswlower_l.texi: Likewise.
30093         * doc/posix-functions/iswprint_l.texi: Likewise.
30094         * doc/posix-functions/iswpunct_l.texi: Likewise.
30095         * doc/posix-functions/iswspace_l.texi: Likewise.
30096         * doc/posix-functions/iswupper_l.texi: Likewise.
30097         * doc/posix-functions/iswxdigit_l.texi: Likewise.
30098         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
30099         * doc/posix-functions/open_wmemstream.texi: Likewise.
30100         * doc/posix-functions/swscanf.texi: Likewise.
30101         * doc/posix-functions/towctrans_l.texi: Likewise.
30102         * doc/posix-functions/towlower.texi: Likewise.
30103         * doc/posix-functions/towlower_l.texi: Likewise.
30104         * doc/posix-functions/towupper.texi: Likewise.
30105         * doc/posix-functions/towupper_l.texi: Likewise.
30106         * doc/posix-functions/vfwprintf.texi: Likewise.
30107         * doc/posix-functions/vfwscanf.texi: Likewise.
30108         * doc/posix-functions/vswscanf.texi: Likewise.
30109         * doc/posix-functions/vwprintf.texi: Likewise.
30110         * doc/posix-functions/vwscanf.texi: Likewise.
30111         * doc/posix-functions/wcpcpy.texi: Likewise.
30112         * doc/posix-functions/wcpncpy.texi: Likewise.
30113         * doc/posix-functions/wcscasecmp.texi: Likewise.
30114         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
30115         * doc/posix-functions/wcscoll_l.texi: Likewise.
30116         * doc/posix-functions/wcsdup.texi: Likewise.
30117         * doc/posix-functions/wcsncasecmp.texi: Likewise.
30118         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
30119         * doc/posix-functions/wcsnlen.texi: Likewise.
30120         * doc/posix-functions/wcsnrtombs.texi: Likewise.
30121         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
30122         * doc/posix-functions/wctrans_l.texi: Likewise.
30123         * doc/posix-functions/wctype_l.texi: Likewise.
30124         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
30125         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
30126         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
30127         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
30128         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
30129         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
30130         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
30131         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
30132         * doc/glibc-functions/wcschrnul.texi: Likewise.
30133         * doc/glibc-functions/wcsftime_l.texi: Likewise.
30134         * doc/glibc-functions/wcstod_l.texi: Likewise.
30135         * doc/glibc-functions/wcstof_l.texi: Likewise.
30136         * doc/glibc-functions/wcstol_l.texi: Likewise.
30137         * doc/glibc-functions/wcstold_l.texi: Likewise.
30138         * doc/glibc-functions/wcstoll_l.texi: Likewise.
30139         * doc/glibc-functions/wcstoq.texi: Likewise.
30140         * doc/glibc-functions/wcstoul_l.texi: Likewise.
30141         * doc/glibc-functions/wcstoull_l.texi: Likewise.
30142         * doc/glibc-functions/wcstouq.texi: Likewise.
30143         * doc/glibc-functions/wmempcpy.texi: Likewise.
30144
30145 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
30146             Eric Blake  <ebb9@byu.net>
30147             Paolo Bonzini  <bonzini@gnu.org>
30148             Bruno Haible  <bruno@clisp.org>
30149
30150         Make c-stack work on Haiku.
30151         * lib/c-stack.c (SA_ONSTACK): Define fallback.
30152         (c_stack_action): Use SA_ONSTACK flag.
30153
30154 2008-12-22  Bruno Haible  <bruno@clisp.org>
30155
30156         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
30157
30158 2008-12-22  Bruno Haible  <bruno@clisp.org>
30159
30160         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
30161         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
30162         being overridden.
30163         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
30164         New macros.
30165         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
30166         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
30167         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
30168         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
30169
30170 2008-12-22  Bruno Haible  <bruno@clisp.org>
30171
30172         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
30173         from test code.
30174
30175 2008-12-22  Eric Blake  <ebb9@byu.net>
30176
30177         Avoid gcc warnings on cygwin.
30178         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
30179         Avoid unused variable.
30180         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
30181         Likewise.
30182
30183 2008-12-22  Bruno Haible  <bruno@clisp.org>
30184
30185         Remove HAVE_MBRTOWC conditionals.
30186         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
30187         (mbscasecmp): Assume mbrtowc function.
30188         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
30189         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
30190         * lib/mbschr.c: Include mbuiter.h unconditionally.
30191         (mbschr): Assume mbrtowc function.
30192         * lib/mbscspn.c: Include mbuiter.h unconditionally.
30193         (mbscspn): Assume mbrtowc function.
30194         * lib/mbslen.c: Include mbuiter.h unconditionally.
30195         (mbslen): Assume mbrtowc function.
30196         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
30197         (mbsncasecmp): Assume mbrtowc function.
30198         * lib/mbsnlen.c: Include mbiter.h unconditionally.
30199         (mbsnlen): Assume mbrtowc function.
30200         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
30201         (mbspbrk): Assume mbrtowc function.
30202         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
30203         (mbspcasecmp): Assume mbrtowc function.
30204         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
30205         (mbsrchr): Assume mbrtowc function.
30206         * lib/mbssep.c: Include mbuiter.h unconditionally.
30207         (mbssep): Assume mbrtowc function.
30208         * lib/mbsspn.c: Include mbuiter.h unconditionally.
30209         (mbsspn): Assume mbrtowc function.
30210         * lib/mbsstr.c: Include mbuiter.h unconditionally.
30211         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
30212         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
30213         (mbstok_r): Assume mbrtowc function.
30214         * lib/propername.c: Include mbuiter.h unconditionally.
30215         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
30216         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
30217         (trim2): Assume mbrtowc function.
30218         * lib/mbswidth.c (mbsinit): Remove fallback definition.
30219         (mbsnwidth): Assume mbrtowc function.
30220         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
30221         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
30222         fallback definitions.
30223         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
30224
30225 2008-12-22  Bruno Haible  <bruno@clisp.org>
30226
30227         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
30228
30229 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
30230
30231         * modules/regex: Request emulations for the mb*/wc* functions we need.
30232         * m4/regex.m4: Don't look for those functions here.
30233         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
30234
30235 2008-12-22  Bruno Haible  <bruno@clisp.org>
30236
30237         * modules/fnmatch (Depends-on): Remove duplicated dependency.
30238
30239 2008-12-21  Bruno Haible  <bruno@clisp.org>
30240
30241         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
30242         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
30243         (Include): Remove conditionalization.
30244         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
30245         (Include): Remove conditionalization.
30246         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
30247         (Include): Remove conditionalization.
30248         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
30249         * m4/mbfile.m4 (gl_MBFILE): Likewise.
30250         * NEWS: Mention the change.
30251         Reported by Alan Hourihane <alanh@fairlite.co.uk>
30252         via Sergey Poznyakoff <gray@gnu.org.ua>.
30253
30254 2008-12-21  Bruno Haible  <bruno@clisp.org>
30255
30256         * MODULES.html.sh (Extended multibyte and wide character utilities
30257         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
30258         wcrtomb, wcsrtombs.
30259         (Support for systems lacking POSIX:2008): Add accept, bind, close,
30260         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
30261         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
30262         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
30263
30264 2008-12-21  Bruno Haible  <bruno@clisp.org>
30265
30266         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
30267
30268 2008-12-21  Bruno Haible  <bruno@clisp.org>
30269
30270         * modules/wcsnrtombs-tests: New file.
30271         * tests/test-wcsnrtombs1.sh: New file.
30272         * tests/test-wcsnrtombs2.sh: New file.
30273         * tests/test-wcsnrtombs3.sh: New file.
30274         * tests/test-wcsnrtombs4.sh: New file.
30275         * tests/test-wcsnrtombs.c: New file.
30276
30277         New module 'wcsnrtombs'.
30278         * lib/wchar.in.h (wcsnrtombs): New declaration.
30279         * lib/wcsnrtombs.c: New file.
30280         * lib/wcsrtombs-state.c: New file.
30281         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
30282         (internal_state): Remove variable.
30283         * m4/wcsnrtombs.m4: New file.
30284         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
30285         compilation units.
30286         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
30287         HAVE_WCSNRTOMBS.
30288         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
30289         HAVE_WCSNRTOMBS.
30290         * modules/wcsnrtombs: New file.
30291         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
30292         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
30293
30294 2008-12-21  Bruno Haible  <bruno@clisp.org>
30295
30296         * modules/wcsrtombs-tests: New file.
30297         * tests/test-wcsrtombs1.sh: New file.
30298         * tests/test-wcsrtombs2.sh: New file.
30299         * tests/test-wcsrtombs3.sh: New file.
30300         * tests/test-wcsrtombs4.sh: New file.
30301         * tests/test-wcsrtombs.c: New file.
30302
30303         New module 'wcsrtombs'.
30304         * lib/wchar.in.h (wcsrtombs): New declaration.
30305         * lib/wcsrtombs.c: New file.
30306         * m4/wcsrtombs.m4: New file.
30307         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
30308         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
30309         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
30310         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
30311         * modules/wcsrtombs: New file.
30312         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
30313         bugs.
30314
30315 2008-12-21  Bruno Haible  <bruno@clisp.org>
30316
30317         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
30318         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
30319         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
30320         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
30321         if not correct.
30322         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
30323         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
30324         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
30325         m4/locale-zh.m4, m4/codeset.m4.
30326         * doc/posix-functions/wcrtomb.texi: Document the bug.
30327
30328 2008-12-21  Bruno Haible  <bruno@clisp.org>
30329
30330         Work around a btowc() bug on IRIX 6.5.
30331         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
30332         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
30333         REPLACE_WTOBC if not.
30334         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
30335         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
30336         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
30337
30338 2008-12-21  Bruno Haible  <bruno@clisp.org>
30339
30340         * modules/wcrtomb-tests: New file.
30341         * tests/test-wcrtomb.sh: New file.
30342         * tests/test-wcrtomb.c: New file.
30343
30344         New module 'wcrtomb'.
30345         * lib/wchar.in.h (wcrtomb): New declaration.
30346         * lib/wcrtomb.c: New file.
30347         * m4/wcrtomb.m4: New file.
30348         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
30349         HAVE_WCRTOMB.
30350         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
30351         HAVE_WCRTOMB.
30352         * modules/wcrtomb: New file.
30353         * doc/posix-functions/wcrtomb.texi: Mention the new module.
30354
30355 2008-12-21  Bruno Haible  <bruno@clisp.org>
30356
30357         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
30358         * modules/mbsrtowcs (Files): Likewise.
30359         * modules/wctob (Files): Likewise.
30360         * modules/c-strcase-tests (Files): Likewise.
30361         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
30362         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
30363         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
30364         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
30365         * modules/vasnprintf-posix-tests (Files): Likewise.
30366
30367 2008-12-21  William Pursell  <bill.pursell@gmail.com>
30368
30369         gitlog-to-changelog: pass all command-line arguments to git-log
30370         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
30371         it is sometimes convenient to filter the commits in various ways.
30372         gitlog-to-changelog only allows --since to specify a start date,
30373         but git-log itself supports many other filtering mechanisms.
30374         At the moment, I want to filter by branch name.  Rather than
30375         adding a --branch option to gitlog-to-changelog, it seems more
30376         flexible to simply pass all options directly to git-log and let
30377         git do the work.  Notice that this effectively makes --since a
30378         redundant option for gitlog-to-changelog, but removing it would
30379         require current usage to change since calls would then require
30380         an additional '--'.
30381
30382 2008-12-21  Bruno Haible  <bruno@clisp.org>
30383
30384         * modules/mbsnrtowcs-tests: New file.
30385         * tests/test-mbsnrtowcs1.sh: New file.
30386         * tests/test-mbsnrtowcs2.sh: New file.
30387         * tests/test-mbsnrtowcs3.sh: New file.
30388         * tests/test-mbsnrtowcs4.sh: New file.
30389         * tests/test-mbsnrtowcs.c: New file.
30390
30391         New module 'mbsnrtowcs'.
30392         * lib/wchar.in.h (mbsnrtowcs): New declaration.
30393         * lib/mbsnrtowcs.c: New file.
30394         * lib/mbsrtowcs-state.c: New file.
30395         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
30396         (internal_state): Remove variable.
30397         * m4/mbsnrtowcs.m4: New file.
30398         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
30399         compilation units.
30400         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
30401         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
30402         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
30403         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
30404         * modules/mbsnrtowcs: New file.
30405         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
30406         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
30407         portability problem.
30408
30409 2008-12-21  Bruno Haible  <bruno@clisp.org>
30410
30411         Work around mbsrtowcs bug.
30412         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
30413         (gl_FUNC_MBSRTOWCS): Invoke it.
30414         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
30415         m4/locale-zh.m4.
30416         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
30417
30418 2008-12-21  Bruno Haible  <bruno@clisp.org>
30419
30420         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
30421
30422 2008-12-21  Bruno Haible  <bruno@clisp.org>
30423
30424         Update doc for AIX.
30425         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
30426         16-bit wchar_t type.
30427         * doc/posix-functions/btowc.texi: Likewise.
30428         * doc/posix-functions/fgetwc.texi: Likewise.
30429         * doc/posix-functions/fgetws.texi: Likewise.
30430         * doc/posix-functions/fputwc.texi: Likewise.
30431         * doc/posix-functions/fputws.texi: Likewise.
30432         * doc/posix-functions/fwide.texi: Likewise.
30433         * doc/posix-functions/fwprintf.texi: Likewise.
30434         * doc/posix-functions/fwscanf.texi: Likewise.
30435         * doc/posix-functions/getwchar.texi: Likewise.
30436         * doc/posix-functions/getwc.texi: Likewise.
30437         * doc/posix-functions/iswalnum.texi: Likewise.
30438         * doc/posix-functions/iswalpha.texi: Likewise.
30439         * doc/posix-functions/iswblank.texi: Likewise.
30440         * doc/posix-functions/iswcntrl.texi: Likewise.
30441         * doc/posix-functions/iswctype.texi: Likewise.
30442         * doc/posix-functions/iswdigit.texi: Likewise.
30443         * doc/posix-functions/iswgraph.texi: Likewise.
30444         * doc/posix-functions/iswlower.texi: Likewise.
30445         * doc/posix-functions/iswprint.texi: Likewise.
30446         * doc/posix-functions/iswpunct.texi: Likewise.
30447         * doc/posix-functions/iswspace.texi: Likewise.
30448         * doc/posix-functions/iswupper.texi: Likewise.
30449         * doc/posix-functions/iswxdigit.texi: Likewise.
30450         * doc/posix-functions/mbrtowc.texi: Likewise.
30451         * doc/posix-functions/mbsrtowcs.texi: Likewise.
30452         * doc/posix-functions/mbstowcs.texi: Likewise.
30453         * doc/posix-functions/mbtowc.texi: Likewise.
30454         * doc/posix-functions/putwchar.texi: Likewise.
30455         * doc/posix-functions/putwc.texi: Likewise.
30456         * doc/posix-functions/swprintf.texi: Likewise.
30457         * doc/posix-functions/tolower.texi: Likewise.
30458         * doc/posix-functions/toupper.texi: Likewise.
30459         * doc/posix-functions/towctrans.texi: Likewise.
30460         * doc/posix-functions/ungetwc.texi: Likewise.
30461         * doc/posix-functions/vswprintf.texi: Likewise.
30462         * doc/posix-functions/wcrtomb.texi: Likewise.
30463         * doc/posix-functions/wcscat.texi: Likewise.
30464         * doc/posix-functions/wcschr.texi: Likewise.
30465         * doc/posix-functions/wcscmp.texi: Likewise.
30466         * doc/posix-functions/wcscoll.texi: Likewise.
30467         * doc/posix-functions/wcscpy.texi: Likewise.
30468         * doc/posix-functions/wcscspn.texi: Likewise.
30469         * doc/posix-functions/wcsftime.texi: Likewise.
30470         * doc/posix-functions/wcslen.texi: Likewise.
30471         * doc/posix-functions/wcsncat.texi: Likewise.
30472         * doc/posix-functions/wcsncmp.texi: Likewise.
30473         * doc/posix-functions/wcsncpy.texi: Likewise.
30474         * doc/posix-functions/wcspbrk.texi: Likewise.
30475         * doc/posix-functions/wcsrchr.texi: Likewise.
30476         * doc/posix-functions/wcsrtombs.texi: Likewise.
30477         * doc/posix-functions/wcsspn.texi: Likewise.
30478         * doc/posix-functions/wcsstr.texi: Likewise.
30479         * doc/posix-functions/wcstod.texi: Likewise.
30480         * doc/posix-functions/wcstof.texi: Likewise.
30481         * doc/posix-functions/wcstoimax.texi: Likewise.
30482         * doc/posix-functions/wcstok.texi: Likewise.
30483         * doc/posix-functions/wcstold.texi: Likewise.
30484         * doc/posix-functions/wcstoll.texi: Likewise.
30485         * doc/posix-functions/wcstol.texi: Likewise.
30486         * doc/posix-functions/wcstombs.texi: Likewise.
30487         * doc/posix-functions/wcstoull.texi: Likewise.
30488         * doc/posix-functions/wcstoul.texi: Likewise.
30489         * doc/posix-functions/wcstoumax.texi: Likewise.
30490         * doc/posix-functions/wcswidth.texi: Likewise.
30491         * doc/posix-functions/wcsxfrm.texi: Likewise.
30492         * doc/posix-functions/wctob.texi: Likewise.
30493         * doc/posix-functions/wctomb.texi: Likewise.
30494         * doc/posix-functions/wctrans.texi: Likewise.
30495         * doc/posix-functions/wctype.texi: Likewise.
30496         * doc/posix-functions/wcwidth.texi: Likewise.
30497         * doc/posix-functions/wmemchr.texi: Likewise.
30498         * doc/posix-functions/wmemcmp.texi: Likewise.
30499         * doc/posix-functions/wmemcpy.texi: Likewise.
30500         * doc/posix-functions/wmemmove.texi: Likewise.
30501         * doc/posix-functions/wmemset.texi: Likewise.
30502         * doc/posix-functions/wprintf.texi: Likewise.
30503         * doc/posix-functions/wscanf.texi: Likewise.
30504
30505 2008-12-21  Bruno Haible  <bruno@clisp.org>
30506
30507         Update doc for HP-UX 11.11.
30508         * doc/posix-functions/btowc.texi: Clarify that the function is missing
30509         in HP-UX version 11.00, not in all versions of HP-UX 11.
30510         * doc/posix-functions/fwide.texi: Likewise.
30511         * doc/posix-functions/fwprintf.texi: Likewise.
30512         * doc/posix-functions/fwscanf.texi: Likewise.
30513         * doc/posix-functions/inet_ntop.texi: Likewise.
30514         * doc/posix-functions/inet_pton.texi: Likewise.
30515         * doc/posix-functions/mbrlen.texi: Likewise.
30516         * doc/posix-functions/mbrtowc.texi: Likewise.
30517         * doc/posix-functions/mbsinit.texi: Likewise.
30518         * doc/posix-functions/mbsrtowcs.texi: Likewise.
30519         * doc/posix-functions/swprintf.texi: Likewise.
30520         * doc/posix-functions/swscanf.texi: Likewise.
30521         * doc/posix-functions/towctrans.texi: Likewise.
30522         * doc/posix-functions/vfwprintf.texi: Likewise.
30523         * doc/posix-functions/vswprintf.texi: Likewise.
30524         * doc/posix-functions/vwprintf.texi: Likewise.
30525         * doc/posix-functions/wcrtomb.texi: Likewise.
30526         * doc/posix-functions/wcsrtombs.texi: Likewise.
30527         * doc/posix-functions/wcsstr.texi: Likewise.
30528         * doc/posix-functions/wctob.texi: Likewise.
30529         * doc/posix-functions/wctrans.texi: Likewise.
30530         * doc/posix-functions/wmemchr.texi: Likewise.
30531         * doc/posix-functions/wmemcmp.texi: Likewise.
30532         * doc/posix-functions/wmemcpy.texi: Likewise.
30533         * doc/posix-functions/wmemmove.texi: Likewise.
30534         * doc/posix-functions/wmemset.texi: Likewise.
30535         * doc/posix-functions/wprintf.texi: Likewise.
30536         * doc/posix-functions/wscanf.texi: Likewise.
30537
30538 2008-12-21  Bruno Haible  <bruno@clisp.org>
30539
30540         Work around a portability problem.
30541         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
30542         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
30543
30544 2008-12-20  Bruno Haible  <bruno@clisp.org>
30545
30546         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
30547         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
30548         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
30549         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
30550         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
30551
30552         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
30553         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
30554         set.
30555         (GNULIB_defined_mbstate_t): New macro.
30556         (mbsinit): Redefine if REPLACE_MBSINIT is set.
30557         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
30558         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
30559         reuses the system's mbrtowc function but works around the bugs.
30560         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
30561         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
30562         macros.
30563         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
30564         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
30565         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
30566         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
30567         REPLACE_MBSINIT if mbsinit needs to be overridden.
30568         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
30569         REPLACE_MBSINIT, REPLACE_MBRTOWC.
30570         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
30571         REPLACE_MBSINIT, REPLACE_MBRTOWC.
30572         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
30573         m4/locale-zh.m4.
30574         (Depends): Add mbsinit.
30575         * modules/mbsinit (Depends): Add mbrtowc.
30576         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
30577
30578 2008-12-20  Bruno Haible  <bruno@clisp.org>
30579
30580         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
30581         so that there are no conversion errors on AIX.
30582         * tests/test-mbsrtowcs.c (main): LIkewise.
30583
30584 2008-12-20  Bruno Haible  <bruno@clisp.org>
30585
30586         Work around wctob bug on Solaris <= 9.
30587         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
30588         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
30589         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
30590         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
30591         * modules/wctob (Files): Add m4/locale-fr.m4.
30592         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
30593
30594 2008-12-20  Bruno Haible  <bruno@clisp.org>
30595
30596         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
30597         /dev/null.
30598         * tests/test-select-in.sh: Likewise.
30599         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30600
30601 2008-12-20  Bruno Haible  <bruno@clisp.org>
30602
30603         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
30604         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
30605         Cygwin 1.5.x.
30606
30607 2008-12-20  Bruno Haible  <bruno@clisp.org>
30608
30609         Ensure mbstate_t is defined on HP-UX 11.11.
30610         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
30611         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
30612         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
30613         AC_USE_SYSTEM_EXTENSIONS.
30614         * modules/fnmatch (Depends-on): Add extensions.
30615         * modules/mbrlen (Depends-on): Likewise.
30616         * modules/mbrtowc (Depends-on): Likewise.
30617         * modules/mbsinit (Depends-on): Likewise.
30618         * modules/mbsrtowcs (Depends-on): Likewise.
30619         * modules/mbswidth (Depends-on): Likewise.
30620         * modules/quotearg (Depends-on): Likewise.
30621         * modules/strftime (Depends-on): Likewise.
30622
30623 2008-12-20  Bruno Haible  <bruno@clisp.org>
30624
30625         Ensure wctob is declared on IRIX 6.5.
30626         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
30627         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
30628         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
30629         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
30630         of HAVE_WCTOB.
30631         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
30632         HAVE_WCTOB.
30633         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
30634
30635 2008-12-19  Bruno Haible  <bruno@clisp.org>
30636
30637         * modules/mbsrtowcs-tests: New file.
30638         * tests/test-mbsrtowcs1.sh: New file.
30639         * tests/test-mbsrtowcs2.sh: New file.
30640         * tests/test-mbsrtowcs3.sh: New file.
30641         * tests/test-mbsrtowcs4.sh: New file.
30642         * tests/test-mbsrtowcs.c: New file.
30643
30644         New module 'mbsrtowcs'.
30645         * lib/wchar.in.h (mbsrtowcs): New declaration.
30646         * lib/mbsrtowcs.c: New file.
30647         * m4/mbsrtowcs.m4: New file.
30648         * modules/mbsrtowcs: New file.
30649         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
30650         HAVE_MBSRTOWCS.
30651         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
30652         HAVE_MBSRTOWCS.
30653         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
30654
30655 2008-12-19  Bruno Haible  <bruno@clisp.org>
30656
30657         New module 'mbrlen'.
30658         * lib/wchar.in.h (mbrlen): New declaration.
30659         * lib/mbrlen.c: New file.
30660         * m4/mbrlen.m4: New file.
30661         * modules/mbrlen: New file.
30662         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
30663         HAVE_MBRLEN.
30664         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
30665         HAVE_MBRLEN.
30666         * doc/posix-functions/mbrlen.texi: Document the new module.
30667
30668 2008-12-19  Bruno Haible  <bruno@clisp.org>
30669
30670         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
30671         * modules/mbrtowc (Depends-on): Add verify.
30672         Suggested by Paul Eggert.
30673
30674 2008-12-18  Bruno Haible  <bruno@clisp.org>
30675
30676         * modules/mbsinit-tests: New file.
30677         * tests/test-mbsinit.sh: New file.
30678         * tests/test-mbsinit.c: New file.
30679
30680 2008-12-18  Bruno Haible  <bruno@clisp.org>
30681
30682         * modules/mbrtowc-tests: New file.
30683         * tests/test-mbrtowc1.sh: New file.
30684         * tests/test-mbrtowc2.sh: New file.
30685         * tests/test-mbrtowc3.sh: New file.
30686         * tests/test-mbrtowc4.sh: New file.
30687         * tests/test-mbrtowc.c: New file.
30688
30689         New module 'mbrtowc'.
30690         * lib/wchar.in.h (mbstate_t): Override when the system does not have
30691         mbsinit and mbrtowc.
30692         (mbrtowc): New declaration.
30693         * lib/mbrtowc.c: New file.
30694         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
30695         * modules/mbrtowc: New file.
30696         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
30697         HAVE_MBRTOWC.
30698         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
30699         HAVE_MBRTOWC.
30700         * doc/posix-functions/mbrtowc.texi: Document the new module.
30701
30702 2008-12-18  Bruno Haible  <bruno@clisp.org>
30703
30704         New module 'wctob'.
30705         * lib/wchar.in.h (wctob): New declaration.
30706         * lib/wctob.c: New file.
30707         * m4/wctob.m4: New file.
30708         * modules/wctob: New file.
30709         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
30710         HAVE_WCTOB.
30711         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
30712         * doc/posix-functions/wctob.texi: Document the new module.
30713
30714 2008-12-18  Bruno Haible  <bruno@clisp.org>
30715
30716         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
30717         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
30718
30719 2008-12-18  Simon Josefsson  <simon@josefsson.org>
30720
30721         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
30722         G. Christensen" <tgc@jupiterrise.com>.
30723
30724         * lib/flock.c: Need to include errno.h.  Reported by "Tom
30725         G. Christensen" <tgc@jupiterrise.com>.
30726
30727         * lib/flock.c: Need to include string.h.  Reported by "Tom
30728         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
30729         <ebb9@byu.net>.
30730
30731 2008-12-18  Bruno Haible  <bruno@clisp.org>
30732
30733         * m4/locale-ja.m4: New file, from GNU gettext.
30734
30735 2008-12-17  Bruno Haible  <bruno@clisp.org>
30736
30737         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
30738         Suggested by Eric Blake.
30739
30740 2008-12-17  Bruno Haible  <bruno@clisp.org>
30741
30742         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
30743
30744 2008-12-17  Bruno Haible  <bruno@clisp.org>
30745
30746         * lib/mbsinit.c: Include verify.h. Verify an assumption.
30747         * modules/mbsinit (Depends-on): Add verify.
30748         Suggested by Paul Eggert.
30749
30750 2008-12-17  Bruno Haible  <bruno@clisp.org>
30751
30752         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
30753         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
30754         gl_FUNC_MBRTOWC.
30755         * m4/mbiter.m4 (gl_MBITER): LIkewise.
30756         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
30757         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
30758         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
30759         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
30760         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
30761         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
30762         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
30763         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
30764         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
30765         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
30766         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
30767         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
30768         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
30769         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
30770         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
30771         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
30772         * modules/trim (configure.ac): Likewise.
30773
30774 2008-12-17  Bruno Haible  <bruno@clisp.org>
30775
30776         * modules/btowc-tests: New file.
30777         * tests/test-btowc1.sh: New file.
30778         * tests/test-btowc2.sh: New file.
30779         * tests/test-btowc.c: New file.
30780
30781         New module 'btowc'.
30782         * lib/wchar.in.h (btowc): New declaration.
30783         * lib/btowc.c: New file.
30784         * m4/btowc.m4: New file.
30785         * modules/btowc: New file.
30786         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
30787         HAVE_BTOWC.
30788         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
30789         * doc/posix-functions/btowc.texi: Document the new module.
30790
30791 2008-12-17  Bruno Haible  <bruno@clisp.org>
30792
30793         New module 'mbsinit'.
30794         * lib/wchar.in.h (mbsinit): New declaration.
30795         * lib/mbsinit.c: New file.
30796         * m4/mbsinit.m4: New file.
30797         * modules/mbsinit: New file.
30798         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
30799         HAVE_MBSINIT.
30800         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
30801         HAVE_MBSINIT.
30802         * doc/posix-functions/mbsinit.texi: Document the new module.
30803
30804 2008-12-16  Bruno Haible  <bruno@clisp.org>
30805
30806         * lib/unistd.in.h: Add comment.
30807         * tests/test-environ.c: Don't include <stdlib.h>.
30808
30809 2008-12-16  Bruno Haible  <bruno@clisp.org>
30810
30811         * lib/parse-duration.h (parse_duration): Document return value
30812         convention.
30813         * lib/parse-duration.c: Include specification header first. Add
30814         comments.
30815         (_): Remove macro.
30816         (parse_year_month_day, parse_hour_minute_second): Move side effects
30817         outside of strchr call.
30818         (parse_non_iso8601): Move side effects outside of isspace call.
30819         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
30820         call.
30821
30822 2008-12-16  Bruno Haible  <bruno@clisp.org>
30823
30824         * tests/test-parse-duration.sh: Produce no output when the test
30825         succeeds.
30826
30827 2008-12-16  Bruno Haible  <bruno@clisp.org>
30828
30829         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
30830         expressions.
30831
30832 2008-12-15  Bruno Haible  <bruno@clisp.org>
30833
30834         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
30835         * doc/glibc-functions/flistxattr.texi: Likewise.
30836         * doc/glibc-functions/fopencookie.texi: Likewise.
30837         * doc/glibc-functions/fremovexattr.texi: Likewise.
30838         * doc/glibc-functions/fsetxattr.texi: Likewise.
30839         * doc/glibc-functions/getxattr.texi: Likewise.
30840         * doc/glibc-functions/lgetxattr.texi: Likewise.
30841         * doc/glibc-functions/listxattr.texi: Likewise.
30842         * doc/glibc-functions/llistxattr.texi: Likewise.
30843         * doc/glibc-functions/lremovexattr.texi: Likewise.
30844         * doc/glibc-functions/lsetxattr.texi: Likewise.
30845         * doc/glibc-functions/removexattr.texi: Likewise.
30846         * doc/glibc-functions/setxattr.texi: Likewise.
30847         * doc/posix-functions/open_memstream.texi: Likewise.
30848
30849 2008-12-15  Eric Blake  <ebb9@byu.net>
30850
30851         Update doc for cygwin 1.7.
30852         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
30853         functions.
30854         * doc/posix-functions/fchmodat.texi: Likewise.
30855         * doc/posix-functions/fchownat.texi: Likewise.
30856         * doc/posix-functions/fdopendir.texi: Likewise.
30857         * doc/posix-functions/fmemopen.texi: Likewise.
30858         * doc/posix-functions/freeaddrinfo.texi: Likewise.
30859         * doc/posix-functions/fstatat.texi: Likewise.
30860         * doc/posix-functions/futimens.texi: Likewise.
30861         * doc/posix-functions/gai_strerror.texi: Likewise.
30862         * doc/posix-functions/getaddrinfo.texi: Likewise.
30863         * doc/posix-functions/getnameinfo.texi: Likewise.
30864         * doc/posix-functions/if_freenameindex.texi: Likewise.
30865         * doc/posix-functions/if_indextoname.texi: Likewise.
30866         * doc/posix-functions/if_nameindex.texi: Likewise.
30867         * doc/posix-functions/if_nametoindex.texi: Likewise.
30868         * doc/posix-functions/insque.texi: Likewise.
30869         * doc/posix-functions/linkat.texi: Likewise.
30870         * doc/posix-functions/llrint.texi: Likewise.
30871         * doc/posix-functions/llrintf.texi: Likewise.
30872         * doc/posix-functions/llrintl.texi: Likewise.
30873         * doc/posix-functions/lockf.texi: Likewise.
30874         * doc/posix-functions/lrintl.texi: Likewise.
30875         * doc/posix-functions/mkdirat.texi: Likewise.
30876         * doc/posix-functions/mkfifoat.texi: Likewise.
30877         * doc/posix-functions/mknodat.texi: Likewise.
30878         * doc/posix-functions/mq_close.texi: Likewise.
30879         * doc/posix-functions/mq_getattr.texi: Likewise.
30880         * doc/posix-functions/mq_notify.texi: Likewise.
30881         * doc/posix-functions/mq_open.texi: Likewise.
30882         * doc/posix-functions/mq_receive.texi: Likewise.
30883         * doc/posix-functions/mq_send.texi: Likewise.
30884         * doc/posix-functions/mq_setattr.texi: Likewise.
30885         * doc/posix-functions/mq_timedreceive.texi: Likewise.
30886         * doc/posix-functions/mq_timedsend.texi: Likewise.
30887         * doc/posix-functions/mq_unlink.texi: Likewise.
30888         * doc/posix-functions/open_memstream.texi: Likewise.
30889         * doc/posix-functions/openat.texi: Likewise.
30890         * doc/posix-functions/posix_fadvise.texi: Likewise.
30891         * doc/posix-functions/posix_fallocate.texi: Likewise.
30892         * doc/posix-functions/posix_madvise.texi: Likewise.
30893         * doc/posix-functions/posix_memalign.texi: Likewise.
30894         * doc/posix-functions/posix_openpt.texi: Likewise.
30895         * doc/posix-functions/readlinkat.texi: Likewise.
30896         * doc/posix-functions/remque.texi: Likewise.
30897         * doc/posix-functions/renameat.texi: Likewise.
30898         * doc/posix-functions/rintl.texi: Likewise.
30899         * doc/posix-functions/sem_unlink.texi: Likewise.
30900         * doc/posix-functions/shm_open.texi: Likewise.
30901         * doc/posix-functions/shm_unlink.texi: Likewise.
30902         * doc/posix-functions/signgam.texi: Likewise.
30903         * doc/posix-functions/sigset.texi: Likewise.
30904         * doc/posix-functions/stpcpy.texi: Likewise.
30905         * doc/posix-functions/stpncpy.texi: Likewise.
30906         * doc/posix-functions/strerror.texi: Likewise.
30907         * doc/posix-functions/strtod.texi: Likewise.
30908         * doc/posix-functions/symlinkat.texi: Likewise.
30909         * doc/posix-functions/unlinkat.texi: Likewise.
30910         * doc/posix-functions/utimensat.texi: Likewise.
30911         * doc/glibc-functions/bindresvport.texi: Likewise.
30912         * doc/glibc-functions/dn_expand.texi: Likewise.
30913         * doc/glibc-functions/exp10.texi: Likewise.
30914         * doc/glibc-functions/exp10f.texi: Likewise.
30915         * doc/glibc-functions/fgetxattr.texi: Likewise.
30916         * doc/glibc-functions/flistxattr.texi: Likewise.
30917         * doc/glibc-functions/fopencookie.texi: Likewise.
30918         * doc/glibc-functions/freeifaddrs.texi: Likewise.
30919         * doc/glibc-functions/fremovexattr.texi: Likewise.
30920         * doc/glibc-functions/fsetxattr.texi: Likewise.
30921         * doc/glibc-functions/getifaddrs.texi: Likewise.
30922         * doc/glibc-functions/getxattr.texi: Likewise.
30923         * doc/glibc-functions/lgetxattr.texi: Likewise.
30924         * doc/glibc-functions/listxattr.texi: Likewise.
30925         * doc/glibc-functions/llistxattr.texi: Likewise.
30926         * doc/glibc-functions/lremovexattr.texi: Likewise.
30927         * doc/glibc-functions/lsetxattr.texi: Likewise.
30928         * doc/glibc-functions/pow10.texi: Likewise.
30929         * doc/glibc-functions/pow10f.texi: Likewise.
30930         * doc/glibc-functions/rcmd_af.texi: Likewise.
30931         * doc/glibc-functions/removexattr.texi: Likewise.
30932         * doc/glibc-functions/res_init.texi: Likewise.
30933         * doc/glibc-functions/res_mkquery.texi: Likewise.
30934         * doc/glibc-functions/res_query.texi: Likewise.
30935         * doc/glibc-functions/res_querydomain.texi: Likewise.
30936         * doc/glibc-functions/res_send.texi: Likewise.
30937         * doc/glibc-functions/rresvport_af.texi: Likewise.
30938         * doc/glibc-functions/setxattr.texi: Likewise.
30939         * doc/glibc-functions/strcasestr.texi: Likewise.
30940
30941 2008-12-15  Bruno Haible  <bruno@clisp.org>
30942
30943         Fix compilation error on OSF/1 4.0.
30944         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
30945         <sys/time.h>, simply delegate to the system header.
30946         Reported by Daniel Richard G. <oss@teragram.com>.
30947
30948 2008-12-15  Bruno Haible  <bruno@clisp.org>
30949
30950         * doc/posix-functions/openat.texi: Mention the 'openat' module.
30951         * doc/posix-functions/fchmodat.texi: Likewise.
30952         * doc/posix-functions/fchownat.texi: Likewise.
30953         * doc/posix-functions/fdopendir.texi: Likewise.
30954         * doc/posix-functions/fstatat.texi: Likewise.
30955         * doc/posix-functions/mkdirat.texi: Likewise.
30956         * doc/posix-functions/unlinkat.texi: Likewise.
30957
30958 2008-12-14  Bruno Haible  <bruno@clisp.org>
30959
30960         Update doc for POSIX:2008.
30961         * doc/posix-functions/faccessat.texi: New file.
30962         * doc/posix-functions/fchmodat.texi: New file.
30963         * doc/posix-functions/fchownat.texi: New file.
30964         * doc/posix-functions/fdopendir.texi: New file.
30965         * doc/posix-functions/fstatat.texi: New file.
30966         * doc/posix-functions/futimens.texi: New file.
30967         * doc/posix-functions/linkat.texi: New file.
30968         * doc/posix-functions/mkdirat.texi: New file.
30969         * doc/posix-functions/mkfifoat.texi: New file.
30970         * doc/posix-functions/mknodat.texi: New file.
30971         * doc/posix-functions/open_wmemstream.texi: New file.
30972         * doc/posix-functions/openat.texi: New file.
30973         * doc/posix-functions/psiginfo.texi: New file.
30974         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
30975         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
30976         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
30977         * doc/posix-functions/readlinkat.texi: New file.
30978         * doc/posix-functions/renameat.texi: New file.
30979         * doc/posix-functions/strerror_l.texi: New file.
30980         * doc/posix-functions/symlinkat.texi: New file.
30981         * doc/posix-functions/unlinkat.texi: New file.
30982         * doc/posix-functions/utimensat.texi: New file.
30983         * doc/gnulib.texi (Function Substitutes): Add these subsections.
30984
30985 2008-12-14  Bruno Haible  <bruno@clisp.org>
30986
30987         Update doc for POSIX:2008.
30988         * doc/posix-functions/alphasort.texi: Renamed from
30989         doc/glibc-functions/alphasort.texi.
30990         * doc/posix-functions/dirfd.texi: Renamed from
30991         doc/glibc-functions/dirfd.texi.
30992         * doc/posix-functions/dprintf.texi: Renamed from
30993         doc/glibc-functions/dprintf.texi.
30994         * doc/posix-functions/duplocale.texi: Renamed from
30995         doc/glibc-functions/duplocale.texi.
30996         * doc/posix-functions/fexecve.texi: Renamed from
30997         doc/glibc-functions/fexecve.texi.
30998         * doc/posix-functions/fmemopen.texi: Renamed from
30999         doc/glibc-functions/fmemopen.texi.
31000         * doc/posix-functions/freelocale.texi: Renamed from
31001         doc/glibc-functions/freelocale.texi.
31002         * doc/posix-functions/getdate_err.texi: Renamed from
31003         doc/glibc-functions/getdate_err.texi.
31004         * doc/posix-functions/isalnum_l.texi: Renamed from
31005         doc/glibc-functions/isalnum_l.texi.
31006         * doc/posix-functions/isalpha_l.texi: Renamed from
31007         doc/glibc-functions/isalpha_l.texi.
31008         * doc/posix-functions/isblank_l.texi: Renamed from
31009         doc/glibc-functions/isblank_l.texi.
31010         * doc/posix-functions/iscntrl_l.texi: Renamed from
31011         doc/glibc-functions/iscntrl_l.texi.
31012         * doc/posix-functions/isdigit_l.texi: Renamed from
31013         doc/glibc-functions/isdigit_l.texi.
31014         * doc/posix-functions/isgraph_l.texi: Renamed from
31015         doc/glibc-functions/isgraph_l.texi.
31016         * doc/posix-functions/islower_l.texi: Renamed from
31017         doc/glibc-functions/islower_l.texi.
31018         * doc/posix-functions/isprint_l.texi: Renamed from
31019         doc/glibc-functions/isprint_l.texi.
31020         * doc/posix-functions/ispunct_l.texi: Renamed from
31021         doc/glibc-functions/ispunct_l.texi.
31022         * doc/posix-functions/isspace_l.texi: Renamed from
31023         doc/glibc-functions/isspace_l.texi.
31024         * doc/posix-functions/isupper_l.texi: Renamed from
31025         doc/glibc-functions/isupper_l.texi.
31026         * doc/posix-functions/iswalnum_l.texi: Renamed from
31027         doc/glibc-functions/iswalnum_l.texi.
31028         * doc/posix-functions/iswalpha_l.texi: Renamed from
31029         doc/glibc-functions/iswalpha_l.texi.
31030         * doc/posix-functions/iswblank_l.texi: Renamed from
31031         doc/glibc-functions/iswblank_l.texi.
31032         * doc/posix-functions/iswcntrl_l.texi: Renamed from
31033         doc/glibc-functions/iswcntrl_l.texi.
31034         * doc/posix-functions/iswctype_l.texi: Renamed from
31035         doc/glibc-functions/iswctype_l.texi.
31036         * doc/posix-functions/iswdigit_l.texi: Renamed from
31037         doc/glibc-functions/iswdigit_l.texi.
31038         * doc/posix-functions/iswgraph_l.texi: Renamed from
31039         doc/glibc-functions/iswgraph_l.texi.
31040         * doc/posix-functions/iswlower_l.texi: Renamed from
31041         doc/glibc-functions/iswlower_l.texi.
31042         * doc/posix-functions/iswprint_l.texi: Renamed from
31043         doc/glibc-functions/iswprint_l.texi.
31044         * doc/posix-functions/iswpunct_l.texi: Renamed from
31045         doc/glibc-functions/iswpunct_l.texi.
31046         * doc/posix-functions/iswspace_l.texi: Renamed from
31047         doc/glibc-functions/iswspace_l.texi.
31048         * doc/posix-functions/iswupper_l.texi: Renamed from
31049         doc/glibc-functions/iswupper_l.texi.
31050         * doc/posix-functions/iswxdigit_l.texi: Renamed from
31051         doc/glibc-functions/iswxdigit_l.texi.
31052         * doc/posix-functions/isxdigit_l.texi: Renamed from
31053         doc/glibc-functions/isxdigit_l.texi.
31054         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
31055         doc/glibc-functions/mbsnrtowcs.texi.
31056         * doc/posix-functions/mkdtemp.texi: Renamed from
31057         doc/glibc-functions/mkdtemp.texi.
31058         * doc/posix-functions/newlocale.texi: Renamed from
31059         doc/glibc-functions/newlocale.texi.
31060         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
31061         doc/glibc-functions/nl_langinfo_l.texi.
31062         * doc/posix-functions/open_memstream.texi: Renamed from
31063         doc/glibc-functions/open_memstream.texi.
31064         * doc/posix-functions/opterr.texi: Renamed from
31065         doc/glibc-functions/opterr.texi.
31066         * doc/posix-functions/optind.texi: Renamed from
31067         doc/glibc-functions/optind.texi.
31068         * doc/posix-functions/optopt.texi: Renamed from
31069         doc/glibc-functions/optopt.texi.
31070         * doc/posix-functions/psignal.texi: Renamed from
31071         doc/glibc-functions/psignal.texi.
31072         * doc/posix-functions/scandir.texi: Renamed from
31073         doc/glibc-functions/scandir.texi.
31074         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
31075         doc/glibc-functions/sched_get_priority_min.texi.
31076         * doc/posix-functions/signgam.texi: Renamed from
31077         doc/glibc-functions/signgam.texi.
31078         * doc/posix-functions/stpcpy.texi: Renamed from
31079         doc/glibc-functions/stpcpy.texi.
31080         * doc/posix-functions/stpncpy.texi: Renamed from
31081         doc/glibc-functions/stpncpy.texi.
31082         * doc/posix-functions/strcasecmp_l.texi: Renamed from
31083         doc/glibc-functions/strcasecmp_l.texi.
31084         * doc/posix-functions/strcoll_l.texi: Renamed from
31085         doc/glibc-functions/strcoll_l.texi.
31086         * doc/posix-functions/strfmon_l.texi: Renamed from
31087         doc/glibc-functions/strfmon_l.texi.
31088         * doc/posix-functions/strftime_l.texi: Renamed from
31089         doc/glibc-functions/strftime_l.texi.
31090         * doc/posix-functions/strncasecmp_l.texi: Renamed from
31091         doc/glibc-functions/strncasecmp_l.texi.
31092         * doc/posix-functions/strndup.texi: Renamed from
31093         doc/glibc-functions/strndup.texi.
31094         * doc/posix-functions/strnlen.texi: Renamed from
31095         doc/glibc-functions/strnlen.texi.
31096         * doc/posix-functions/strsignal.texi: Renamed from
31097         doc/glibc-functions/strsignal.texi.
31098         * doc/posix-functions/strxfrm_l.texi: Renamed from
31099         doc/glibc-functions/strxfrm_l.texi.
31100         * doc/posix-functions/timer_gettime.texi: Renamed from
31101         doc/glibc-functions/timer_gettime.texi.
31102         * doc/posix-functions/tolower_l.texi: Renamed from
31103         doc/glibc-functions/tolower_l.texi.
31104         * doc/posix-functions/toupper_l.texi: Renamed from
31105         doc/glibc-functions/toupper_l.texi.
31106         * doc/posix-functions/towctrans_l.texi: Renamed from
31107         doc/glibc-functions/towctrans_l.texi.
31108         * doc/posix-functions/towlower_l.texi: Renamed from
31109         doc/glibc-functions/towlower_l.texi.
31110         * doc/posix-functions/towupper_l.texi: Renamed from
31111         doc/glibc-functions/towupper_l.texi.
31112         * doc/posix-functions/uselocale.texi: Renamed from
31113         doc/glibc-functions/uselocale.texi.
31114         * doc/posix-functions/vdprintf.texi: Renamed from
31115         doc/glibc-functions/vdprintf.texi.
31116         * doc/posix-functions/wcpcpy.texi:
31117         Renamed from doc/glibc-functions/wcpcpy.texi.
31118         * doc/posix-functions/wcpncpy.texi: Renamed from
31119         doc/glibc-functions/wcpncpy.texi.
31120         * doc/posix-functions/wcscasecmp.texi: Renamed from
31121         doc/glibc-functions/wcscasecmp.texi.
31122         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
31123         doc/glibc-functions/wcscasecmp_l.texi.
31124         * doc/posix-functions/wcscoll_l.texi: Renamed from
31125         doc/glibc-functions/wcscoll_l.texi.
31126         * doc/posix-functions/wcsdup.texi: Renamed from
31127         doc/glibc-functions/wcsdup.texi.
31128         * doc/posix-functions/wcsncasecmp.texi: Renamed from
31129         doc/glibc-functions/wcsncasecmp.texi.
31130         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
31131         doc/glibc-functions/wcsncasecmp_l.texi.
31132         * doc/posix-functions/wcsnlen.texi: Renamed from
31133         doc/glibc-functions/wcsnlen.texi.
31134         * doc/posix-functions/wcsnrtombs.texi: Renamed from
31135         doc/glibc-functions/wcsnrtombs.texi.
31136         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
31137         doc/glibc-functions/wcsxfrm_l.texi.
31138         * doc/posix-functions/wctrans_l.texi: Renamed from
31139         doc/glibc-functions/wctrans_l.texi.
31140         * doc/posix-functions/wctype_l.texi: Renamed from
31141         doc/glibc-functions/wctype_l.texi.
31142         * doc/gnulib.texi (Function Substitutes): Add these subsections.
31143         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
31144         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
31145         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
31146         these subsections.
31147         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
31148         Remove sections.
31149
31150 2008-12-14  Bruno Haible  <bruno@clisp.org>
31151
31152         Update doc for POSIX:2008.
31153         * doc/posix-functions/*.texi: Update URL of POSIX specification.
31154
31155 2008-12-14  Bruno Haible  <bruno@clisp.org>
31156
31157         Update doc for POSIX:2008.
31158         * doc/pastposix-functions/bcmp.texi: Renamed from
31159         doc/posix-functions/bcmp.texi.
31160         * doc/pastposix-functions/bcopy.texi: Renamed from
31161         doc/posix-functions/bcopy.texi.
31162         * doc/pastposix-functions/bsd_signal.texi: Renamed from
31163         doc/posix-functions/bsd_signal.texi.
31164         * doc/pastposix-functions/bzero.texi: Renamed from
31165         doc/posix-functions/bzero.texi.
31166         * doc/pastposix-functions/ecvt.texi: Renamed from
31167         doc/posix-functions/ecvt.texi.
31168         * doc/pastposix-functions/fcvt.texi: Renamed from
31169         doc/posix-functions/fcvt.texi.
31170         * doc/pastposix-functions/ftime.texi: Renamed from
31171         doc/posix-functions/ftime.texi.
31172         * doc/pastposix-functions/gcvt.texi: Renamed from
31173         doc/posix-functions/gcvt.texi.
31174         * doc/pastposix-functions/getcontext.texi: Renamed from
31175         doc/posix-functions/getcontext.texi.
31176         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
31177         doc/posix-functions/gethostbyaddr.texi.
31178         * doc/pastposix-functions/gethostbyname.texi: Renamed from
31179         doc/posix-functions/gethostbyname.texi.
31180         * doc/pastposix-functions/getwd.texi: Renamed from
31181         doc/posix-functions/getwd.texi.
31182         * doc/pastposix-functions/h_errno.texi: Renamed from
31183         doc/posix-functions/h_errno.texi.
31184         * doc/pastposix-functions/index.texi: Renamed from
31185         doc/posix-functions/index.texi.
31186         * doc/pastposix-functions/makecontext.texi: Renamed from
31187         doc/posix-functions/makecontext.texi.
31188         * doc/pastposix-functions/mktemp.texi: Renamed from
31189         doc/posix-functions/mktemp.texi.
31190         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
31191         doc/posix-functions/pthread_attr_getstackaddr.texi.
31192         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
31193         doc/posix-functions/pthread_attr_setstackaddr.texi.
31194         * doc/pastposix-functions/rindex.texi: Renamed from
31195         doc/posix-functions/rindex.texi.
31196         * doc/pastposix-functions/scalb.texi: Renamed from
31197         doc/posix-functions/scalb.texi.
31198         * doc/pastposix-functions/setcontext.texi: Renamed from
31199         doc/posix-functions/setcontext.texi.
31200         * doc/pastposix-functions/swapcontext.texi: Renamed from
31201         doc/posix-functions/swapcontext.texi.
31202         * doc/pastposix-functions/ualarm.texi: Renamed from
31203         doc/posix-functions/ualarm.texi.
31204         * doc/pastposix-functions/usleep.texi: Renamed from
31205         doc/posix-functions/usleep.texi.
31206         * doc/pastposix-functions/vfork.texi: Renamed from
31207         doc/posix-functions/vfork.texi.
31208         * doc/pastposix-functions/wcswcs.texi: Renamed from
31209         doc/posix-functions/wcswcs.texi.
31210         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
31211         (Function Substitutes): Update.
31212
31213 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31214
31215         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
31216         m4/strerror.m4.
31217
31218 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31219             Bruno Haible  <bruno@clisp.org>
31220
31221         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
31222
31223 2008-12-13  Bruno Haible  <bruno@clisp.org>
31224
31225         * modules/strtoull (Depends-on): Remove unistd.
31226
31227 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31228
31229         * modules/strtoull (Depends-on): Add stdlib.
31230
31231 2008-12-11  Simon Josefsson  <simon@josefsson.org>
31232
31233         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
31234
31235 2008-12-10  Jim Meyering  <meyering@redhat.com>
31236
31237         gl_ASSERT: don't say assertions are disabled when they're not
31238         * m4/assert.m4 (gl_ASSERT): Do not make configure report
31239         "checking whether to enable assertions... no", when they are in
31240         fact enabled.  This is solely a bug in the output of configure.
31241         In spite of saying "no", NDEBUG was not defined in that case.
31242         Also, as noted by Eric Blake, leave assertions enabled upon
31243         --enable-assert=INVALID.
31244
31245 2008-12-10  Bruno Haible  <bruno@clisp.org>
31246
31247         Change MODULES.html to refer to POSIX:2008 where possible.
31248         * MODULES.html.sh (POSIX2008_URL): New variable.
31249         (posix_headers): Remove sys/timeb, ucontext.
31250         (posix2001_headers): New variable.
31251         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
31252         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
31253         index, makecontext, mktemp, pthread_attr_getstackaddr,
31254         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
31255         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
31256         (posix2001_functions): New variable.
31257         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
31258         otherwise.
31259
31260 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31261
31262         add missing include to parse-duration.c
31263         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
31264         * modules/parse-duration (Depends-on): Add xalloc.
31265
31266         fix sed script reading maint.mk
31267         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
31268         (syntax-check-rules): Use it.
31269
31270 2008-12-09  Bruno Haible  <bruno@clisp.org>
31271
31272         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
31273         MacOS X 10.4/PowerPC.
31274         Reported by Simon Josefsson.
31275
31276 2008-12-08  Jim Meyering  <meyering@redhat.com>
31277
31278         work around mingw's lack of some S_IF definitions
31279         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
31280         Reported by Simon Josefsson.
31281
31282 2008-12-08  Bruno Haible  <bruno@clisp.org>
31283
31284         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
31285         applied to variables. Needed on MacOS X 10.4/PowerPC.
31286         Reported by Simon Josefsson.
31287
31288 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
31289         and Eric Blake  <ebb9@byu.net>
31290
31291         assert: honor --enable-assert
31292         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
31293         order to honor --enable-assert, rather than treating it as a
31294         synonym for --disable-assert.
31295
31296 2008-12-08  Jim Meyering  <meyering@redhat.com>
31297
31298         * lib/posixtm.c: Remove now-useless declaration of mktime.
31299
31300         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
31301
31302 2008-12-07  Bruno Haible  <bruno@clisp.org>
31303
31304         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
31305         test_once): Mark functions as static.
31306         * tests/test-tls.c (test_tls): Likewise.
31307
31308 2008-12-07  Bruno Haible  <bruno@clisp.org>
31309
31310         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
31311         iconv_register_autodetect.
31312
31313 2008-12-07  Jim Meyering  <meyering@redhat.com>
31314
31315         posixtm.c: avoid a warning
31316         * lib/posixtm.c (posixtime): Don't initialize tm0.
31317         It's no longer needed to placate gcc4's -Wuninitialized,
31318         and the attempt to placate would elicit a new warning.
31319
31320         unicodeio.c: mark unused parameters
31321         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
31322         (fallback_failure_callback): Likewise.
31323
31324 2008-12-07  Bruno Haible  <bruno@clisp.org>
31325
31326         * gnulib-tool (func_create_testdir): When building the tests
31327         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
31328         Reported by Simon Josefsson.
31329
31330 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31331
31332         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
31333
31334 2008-12-06  Bruno Haible  <bruno@clisp.org>
31335
31336         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
31337         Suggested by Eric Blake.
31338
31339 2008-12-06  Bruno Haible  <bruno@clisp.org>
31340
31341         Fix a c-stack test failure on MacOS X.
31342         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
31343         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
31344         handler for SIGBUS as well.
31345         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
31346         install a signal handler for SIGBUS as well.
31347         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
31348
31349 2008-12-06  Bruno Haible  <bruno@clisp.org>
31350
31351         Advocacy documentation.
31352         * doc/gnulib-intro.texi (Benefits): New section.
31353         * doc/gnulib.texi: Update.
31354
31355 2008-12-06  Bruno Haible  <bruno@clisp.org>
31356
31357         Document the 'manywarnings' module.
31358         * doc/manywarnings.texi: New file.
31359         * doc/gnulib.texi: Include it.
31360
31361 2008-12-05  Eric Blake  <ebb9@byu.net>
31362
31363         tests: silence some gcc warnings
31364         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
31365         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
31366         type mismatches.
31367
31368 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31369             Bruno Haible  <bruno@clisp.org>
31370
31371         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
31372
31373 2008-11-29  Jim Meyering  <meyering@redhat.com>
31374
31375         unicodeio.c: mark unused parameters
31376         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
31377         (fallback_failure_callback): Likewise.
31378
31379         fts: fix a thinko
31380         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
31381         (set_stat_type): Return S_IF*-valued "type" directly.
31382         Prompted by James Youngman's spotting a related bug.
31383         Confirmed by further testing through find.
31384
31385         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
31386         * lib/fts.c (D_TYPE): Define.
31387         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
31388         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
31389         (s_ifmt_shift_bits): New function.
31390         (set_stat_type): New function.
31391         (fts_build): When not calling fts_stat, call set_stat_type
31392         to propagate dirent.d_type info to fts_read caller.
31393         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
31394         fts_statp->st_mode type information may be valid.
31395
31396 2008-11-28  Simon Josefsson  <simon@josefsson.org>
31397
31398         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
31399         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
31400         <sds@gnu.org>.
31401
31402 2008-11-20  Bruno Haible  <bruno@clisp.org>
31403
31404         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
31405         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
31406         INCLUDE_NEXT.
31407         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
31408         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
31409         * modules/math (Makefile.am): Substitute
31410         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
31411         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
31412
31413 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
31414             Bruno Haible  <bruno@clisp.org>
31415
31416         * lib/stdint.in.h: Define all type macros so that their expansion is
31417         a single typedef'ed token. Fixes a compilation failure in Boost which
31418         does "using ::int8_t;".
31419
31420 2008-11-18  Simon Josefsson  <simon@josefsson.org>
31421
31422         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
31423         gl_MANYWARN_ALL_GCC.
31424         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
31425         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
31426         * modules/manywarnings: New file.
31427         * MODULES.html.sh: Mention manywarnings module.
31428
31429 2008-11-18  Bruno Haible  <bruno@clisp.org>
31430
31431         * doc/gnulib-tool.texi (Unit tests): New section.
31432
31433 2008-11-18  Simon Josefsson  <simon@josefsson.org>
31434
31435         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
31436         paths like 'lib/po/foo.po'.
31437
31438 2008-11-17  Simon Josefsson  <simon@josefsson.org>
31439
31440         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
31441         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
31442
31443 2008-11-17  Simon Josefsson  <simon@josefsson.org>
31444
31445         * m4/warnings.m4: Use CPPFLAGS to really check whether the
31446         parameter works.
31447
31448 2008-11-17  Simon Josefsson  <simon@josefsson.org>
31449
31450         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
31451
31452 2008-11-17  Bruce Korb  <bkorb@gnu.org>
31453
31454         * modules/parse-duration-tests: New file.
31455         * tests/test-parse-duration.sh: New file.
31456         * tests/test-parse-duration.c: New file.
31457
31458         New module 'parse-duration'.
31459         * lib/parse-duration.h: New file.
31460         * lib/parse-duration.c: New file.
31461         * modules/parse-duration: New file.
31462
31463 2008-11-17  Bruno Haible  <bruno@clisp.org>
31464
31465         * tests/test-select-out.sh: Comment out the first pipe test.
31466         Reported by Simon Josefsson.
31467
31468 2008-11-17  Bruno Haible  <bruno@clisp.org>
31469
31470         * modules/getaddrinfo (Depends-on): Add servent, hostent.
31471         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
31472         gl_HOSTENT.
31473
31474 2008-11-17  Bruno Haible  <bruno@clisp.org>
31475
31476         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
31477         -lnetwork and -lnet. Needed for Haiku and BeOS.
31478
31479 2008-11-16  Bruno Haible  <bruno@clisp.org>
31480
31481         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
31482
31483 2008-11-16  Bruno Haible  <bruno@clisp.org>
31484
31485         Avoid test failure on Haiku.
31486         * tests/test-fsync.c: Include <errno.h>.
31487         (main): Don't require that fsync (0) fails.
31488
31489 2008-11-15  Bruno Haible  <bruno@clisp.org>
31490
31491         New module 'hostent'.
31492         * modules/hostent: New file.
31493         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
31494
31495 2008-11-15  Bruno Haible  <bruno@clisp.org>
31496
31497         New module 'servent'.
31498         * modules/servent: New file.
31499         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
31500
31501 2008-11-15  Bruno Haible  <bruno@clisp.org>
31502
31503         Avoid generating same test program with two different rules.
31504         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
31505         test-frexp to test-frexp-nolibm.
31506         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
31507         test-frexpl to test-frexpl-nolibm.
31508
31509 2008-11-15  Bruno Haible  <bruno@clisp.org>
31510
31511         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
31512         $(FREXPL_LIBM).
31513
31514 2008-11-15  Bruno Haible  <bruno@clisp.org>
31515
31516         * lib/netdb.in.h: Activate the definitions also when the system's
31517         <netdb.h> has 'struct addrinfo'.
31518         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
31519         EAI_OVERFLOW or AI_NUMERICSERV.
31520         * doc/posix-headers/netdb.texi: Document the problem.
31521
31522 2008-11-15  Bruno Haible  <bruno@clisp.org>
31523
31524         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
31525
31526         Make the 'sched' module work on platforms where <sched.h> exists but
31527         is incomplete (such as Haiku).
31528         * lib/sched.in.h; Include the system's <sched.h> if it exists.
31529         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
31530         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
31531         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
31532         HAVE_STRUCT_SCHED_PARAM.
31533         * modules/sched (Depends-on): Add include_next.
31534         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
31535         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
31536         * doc/posix-headers/sched.texi: Document the issue.
31537
31538 2008-11-13  Jim Meyering  <meyering@redhat.com>
31539
31540         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
31541         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
31542         test would fail due to the difference in the Report bugs to ...
31543         line.  The expected address is empty, "<>", while the actual
31544         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
31545
31546 2008-11-12  Bruno Haible  <bruno@clisp.org>
31547
31548         lstat: don't compile lstat.c on systems lacking lstat
31549         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
31550         which don't have lstat; this is handled by lib/sys_stat.in.h already.
31551         Reported by Daniel P. Berrange via Jim Meyering.
31552
31553 2008-11-12  Jim Meyering  <meyering@redhat.com>
31554
31555         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
31556
31557 2008-11-12  Simon Josefsson  <simon@josefsson.org>
31558
31559         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
31560         instead.
31561
31562 2008-11-12  Bruno Haible  <bruno@clisp.org>
31563
31564         * lib/unicodeio.c: Include unistr.h.
31565         (utf8_wctomb): Remove function.
31566         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
31567
31568 2008-11-12  Simon Josefsson  <simon@josefsson.org>
31569
31570         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
31571         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
31572         <bruno@clisp.org>.
31573         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
31574
31575 2008-11-12  Simon Josefsson  <simon@josefsson.org>
31576
31577         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
31578         * doc/gnulib.texi: Add section for warnings.
31579
31580 2008-11-11  Bruno Haible  <bruno@clisp.org>
31581
31582         * lib/sockets.h: Add a comment.
31583
31584 2008-11-11  Karl Berry  <karl@gnu.org>
31585
31586         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
31587
31588 2008-11-11  Eric Blake  <ebb9@byu.net>
31589
31590         fdl.texi: avoid git symlinks
31591         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
31592
31593 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
31594
31595         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
31596
31597 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
31598
31599         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
31600         (gl_WARN_ADD): Substitute $2 if literal.
31601
31602 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
31603
31604         * m4/warning.m4: Remove.
31605
31606 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
31607
31608         * m4/warnings.m4: Almost complete rewrite. :-)
31609
31610 2008-11-10  Simon Josefsson  <simon@josefsson.org>
31611
31612         * modules/warnings: New module.
31613         * m4/warnings.m4: New file.
31614         * MODULES.html.sh: Mention warnings module.
31615         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
31616         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31617
31618 2008-11-10  Eric Blake  <ebb9@byu.net>
31619
31620         fdl.texi: make a symlink to the latest version
31621         * doc/standards.texi: Revert today's earlier change.
31622         * doc/fdl-1.2.texi: Rename from old fdl.texi...
31623         * doc/fdl.texi: ...and replace this with a symlink to the newer
31624         fdl-1.3.texi.
31625
31626 2008-11-10  Bruno Haible  <bruno@clisp.org>
31627
31628         * tests/test-select-fd.c (main): Accept the result file name as fourth
31629         argument.
31630         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
31631         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
31632
31633 2008-11-10  Bruno Haible  <bruno@clisp.org>
31634
31635         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
31636         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
31637         as autoconf-substituted macros.
31638         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
31639         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
31640         gl_NETDB_H_DEFAULTS. Set these variables.
31641         * modules/netdb (Makefile.am): Substitute these variables.
31642
31643 2008-11-10  Eric Blake  <ebb9@byu.net>
31644
31645         standards.texi: include correct file for FDL 1.3
31646         * doc/standards.texi (GNU Free Documentation License): Change
31647         include file to pull in FDL 1.3, not 1.2.
31648
31649         fdl.texi: revert accidental change to license
31650         * doc/fdl.texi: This is FDL 1.2, not 1.3.
31651
31652 2008-11-10  Bruno Haible  <bruno@clisp.org>
31653
31654         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
31655         cross-compiling guesses also when the native compile gives no result.
31656
31657 2008-11-10  Bruno Haible  <bruno@clisp.org>
31658
31659         * lib/spawni.c (__spawni): Force variable into the stack.
31660
31661 2008-11-10  Bruno Haible  <bruno@clisp.org>
31662
31663         Add support for Haiku.
31664         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
31665         glibc and BeOS, but also on Haiku.
31666         * lib/fpurge.c (fpurge): Likewise.
31667         * lib/freadable.c (freadable): Likewise.
31668         * lib/freadahead.c (freadahead): Likewise.
31669         * lib/freading.c (freading): Likewise.
31670         * lib/freadptr.c (freadptr): Likewise.
31671         * lib/freadseek.c (freadptrinc): Likewise.
31672         * lib/fseeko.c (rpl_fseeko): Likewise.
31673         * lib/fseterr.c (fseterr): Likewise.
31674         * lib/fwritable.c (fwritable): Likewise.
31675         * lib/fwriting.c (fwriting): Likewise.
31676         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
31677
31678 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
31679
31680         * lib/config.charset: Treat Haiku like BeOS.
31681
31682 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
31683
31684         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
31685         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
31686
31687 2008-11-08  Bruno Haible  <bruno@clisp.org>
31688
31689         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
31690         AC_CACHE_CHECK.
31691
31692 2008-11-08  Bruno Haible  <bruno@clisp.org>
31693
31694         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
31695
31696 2008-11-08  Bruno Haible  <bruno@clisp.org>
31697
31698         * tests/test-select-fd.c: New file.
31699         * tests/test-select-in.sh: New file.
31700         * tests/test-select-out.sh: New file.
31701         * tests/test-select-stdin.c: New file.
31702         * modules/select-tests (Files): Add the new files.
31703         (Depends-on): Add gettimeofday.
31704         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
31705         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
31706         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
31707
31708 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
31709             Bruno Haible  <bruno@clisp.org>
31710
31711         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
31712
31713 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
31714
31715         * build-aux/pmccabe2html: Added support for C++ source files.
31716
31717 2008-11-05  Ben Pfaff  <blp@gnu.org>
31718
31719         Fix lib/close.c build on Windows.
31720         * modules/close (Files): Add lib/w32sock.h.
31721
31722 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
31723
31724         Accept Bison's NEWS format.
31725         * build-aux/announce-gen (print_news_deltas): Tweak
31726         $re_prefix.
31727
31728 2008-11-04  Bruno Haible  <bruno@clisp.org>
31729
31730         * modules/random_r (Maintainer): Add glibc.
31731
31732 2008-11-04  Simon Josefsson  <simon@josefsson.org>
31733
31734         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
31735         by karl@freefriends.org (Karl Berry).
31736         * doc/alloca.texi: Likewise.
31737         * doc/c-ctype.texi: Likewise.
31738         * doc/c-strcase.texi: Likewise.
31739         * doc/c-strcaseeq.texi: Likewise.
31740         * doc/c-strcasestr.texi: Likewise.
31741         * doc/c-strstr.texi: Likewise.
31742         * doc/c-strtod.texi: Likewise.
31743         * doc/c-strtold.texi: Likewise.
31744         * doc/ctime.texi: Likewise.
31745         * doc/error.texi: Likewise.
31746         * doc/fdl.texi: Likewise.
31747         * doc/gcd.texi: Likewise.
31748         * doc/getdate.texi: Likewise.
31749         * doc/gnulib-intro.texi: Likewise.
31750         * doc/gnulib-tool.texi: Likewise.
31751         * doc/gnulib.texi: Likewise.
31752         * doc/inet_ntoa.texi: Likewise.
31753         * doc/maintain.texi: Likewise.
31754         * doc/make-stds.texi: Likewise.
31755         * doc/quote.texi: Likewise.
31756         * doc/regexprops-generic.texi: Likewise.
31757         * doc/standards.texi: Likewise.
31758         * doc/verify.texi: Likewise.
31759         * doc/visibility.texi: Likewise.
31760         * doc/gnulib.texi (GNU Free Documentation License): Include
31761         fdl-1.3.texi instead of fdl.texi.
31762
31763 2008-11-04  Simon Josefsson  <simon@josefsson.org>
31764
31765         * doc/fdl-1.3.texi: New file, from
31766         <http://www.gnu.org/licenses/fdl-1.3.texi>.
31767         * modules/fdl-1.3: Add.
31768         * MODULES.html.sh: Add fdl-1.3.
31769
31770 2008-11-03  Bruno Haible  <bruno@clisp.org>
31771
31772         Make determination of absolute name of header file work with AIX xlc.
31773         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
31774         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
31775         preprocessing.
31776         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
31777         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
31778
31779 2008-11-03  Simon Josefsson  <simon@josefsson.org>
31780
31781         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
31782         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
31783         <ludo@gnu.org>.
31784
31785 2008-11-02  Bruno Haible  <bruno@clisp.org>
31786
31787         Mark 'strpbrk' obsolete.
31788         * modules/strpbrk (Status, Notice): New sections.
31789         * modules/strtok_r (Depends-on): Add strpbrk.
31790
31791 2008-11-02  Bruno Haible  <bruno@clisp.org>
31792
31793         Mark 'strdup' obsolete.
31794         * modules/strdup (Status, Notice): New sections.
31795         * modules/findprog (Depends-on): Add strdup.
31796         * modules/getaddrinfo (Depends-on): Likewise.
31797         * modules/localename (Depends-on): Likewise.
31798         * modules/relocatable-lib (Depends-on): Likewise.
31799         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
31800         * modules/relocatable-prog (Depends-on): Likewise.
31801         * modules/trim (Depends-on): Likewise.
31802         * modules/unictype/gen-ctype (Depends-on): Likewise.
31803         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
31804
31805 2008-11-02  Bruno Haible  <bruno@clisp.org>
31806
31807         Mark 'strcspn' obsolete.
31808         * modules/strcspn (Status, Notice): New sections.
31809
31810 2008-11-02  Bruno Haible  <bruno@clisp.org>
31811
31812         Mark 'rmdir' obsolete.
31813         * modules/rmdir (Status, Notice): New sections.
31814         * modules/clean-temp (Depends-on): Add rmdir.
31815         * modules/openat (Depends-on): Likewise.
31816
31817 2008-11-02  Bruno Haible  <bruno@clisp.org>
31818
31819         Mark 'raise' obsolete.
31820         * modules/raise (Status, Notice): New sections.
31821         (Include): Specify <signal.h>.
31822         * modules/stdio (Depends-on): Add raise.
31823         * modules/write (Depends-on): Likewise.
31824
31825 2008-11-02  Bruno Haible  <bruno@clisp.org>
31826
31827         Mark 'memset' obsolete.
31828         * modules/memset (Status, Notice): New sections.
31829
31830 2008-11-02  Bruno Haible  <bruno@clisp.org>
31831
31832         Mark 'memmove' obsolete.
31833         * modules/memmove (Status, Notice): New sections.
31834         * modules/argp (Depends-on): Add memmove.
31835         * modules/argz (Depends-on): Likewise.
31836         * modules/canonicalize (Depends-on): Likewise.
31837         * modules/canonicalize-lgpl (Depends-on): Likewise.
31838         * modules/fts (Depends-on): Likewise.
31839         * modules/getcwd (Depends-on): Likewise.
31840         * modules/human (Depends-on): Likewise.
31841         * modules/regex (Depends-on): Likewise.
31842         * modules/striconveh (Depends-on): Likewise.
31843         * modules/trim (Depends-on): Likewise.
31844         * modules/unistr/u8-move (Depends-on): Likewise.
31845         * modules/unistr/u16-move (Depends-on): Likewise.
31846         * modules/unistr/u32-move (Depends-on): Likewise.
31847
31848 2008-11-02  Bruno Haible  <bruno@clisp.org>
31849
31850         Mark 'memcpy' obsolete.
31851         * modules/memcpy (Status, Notice): New sections.
31852
31853 2008-11-02  Bruno Haible  <bruno@clisp.org>
31854
31855         Mark 'memcmp' obsolete.
31856         * modules/memcmp (Status, Notice): New sections.
31857         * modules/argmatch (Depends-on): Add memchr.
31858         * modules/backupfile (Depends-on): Likewise.
31859         * modules/c-strcasestr (Depends-on): Likewise.
31860         * modules/crypto/des (Depends-on): Likewise.
31861         * modules/csharpcomp (Depends-on): Likewise.
31862         * modules/fnmatch (Depends-on): Likewise.
31863         * modules/git-merge-changelog (Depends-on): Likewise.
31864         * modules/isnand (Depends-on): Likewise.
31865         * modules/isnand-nolibm (Depends-on): Likewise.
31866         * modules/isnanf (Depends-on): Likewise.
31867         * modules/isnanf-nolibm (Depends-on): Likewise.
31868         * modules/isnanl (Depends-on): Likewise.
31869         * modules/isnanl-nolibm (Depends-on): Likewise.
31870         * modules/mbchar (Depends-on): Likewise.
31871         * modules/memcoll (Depends-on): Likewise.
31872         * modules/quotearg (Depends-on): Likewise.
31873         * modules/regex (Depends-on): Likewise.
31874         * modules/relocatable-prog (Depends-on): Likewise.
31875         * modules/same (Depends-on): Likewise.
31876         * modules/signbit (Depends-on): Likewise.
31877         * modules/strcasestr-simple (Depends-on): Likewise.
31878         * modules/unictype/gen-ctype (Depends-on): Likewise.
31879         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
31880         * modules/uniname/uniname (Depends-on): Likewise.
31881         * modules/unistr/u8-cmp (Depends-on): Likewise.
31882
31883 2008-11-02  Bruno Haible  <bruno@clisp.org>
31884
31885         Mark 'memchr' obsolete.
31886         * modules/memchr (Status, Notice): New sections.
31887         * modules/argp (Depends-on): Add memchr.
31888         * modules/base64 (Depends-on): Likewise.
31889         * modules/c-strcasestr (Depends-on): Likewise.
31890         * modules/chdir-long (Depends-on): Likewise.
31891         * modules/fnmatch (Depends-on): Likewise.
31892         * modules/getsubopt (Depends-on): Likewise.
31893         * modules/git-merge-changelog (Depends-on): Likewise.
31894         * modules/glob (Depends-on): Likewise.
31895         * modules/strcasestr-simple (Depends-on): Likewise.
31896         * modules/strnlen (Depends-on): Likewise.
31897
31898 2008-11-02  Bruno Haible  <bruno@clisp.org>
31899
31900         Mark 'atexit' obsolete.
31901         * modules/atexit (Status, Notice): New sections.
31902         * modules/chdir-long (Depends-on): Add atexit.
31903         * modules/wait-process (Depends-on): Likewise.
31904
31905 2008-11-02  Bruno Haible  <bruno@clisp.org>
31906
31907         * gnulib-tool: New option --with-obsolete.
31908         (func_usage): Document it.
31909         (func_modules_transitive_closure): Drop obsolete dependencies if
31910         incobsolete is not true.
31911         (func_import): Read and save the incobsolete variable to the cache.
31912
31913 2008-11-02  Bruno Haible  <bruno@clisp.org>
31914
31915         * modules/TEMPLATE-EXTENDED: New field 'Status'.
31916         * gnulib-tool: New option --extract-status.
31917         (func_usage): Document it.
31918         (sed_extract_prog): Recognize it.
31919         (func_get_status): New function.
31920
31921 2008-10-30  Simon Josefsson  <simon@josefsson.org>
31922
31923         * modules/sockets (License): Change from LGPL to LGPLv2+.
31924
31925 2008-10-28  Simon Josefsson  <simon@josefsson.org>
31926
31927         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
31928
31929 2008-10-28  Simon Josefsson  <simon@josefsson.org>
31930
31931         * MODULES.html.sh (Support for systems lacking POSIX:2001):
31932         Mention times and sys_times.
31933         * modules/sys_times, modules/sys_times-tests: New modules.
31934         * modules/times, modules/times-tests: Likewise
31935         * m4/sys_times_h.m4: New file.
31936         * lib/sys_times.in.h: Likewise
31937         * lib/times.c: Likewise.
31938         * tests/test-sys_times.c: Likewise.
31939         * tests/test-times.c: Likewise.
31940         * doc/posix-headers/sys_times.texi: Update.
31941         * doc/posix-functions/times.texi: Update.
31942
31943 2008-10-28  Jim Meyering  <meyering@redhat.com>
31944
31945         * modules/tempname (Depends-on): Add lstat.
31946
31947         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
31948
31949 2008-10-28  Simon Josefsson  <simon@josefsson.org>
31950
31951         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
31952         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
31953         using idiom used elsewhere in gnulib.
31954
31955 2008-10-27  Jim Meyering  <meyering@redhat.com>
31956
31957         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
31958
31959 2008-10-27  Simon Josefsson  <simon@josefsson.org>
31960
31961         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
31962         TESTS_ENVIRONMENT, for shell scripts that needs to call built
31963         programs.
31964         * tests/test-argp-2.sh: Use $EXEEXT when needed.
31965
31966 2008-10-27  Simon Josefsson  <simon@josefsson.org>
31967
31968         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
31969
31970 2008-10-27  Bruno Haible  <bruno@clisp.org>
31971
31972         * tests/test-lstat.c: Include <stdio.h>.
31973
31974 2008-10-27  Simon Josefsson  <simon@josefsson.org>
31975
31976         * modules/lstat-tests: New module.
31977         * tests/test-lstat.c: New file.
31978
31979 2008-10-26  Jim Meyering  <meyering@redhat.com>
31980
31981         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
31982
31983 2008-10-26  Simon Josefsson  <simon@josefsson.org>
31984             Bruno Haible  <bruno@clisp.org>
31985
31986         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
31987         * modules/configmake (Include): Add a note that the include must come
31988         after all system headers.
31989         * lib/javaversion.c: Include configmake.h after all other includes.
31990
31991 2008-10-26  Bruno Haible  <bruno@clisp.org>
31992
31993         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
31994         HAVE_STRUCT_RANDOM_DATA to 1.
31995         (gl_STDLIB_H): Simplify.
31996
31997 2008-10-26  Simon Josefsson  <simon@josefsson.org>
31998
31999         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
32000         substitute HAVE_STRUCT_RANDOM_DATA.
32001         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
32002         random_data.
32003         * modules/stdlib (Makefile.am): Substitute
32004         HAVE_STRUCT_RANDOM_DATA.
32005
32006 2008-10-26  Simon Josefsson  <simon@josefsson.org>
32007
32008         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
32009         * doc/gnulib-intro.texi (Copyright): Likewise.
32010
32011 2008-10-26  Simon Josefsson  <simon@josefsson.org>
32012
32013         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
32014         findings.
32015
32016 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
32017             Bruno Haible  <bruno@clisp.org>
32018
32019         * lib/unistd.in.h: Include <winsock2.h>.
32020         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
32021         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
32022         Provide dummy declarations.
32023         (gethostname): Override.
32024         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
32025         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
32026         gl_PREREQ_SYS_H_WINSOCK2.
32027         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
32028         * doc/posix-functions/gethostname.texi: More details.
32029
32030 2008-10-25  Bruno Haible  <bruno@clisp.org>
32031
32032         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
32033         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
32034         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
32035
32036         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
32037         here ...
32038         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
32039         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
32040         gl_UNISTD_H_DEFAULTS.
32041
32042 2008-10-25  Eric Blake  <ebb9@byu.net>
32043
32044         signbit: avoid spurious compiler failure
32045         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
32046         declarations inside function.
32047
32048 2008-10-24  Simon Josefsson  <simon@josefsson.org>
32049             Bruno Haible  <bruno@clisp.org>
32050
32051         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
32052         * modules/random_r (Depends-on): Add stdint.
32053
32054 2008-10-24  Bruno Haible  <bruno@clisp.org>
32055
32056         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
32057         Eggert.
32058         * modules/strerror (License): Likewise.
32059
32060 2008-10-24  Jim Meyering  <meyering@redhat.com>
32061
32062         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
32063         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
32064
32065 2008-10-24  Eric Blake  <ebb9@byu.net>
32066
32067         getgroups: fix compilation when getgroups is available
32068         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
32069         but with <config.h> override of getgroups disabled.
32070
32071 2008-10-24  Simon Josefsson  <simon@josefsson.org>
32072
32073         * doc/gnulib.texi (Header files): Add note about C++ problems.
32074         Explained by Bruno Haible <bruno@clisp.org>.
32075
32076 2008-10-23  Bruno Haible  <bruno@clisp.org>
32077
32078         Define a dummy SA_NODEFER macro on Interix.
32079         * lib/signal.in.h (SA_NODEFER): Define fallback.
32080         Reported by Aleksey Cheusov <cheusov@tut.by> via
32081         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
32082
32083 2008-10-23  Bruno Haible  <bruno@clisp.org>
32084
32085         * modules/freadahead (License): Change to LGPLv2+.
32086         Suggested by Simon Josefsson.
32087
32088 2008-10-23  Jim Meyering  <meyering@redhat.com>
32089
32090         random_r: new module
32091         * modules/random_r: New file.
32092         * m4/random_r.m4: New file.
32093         * lib/random_r.c: New file, from glibc.
32094         * modules/random_r-tests: New file.
32095         * tests/test-random_r.c: New file.
32096         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
32097          Declare.
32098         (RAND_MAX): Define.
32099         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
32100         * modules/stdlib: Substitute them, too.
32101         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
32102         * doc/glibc-functions/initstate_r.texi: Mention the new module.
32103         * doc/glibc-functions/random_r.texi: Likewise.
32104         * doc/glibc-functions/setstate_r.texi: Likewise.
32105         * doc/glibc-functions/srandom_r.texi: Likewise.
32106         * config/srclist.txt: Mention it.
32107
32108 2008-10-23  David Lutterkort  <lutter@redhat.com>
32109
32110         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
32111         link requirement
32112
32113 2008-10-23  Jim Meyering  <meyering@redhat.com>
32114
32115         selinux-h: mark parameters of stub functions as intentionally unused
32116         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
32117         * lib/se-context.in.h: Likewise.
32118
32119 2008-10-22  Simon Josefsson  <simon@josefsson.org>
32120
32121         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
32122
32123 2008-10-22  Simon Josefsson  <simon@josefsson.org>
32124
32125         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
32126
32127 2008-10-22  Eric Blake  <ebb9@byu.net>
32128
32129         glthread/thread: avoid compiler warning
32130         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
32131         Add unreachable abort to silence compiler.
32132
32133 2008-10-22  Eric Blake  <ebb9@byu.net>
32134
32135         netdb: also supply struct addrinfo for cygwin 1.5.x
32136         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
32137         older cygwin.
32138         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
32139         cygwin.
32140         * doc/posix-headers/netdb.texi (netdb.h): Document this.
32141
32142 2008-10-22  Bruno Haible  <bruno@clisp.org>
32143
32144         * users.txt: Update entry about pspp.
32145
32146 2008-10-21  Bruno Haible  <bruno@clisp.org>
32147
32148         Simplification.
32149         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
32150         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
32151
32152         Simplification.
32153         * lib/ioctl.c (ioctl): Don't undefine.
32154         * lib/socket.c (socket): Don't undefine.
32155
32156         Remove unused module indicator macros.
32157         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
32158         GNULIB_$1 as a C macro.
32159
32160         * doc/posix-functions/close.texi: Undo last change.
32161         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
32162         Windows platforms.
32163
32164 2008-10-21  Bruno Haible  <bruno@clisp.org>
32165
32166         Add gethostname() declaration to <unistd.h>.
32167         * lib/unistd.in.h (gethostname): New declaration.
32168         * lib/gethostname.c: Include <unistd.h>.
32169         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
32170         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
32171         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
32172         and HAVE_GETHOSTNAME.
32173         * modules/gethostname (Depends-on): Add unistd.
32174         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
32175         (Include): Specify <unistd.h>.
32176         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
32177         HAVE_GETHOSTNAME.
32178         * tests/test-gethostname.c: Include <unistd.h> first.
32179
32180 2008-10-21  Bruno Haible  <bruno@clisp.org>
32181
32182         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
32183         * modules/select-tests (Depends-on): Likewise.
32184         Reported by Simon Josefsson.
32185
32186 2008-10-21  Simon Josefsson  <simon@josefsson.org>
32187
32188         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
32189         * lib/accept.c: New file, based on winsock.c.
32190         * lib/bind.c: New file, based on winsock.c.
32191         * lib/connect.c: New file, based on winsock.c.
32192         * lib/getpeername.c: New file, based on winsock.c.
32193         * lib/getsockname.c: New file, based on winsock.c.
32194         * lib/getsockopt.c: New file, based on winsock.c.
32195         * lib/ioctl.c: New file, based on winsock.c.
32196         * lib/listen.c: New file, based on winsock.c.
32197         * lib/recv.c: New file, based on winsock.c.
32198         * lib/recvfrom.c: New file, based on winsock.c.
32199         * lib/send.c: New file, based on winsock.c.
32200         * lib/sendto.c: New file, based on winsock.c.
32201         * lib/setsockopt.c: New file, based on winsock.c.
32202         * lib/shutdown.c: New file, based on winsock.c.
32203         * lib/socket.c: New file, based on winsock.c.
32204         * lib/w32sock.h: New file, based on winsock.c.
32205         * lib/winsock.c: Remove file.
32206         * modules/accept: Likewise.
32207         * modules/bind: Likewise.
32208         * modules/connect: Likewise.
32209         * modules/getpeername: Likewise.
32210         * modules/getsockname: Likewise.
32211         * modules/getsockopt: Likewise.
32212         * modules/ioctl: Likewise.
32213         * modules/listen: Likewise.
32214         * modules/recv: Likewise.
32215         * modules/recvfrom: Likewise.
32216         * modules/send: Likewise.
32217         * modules/sendto: Likewise.
32218         * modules/setsockopt: Likewise.
32219         * modules/shutdown: Likewise.
32220         * modules/socket: Use socket.c instead of winsock.c.
32221         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
32222         * doc/posix-functions/accept.texi: Doc fix.
32223         * doc/posix-functions/bind.texi: Doc fix.
32224         * doc/posix-functions/close.texi: Doc fix.
32225         * doc/posix-functions/connect.texi: Doc fix.
32226         * doc/posix-functions/getpeername.texi: Doc fix.
32227         * doc/posix-functions/getsockname.texi: Doc fix.
32228         * doc/posix-functions/getsockopt.texi: Doc fix.
32229         * doc/posix-functions/ioctl.texi: Doc fix.
32230         * doc/posix-functions/listen.texi: Doc fix.
32231         * doc/posix-functions/recv.texi: Doc fix.
32232         * doc/posix-functions/recvfrom.texi: Doc fix.
32233         * doc/posix-functions/send.texi: Doc fix.
32234         * doc/posix-functions/sendto.texi: Doc fix.
32235         * doc/posix-functions/setsockopt.texi: Doc fix.
32236         * doc/posix-functions/shutdown.texi: Doc fix.
32237         * doc/posix-functions/socket.texi: Doc fix.
32238
32239 2008-10-20  Bruno Haible  <bruno@clisp.org>
32240
32241         Take into account the role of SIGABRT_COMPAT on Windows 2008.
32242         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
32243         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
32244         as an alias for SIGABRT.
32245         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
32246         (sigaction): Map it to SIGABRT.
32247         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
32248
32249 2008-10-20  Bruno Haible  <bruno@clisp.org>
32250
32251         * lib/fts.c: Don't include lstat.h.
32252         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
32253
32254         Move the lstat() declaration to <sys/stat.h>.
32255         * lib/lstat.h: Remove file.
32256         * lib/sys_stat.in.h: Add special invocation convention.
32257         (lstat): New declaration.
32258         * lib/lstat.c (orig_lstat): New function.
32259         (rpl_lstat): Use orig_lstat instead of lstat.
32260         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
32261         AC_C_INLINE. Set REPLACE_LSTAT.
32262         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
32263         and REPLACE_LSTAT.
32264         * modules/lstat (Files): Remove lib/lstat.h.
32265         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
32266         (Include): Specify <sys/stat.h> instead of lstat.h.
32267         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
32268         REPLACE_LSTAT.
32269         * NEWS: Mention the change.
32270
32271 2008-10-20  Bruno Haible  <bruno@clisp.org>
32272
32273         * modules/posix_spawn-tests: New file.
32274         * tests/test-posix_spawn3.c: New file.
32275
32276 2008-10-20  Bruno Haible  <bruno@clisp.org>
32277
32278         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
32279         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
32280         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
32281         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
32282         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
32283
32284 2008-10-20  Bruno Haible  <bruno@clisp.org>
32285
32286         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
32287         of posix_spawn on AIX 5.3.
32288
32289 2008-10-20  Bruno Haible  <bruno@clisp.org>
32290
32291         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
32292
32293 2008-10-20  Bruno Haible  <bruno@clisp.org>
32294
32295         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
32296         of AC_LANG_PROGRAM.
32297
32298 2008-10-20  Simon Josefsson  <simon@josefsson.org>
32299
32300         * lib/netdb.in.h: Don't define GNU specific constants until they
32301         are supported or needed.  Reported by Bruno Haible
32302         <bruno@clisp.org>.
32303
32304 2008-10-20  Simon Josefsson  <simon@josefsson.org>
32305
32306         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
32307
32308 2008-10-20  Simon Josefsson  <simon@josefsson.org>
32309
32310         * lib/getaddrinfo.h: Remove file.
32311         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
32312         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
32313         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
32314         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
32315         * modules/netdb: Substitute GNULIB_GETADDRINFO.
32316         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
32317         * tests/test-getaddrinfo.c: Likewise.
32318         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
32319         * NEWS: Mention change.
32320
32321 2008-10-19  Bruno Haible  <bruno@clisp.org>
32322
32323         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
32324
32325 2008-10-19  Bruno Haible  <bruno@clisp.org>
32326
32327         * lib/wait-process.c: Include simply <sys/wait.h>.
32328         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
32329         WIFSTOPPED): Remove fallback definitions.
32330         * modules/wait-process (Depends-on): Add sys_wait.
32331
32332         New module 'sys_wait'.
32333         * modules/sys_wait: New file.
32334         * lib/sys_wait.in.h: New file, partially copied from
32335         lib/wait-process.c.
32336         * m4/sys_wait_h.m4: New file.
32337         * doc/posix-headers/sys_wait.texi: Mention the new module.
32338
32339 2008-10-19  Bruno Haible  <bruno@clisp.org>
32340
32341         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
32342
32343 2008-10-19  Bruno Haible  <bruno@clisp.org>
32344
32345         Assume that waitpid() fills an 'int' status, not a 'union wait'.
32346         * lib/wait-process.c (WAIT_T): Remove type.
32347         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
32348         (wait_subprocess): Update.
32349
32350 2008-10-19  Bruno Haible  <bruno@clisp.org>
32351
32352         New module 'atoll'.
32353         * modules/atoll: New file.
32354         * lib/stdlib.in.h (atoll): New declaration.
32355         * lib/atoll.c: New file, from glibc with modifications.
32356         * m4/atoll.m4: New file.
32357         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
32358         HAVE_ATOLL.
32359         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
32360         * doc/posix-functions/atoll.texi: Mention the new module.
32361
32362 2008-10-19  Bruno Haible  <bruno@clisp.org>
32363
32364         Add strtoull() declaration to <stdlib.h>.
32365         * lib/stdlib.in.h (strtoull): New declaration.
32366         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
32367         Set HAVE_STRTOULL.
32368         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
32369         HAVE_STRTOULL.
32370         * modules/strtoull (Depends-on): Add stdlib.
32371         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
32372         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
32373         HAVE_STRTOULL.
32374
32375 2008-10-19  Bruno Haible  <bruno@clisp.org>
32376
32377         Add strtoll() declaration to <stdlib.h>.
32378         * lib/stdlib.in.h (strtoll): New declaration.
32379         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
32380         Set HAVE_STRTOLL.
32381         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
32382         HAVE_STRTOLL.
32383         * modules/strtoll (Depends-on): Add stdlib.
32384         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
32385         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
32386
32387 2008-10-19  Bruno Haible  <bruno@clisp.org>
32388
32389         * modules/bcopy (Depends-on): Add strings.
32390         (Include): Specify <strings.h>.
32391
32392 2008-10-19  Bruno Haible  <bruno@clisp.org>
32393
32394         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
32395
32396 2008-10-19  Bruno Haible  <bruno@clisp.org>
32397
32398         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
32399         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
32400         mingw.
32401
32402 2008-10-19  Bruno Haible  <bruno@clisp.org>
32403
32404         * lib/atanl.c: Don't include isnanl.h.
32405         * lib/cosl.c: Likewise.
32406         * lib/ldexpl.c: Likewise.
32407         * lib/logl.c: Likewise.
32408         * lib/sinl.c: Likewise.
32409         * lib/sqrtl.c: Likewise.
32410         * lib/tanl.c: Likewise.
32411
32412         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
32413         * lib/isnanf.h: Remove file.
32414         * lib/isnand.h: Remove file.
32415         * lib/isnanl.h: Remove file.
32416         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
32417         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
32418         macros.
32419         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
32420         HAVE_ISNANF, don't define it as a C macro.
32421         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
32422         HAVE_ISNAND, don't define it as a C macro.
32423         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
32424         HAVE_ISNANL, don't define it as a C macro.
32425         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
32426         HAVE_ISNAN[FDL].
32427         * modules/isnanf (Files): Remove lib/isnanf.h.
32428         (Depends-on): Add math.
32429         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
32430         (Include): Specify <math.h> instead of isnanf.h.
32431         * modules/isnand (Files): Remove lib/isnand.h.
32432         (Depends-on): Add math.
32433         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
32434         (Include): Specify <math.h> instead of isnand.h.
32435         * modules/isnanl (Files): Remove lib/isnanl.h.
32436         (Depends-on): Add math.
32437         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
32438         (Include): Specify <math.h> instead of isnanl.h.
32439         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
32440         HAVE_ISNAN[FDL].
32441         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
32442         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
32443         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
32444         * NEWS: Mention the change.
32445
32446 2008-10-18  Bruno Haible  <bruno@clisp.org>
32447
32448         Add getusershell(), setusershell(), endusershell() declarations to
32449         <unistd.h>.
32450         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
32451         declarations.
32452         * lib/getusershell.c: Include unistd.h.
32453         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
32454         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
32455         HAVE_GETUSERSHELL.
32456         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
32457         and HAVE_GETUSERSHELL.
32458         * modules/getusershell (Depends-on): Add unistd, extensions.
32459         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
32460         (Include): Specify <unistd.h>.
32461         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
32462         HAVE_GETUSERSHELL.
32463
32464 2008-10-18  Bruno Haible  <bruno@clisp.org>
32465
32466         Add a getloadavg() declaration to <stdlib.h>.
32467         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
32468         getloadavg declaration.
32469         (getloadavg): New declaration.
32470         * lib/getloadavg.c: Include <stdlib.h> first.
32471         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
32472         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
32473         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
32474         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
32475         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
32476         * modules/getloadavg (Depends-on): Add stdlib, extensions.
32477         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
32478         (Include): Specify <stdlib.h>.
32479         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
32480         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
32481
32482 2008-10-18  Bruno Haible  <bruno@clisp.org>
32483
32484         * lib/dirchownmod.c: Don't include lchmod.h.
32485
32486         Move the lchmod() declaration to <sys/stat.h>.
32487         * lib/lchmod.h: Remove file.
32488         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
32489         (lchmod): New declaration, moved here from lib/lchown.h.
32490         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
32491         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
32492         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
32493         and HAVE_LCHMOD.
32494         * modules/lchmod (Files): Remove lib/lchmod.h.
32495         (Depends-on): Add sys_stat, extensions.
32496         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
32497         (Include): Specify <sys/stat.h> instead of lchmod.h.
32498         * modules/sys_stat (Depends-on): Add link-warning.
32499         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
32500         definition of GL_LINK_WARNING.
32501         * NEWS: Mention the change.
32502
32503 2008-10-18  Bruno Haible  <bruno@clisp.org>
32504
32505         * lib/fchdir.c: Don't include dirfd.h.
32506         * lib/fts.c: Likewise.
32507         * lib/getcwd.c: Likewise.
32508         * lib/glob.c: Likewise.
32509
32510         Move the dirfd() declaration to <dirent.h>.
32511         * lib/dirfd.h: Remove file.
32512         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
32513         (dirfd): New declaration.
32514         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
32515         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
32516         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
32517         HAVE_DECL_DIRFD.
32518         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
32519         HAVE_DECL_DIRFD.
32520         * modules/dirfd (Files): Remove lib/dirfd.h.
32521         (Depends-on): Add dirent, extensions.
32522         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
32523         (Include): Specify <dirent.h> instead of dirfd.h.
32524         * modules/dirent (Depends-on): Add link-warning.
32525         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
32526         definition of GL_LINK_WARNING.
32527         * NEWS: Mention the change.
32528
32529 2008-10-18  Bruno Haible  <bruno@clisp.org>
32530
32531         Move the euidaccess() declaration to <unistd.h>.
32532         * lib/euidaccess.h: Remove file.
32533         * lib/unistd.in.h (euidaccess): New declaration.
32534         * lib/euidaccess.c: Don't include euidaccess.h.
32535         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
32536         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
32537         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
32538         and HAVE_EUIDACCESS.
32539         * modules/euidaccess (Files): Remove lib/euidaccess.h.
32540         (Depends-on): Add unistd.
32541         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
32542         (Include): Specify <unistd.h> instead of euidaccess.h.
32543         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
32544         HAVE_EUIDACCESS.
32545         * NEWS: Mention the change.
32546
32547 2008-10-18  Bruno Haible  <bruno@clisp.org>
32548
32549         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
32550
32551         Move the getdomainname() declaration to <unistd.h>.
32552         * lib/getdomainname.h: Remove file.
32553         * lib/unistd.in.h (getdomainname): New declaration.
32554         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
32555         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
32556         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
32557         HAVE_GETDOMAINNAME.
32558         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32559         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
32560         * modules/getdomainname (Files): Remove lib/getdomainname.h.
32561         (Depends-on): Add unistd, extensions.
32562         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
32563         (Includes): Specify <unistd.h> instead of getdomainname.h.
32564         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
32565         HAVE_GETDOMAINNAME.
32566         * NEWS: Mention the change.
32567
32568 2008-10-18  Bruno Haible  <bruno@clisp.org>
32569
32570         * modules/dirent: New file.
32571         * m4/dirent_h.m4: New file.
32572         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
32573         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
32574         * modules/fchdir (Files): Remove lib/dirent.in.h.
32575         (Depends-on): Add dirent.
32576         (Makefile.am): Move rules to modules/dirent.
32577         * doc/posix-headers/dirent.texi: Mention the new module.
32578
32579 2008-10-18  Bruno Haible  <bruno@clisp.org>
32580
32581         Avoid -Wunused-parameter warnings in public gnulib header files.
32582         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
32583         macro.
32584         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
32585
32586 2008-10-18  Bruno Haible  <bruno@clisp.org>
32587
32588         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
32589         * doc/glibc-functions/error.texi: Mention the module 'error'.
32590         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
32591         * doc/glibc-functions/getdomainname.texi: Mention the module
32592         'getdomainname'.
32593         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
32594         * doc/glibc-functions/getpagesize.texi: Mention the module
32595         'getpagesize'.
32596         * doc/glibc-functions/getusershell.texi: Mention the module
32597         'getusershell'.
32598         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
32599         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
32600         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
32601         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
32602         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
32603         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
32604         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
32605         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
32606         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
32607         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
32608         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
32609         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
32610         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
32611         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
32612
32613 2008-10-17  Bruno Haible  <bruno@clisp.org>
32614
32615         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
32616         HP-UX and IRIX, use -0.0L.
32617         * tests/test-ceill.c (minus_zero): Likewise.
32618         * tests/test-floorl.c (minus_zero): Likewise.
32619         * tests/test-frexpl.c (minus_zero): Likewise.
32620         * tests/test-isnan.c (minus_zerol): Likewise.
32621         * tests/test-isnanl.h (minus_zero): Likewise.
32622         * tests/test-ldexpl.c (minus_zero): Likewise.
32623         * tests/test-roundl.c (minus_zero): Likewise.
32624         * tests/test-signbit.c (minus_zerol): Likewise.
32625         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
32626         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
32627         * tests/test-truncl.c (minus_zero): Likewise.
32628         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
32629         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
32630         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
32631         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
32632
32633 2008-10-17  Bruno Haible  <bruno@clisp.org>
32634
32635         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
32636         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
32637         that it gets activated only for gcc >= 3.0.
32638         * lib/dirent.in.h: Likewise.
32639         * lib/errno.in.h: Likewise.
32640         * lib/fcntl.in.h: Likewise.
32641         * lib/float.in.h: Likewise.
32642         * lib/iconv.in.h: Likewise.
32643         * lib/inttypes.in.h: Likewise.
32644         * lib/locale.in.h: Likewise.
32645         * lib/math.in.h: Likewise.
32646         * lib/netdb.in.h: Likewise.
32647         * lib/netinet_in.in.h: Likewise.
32648         * lib/search.in.h: Likewise.
32649         * lib/signal.in.h: Likewise.
32650         * lib/spawn.in.h: Likewise.
32651         * lib/stdarg.in.h: Likewise.
32652         * lib/stdint.in.h: Likewise.
32653         * lib/stdio.in.h: Likewise.
32654         * lib/stdlib.in.h: Likewise.
32655         * lib/string.in.h: Likewise.
32656         * lib/strings.in.h: Likewise.
32657         * lib/sys_file.in.h: Likewise.
32658         * lib/sys_ioctl.in.h: Likewise.
32659         * lib/sys_select.in.h: Likewise.
32660         * lib/sys_socket.in.h: Likewise.
32661         * lib/sys_stat.in.h: Likewise.
32662         * lib/sys_time.in.h: Likewise.
32663         * lib/sysexits.in.h: Likewise.
32664         * lib/time.in.h: Likewise.
32665         * lib/unistd.in.h: Likewise.
32666         * lib/wchar.in.h: Likewise.
32667         * lib/wctype.in.h: Likewise.
32668         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
32669
32670 2008-10-17  Jim Meyering  <meyering@redhat.com>
32671
32672         ignore-value: don't depend on inline module
32673         * modules/ignore-value (Depends-on): Remove 'inline'.
32674         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
32675         Suggestion from Bruno Haible.
32676
32677 2008-10-17  Bruno Haible  <bruno@clisp.org>
32678
32679         New implementation of condition variables for Win32.
32680         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
32681         (gl_linked_waitqueue_t): New type.
32682         (gl_cond_t): Use it.
32683         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
32684         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
32685         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
32686         (glthread_cond_init_func, glthread_cond_wait_func,
32687         glthread_cond_timedwait_func, glthread_cond_signal_func,
32688         glthread_cond_broadcast_func, glthread_cond_destroy_func):
32689         Reimplemented on the basis of gl_linked_waitqueue_t.
32690         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
32691         gl_waitqueue_t.
32692         (gl_rwlock_t): Update.
32693         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
32694
32695 2008-10-17  Simon Josefsson  <simon@josefsson.org>
32696
32697         * modules/recvfrom (Depends-on): Add dependency on getpeername.
32698         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
32699
32700 2008-10-17  Jim Meyering  <meyering@redhat.com>
32701
32702         ignore-value: new module
32703         * modules/ignore-value: New file.
32704         * lib/ignore-value.h: New file.
32705         * MODULES.html.sh (Compiler warning management): New section,
32706         just for this module.  More to come.
32707
32708 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
32709
32710         open-safer.c: avoid 'signed and unsigned in conditional...' warning
32711         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
32712         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
32713
32714 2008-10-16  Jim Meyering  <meyering@redhat.com>
32715
32716         openat-die.c: avoid 'no previous prototype' warning
32717         * lib/openat-die.c: Include "openat.h".
32718         Reported by Reuben Thomas <rrt@sc3d.org>.
32719
32720 2008-10-16  Simon Josefsson  <simon@josefsson.org>
32721
32722         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
32723         * lib/netdb.in.h: Fix typo.
32724         Reported by Bruno Haible  <bruno@clisp.org>
32725
32726         * lib/netdb.in.h: Include sys/socket.h for platforms without
32727         netdb.h, to get structures like hostent on MinGW.
32728         * modules/netdb (Depends-on): Add sys_socket.
32729
32730 2008-10-15  Simon Josefsson  <simon@josefsson.org>
32731
32732         * modules/netdb, modules/netdb-tests: New file.
32733         * m4/netdb_h.m4: New file.
32734         * lib/netdb.in.h: Add, currently just an empty file pending
32735         definitions.
32736         * tests/test-netdb.c: New file.
32737         * doc/posix-headers/netdb.texi: Mention that we replace it if
32738         needed.
32739         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
32740         netdb.
32741
32742 2008-10-15  Simon Josefsson  <simon@josefsson.org>
32743
32744         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
32745         with code.
32746
32747 2008-10-13  Bruno Haible  <bruno@clisp.org>
32748
32749         * lib/glthread/cond.c (glthread_cond_wait_func,
32750         glthread_cond_timedwait_func): Add a comment.
32751
32752 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
32753
32754         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
32755         * tests/test-select.c: Likewise,
32756
32757 2008-10-13  Bruno Haible  <bruno@clisp.org>
32758
32759         * lib/glthread/cond.c (glthread_cond_wait_func,
32760         glthread_cond_timedwait_func): Fix variable name.
32761         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
32762
32763 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
32764
32765         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
32766         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
32767         struct sockaddr.sa_len.
32768         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
32769
32770 2008-10-13  Simon Josefsson  <simon@josefsson.org>
32771
32772         * build-aux/pmccabe2html: Add css and css_url parameters.
32773
32774 2008-10-12  Bruno Haible  <bruno@clisp.org>
32775
32776         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
32777         calling aclx_get.
32778         Reported by Rainer Tammer <tammer@tammer.net>.
32779
32780 2008-10-12  Bruno Haible  <bruno@clisp.org>
32781
32782         Use msvcrt aware primitives for creation/termination of Win32 threads.
32783         * lib/glthread/thread.c: Include <process.h>.
32784         (glthread_create_func): Use _beginthreadex instead of CreateThread.
32785         (wrapper_func): Update signature.
32786         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
32787
32788 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
32789             Bruno Haible  <bruno@clisp.org>
32790
32791         Provide a Win32 implementation of the 'cond' module.
32792         * lib/glthread/cond.h [USE_WIN32]: New implementation.
32793         * lib/glthread/cond.c (glthread_cond_init_func,
32794         glthread_cond_wait_func, glthread_cond_timedwait_func,
32795         glthread_cond_signal_func, glthread_cond_broadcast_func,
32796         glthread_cond_destroy_func) [USE_WIN32]: New functions.
32797         * modules/cond (Dependencies): Add gettimeofday.
32798
32799 2008-10-11  Bruno Haible  <bruno@clisp.org>
32800
32801         Make sleep work on older versions of mingw.
32802         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
32803         only whether it exists.
32804         * doc/posix-functions/sleep.texi: Mention the problem with older
32805         versions of mingw.
32806
32807 2008-10-11  Bruno Haible  <bruno@clisp.org>
32808
32809         New module 'shutdown'.
32810         * modules/shutdown: New file.
32811         * lib/sys_socket.in.h (shutdown): New declaration.
32812         * lib/winsock.c (shutdown): New function.
32813         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
32814         GNULIB_SHUTDOWN.
32815         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
32816         * doc/posix-functions/shutdown.texi: Document the new module.
32817
32818 2008-10-11  Jim Meyering  <meyering@redhat.com>
32819
32820         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
32821
32822 2008-10-11  Bruno Haible  <bruno@clisp.org>
32823
32824         New module 'fclose'.
32825         * modules/fclose: New file.
32826         * lib/stdio.in.h (fclose): New declaration.
32827         * lib/fclose.c: New file.
32828         * m4/fclose.m4: New file.
32829         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
32830         REPLACE_FCLOSE.
32831         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
32832         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
32833         REPLACE_FCLOSE.
32834         * modules/close (Depends-on): fclose.
32835         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
32836
32837 2008-10-11  Bruno Haible  <bruno@clisp.org>
32838
32839         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
32840         set errno and don't call _close.
32841
32842 2008-10-10  Bruno Haible  <bruno@clisp.org>
32843
32844         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
32845         ACL, not afterwards. Fixes test failure on Cygwin.
32846
32847 2008-10-09  Ben Pfaff  <blp@gnu.org>
32848
32849         * build-aux/announce-gen: Fix gnulib version related part of usage
32850         message.  Die with a useful error message if no tarballs are
32851         found.
32852
32853 2008-10-10  Jim Meyering  <meyering@redhat.com>
32854
32855         bootstrap: use git's --depth=N option only if it's supported
32856         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
32857         recognize the --depth option.  Reported by Pádraig Brady.
32858
32859 2008-10-09  Bruno Haible  <bruno@clisp.org>
32860
32861         New module 'ioctl'.
32862         * modules/ioctl: New file.
32863         * lib/sys_socket.in.h (ioctl): Remove declaration.
32864         * lib/winsock.c: Include <sys/ioctl.h>.
32865         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
32866         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
32867         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
32868         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
32869         * doc/posix-functions/ioctl.texi: Mention the new module.
32870
32871 2008-10-09  Bruno Haible  <bruno@clisp.org>
32872
32873         New module 'sys_ioctl'.
32874         * lib/sys_ioctl.in.h: New file.
32875         * m4/sys_ioctl_h.m4: New file.
32876         * modules/sys_ioctl: New file.
32877         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
32878
32879 2008-10-09  Bruno Haible  <bruno@clisp.org>
32880
32881         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
32882         * lib/winsock.c: Include <stdarg.h>.
32883         (rpl_ioctl): Change to second argument 'int' and then varargs.
32884
32885 2008-10-09  Bruno Haible  <bruno@clisp.org>
32886
32887         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
32888         when the sys_socket module is present and the system has <winsock2.h>.
32889
32890 2008-10-09  Bruno Haible  <bruno@clisp.org>
32891
32892         * doc/posix-functions/close.texi: Mention module 'close' instead of
32893         module 'sys_socket'.
32894
32895 2008-10-09  Bruno Haible  <bruno@clisp.org>
32896
32897         * doc/glibc-headers/sys_ioctl.texi: New file.
32898         * doc/gnulib.texi: Include it.
32899
32900 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
32901             Bruno Haible  <bruno@clisp.org>
32902
32903         Combine the two replacements of 'close'.
32904         * lib/sys_socket.in.h (close): Define to a reminder to include
32905         <unistd.h>.
32906         (_gl_close_fd_maybe_socket): New declaration.
32907         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
32908         * lib/winsock.c (close): Remove undefinition.
32909         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
32910         needed for the gnulib module 'close'.
32911         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
32912         define to an error symbol or to a warning, if suitable.
32913         * lib/close.c: Include <sys/socket.h>.
32914         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
32915         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
32916         UNISTD_H_HAVE_WINSOCK2_H.
32917         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
32918         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32919         UNISTD_H_HAVE_WINSOCK2_H.
32920         * modules/sys_socket (Files): Add m4/unistd_h.m4.
32921         (configure.ac): Set a module indicator.
32922         (Makefile.am): Substitute GNULIB_CLOSE.
32923         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
32924         * modules/poll-tests (Depends-on): Add close.
32925         * modules/select-tests (Depends-on): Likewise.
32926
32927 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
32928             Bruno Haible  <bruno@clisp.org>
32929
32930         New module 'close'.
32931         * modules/close: New file.
32932         * lib/unistd.in.h (close): Move declaration out of the
32933         FCHDIR_REPLACEMENT scope.
32934         (_gl_unregister_fd): New declaration.
32935         * lib/close.c: New file.
32936         * lib/fchdir.c (rpl_close): Remove function.
32937         * m4/close.m4: New file.
32938         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
32939         close.
32940         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
32941         REPLACE_CLOSE.
32942         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
32943         REPLACE_CLOSE.
32944         * modules/fchdir (Depends-on): Add close.
32945
32946 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
32947             Bruno Haible  <bruno@clisp.org>
32948
32949         * lib/fcntl.in.h (open): Simplify conditionals.
32950         (_gl_register_fd): New declaration.
32951         * lib/fchdir.c (rpl_open): Remove function.
32952         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
32953         also.
32954         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
32955         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
32956         open.
32957
32958 2008-10-09  Jim Meyering  <meyering@redhat.com>
32959
32960         GNUmakefile: use the more name-space-friendly "_version"
32961         * top/GNUmakefile (_dummy): Update.
32962         (_version): Rename from "version".
32963
32964 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
32965             Bruno Haible  <bruno@clisp.org>
32966
32967         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
32968         rpl_close.
32969         (_gl_register_fd): New function, extracted from rpl_open.
32970         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
32971         (rpl_open, rpl_opendir): Use _gl_register_fd.
32972
32973 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
32974
32975         Fix organization of 'open' replacement.
32976         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
32977         (gl_FUNC_OPEN): Use it.
32978         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
32979
32980 2008-10-08  Bruno Haible  <bruno@clisp.org>
32981
32982         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
32983
32984 2008-10-08  Simon Josefsson  <simon@josefsson.org>
32985
32986         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
32987         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
32988         listen).
32989
32990 2008-10-08  Eric Blake  <ebb9@byu.net>
32991
32992         GNUmakefile: add 'make version' target
32993         * top/GNUmakefile (_curr-ver): Split version update rules...
32994         (version): ...into a target.
32995
32996 2008-10-07  Bruno Haible  <bruno@clisp.org>
32997
32998         Use a more portable replacement expression for -0.0L.
32999         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
33000         instead of -0.0L. Fix m4 quotation.
33001
33002         * tests/test-signbit.c: Include <float.h>.
33003         (minus_zero): New variable.
33004         (test_signbitl): Use minus_zero instead of -zero.
33005         * modules/signbit-tests (Depends-on): Add float.
33006
33007         * tests/test-ceill.c: Include <float.h>.
33008         (zero): Remove variable.
33009         (minus_zero): New variable.
33010         (main): Use minus_zero instead of -zero.
33011         * modules/ceill-tests (Depends-on): Add float.
33012
33013         * tests/test-floorl.c: Include <float.h>.
33014         (zero): Remove variable.
33015         (minus_zero): New variable.
33016         (main): Use minus_zero instead of -zero.
33017         * modules/floorl-tests (Depends-on): Add float.
33018
33019         * tests/test-roundl.c: Include <float.h>.
33020         (zero): Remove variable.
33021         (minus_zero): New variable.
33022         (main): Use minus_zero instead of -zero.
33023         * modules/roundl-tests (Depends-on): Add float.
33024
33025         * tests/test-truncl.c: Include <float.h>.
33026         (zero): Remove variable.
33027         (minus_zero): New variable.
33028         (main): Use minus_zero instead of -zero.
33029         * modules/truncl-tests (Depends-on): Add float.
33030
33031         * tests/test-frexpl.c (zero): Remove variable.
33032         (minus_zero): New variable.
33033         (main): Use minus_zero instead of -zero.
33034         * modules/frexpl-tests (Depends-on): Add float.
33035
33036         * tests/test-isnan.c (zerol): Remove variable.
33037         (minus_zerol): New variable.
33038         (test_long_double): Use minus_zerol instead of -zerol.
33039         * modules/isnan-tests (Depends-on): Add float.
33040
33041         * tests/test-isnanl.h (zero): Remove variable.
33042         (minus_zero): New variable.
33043         (main): Use minus_zero instead of -zero.
33044         * modules/isnanl-nolibm-tests (Depends-on): Add float.
33045         * modules/isnanl-tests (Depends-on): Add float.
33046
33047         * tests/test-ldexpl.c (zero): Remove variable.
33048         (minus_zero): New variable.
33049         (main): Use minus_zero instead of -zero.
33050         * modules/ldexpl-tests (Depends-on): Add float.
33051
33052         * tests/test-snprintf-posix.h (zerol): Remove variable.
33053         (minus_zerol): New variable.
33054         (test_function): Use minus_zerol instead of -zerol.
33055         * modules/snprintf-posix-tests (Depends-on): Add float.
33056         * modules/vsnprintf-posix-tests (Depends-on): Add float.
33057
33058         * tests/test-sprintf-posix.h (zerol): Remove variable.
33059         (minus_zerol): New variable.
33060         (test_function): Use minus_zerol instead of -zerol.
33061         * modules/sprintf-posix-tests (Depends-on): Add float.
33062         * modules/vsprintf-posix-tests (Depends-on): Add float.
33063
33064         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
33065         (minus_zerol): New variable.
33066         (test_function): Use minus_zerol instead of -zerol.
33067         * modules/vasnprintf-posix-tests (Depends-on): Add float.
33068
33069         * tests/test-vasprintf-posix.c (zerol): Remove variable.
33070         (minus_zerol): New variable.
33071         (test_function): Use minus_zerol instead of -zerol.
33072         * modules/vasprintf-posix-tests (Depends-on): Add float.
33073
33074 2008-10-07  Simon Josefsson  <simon@josefsson.org>
33075
33076         * MODULES.html.sh (Support for building documentation): Mention
33077         pmccabe2html.  Sort entries.
33078
33079         Add pmccabe2html module, from gnupdf.
33080         * build-aux/pmccabe.css: New file.
33081         * build-aux/pmccabe2html: New file.
33082         * m4/pmccabe2html.m4: New file.
33083         * modules/pmccabe2html: New file.
33084
33085 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
33086
33087         flock: new module
33088         * MODULES.html.sh: Add to list of modules.
33089         * lib/flock.c: flock implementation for Windows and Unix systems
33090         which have fcntl.
33091         * doc/glibc-functions/flock.texi: Update documentation.
33092         * lib/sys_file.in.h: <sys/file.h> header file.
33093         * m4/flock.m4: M4 macros.
33094         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
33095         * modules/flock: flock module.
33096         * modules/flock-tests: flock tests module.
33097         * modules/sys_file: sys/file.h module.
33098         * tests/test-flock.c: test suite for flock.
33099
33100 2008-10-06  Jim Meyering  <meyering@redhat.com>
33101
33102         bootstrap: check for LT_INIT more portably still ;-)
33103         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
33104         Spotted by Bruno Haible.
33105
33106 2008-10-06  Eric Blake  <ebb9@byu.net>
33107
33108         test-signbit: avoid tripping Irix cc bug on -0.0L
33109         * tests/test-signbit.c (minus_zerol): Delete, and replace with
33110         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
33111         entire testsuite consistent and avoids an Irix 6.2 bug.
33112
33113 2008-10-05  Bruno Haible  <bruno@clisp.org>
33114             Jim Meyering  <jim@meyering.net>
33115
33116         Add an option for ignoring EPIPE during close_stdout.
33117         * lib/closeout.h: Include <stdbool.h>.
33118         (close_stdout_set_ignore_EPIPE): New declaration.
33119         * lib/closeout.c: Include <stdbool.h>.
33120         (ignore_EPIPE): New variable.
33121         (close_stdout_set_ignore_EPIPE): New function.
33122         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
33123         * lib/close-stream.c (close_stream): Mention the possible EPIPE
33124         failure.
33125         * modules/closeout (Depends-on): Add stdbool.
33126
33127 2008-10-05  Bruno Haible  <bruno@clisp.org>
33128
33129         * modules/accept: New file.
33130         * modules/bind: New file.
33131         * modules/connect: New file.
33132         * modules/getpeername: New file.
33133         * modules/getsockname: New file.
33134         * modules/getsockopt: New file.
33135         * modules/listen: New file.
33136         * modules/recv: New file.
33137         * modules/recvfrom: New file.
33138         * modules/send: New file.
33139         * modules/sendto: New file.
33140         * modules/setsockopt: New file.
33141         * modules/socket: New file.
33142         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
33143         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
33144         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
33145         the particular module is requested. Add a link warning when the
33146         particular module is not requested.
33147         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
33148         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
33149         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
33150         the particular module is requested.
33151         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
33152         gl_SYS_SOCKET_H_DEFAULTS): New macros.
33153         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
33154         * modules/sys_socket (Depends-on): Add link-warning.
33155         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
33156         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
33157         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
33158         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
33159         GL_LINK_WARNING.
33160         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
33161         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
33162         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
33163         * doc/posix-functions/getpeername.texi: Mention the new module
33164         'getpeername'.
33165         * doc/posix-functions/getsockname.texi: Mention the new module
33166         'getsockname'.
33167         * doc/posix-functions/getsockopt.texi: Mention the new module
33168         'getsockopt'.
33169         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
33170         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
33171         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
33172         * doc/posix-functions/send.texi: Mention the new module 'send'.
33173         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
33174         * doc/posix-functions/setsockopt.texi: Mention the new module
33175         'setsockopt'.
33176         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
33177         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
33178         listen, connect, accept.
33179         * modules/select-tests (Depends-on): Likewise.
33180
33181 2008-10-05  Bruno Haible  <bruno@clisp.org>
33182
33183         * lib/winsock.c (strerror): Remove unused #undef.
33184         (rpl_close): Remove unused local variable.
33185
33186         * modules/sys_socket (Depends-on); Add errno.
33187
33188 2008-10-05  Bruno Haible  <bruno@clisp.org>
33189
33190         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
33191         (select): Add a link warning when the 'select' module is not used.
33192         * modules/sys_select (Depends-on): Add link-warning.
33193         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
33194         Suggested by Paolo Bonzini.
33195
33196 2008-10-05  Jim Meyering  <meyering@redhat.com>
33197
33198         bootstrap: check for LT_INIT more portably
33199         * build-aux/bootstrap: Avoid using grep -E, since it's not
33200         portable enough.  Suggestion from Bruno Haible.
33201
33202 2008-10-05  Bruno Haible  <bruno@clisp.org>
33203
33204         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
33205         as being fixed by gnulib.
33206
33207 2008-10-05  Bruno Haible  <bruno@clisp.org>
33208
33209         * modules/select-tests: New file, mostly copied from
33210         modules/sys_select-tests.
33211         * tests/test-select.c: New file, mostly copied from
33212         tests/test-sys_select.c.
33213         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
33214         * modules/sys_select-tests (Depends-on): Remove all dependencies.
33215         (Makefile.am): Remove test_sys_select_LDADD.
33216
33217         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
33218         to an undefined symbol, for an error message.
33219         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
33220         (gl_SYS_SELECT_H_DEFAULTS): New macro.
33221         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
33222         winsock-select.c here.
33223         * modules/sys_select (Files): Remove lib/winsock-select.c.
33224         (Depends-on): Remove alloca.
33225         (Makefile.am): Substitute GNULIB_SELECT.
33226         * modules/select: New file.
33227         * doc/posix-functions/select.texi: Update.
33228
33229 2008-10-05  Bruno Haible  <bruno@clisp.org>
33230
33231         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
33232         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
33233         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
33234         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
33235         getdtablesize.
33236         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
33237         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
33238
33239 2008-10-05  Bruno Haible  <bruno@clisp.org>
33240
33241         * modules/getdtablesize-tests: New file.
33242         * tests/test-getdtablesize.c: New file.
33243
33244         New module 'getdtablesize'.
33245         * lib/unistd.in.h (getdtablesize): New declaration.
33246         * lib/getdtablesize.c: New file.
33247         * m4/getdtablesize.m4: New file.
33248         * modules/getdtablesize: New file.
33249         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33250         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
33251         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
33252         HAVE_GETDTABLESIZE.
33253         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
33254
33255 2008-10-05  Bruno Haible  <bruno@clisp.org>
33256
33257         * modules/sched (Makefile.am): Fix typo.
33258         Reported by Simon Josefsson.
33259
33260 2008-10-05  Jim Meyering  <meyering@redhat.com>
33261
33262         bootstrap: check for LT_INIT, too
33263         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
33264         are deprecated.  Suggestion from Ralf Wildenhues.
33265
33266 2008-10-05  Bruno Haible  <bruno@clisp.org>
33267
33268         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
33269         overriding them by ours.
33270         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
33271
33272 2008-10-05  Jim Meyering  <meyering@redhat.com>
33273
33274         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
33275         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
33276         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
33277
33278 2008-10-04  Bruno Haible  <bruno@clisp.org>
33279
33280         * modules/dup2 (License): Change to LGPLv2+.
33281         * modules/sleep (License): Likewise.
33282         * modules/perror (License): Likewise.
33283         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
33284         Blake.
33285         * modules/signal (License): Likewise.
33286         * modules/sigprocmask (License): Likewise.
33287         * modules/raise (License): Change to LGPLv2+, with approval by Jim
33288         Meyering.
33289
33290 2008-10-04  Bruno Haible  <bruno@clisp.org>
33291
33292         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
33293         Reported by Rainer Tammer <tammer@tammer.net>.
33294
33295 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
33296             Bruno Haible  <bruno@clisp.org>
33297
33298         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
33299         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
33300         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
33301
33302 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
33303
33304         filevercmp: new module
33305         * lib/filevercmp.h: New function filevercmp comparing version strings.
33306         * lib/filevercmp.c: Implementation of filevercmp function.
33307         * modules/filevercmp: Module metadata.
33308         * tests/test-filevercmp.c: Unit test for new module.
33309         * modules/filevercmp-tests: Unit test metadata.
33310         * MODULES.html.sh: Add filevercmp module.
33311
33312 2008-10-03  Bruno Haible  <bruno@clisp.org>
33313
33314         * lib/c-ctype.h: Add comment.
33315         Reported by Jim Meyering.
33316
33317 2008-10-02  Bruno Haible  <bruno@clisp.org>
33318
33319         * modules/posix_spawn-internal (Depends-on): Add 'open'.
33320
33321 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
33322
33323         * build-aux/bootstrap: Allow renaming bootstrap, and change the
33324         name of bootstrap.conf accordingly.
33325
33326 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
33327
33328         * build-aux/bootstrap: Install git-merge-changelog configuration
33329         items into .gitconfig if needed.
33330
33331 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
33332
33333         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
33334         git repository, and initialize/update it accordingly.
33335
33336 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
33337
33338         * modules/fsync-tests: New file.
33339         * tests/test-fsync.c: New file.
33340
33341         New module 'fsync'.
33342         * lib/fsync.c: New file.
33343         * m4/fsync.m4: New file.
33344         * modules/fsync: New file.
33345         * lib/unistd.in.h (fsync): New declaration.
33346         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
33347         GNULIB_FSYNC and HAVE_FSYNC.
33348         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
33349         * MODULES.html.sh (posix_functions): Add fsync.
33350         * doc/posix-functions/fsync.texi: Mention the new module.
33351
33352 2008-10-02  Jim Meyering  <meyering@redhat.com>
33353
33354         fts.c: sync with similar code from coreutils' remove.c
33355         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
33356         Guard also with "#if defined __linux__", since for now at least,
33357         this code is Linux-kernel-specific.
33358
33359 2008-10-02  Jim Meyering  <meyering@redhat.com>
33360
33361         fts: bug fixes
33362         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
33363         Include <sys/vfs.h>, not <sys/statfs.h>.
33364
33365         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
33366         Include <sys/vfs.h>, not <sys/statfs.h>.
33367
33368 2008-10-01  Bruno Haible  <bruno@clisp.org>
33369
33370         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
33371         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
33372         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
33373         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
33374         * doc/posix-functions/posix_spawnp.texi: Likewise.
33375         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
33376         whether posix_spawn actually works.
33377         * m4/pipe.m4 (gl_PIPE): Likewise.
33378         * modules/execute (Files): Add m4/posix_spawn.m4.
33379         * modules/pipe (Files): Add m4/posix_spawn.m4.
33380         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
33381
33382 2008-10-01  Jim Meyering  <meyering@redhat.com>
33383
33384         remove trailing spaces
33385         * NEWS: Likewise.
33386         * lib/poll.c (poll): Likewise.
33387         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
33388         * lib/winsock.c (rpl_close): Likewise.
33389         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
33390         * modules/yield: Likewise.
33391         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
33392         * tests/test-sys_select.c (connect_to_socket): Likewise.
33393
33394         fts.c: adjust a new interface to be more generally useful
33395         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
33396         (fts_build): Adjust caller.
33397
33398 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33399
33400         * modules/cond-tests: New file.
33401         * tests/test-cond.c: New file.
33402
33403 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33404             Bruno Haible  <bruno@clisp.org>
33405
33406         * modules/cond (Dependencies): Add errno, time.
33407         * lib/glthread/cond.h: Include <time.h>.
33408         (gl_cond_define, gl_cond_define_initialized): Use the same definition
33409         across platforms.
33410
33411 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33412             Bruno Haible  <bruno@clisp.org>
33413
33414         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
33415
33416 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33417             Bruno Haible  <bruno@clisp.org>
33418
33419         * modules/tls-tests (Depends-on): Add thread, yield.
33420         (configure.ac): Remove all checks.
33421         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
33422         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
33423         gl_thread_self): Remove definitions. Include glthread/thread.h and
33424         glthread/yield.h instead.
33425         (test_tls): Pass an additional NULL argument to gl_thread_join.
33426
33427 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33428             Bruno Haible  <bruno@clisp.org>
33429
33430         * modules/lock-tests (Depends-on): Add thread, yield.
33431         (configure.ac): Remove all checks.
33432         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
33433         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
33434         gl_thread_self): Remove definitions. Include glthread/thread.h and
33435         glthread/yield.h instead.
33436         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
33437         additional NULL argument to gl_thread_join.
33438
33439 2008-09-30  Bruno Haible  <bruno@clisp.org>
33440
33441         Fix the Win32 implementation of the 'thread' module.
33442         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
33443         pointer type.
33444         (gl_thread_self): Invoke gl_thread_self_func.
33445         (gl_thread_self_func): New declaration.
33446         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
33447         (do_init_self_key, init_self_key): New functions.
33448         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
33449         Remove some fields.
33450         (running_threads, running_lock): Remove variables.
33451         (get_current_thread_handle): New function.
33452         (gl_thread_self_func, wrapper_func, glthread_create_func,
33453         glthread_join_func, gl_thread_exit_func): Largely rewritten and
33454         simplified.
33455
33456 2008-09-30  Bruno Haible  <bruno@clisp.org>
33457
33458         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
33459         files.
33460
33461 2008-09-30  Jim Meyering  <meyering@redhat.com>
33462
33463         fts.m4: correct the test for statfs.f_type
33464         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
33465         when checking for statfs.f_type.
33466
33467 2008-09-15  Simon Josefsson  <simon@josefsson.org>
33468
33469         tests: avoid some compiler warnings
33470         * tests/test-memchr.c (main): Pass NULL indirectly.
33471         * tests/test-getdate.c (main): Remove unused variable 'ret'.
33472
33473 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
33474
33475         getdate.y: disallow countable dayshifts like "4 yesterday ago"
33476         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
33477         exactly specified dayshifts.
33478         (dayshift): New rule.
33479         (rel): Add dayshift.
33480         (relative_time_table) [tomorrow, yesterday, today, now]:
33481         Use tDAY_SHIFT in place of tDAY_UNIT.
33482         * tests/test-getdate.c: Add tests for now-disallowed countable
33483         dayshifts, e.g., "4 yesterday ago".
33484
33485 2008-09-29  Bruno Haible  <bruno@clisp.org>
33486
33487         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
33488         * tests/test-posix_spawn1.in.sh: Renamed from
33489         tests/test-posix_spawn.in.sh.
33490         * tests/test-posix_spawn2.c: New file.
33491         * tests/test-posix_spawn2.in.sh: New file.
33492         * modules/posix_spawnp-tests (Files): Update.
33493         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
33494
33495 2008-09-29  Bruno Haible  <bruno@clisp.org>
33496
33497         Propagate effects of putenv/setenv/unsetenv to child processes.
33498         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
33499         * lib/pipe.c (create_pipe): Likewise.
33500
33501 2008-09-29  Bruno Haible  <bruno@clisp.org>
33502
33503         Enable use of shell scripts as executables in mingw.
33504         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
33505         run the program as a shell script.
33506         * lib/pipe.c (create_pipe): Likewise.
33507         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
33508         resulting array.
33509
33510 2008-09-29  Eric Blake  <ebb9@byu.net>
33511
33512         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
33513
33514 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
33515
33516         * doc/posix-functions/accept.texi: Update mingw problems.
33517         * doc/posix-functions/bind.texi: Update mingw problems.
33518         * doc/posix-functions/close.texi: Update mingw problems.
33519         * doc/posix-functions/connect.texi: Update mingw problems.
33520         * doc/posix-functions/getpeername.texi: Update mingw problems.
33521         * doc/posix-functions/getsockname.texi: Update mingw problems.
33522         * doc/posix-functions/getsockopt.texi: Update mingw problems.
33523         * doc/posix-functions/ioctl.texi: Update mingw problems.
33524         * doc/posix-functions/listen.texi: Update mingw problems.
33525         * doc/posix-functions/recv.texi: Update mingw problems.
33526         * doc/posix-functions/recvfrom.texi: Update mingw problems.
33527         * doc/posix-functions/select.texi: Update mingw problems.
33528         * doc/posix-functions/send.texi: Update mingw problems.
33529         * doc/posix-functions/sendto.texi: Update mingw problems.
33530         * doc/posix-functions/setsockopt.texi: Update mingw problems.
33531         * doc/posix-functions/socket.texi: Update mingw problems.
33532
33533 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
33534             Bruno Haible  <bruno@clisp.org>
33535
33536         * lib/sys_select.in.h: Include sys/time.h.
33537         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
33538         * modules/sys_select: Depend on sys_time.
33539         * tests/test-sys_select.c: Test that sys/select.h defines struct
33540         timeval fully.
33541
33542 2008-09-29  Bruno Haible  <bruno@clisp.org>
33543
33544         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
33545         * lib/sys_select.in.h: Likewise.
33546
33547 2008-09-29  Bruno Haible  <bruno@clisp.org>
33548
33549         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
33550
33551 2008-09-29  Bruno Haible  <bruno@clisp.org>
33552
33553         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
33554         Set LIBSOCKET instead of augmenting LIBS.
33555         * modules/sockets (Link): New section.
33556         * modules/sockets-tests (test_sockets_LDADD): New variable.
33557         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
33558         * modules/poll-tests (test_poll_LDADD): New variable.
33559         * NEWS: Document the change.
33560
33561 2008-09-29  Bruno Haible  <bruno@clisp.org>
33562
33563         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
33564         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
33565         ARPA_INET_H directly.
33566         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
33567
33568 2008-09-28  Bruno Haible  <bruno@clisp.org>
33569
33570         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
33571         from gl_HEADER_SYS_SOCKET.
33572         (gl_HEADER_SYS_SOCKET): Invoke it.
33573         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33574
33575 2008-09-28  Bruno Haible  <bruno@clisp.org>
33576
33577         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
33578         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
33579         Needed on OSF/1 4.0.
33580
33581 2008-09-28  Bruno Haible  <bruno@clisp.org>
33582
33583         Override open more carefully.
33584         * lib/open.c (orig_open): New function.
33585         (rpl_open): Use orig_open instead of open.
33586         * lib/fcntl.in.h: Add special invocation convention.
33587         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
33588         (gl_FUNC_OPEN): Invoke it.
33589
33590         Override freopen more carefully.
33591         * lib/freopen.c (orig_freopen): New function.
33592         (rpl_freopen): Use orig_freopen instead of freopen.
33593         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
33594         (gl_FUNC_FREOPEN): Invoke it.
33595
33596         Override fopen more carefully.
33597         * lib/fopen.c (orig_fopen): New function.
33598         (rpl_fopen): Use orig_fopen instead of fopen.
33599         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
33600         (gl_FUNC_FOPEN): Invoke it.
33601         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
33602
33603 2008-09-28  Bruno Haible  <bruno@clisp.org>
33604
33605         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
33606         SIGPIPE.
33607
33608 2008-09-28  Bruno Haible  <bruno@clisp.org>
33609
33610         * tests/test-sigaction.c (handler, main): Disable the check whether
33611         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
33612         glibc systems with LinuxThreads.
33613
33614 2008-09-28  Bruno Haible  <bruno@clisp.org>
33615
33616         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
33617
33618         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
33619         with AIX xlc.
33620         * lib/fcntl.in.h (open): Likewise.
33621         Reported by Rainer Tammer <tammer@tammer.net>.
33622
33623 2008-09-28  Bruno Haible  <bruno@clisp.org>
33624
33625         * modules/posix_spawnp-tests: New file.
33626         * tests/test-posix_spawn.c: New file.
33627         * tests/test-posix_spawn.in.sh: New file.
33628
33629         New module 'posix_spawnp'.
33630         * modules/posix_spawnp: New file.
33631         * lib/spawnp.c: New file, from GNU libc with modifications.
33632         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
33633
33634         New module 'posix_spawn'.
33635         * modules/posix_spawn: New file.
33636         * lib/spawn.c: New file, from GNU libc with modifications.
33637         * doc/posix-functions/posix_spawn.texi: Mention the new module.
33638
33639         New module 'posix_spawnattr_destroy'.
33640         * modules/posix_spawnattr_destroy: New file.
33641         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
33642         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
33643         module.
33644
33645         New module 'posix_spawnattr_setsigmask'.
33646         * modules/posix_spawnattr_setsigmask: New file.
33647         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
33648         modifications.
33649         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
33650         new module.
33651
33652         New module 'posix_spawnattr_getsigmask'.
33653         * modules/posix_spawnattr_getsigmask: New file.
33654         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
33655         modifications.
33656         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
33657         new module.
33658
33659         New module 'posix_spawnattr_setsigdefault'.
33660         * modules/posix_spawnattr_setsigdefault: New file.
33661         * lib/spawnattr_setdefault.c: New file, from GNU libc with
33662         modifications.
33663         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
33664         new module.
33665
33666         New module 'posix_spawnattr_getsigdefault'.
33667         * modules/posix_spawnattr_getsigdefault: New file.
33668         * lib/spawnattr_getdefault.c: New file, from GNU libc with
33669         modifications.
33670         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
33671         new module.
33672
33673         New module 'posix_spawnattr_setschedpolicy'.
33674         * modules/posix_spawnattr_setschedpolicy: New file.
33675         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
33676         modifications.
33677         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
33678         new module.
33679
33680         New module 'posix_spawnattr_getschedpolicy'.
33681         * modules/posix_spawnattr_getschedpolicy: New file.
33682         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
33683         modifications.
33684         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
33685         new module.
33686
33687         New module 'posix_spawnattr_setschedparam'.
33688         * modules/posix_spawnattr_setschedparam: New file.
33689         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
33690         modifications.
33691         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
33692         new module.
33693
33694         New module 'posix_spawnattr_getschedparam'.
33695         * modules/posix_spawnattr_getschedparam: New file.
33696         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
33697         modifications.
33698         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
33699         new module.
33700
33701         New module 'posix_spawnattr_setpgroup'.
33702         * modules/posix_spawnattr_setpgroup: New file.
33703         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
33704         modifications.
33705         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
33706         module.
33707
33708         New module 'posix_spawnattr_getpgroup'.
33709         * modules/posix_spawnattr_getpgroup: New file.
33710         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
33711         modifications.
33712         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
33713         module.
33714
33715         New module 'posix_spawnattr_setflags'.
33716         * modules/posix_spawnattr_setflags: New file.
33717         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
33718         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
33719         module.
33720
33721         New module 'posix_spawnattr_getflags'.
33722         * modules/posix_spawnattr_getflags: New file.
33723         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
33724         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
33725         module.
33726
33727         New module 'posix_spawnattr_init'.
33728         * modules/posix_spawnattr_init: New file.
33729         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
33730         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
33731         module.
33732
33733         New module 'posix_spawn_file_actions_destroy'.
33734         * modules/posix_spawn_file_actions_destroy: New file.
33735         * lib/spawn_faction_destroy.c: New file, from GNU libc with
33736         modifications.
33737         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
33738         the new module.
33739
33740         New module 'posix_spawn_file_actions_addopen'.
33741         * modules/posix_spawn_file_actions_addopen: New file.
33742         * lib/spawn_faction_addopen.c: New file, from GNU libc with
33743         modifications.
33744         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
33745         the new module.
33746
33747         New module 'posix_spawn_file_actions_adddup2'.
33748         * modules/posix_spawn_file_actions_adddup2: New file.
33749         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
33750         modifications.
33751         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
33752         the new module.
33753
33754         New module 'posix_spawn_file_actions_addclose'.
33755         * modules/posix_spawn_file_actions_addclose: New file.
33756         * lib/spawn_faction_addclose.c: New file, from GNU libc with
33757         modifications.
33758         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
33759         the new module.
33760
33761         New module 'posix_spawn_file_actions_init'.
33762         * modules/posix_spawn_file_actions_init: New file.
33763         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
33764         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
33765         new module.
33766
33767         New module 'posix_spawn-internal'.
33768         * modules/posix_spawn-internal: New file.
33769         * lib/spawn_int.h: New file, from GNU libc with modifications.
33770         * lib/spawni.c: New file, from GNU libc with modifications.
33771         * m4/posix_spawn.m4: New file.
33772
33773         New module 'spawn'.
33774         * modules/spawn: New file.
33775         * lib/spawn.in.h: New file, from GNU libc with modifications.
33776         * m4/spawn_h.m4: New file.
33777         * doc/posix-headers/spawn.texi: Mention the new module.
33778
33779 2008-09-28  Bruno Haible  <bruno@clisp.org>
33780
33781         * modules/sched-tests: New file.
33782         * tests/test-sched.c: New file.
33783
33784         New module 'sched'.
33785         * modules/sched: New file.
33786         * lib/sched.in.h: New file.
33787         * m4/sched_h.m4: New file.
33788         * doc/posix-headers/sched.texi: Mention the new module.
33789
33790 2008-09-27  Eric Blake  <ebb9@byu.net>
33791
33792         Fix previous patch, and tweak references to $0.
33793         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
33794         (func_version, func_gnulib_dir): Don't call this program
33795         gnulib-tool.
33796         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
33797         with using $0 in function.
33798         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
33799         (func_fatal_error): Reuse the name the user invoked us with.
33800
33801 2008-09-27  Bruno Haible  <bruno@clisp.org>
33802
33803         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
33804         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
33805         (gl_ICONV_H): Not here.
33806         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
33807         instead of assigning ICONV_H directly.
33808
33809         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
33810         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
33811         WCHAR_H directly.
33812
33813 2008-09-27  Bruno Haible  <bruno@clisp.org>
33814
33815         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
33816         * modules/arpa_inet (Depends-on): Add link-warning.
33817         (Makefile.am): Insert the definition of GL_LINK-WARNING.
33818         * modules/unistd (Makefile.am): Likewise.
33819
33820 2008-09-26  Bruno Haible  <bruno@clisp.org>
33821
33822         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
33823         variables.
33824         (func_version): Essentially copied from gnulib-tool.
33825         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
33826         func_readlink): Copied from gnulib-tool.
33827
33828 2008-09-26  Bruno Haible  <bruno@clisp.org>
33829
33830         * gnulib-tool (func_version): Change directory to $gnulib_dir before
33831         invoking git-version-gen.
33832
33833 2008-09-26  Bruno Haible  <bruno@clisp.org>
33834
33835         * posix-modules: Update to directory names changed on 2008-01-19.
33836         Remove commas in output before splitting into words. No more need to
33837         avoid 'ftruncate' since 2007-02-19.
33838
33839 2008-09-26  Bruno Haible  <bruno@clisp.org>
33840
33841         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
33842
33843 2008-09-26  Bruno Haible  <bruno@clisp.org>
33844
33845         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
33846         * modules/fwriteerror (Depends-on): Add errno.
33847
33848 2008-09-26  Bruno Haible  <bruno@clisp.org>
33849
33850         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
33851         * tests/test-vc-list-files-cvs.sh: Likewise.
33852
33853 2008-09-26  Bruno Haible  <bruno@clisp.org>
33854
33855         * doc/posix-headers/sys_resource.texi: Reorder items.
33856
33857 2008-09-26  Jim Meyering  <meyering@redhat.com>
33858
33859         fts: tweak inode comparison function
33860         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
33861         inode numbers, as documented.
33862
33863         fts: sort dirent entries on inode number before traversing
33864         This avoids a quadratic, seek-related performance penalty when
33865         operating on a directory containing many entries (measurable at 10k;
33866         3.5 hours at 2 million entries with a cold cache) on certain types
33867         of file systems, including ext3 and ext4, but not tmpfs.
33868         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
33869         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
33870         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
33871         (fs_handles_readdir_ordered_dirents_efficiently): New function.
33872         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
33873         (fts_build): Set the stat.st_ino member from D_INO.
33874         If it is likely to be useful, sort dirent entries on inode number.
33875
33876         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
33877         and the struct statfs.f_type member.
33878         * modules/fts (Depends-on): Add d-ino.
33879
33880 2008-09-26  Bruno Haible  <bruno@clisp.org>
33881
33882         * modules/sigpipe-die (Depends-on): Add sigpipe.
33883
33884         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
33885         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
33886         and GNULIB_STDIO_H_SIGPIPE are set.
33887         * lib/stdio-write.c: New file.
33888         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
33889         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
33890         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
33891         REPLACE_STDIO_WRITE_FUNCS.
33892         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
33893         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
33894         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
33895         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
33896         * modules/stdio (Files): Add lib/stdio-write.c.
33897         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
33898         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
33899         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
33900         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
33901         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
33902         REPLACE_FPRINTF_POSIX.
33903         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
33904         REPLACE_PRINTF_POSIX.
33905         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
33906         REPLACE_VFPRINTF_POSIX.
33907         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
33908         REPLACE_VPRINTF_POSIX.
33909         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
33910         SIGPIPE issue.
33911         * doc/posix-functions/fputc.texi: Likewise.
33912         * doc/posix-functions/fputs.texi: Likewise.
33913         * doc/posix-functions/fwrite.texi: Likewise.
33914         * doc/posix-functions/printf.texi: Likewise.
33915         * doc/posix-functions/putc.texi: Likewise.
33916         * doc/posix-functions/putchar.texi: Likewise.
33917         * doc/posix-functions/puts.texi: Likewise.
33918         * doc/posix-functions/vfprintf.texi: Likewise.
33919         * doc/posix-functions/vprintf.texi: Likewise.
33920
33921         * modules/safe-write (Depends-on): Add write.
33922
33923         * modules/sigpipe-tests: New file.
33924         * tests/test-sigpipe.c: New file.
33925         * tests/test-sigpipe.sh: New file.
33926
33927         * modules/write: New file.
33928         * lib/unistd.in.h: Include <sys/types.h>.
33929         (write): New declaration.
33930         * lib/write.c: New file.
33931         * m4/write.m4: New file.
33932         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33933         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
33934         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
33935         GNULIB_WRITE, REPLACE_WRITE.
33936         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
33937         and the SIGPIPE issue.
33938
33939         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
33940         (raise): New declaration.
33941         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
33942         (ext_signal): New function.
33943         (rpl_raise): New function.
33944         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
33945         GNULIB_SIGNAL_H_SIGPIPE.
33946         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
33947         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
33948
33949         * modules/sigpipe: New file.
33950         * m4/sigpipe.m4: New file.
33951
33952 2008-09-25  Derek Price  <derek@ximbiot.com>
33953             Bruno Haible  <bruno@clisp.org>
33954
33955         * gnulib-tool (func_import): Report all license incompatibilities, not
33956         just the first one.
33957
33958 2008-09-25  Bruno Haible  <bruno@clisp.org>
33959
33960         * gnulib-tool (func_import): When computing the edits, consider not
33961         only the Makefile.ams that exist but also those that will be generated.
33962
33963 2008-09-25  Simon Josefsson  <simon@josefsson.org>
33964
33965         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
33966         fixes gnulib-tool --test warning about duplicate dependency.
33967
33968 2008-09-25  Bruno Haible  <bruno@clisp.org>
33969
33970         * gnulib-tool: Don't ask the user to perform edits in the generated
33971         Makefile.ams.
33972         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
33973         apply to the Makefile.am being generated.
33974         (func_emit_tests_Makefile_am): Execute edits that apply to the
33975         Makefile.am being generated.
33976         (func_import): Setup list of Makefile.am edits before emitting the
33977         Makefile.ams, not at the end.
33978         (func_create_testdir): Update.
33979         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
33980
33981 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33982
33983         * gnulib-tool (func_import): Store the --tests-base option in the
33984         comment in gnulib-cache.m4.
33985
33986 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
33987
33988         * NEWS: Document increased portability that sys_select now provides.
33989
33990         * lib/sys_select.in.h: Install select wrapper.
33991         * lib/sys_socket.in.h: Use more descriptive name when there is no
33992         select wrapper.
33993         * lib/winsock-select.c: New.
33994         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
33995         Require gl_HEADER_SYS_SOCKET.
33996         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
33997         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
33998         * tests/test-sys_select.c: Add functional tests.
33999
34000 2008-09-24  Eric Blake  <ebb9@byu.net>
34001
34002         open, fopen: close fd leak in last patch
34003         * lib/open.c (rpl_open): Close fd before returning error.
34004         * lib/fopen.c (rpl_fopen): Close fd before returning error.
34005         * doc/posix-functions/open.texi (open): Document that Irix also
34006         has the bug.
34007         * doc/posix-functions/fopen.texi (fopen): Likewise.
34008         Reported by Paolo Bonzini.
34009
34010 2008-09-24  Bruno Haible  <bruno@clisp.org>
34011
34012         Ensure that a filename ending in a slash cannot be used to access a
34013         non-directory.
34014         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
34015         to check whether it's really a directory.
34016         * lib/fopen.c: Include fcntl.h, unistd.h.
34017         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
34018         and fdopen().
34019         * modules/fopen (Depends-on): Add unistd.
34020         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
34021         * tests/test-fopen.c (main): Likewise.
34022         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
34023         * doc/posix-functions/fopen.texi: Likewise.
34024         Reported by Eric Blake.
34025
34026 2008-09-23  Eric Blake  <ebb9@byu.net>
34027
34028         c-stack: avoid compiler optimizations when provoking overflow
34029         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
34030         recursion harder to optimize, to ensure a stack overflow occurs.
34031         * tests/test-c-stack.c (recurse): Likewise.
34032         Borrowed from libsigsegv.
34033
34034         c-stack: work around Irix sigaltstack bug
34035         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
34036         whether sigaltstack uses wrong end of stack_t (copied in part from
34037         libsigsegv).
34038         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
34039         Irix bug, without requiring an over-allocation.
34040         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
34041         bug.
34042
34043         fopen: document mingw bug on directories
34044         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
34045         not allowing a stream visiting a directory, even though reading
34046         from such a stream is not portable.
34047
34048 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
34049
34050         * lib/poll.c: Rewrite.
34051         * modules/poll: Depend on alloca.
34052
34053 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
34054
34055         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
34056         instead define prototypes for a full set of wrappers.  Ensure
34057         that Cygwin does not use the compatibility code, which is only
34058         for MinGW.
34059         * lib/winsock.c: New.
34060         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
34061         * modules/sys_socket: Add lib/winsock.c.
34062
34063         * modules/poll-tests: Add errno and perror.
34064         * tests/test-poll.c: Use ioctl, not ioctlsocket.
34065
34066 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
34067
34068         * tests/test-poll.c: Downgrade minimum needed Winsock version.
34069
34070 2008-09-23  Bruno Haible  <bruno@clisp.org>
34071
34072         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
34073         * doc/glibc-functions/*: Likewise.
34074
34075 2008-09-23  Simon Josefsson  <simon@josefsson.org>
34076
34077         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
34078         success.
34079
34080 2008-09-22  Eric Blake  <ebb9@byu.net>
34081             Bruno Haible  <bruno@clisp.org>
34082
34083         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
34084         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
34085         supply %A but mishandle pseudo-NaN.
34086         Reported by Simon Josefsson.
34087
34088 2008-09-21  Bruno Haible  <bruno@clisp.org>
34089
34090         * tests/test-lock.c (main): Tweak skip message.
34091         * tests/test-tls.c (main): Likewise.
34092
34093 2008-09-21  Bruno Haible  <bruno@clisp.org>
34094
34095         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
34096         whether 'struct sigaction' has sa_sigaction here...
34097         (gl_PREREQ_SIG_HANDLER_H): ... not here.
34098         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
34099
34100 2008-09-21  Bruno Haible  <bruno@clisp.org>
34101
34102         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
34103         section.
34104         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
34105         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
34106         the new section.
34107         (Support for obsolete systems lacking POSIX:2001): New section.
34108         (String handling <string.h>): Move strdup to the new section.
34109         Suggested by Simon Josefsson and Paolo Bonzini.
34110
34111 2008-09-21  Bruno Haible  <bruno@clisp.org>
34112
34113         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
34114         exponents in %e and %g results on 'long double'. Needed for mingw's
34115         improved *printf functions.
34116         * tests/test-vasprintf-posix.c (test_function): Likewise.
34117         * tests/test-snprintf-posix.h (test_function): Likewise.
34118         * tests/test-sprintf-posix.h (test_function): Likewise.
34119         Reported by Eric Blake.
34120
34121 2008-09-21  Bruno Haible  <bruno@clisp.org>
34122
34123         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
34124         * tests/test-sprintf-posix.h (test_function): Likewise.
34125
34126 2008-09-21  Bruno Haible  <bruno@clisp.org>
34127
34128         * modules/getpass (Depends-on): Add strdup-posix.
34129
34130         New module 'strdup-posix'.
34131         * modules/strdup-posix: New file.
34132         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
34133         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
34134         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34135         REPLACE_STRDUP.
34136         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
34137         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
34138         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
34139         strdup-posix.
34140
34141         * modules/strdup (Depends-on): Remove malloc-posix.
34142
34143 2008-09-20  Bruno Haible  <bruno@clisp.org>
34144
34145         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
34146         Wildenhues.
34147
34148 2008-09-20  Bruno Haible  <bruno@clisp.org>
34149
34150         Ensure that wint_t gets defined on IRIX 5.3.
34151         * lib/wchar.in.h (wint_t): Define if not defined by the system.
34152         * lib/wctype.in.h (wint_t): Likewise.
34153         (__wctype_wint_t): Remove type.
34154         (isw*): Use wint_t instead of __wctype_wint_t.
34155         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
34156         * modules/wchar (Files): Add m4/wint_t.m4.
34157         (Makefile.am): Substitute HAVE_WINT_T.
34158         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
34159         * tests/test-wctype.c: Check that wint_t is defined.
34160         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
34161         * doc/posix-headers/wctype.texi: Likewise.
34162         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34163
34164 2008-09-18  Bruno Haible  <bruno@clisp.org>
34165
34166         * gnulib-tool (func_exit): Update comment.
34167
34168 2008-09-18  Simon Josefsson  <simon@josefsson.org>
34169
34170         * modules/getaddrinfo (Depends-on): Remove strdup, this module
34171         assumes strdup exists and does not depend on strdup to return
34172         ENOMEM on out of memory conditions.
34173
34174 2008-09-18  Bruno Haible  <bruno@clisp.org>
34175
34176         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
34177         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
34178         digits for the exponent.
34179
34180 2008-09-18  Jim Meyering  <meyering@redhat.com>
34181             Bruno Haible  <bruno@clisp.org>
34182
34183         * lib/vasnprintf.c (decimal_point_char): Define also if
34184         NEED_PRINTF_INFINITE_LONG_DOUBLE.
34185
34186 2008-09-16  Bruno Haible  <bruno@clisp.org>
34187         and Eric Blake  <ebb9@byu.net>
34188
34189         vasnprintf: support Irix 5.3
34190         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
34191         that mishandle long double infinity.
34192         Reported by Tom G. Christensen.
34193
34194 2008-09-16  Bruno Haible  <bruno@clisp.org>
34195
34196         * doc/glibc-functions/scandir.texi: Mention the function is missing on
34197         Solaris 9.
34198         * doc/glibc-functions/alphasort.texi: Likewise.
34199         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
34200
34201 2008-09-16  Jim Meyering  <meyering@redhat.com>
34202
34203         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
34204         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
34205         a umask modification leak out of a subshell.  Otherwise, the
34206         opensolaris /bin/sh would be accepted and thus cause unwarranted
34207         failures in the coreutils test suite.
34208
34209 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
34210
34211         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
34212         to succeed.
34213
34214 2008-09-16  Jim Meyering  <meyering@redhat.com>
34215
34216         avoid spurious test failure when library is built without ACL support
34217         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
34218         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
34219         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
34220         * tests/test-copy-acl.sh: Likewise.
34221
34222 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34223
34224         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
34225         based on character occurrence counts.
34226
34227 2008-09-15  Eric Blake  <ebb9@byu.net>
34228
34229         tests: avoid some compiler warnings
34230         * tests/test-memchr.c (main): Pass NULL indirectly.
34231         * tests/test-closein.c (main): Avoid unused variable.
34232
34233 2008-09-15  Bruno Haible  <bruno@clisp.org>
34234
34235         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
34236         are missing on OpenBSD 4.0 individually.
34237         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
34238
34239 2008-09-15  Bruno Haible  <bruno@clisp.org>
34240
34241         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
34242         * doc/posix-functions/strerror.texi: Mention also Cygwin.
34243         * doc/posix-functions/perror.texi: Likewise.
34244         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
34245         is missing.
34246         Reported by Eric Blake.
34247
34248         * lib/errno.in.h: Use replacement values >= 2000.
34249         Reported by Eric Blake.
34250
34251 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34252
34253         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
34254         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
34255         limit.
34256         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
34257         compareseq was aborted.
34258
34259 2008-09-14  Bruno Haible  <bruno@clisp.org>
34260
34261         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
34262         yvec_edit_count.
34263         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
34264         (fstrcmp_bounded): Simplify result computation accordingly.
34265
34266 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34267
34268         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
34269         (fstrcmp): Define in terms of fstrcmp_bounded.
34270         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
34271         lower_bound argument.
34272         Return quickly if the result is certainly < lower_bound.
34273         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
34274
34275 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34276
34277         * lib/diffseq.h (EARLY_ABORT): New macro.
34278         (compareseq): Change return type to bool. Return true when EARLY_ABORT
34279         evaluates to true.
34280
34281 2008-09-14  Bruno Haible  <bruno@clisp.org>
34282
34283         * modules/perror-tests: New file.
34284         * tests/test-perror.sh: New file.
34285         * tests/test-perror.c: New file.
34286
34287         New module 'perror'.
34288         * lib/stdio.in.h (perror): New declaration.
34289         * lib/perror.c: New file.
34290         * m4/perror.m4: New file.
34291         * modules/perror: New file.
34292         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
34293         * doc/posix-functions/perror.texi: Mention the perror module.
34294         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
34295         REPLACE_PERROR.
34296         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
34297         REPLACE_PERROR.
34298
34299 2008-09-14  Bruno Haible  <bruno@clisp.org>
34300
34301         * modules/stdio (Makefile.am): Reorder to match the order in
34302         lib/stdio.in.h.
34303         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
34304
34305 2008-09-13  Bruno Haible  <bruno@clisp.org>
34306
34307         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
34308
34309 2008-09-13  Bruno Haible  <bruno@clisp.org>
34310
34311         Extend strerror to cover the added errno values.
34312         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
34313         (rpl_strerror): Provide error messages for the added errno values and
34314         for the WSA* values.
34315         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
34316         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
34317         strerror.
34318         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
34319         * modules/strerror (Depends-on): Add errno.
34320         * doc/posix-functions/strerror.texi: Document the change.
34321         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
34322         and EOVERFLOW.
34323
34324 2008-09-13  Bruno Haible  <bruno@clisp.org>
34325
34326         * modules/EOVERFLOW: Remove file.
34327         * m4/eoverflow.m4: Remove file.
34328         * modules/EOVERFLOW-tests: Remove file.
34329         * tests/test-EOVERFLOW.c: Remove file.
34330         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
34331         * modules/ftell (Depends-on): Likewise.
34332         * modules/getdelim (Depends-on): Likewise.
34333         * modules/getugroups (Depends-on): Likewise.
34334         * modules/poll (Depends-on): Likewise.
34335         * modules/snprintf (Depends-on): Likewise.
34336         * modules/sprintf-posix (Depends-on): Likewise.
34337         * modules/vasnprintf (Depends-on): Likewise.
34338         * modules/vasprintf (Depends-on): Likewise.
34339         * modules/vfprintf-posix (Depends-on): Likewise.
34340         * modules/vsnprintf (Depends-on): Likewise.
34341         * modules/vsprintf-posix (Depends-on): Likewise.
34342         * modules/xvasprintf (Depends-on): Likewise.
34343         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
34344         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
34345         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
34346         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
34347         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
34348         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
34349         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
34350         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
34351         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
34352         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
34353         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
34354         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
34355         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
34356         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
34357         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
34358         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
34359         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
34360         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
34361         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
34362         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
34363         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
34364         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
34365         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
34366         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
34367         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
34368         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
34369         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
34370         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
34371         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
34372         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
34373         * MODULES.html.sh: Remove EOVERFLOW.
34374         * NEWS: Mention the change.
34375
34376 2008-09-13  Bruno Haible  <bruno@clisp.org>
34377
34378         * modules/errno-tests: New file.
34379         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
34380
34381         * lib/errno.in.h: New file.
34382         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
34383         * modules/errno: New file.
34384         * doc/posix-headers/errno.texi: Update documentation.
34385         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
34386
34387 2008-09-13  Bruno Haible  <bruno@clisp.org>
34388
34389         * tests/test-poll.c: Use #if for native Windows, rather than testing
34390         __MSVCRT__.
34391
34392 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34393             Bruno Haible  <bruno@clisp.org>
34394
34395         * lib/glob.c: Don't include <pwd.h> on native Windows.
34396         (WINDOWS32): New macro.
34397         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
34398
34399 2008-09-13  Bruno Haible  <bruno@clisp.org>
34400
34401         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
34402         (ETIMEDOUT): Remove macro.
34403         (glthread_cond_timedwait_multithreaded): New declaration.
34404         (glthread_cond_timedwait): Use it.
34405         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
34406         (glthread_cond_timedwait_multithreaded): New function.
34407
34408 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
34409
34410         * modules/poll-tests: Do not check for io.h.
34411         * tests/test-poll.c: Check for __MSVCRT__ instead.
34412
34413 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
34414
34415         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
34416         * modules/poll-tests: Add inet_pton, stdbool, sockets.
34417         * tests/test-poll.c: Use them.  Use _pipe on Windows.
34418
34419 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
34420
34421         * modules/poll-tests: New.
34422         * tests/test-poll.c: New.
34423
34424 2008-09-12  Eric Blake  <ebb9@byu.net>
34425
34426         frexp: test for NetBSD failure on -0.0
34427         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
34428         not all, bugs from NetBSD 3.0 have been fixed.
34429         * doc/posix-functions/frexp.texi (frexp): Document bug.
34430         Reported by Thomas Klausner.
34431
34432         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
34433         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
34434         literal -0.0.
34435         Reported by Jonathan C. Patschke <jp@centtech.com>.
34436
34437 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34438
34439         * lib/glthread/cond.h: Use dummy implementation also if
34440         USE_WIN32_THREADS.
34441
34442 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34443
34444         * modules/fnmatch-posix (License): Change to LGPLv2+.
34445         * modules/fnmatch-gnu (License): Likewise.
34446
34447 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34448
34449         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
34450
34451 2008-09-11  Jim Meyering  <meyering@redhat.com>
34452
34453         * users.txt: Add gtk-vnc.
34454
34455 2008-09-08  Simon Josefsson  <simon@josefsson.org>
34456
34457         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
34458         rotate amounts.
34459
34460         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
34461         required for 16-bit and 8-bit rotates.
34462         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
34463         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
34464         UINT8_MAX instead of hard-coded constants.
34465         Suggested by Paul Eggert.
34466
34467 2008-09-07  Bruno Haible  <bruno@clisp.org>
34468
34469         * tests/test-striconveh.c (main): Check behaviour when converting from
34470         UTF-7.
34471
34472         Make striconveh work better with stateful encodings.
34473         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
34474         that iconv does not increment the inptr when returning -1/EINVAL.
34475
34476 2008-09-07  Bruno Haible  <bruno@clisp.org>
34477
34478         * build-aux/config.rpath: Update according to libtool-2.2.6.
34479         * build-aux/config.libpath: Likewise.
34480
34481 2008-09-06  Bruno Haible  <bruno@clisp.org>
34482
34483         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
34484         * lib/freadptr.c (freadptr): Likewise.
34485         * lib/freadseek.c (freadptrinc): Likewise.
34486         Reported by Simon Josefsson.
34487
34488 2008-09-06  Bruno Haible  <bruno@clisp.org>
34489
34490         * modules/freadptr (License): Change to LGPLv2+.
34491         * modules/freadseek (License): Likewise.
34492         Suggested by Eric Blake.
34493
34494         * modules/memchr2 (License): Change to LGPLv2+.
34495         Approved by Eric Blake.
34496
34497 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34498             Bruno Haible  <bruno@clisp.org>
34499
34500         Make gnulib-tool work with native 'sed' on AIX.
34501         * gnulib-tool (sed_noop): New variable.
34502         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
34503         func_add_or_update, func_create_testdir): Use it to initialize sed
34504         script variables.
34505         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
34506
34507 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
34508             Bruno Haible  <bruno@clisp.org>
34509
34510         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
34511         also works after #include directives.
34512
34513 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
34514
34515         getdate.y: reject an out-of-range timezone value
34516         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
34517         the range [-24...+24].  When specified with only one or two digits,
34518         * tests/test-getdate.c: Tests for the fix.
34519         * doc/getdate.texi: Document this change.
34520
34521 2008-09-03  Bruno Haible  <bruno@clisp.org>
34522
34523         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
34524
34525 2008-09-02  Simon Josefsson  <simon@josefsson.org>
34526
34527         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
34528         <bruce.korb@gmail.com> with ideas from Ben Pfaff
34529         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
34530         Blake <ebb9@byu.net>.
34531
34532         * tests/test-bitrotate.c: Add more test vectors.
34533
34534 2008-09-02  Eric Blake  <ebb9@byu.net>
34535
34536         vasnprintf-posix: handle large precision via %.*d
34537         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
34538         when handling it ourselves.
34539         * tests/test-vasnprintf-posix.c (test_function): Add test.
34540         * tests/test-snprintf-posix.h (test_function): Likewise.
34541         * tests/test-sprintf-posix.h (test_function): Likewise.
34542         * tests/test-vasprintf-posix.c (test_function): Likewise.
34543         Reported by Alain Guibert.
34544
34545 2008-09-01  Eric Blake  <ebb9@byu.net>
34546
34547         c-stack: make configure-time check more robust
34548         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
34549         successful sigaction call.
34550         Reported by Tom G. Christensen.
34551
34552 2008-09-01  Bruno Haible  <bruno@clisp.org>
34553
34554         New module 'findprog-lgpl'.
34555         * modules/findprog-lgpl: New file.
34556         * lib/findprog-lgpl.c: New file.
34557         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
34558         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
34559         to decide whether to use strdup or xstrdup, concatenated_filename or
34560         xconcatenated_filename.
34561
34562 2008-09-01  Bruno Haible  <bruno@clisp.org>
34563
34564         Split module 'concat-filename' into 'concat-filename' (LGPL) and
34565         'xconcat-filename' (GPL).
34566         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
34567         (License): Change to LGPLv2+.
34568         * modules/xconcat-filename: New file.
34569         * lib/concat-filename.h (concatenated_filename): Change specification.
34570         (xconcatenated_filename): New declaration.
34571         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
34572         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
34573         memory situations.
34574         * lib/xconcat-filename.c: New file.
34575         * NEWS: Mention the change.
34576         * lib/findprog.c: Include concat-filename.h, not filename.h.
34577         (find_in_path): Use xconcatenated_filename instead of
34578         concatenated_filename.
34579         * lib/javacomp.c: Include concat-filename.h, not filename.h.
34580         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
34581         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
34582         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
34583         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
34584         instead of concatenated_filename.
34585         * lib/javaexec.c: Include concat-filename.h, not filename.h.
34586         (execute_java_class): Use xconcatenated_filename instead of
34587         concatenated_filename.
34588         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
34589         * modules/javacomp (Depends-on): Likewise.
34590         * modules/javaexec (Depends-on): Likewise.
34591
34592 2008-09-01  Bruno Haible  <bruno@clisp.org>
34593
34594         Split module 'filename' into 'filename' and 'concat-filename'.
34595         * modules/filename: Keep only lib/filename.h.
34596         (License): Change to LGPLv2+.
34597         * modules/concat-filename: New file, extracted from modules/filename.
34598         * lib/filename.h (concatenated_filename): Remove declaration.
34599         * lib/concat-filename.h: New file, extracted from lib/filename.h.
34600         * lib/concat-filename.c: Include concat-filename.h.
34601         * NEWS: Mention the change.
34602
34603 2008-09-01  Simon Josefsson  <simon@josefsson.org>
34604
34605         * lib/bitrotate.h (rotl8, rotr8): Add.
34606
34607         * modules/bitrotate (configure.ac): Need
34608         AC_REQUIRE([AC_C_INLINE]).
34609         (Description): Mention stdint.h.  Reported by Bruno Haible
34610         <bruno@clisp.org>.
34611
34612         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
34613         Paolo Bonzini <bonzini@gnu.org>.
34614
34615 2008-08-31  Bruno Haible  <bruno@clisp.org>
34616
34617         Assume Solaris specific bi-arch conventions on Solaris systems.
34618         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
34619         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
34620         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
34621         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
34622         like acl_libdirstem.
34623         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
34624         acl_libdirstem.
34625         * NEWS: Mention the change.
34626         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
34627
34628 2008-08-31  Jim Meyering  <meyering@redhat.com>
34629
34630         * lib/strftime.h: Add comments describing the two added arguments.
34631
34632         remove duplicate #include directives
34633         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
34634         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
34635
34636 2008-08-31  Bruno Haible  <bruno@clisp.org>
34637
34638         New module 'sigpipe-die'.
34639         * modules/sigpipe-die: New file.
34640         * lib/sigpipe-die.h: New file.
34641         * lib/sigpipe-die.c: New file.
34642         * MODULES.html.sh (Signal handling): Add sigpipe-die.
34643
34644 2008-08-31  Bruno Haible  <bruno@clisp.org>
34645
34646         Don't override previously installed signal handlers.
34647         * lib/fatal-signal.c (saved_sigactions): New variable.
34648         (uninstall_handlers): Reset the signal to the saved handler, not
34649         to SIG_DFL (except when ignored).
34650         (install_handlers): Save the previous handlers.
34651
34652 2008-08-30  Bruno Haible  <bruno@clisp.org>
34653
34654         * gnulib-tool (func_reset_sigpipe): New function.
34655         (func_get_automake_snippet, func_modules_transitive_closure,
34656         func_import): Invoke it before a join command that reads from stdin,
34657         to avoid "echo: write error: Broken pipe" error messages on stderr.
34658         Reported by Sam Steingold <sds@gnu.org>.
34659
34660 2008-08-30  Bruno Haible  <bruno@clisp.org>
34661
34662         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
34663         Code copied from m4/open.m4.
34664         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
34665         access and the filename ends in a slash. Code copied from lib/open.c.
34666         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
34667         * tests/test-fopen.c (main): Check against bug with trailing slash.
34668
34669 2008-08-29  Bruno Haible  <bruno@clisp.org>
34670
34671         Avoid some "gcc -pedantic" warnings.
34672         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
34673         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
34674         * lib/dirent.in.h: Likewise.
34675         * lib/fcntl.in.h: Likewise.
34676         * lib/float.in.h: Likewise.
34677         * lib/iconv.in.h: Likewise.
34678         * lib/inttypes.in.h: Likewise.
34679         * lib/locale.in.h: Likewise.
34680         * lib/math.in.h: Likewise.
34681         * lib/netinet_in.in.h: Likewise.
34682         * lib/search.in.h: Likewise.
34683         * lib/signal.in.h: Likewise.
34684         * lib/stdarg.in.h: Likewise.
34685         * lib/stdint.in.h: Likewise.
34686         * lib/stdio.in.h: Likewise.
34687         * lib/stdlib.in.h: Likewise.
34688         * lib/string.in.h: Likewise.
34689         * lib/strings.in.h: Likewise.
34690         * lib/sys_select.in.h: Likewise.
34691         * lib/sys_socket.in.h: Likewise.
34692         * lib/sys_stat.in.h: Likewise.
34693         * lib/sys_time.in.h: Likewise.
34694         * lib/sysexits.in.h: Likewise.
34695         * lib/time.in.h: Likewise.
34696         * lib/unistd.in.h: Likewise.
34697         * lib/wchar.in.h: Likewise.
34698         * lib/wctype.in.h: Likewise.
34699         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
34700         * modules/fchdir (Makefile.am): Likewise.
34701         * modules/fcntl (Makefile.am): Likewise.
34702         * modules/float (Makefile.am): Likewise.
34703         * modules/iconv_open (Makefile.am): Likewise.
34704         * modules/inttypes (Makefile.am): Likewise.
34705         * modules/locale (Makefile.am): Likewise.
34706         * modules/math (Makefile.am): Likewise.
34707         * modules/netinet_in (Makefile.am): Likewise.
34708         * modules/search (Makefile.am): Likewise.
34709         * modules/signal (Makefile.am): Likewise.
34710         * modules/stdarg (Makefile.am): Likewise.
34711         * modules/stdint (Makefile.am): Likewise.
34712         * modules/stdio (Makefile.am): Likewise.
34713         * modules/stdlib (Makefile.am): Likewise.
34714         * modules/string (Makefile.am): Likewise.
34715         * modules/strings (Makefile.am): Likewise.
34716         * modules/sys_select (Makefile.am): Likewise.
34717         * modules/sys_socket (Makefile.am): Likewise.
34718         * modules/sys_stat (Makefile.am): Likewise.
34719         * modules/sys_time (Makefile.am): Likewise.
34720         * modules/sysexits (Makefile.am): Likewise.
34721         * modules/time (Makefile.am): Likewise.
34722         * modules/unistd (Makefile.am): Likewise.
34723         * modules/wchar (Makefile.am): Likewise.
34724         * modules/wctype (Makefile.am): Likewise.
34725         Reported by Reuben Thomas <rrt@sc3d.org>.
34726
34727 2008-08-29  Bruno Haible  <bruno@clisp.org>
34728
34729         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
34730         any more.
34731
34732 2008-08-29  Simon Josefsson  <simon@josefsson.org>
34733
34734         * MODULES.html.sh (Misc): Add bitrotate.
34735
34736         * modules/bitrotate: New file.
34737
34738         * lib/bitrotate.h: New file.
34739
34740         * modules/bitrotate-tests: New file.
34741
34742         * tests/test-bitrotate.c: New file.
34743
34744         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
34745         on the bitrotate module.
34746
34747         * lib/arctwo.c: Use new bitrotate module.
34748
34749 2008-08-29  Jim Meyering  <meyering@redhat.com>
34750
34751         bootstrap: merge changes from coreutils
34752         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
34753         of copied files.  Remove a kludge, now that this is fixed.
34754         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
34755         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
34756         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
34757
34758 2008-08-29  Bruno Haible  <bruno@clisp.org>
34759
34760         * MODULES.html.sh: Remove --cvs-urls option.
34761
34762 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
34763
34764         maint.mk: adjust to file name change
34765         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
34766
34767 2008-08-28  Jim Meyering  <meyering@redhat.com>
34768
34769         * modules/getndelim2 (License): Relicense to LGPLv2+.
34770         Approved by Richard Stallman for the version of 1995, and by
34771         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
34772
34773 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
34774
34775         * lib/getdelim.c (flockfile, funlockfile): Make all of them
34776         dummy if one is not available.  Do not touch them if
34777         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
34778         (getc_maybe_unlocked): New.
34779         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
34780
34781 2008-08-26  Eric Blake  <ebb9@byu.net>
34782
34783         doc/INSTALL: resync from autoconf
34784         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
34785         (INSTALL_PRELUDE): Delete; this is done more efficiently by
34786         moving...
34787         * install.texi [!autoconf]: ...here.  Resync from autoconf.
34788         * INSTALL: Regenerate.
34789         * INSTALL.ISO: New file.
34790         * INSTALL.UTF-8: Likewise.
34791
34792 2008-08-26  Jim Meyering  <meyering@redhat.com>
34793
34794         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
34795         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
34796         these definitions conditional, so that they may be overridden, too.
34797
34798 2008-08-26  Bruno Haible  <bruno@clisp.org>
34799
34800         Generate INSTALL file variants with prettier quotes.
34801         * doc/Makefile (INSTALL_PRELUDE): New macro.
34802         (INSTALL): Use it.
34803         (INSTALL.ISO, INSTALL.UTF-8): New rules.
34804
34805 2008-08-26  Bruno Haible  <bruno@clisp.org>
34806
34807         Run makeinfo in an English locale.
34808         * doc/Makefile (MAKEINFO): New variable.
34809
34810 2008-08-26  Bruno Haible  <bruno@clisp.org>
34811
34812         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
34813         Suggested by Eric Blake.
34814
34815 2008-08-25  Bruno Haible  <bruno@clisp.org>
34816
34817         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
34818
34819 2008-08-25  Eric Blake  <ebb9@byu.net>
34820
34821         c-stack: test that stack overflow can be caught
34822         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
34823         that platform allows handling stack overflow; at least OS/2 EMX
34824         has sigaltstack, but crashes before transferring control to
34825         handler on stack overflow.
34826         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
34827         check for HAVE_STACK_OVERFLOW_HANDLING.
34828         Reported by Elbert Pol.
34829
34830 2008-08-25  Bruno Haible  <bruno@clisp.org>
34831
34832         * doc/posix-functions/strftime.texi: Fix description of strftime
34833         module.
34834
34835 2008-08-24  Bruno Haible  <bruno@clisp.org>
34836
34837         * tests/uniwidth/test-uc_width2.c: New file.
34838         * tests/uniwidth/test-uc_width2.sh: New file.
34839         * modules/uniwidth/width-tests (Files): Add the new files.
34840         (TESTS): Add uniwidth/test-uc_width2.sh.
34841         (TESTS_ENVIRONMENT): New variable.
34842         (check_PROGRAMS): Add test-uc_width2.
34843         (test_uc_width2_SOURCES): New variable.
34844
34845         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
34846         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
34847         not 0x00AB.
34848         Reported by Alexander V. Lukyanov <lav@netis.ru>.
34849
34850 2008-08-22  Eric Blake  <ebb9@byu.net>
34851
34852         test-lock, test-tls: mention why a test is skipped
34853         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
34854         skipped.
34855         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
34856
34857         count-one-bits: relax license
34858         * modules/count-one-bits (License): Relicense to LGPLv2+.
34859         Suggested by Ludovic Courtès, approved by Ben Pfaff.
34860
34861 2008-08-22  Andreas Schwab  <schwab@suse.de>
34862
34863         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
34864         Remove spurious space in assignment.
34865
34866 2008-08-21  Simon Josefsson  <simon@josefsson.org>
34867
34868         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
34869         Paul Eggert <eggert@CS.UCLA.EDU>.
34870
34871 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
34872
34873         * modules/gettext: Add m4/threadlib.m4.
34874
34875 2008-08-19  Eric Blake  <ebb9@byu.net>
34876
34877         test-c-stack: fix compilation failure on FreeBSD 5.0
34878         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
34879         headers before <sys/resource.h>.
34880         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
34881         the bug.
34882         Reported by Nelson H. F. Beebe.
34883
34884         strverscmp: migrate from "strverscmp.h" to <string.h>
34885         * modules/string (Makefile.am): Add new hooks.
34886         * modules/strverscmp (Files): Remove strverscmp.h.
34887         (Depends-on): Add string.
34888         (configure.ac): Add indicator.
34889         (Include): Mention new header.
34890         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
34891         defaults.
34892         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
34893         results.
34894         * lib/strverscmp.h: Delete.
34895         * lib/string.in.h (strverscmp): Provide declaration, when needed.
34896         * tests/test-strverscmp.c (includes): Adjust client.
34897         * lib/check-version.c (includes): Likewise.
34898         * NEWS: Document the change.
34899
34900         strverscmp: add unit test
34901         * modules/strverscmp-tests: New file.
34902         * tests/test-strverscmp.c: Likewise.
34903
34904 2008-08-19  Simon Josefsson  <simon@josefsson.org>
34905
34906         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
34907         regarding Windows crypto stuff, from Mono.
34908
34909 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
34910
34911         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
34912         if present, for intel RND.  Return error on failures.
34913
34914 2008-08-18  Ben Pfaff  <blp@gnu.org>
34915
34916         gitlog-to-changelog: give better diagnostic for failed pipe-open
34917         * build-aux/gitlog-to-changelog: Improve error message: suggest
34918         that the version of Git may be too old.
34919
34920 2008-08-18  Simon Josefsson  <simon@josefsson.org>
34921
34922         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
34923         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
34924
34925 2008-08-18  Bruno Haible  <bruno@clisp.org>
34926
34927         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
34928         pthread_in_use().
34929
34930 2008-08-18  Bruno Haible  <bruno@clisp.org>
34931
34932         * lib/glthread/threadlib.c: Include <pthread.h>.
34933
34934 2008-08-18  Bruno Haible  <bruno@clisp.org>
34935
34936         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
34937         glthread_recursive_lock_* macros.
34938         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
34939         Fix syntax error.
34940
34941 2008-08-18  Bruno Haible  <bruno@clisp.org>
34942
34943         * lib/glthread/thread.c: Avoid forcing a context switch right after
34944         thread creation.
34945
34946 2008-08-17  Bruno Haible  <bruno@clisp.org>
34947
34948         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
34949         * lib/glthread/thread.h: Provide Win32 specific implementation.
34950         * modules/thread (Files): Add lib/glthread/thread.c.
34951         (Depends-on): Add lock.
34952         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
34953
34954 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34955
34956         New module 'yield'.
34957         * modules/yield: New file.
34958         * lib/glthread/yield.h: New file.
34959         * m4/yield.m4: New file.
34960         * MODULES.html.sh (Multithreading): Add yield.
34961
34962 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34963
34964         New module 'thread'.
34965         * modules/thread: New file.
34966         * lib/glthread/thread.h: New file.
34967         * m4/thread.m4: New file.
34968         * MODULES.html.sh (Multithreading): Add thread.
34969
34970 2008-08-17  Bruno Haible  <bruno@clisp.org>
34971
34972         * lib/glthread/lock.h: Include <stdlib.h> always.
34973         * lib/glthread/tls.h: Likewise.
34974         * lib/glthread/cond.h: Likewise.
34975
34976 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34977
34978         New module 'cond'.
34979         * modules/cond: New file.
34980         * lib/glthread/cond.h: New file.
34981         * lib/glthread/cond.c: New file.
34982         * m4/cond.m4: New file.
34983         * MODULES.html.sh (Multithreading): Add cond.
34984
34985 2008-08-16  Eric Blake  <ebb9@byu.net>
34986
34987         c-stack: fix regression on Irix 5.3 from 2008-06-21
34988         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
34989         sa_sigaction...
34990         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
34991         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
34992         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
34993         * modules/signal (Makefile.am): Use the value.
34994         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
34995         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
34996         * doc/posix-headers/signal.texi (signal.h): Document this
34997         portability issue.
34998         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
34999         Reported by Tom G. Christensen.
35000
35001 2008-08-17  Bruno Haible  <bruno@clisp.org>
35002
35003         New module 'threadlib'.
35004         * modules/threadlib: New file.
35005         * lib/glthread/threadlib.c: New file, extracted from
35006         lib/glthread/lock.c.
35007         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
35008         functions.
35009         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
35010         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
35011         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
35012         macros.
35013         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
35014         (gl_DISABLE_THREADS): Remove macro.
35015         * modules/lock (Files): Remove build-aux/config.rpath.
35016         (Depends-on): Remove havelib. Add threadlib.
35017         (configure.ac-early): Remove section.
35018         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
35019         * modules/tls (Depends-on): Remove lock. Add threadlib.
35020         (Link): New section, copied from threadlib.
35021         * MODULES.html.sh (Multithreading): Add threadlib.
35022
35023 2008-08-14  Bruno Haible  <bruno@clisp.org>
35024
35025         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
35026         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
35027         glthread_rwlock_unlock, glthread_rwlock_destroy,
35028         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
35029         glthread_recursive_lock_destroy): Define as macros always.
35030         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
35031         glthread_lock_lock.
35032         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
35033         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
35034         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
35035         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
35036         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
35037         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
35038         (glthread_recursive_lock_lock_func): Renamed from
35039         glthread_recursive_lock_lock.
35040         (glthread_recursive_lock_unlock_func): Renamed from
35041         glthread_recursive_lock_unlock.
35042         (glthread_recursive_lock_destroy_func): Renamed from
35043         glthread_recursive_lock_destroy.
35044
35045 2008-08-14  Bruno Haible  <bruno@clisp.org>
35046
35047         * lib/glthread/lock.h: Renamed from lib/lock.h.
35048         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
35049         * lib/glthread/tls.h: Renamed from lib/tls.h.
35050         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
35051         * lib/fstrcmp.c: Update includes.
35052         * lib/strsignal.c: Update includes.
35053         * modules/lock (Files, Makefile.am): Update.
35054         (Include): Change to "glthread/lock.h".
35055         * modules/tls (Files, Makefile.am): Update.
35056         (Include): Change to "glthread/tls.h".
35057         * tests/test-lock.c: Update includes.
35058         * tests/test-tls.c: Update includes.
35059         * NEWS: Mention the renamed header files.
35060
35061 2008-08-11  Jim Meyering  <meyering@redhat.com>
35062
35063         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
35064
35065 2008-08-11  Eric Blake  <ebb9@byu.net>
35066
35067         test-c-stack: avoid C99-ism
35068         * tests/test-c-stack.c (main): Fix whitespace, move declaration
35069         before statement.
35070         Reported by Alain Guibert.
35071
35072 2008-08-10  Jim Meyering  <meyering@redhat.com>
35073
35074         ensure that return value of uinttostr et al are not ignored
35075         * lib/inttostr.h (__GNUC_PREREQ): Define.
35076         (__attribute_warn_unused_result__): Define.
35077         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
35078
35079 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
35080
35081         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
35082         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
35083
35084 2008-08-07  Jim Meyering  <meyering@redhat.com>
35085
35086         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
35087
35088         * modules/mkstemp (License): Relicense under LGPLv2+.
35089         * modules/tempname (License): Likewise.
35090
35091 2008-08-06  Bruno Haible  <bruno@clisp.org>
35092
35093         * lib/poll.c (poll): Further micro-optimization.
35094
35095 2008-08-06  Jim Meyering  <meyering@redhat.com>
35096
35097         inet_pton.c: use locale-independent tolower
35098         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
35099         (inet_pton6): Use c_tolower rather than tolower.
35100         * modules/inet_pton (Depends-on): Add c-ctype.
35101
35102 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
35103
35104         * lib/poll.c (poll): Avoid division when timeout is 0, cache
35105         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
35106
35107 2008-08-06  Jim Meyering  <meyering@redhat.com>
35108
35109         * modules/inet_pton (License): Relicense under LGPLv2+.
35110
35111 2008-08-03  Bruno Haible  <bruno@clisp.org>
35112
35113         Additional non-aborting API for lock and tls.
35114         * lib/lock.h: Include <errno.h>.
35115         (glthread_lock_init): New macro/function.
35116         (gl_lock_init): Define as wrapper around glthread_lock_init.
35117         (glthread_lock_lock): New macro/function.
35118         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
35119         (glthread_lock_unlock): New macro/function.
35120         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
35121         (glthread_lock_destroy): New macro/function.
35122         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
35123         (glthread_rwlock_init): New macro/function.
35124         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
35125         (glthread_rwlock_rdlock): New macro/function.
35126         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
35127         (glthread_rwlock_wrlock): New macro/function.
35128         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
35129         (glthread_rwlock_unlock): New macro/function.
35130         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
35131         (glthread_rwlock_destroy): New macro/function.
35132         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
35133         (glthread_recursive_lock_init): New macro/function.
35134         (gl_recursive_lock_init): Define as wrapper around
35135         glthread_recursive_lock_init.
35136         (glthread_recursive_lock_lock): New macro/function.
35137         (gl_recursive_lock_lock): Define as wrapper around
35138         glthread_recursive_lock_lock.
35139         (glthread_recursive_lock_unlock): New macro/function.
35140         (gl_recursive_lock_unlock): Define as wrapper around
35141         glthread_recursive_lock_unlock.
35142         (glthread_recursive_lock_destroy): New macro/function.
35143         (gl_recursive_lock_destroy): Define as wrapper around
35144         glthread_recursive_lock_destroy.
35145         (glthread_once): New macro/function.
35146         (gl_once): Define as wrapper around glthread_once.
35147         Update function declarations.
35148         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
35149         glthread_rwlock_init. Return error code.
35150         (glthread_rwlock_rdlock_multithreaded): Renamed from
35151         glthread_rwlock_rdlock. Return error code.
35152         (glthread_rwlock_wrlock_multithreaded): Renamed from
35153         glthread_rwlock_wrlock. Return error code.
35154         (glthread_rwlock_unlock_multithreaded): Renamed from
35155         glthread_rwlock_unlock. Return error code.
35156         (glthread_rwlock_destroy_multithreaded): Renamed from
35157         glthread_rwlock_destroy. Return error code.
35158         (glthread_recursive_lock_init_multithreaded): Renamed from
35159         glthread_recursive_lock_init. Return error code.
35160         (glthread_recursive_lock_lock_multithreaded): Renamed from
35161         glthread_recursive_lock_lock. Return error code.
35162         (glthread_recursive_lock_unlock_multithreaded): Renamed from
35163         glthread_recursive_lock_unlock. Return error code.
35164         (glthread_recursive_lock_destroy_multithreaded): Renamed from
35165         glthread_recursive_lock_destroy. Return error code.
35166         (glthread_once_call): Make static.
35167         (glthread_once_multithreaded): Renamed from glthread_once.
35168         * lib/tls.h: Include <errno.h>.
35169         (glthread_tls_key_init): New macro/function.
35170         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
35171         (glthread_tls_set): New macro/function.
35172         (gl_tls_set): Define as wrapper around glthread_tls_set.
35173         (glthread_tls_key_destroy): New macro/function.
35174         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
35175         Update function declarations.
35176         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
35177         glthread_tls_get.
35178         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
35179
35180 2008-08-04  Eric Blake  <ebb9@byu.net>
35181
35182         gnumakefile: use space, not TAB, outside of targets
35183         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
35184
35185 2008-08-02  Jim Meyering  <meyering@redhat.com>
35186
35187         getdate.y: avoid locale-dependent date parsing failure
35188         In Turkish locales, getdate would fail to recognize keywords
35189         containing a lowercase "i".  The solution is not to rely on
35190         locale-sensitive case-conversion.
35191         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
35192         (lookup_word): Use c_toupper in place of toupper.
35193         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
35194         Reported by Vefa Bicakci <bicave@superonline.com> in
35195         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
35196         * modules/getdate (Depends-on): Add c-ctype.
35197
35198 2008-08-02  Bruno Haible  <bruno@clisp.org>
35199
35200         * gnulib-tool (func_import): When updating or creating a .gitignore
35201         file, prepend each added line with a slash, and ignore leading slashes
35202         from the existing lines.
35203         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
35204
35205 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35206
35207         Portability fix for GNU make 3.79.1.
35208         * top/GNUmakefile: Avoid 'else COND', which older GNU make
35209         versions do not understand.
35210
35211 2008-08-01  Bruno Haible  <bruno@clisp.org>
35212
35213         Work around bug of HP-UX 10.20 cc with -0.0 literal.
35214         * tests/test-isnanf.h (zero): New variable.
35215         (main): Avoid literal -0.0f.
35216         * tests/test-isnand.h (zero): New variable.
35217         (main): Avoid literal -0.0.
35218         * tests/test-isnanl.h (zero): New variable.
35219         (main): Avoid literal -0.0L.
35220         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
35221         (test_float, test_double, test_long_double): Avoid literals -0.0f,
35222         -0.0, -0.0L.
35223         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
35224         (test_signbitd): Avoid literal -0.0.
35225         (test_signbitl): Avoid literal -0.0L.
35226         * tests/test-ceilf1.c (zero): New variable.
35227         (main): Avoid literal -0.0f.
35228         * tests/test-ceill.c (zero): New variable.
35229         (main): Avoid literal -0.0L.
35230         * tests/test-floorf1.c (zero): New variable.
35231         (main): Avoid literal -0.0f.
35232         * tests/test-floorl.c (zero): New variable.
35233         (main): Avoid literal -0.0L.
35234         * tests/test-roundf1.c (zero): New variable.
35235         (main): Avoid literal -0.0f.
35236         * tests/test-round1.c (zero): New variable.
35237         (main): Avoid literal -0.0.
35238         * tests/test-roundl.c (zero): New variable.
35239         (main): Avoid literal -0.0L.
35240         * tests/test-truncf1.c (zero): New variable.
35241         (main): Avoid literal -0.0f.
35242         * tests/test-trunc1.c (zero): New variable.
35243         (main): Avoid literal -0.0.
35244         * tests/test-truncl.c (zero): New variable.
35245         (main): Avoid literal -0.0L.
35246         * tests/test-frexp.c (zero): New variable.
35247         (main): Avoid literal -0.0.
35248         * tests/test-frexpl.c (zero): New variable.
35249         (main): Avoid literal -0.0L.
35250         * tests/test-ldexpl.c (zero): New variable.
35251         (main): Avoid literal -0.0L.
35252         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
35253         (zerod, zerol): New variables.
35254         (test_function): Avoid literals -0.0, -0.0L.
35255         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
35256         (zerod, zerol): New variables.
35257         (test_function): Avoid literals -0.0, -0.0L.
35258         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
35259         (zerod, zerol): New variables.
35260         (test_function): Avoid literals -0.0, -0.0L.
35261         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
35262         (zerod, zerol): New variables.
35263         (test_function): Avoid literals -0.0, -0.0L.
35264         * tests/test-strtod.c (zero): New variable.
35265         (main): Avoid literal -0.0.
35266         Reported by Jonathan C. Patschke <jp@centtech.com>.
35267
35268 2008-07-31  Jim Meyering  <meyering@redhat.com>
35269
35270         sha256.h: correct definition of SHA224_DIGEST_SIZE
35271         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
35272         Reported by Paulie Pena IV <paulie4@gmail.com>.
35273         Define as 224 / 8, rather than as a literal.
35274         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
35275         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
35276         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
35277
35278 2008-07-31  Bruno Haible  <bruno@clisp.org>
35279
35280         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
35281         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
35282         Reported by Jonathan Patschke <jp@centtech.com>.
35283
35284 2008-07-31  Bruno Haible  <bruno@clisp.org>
35285
35286         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
35287         Reported by Paolo Bonzini <bonzini@gnu.org>.
35288
35289 2008-07-30  Eric Blake  <ebb9@byu.net>
35290
35291         test-strtod: allow compilation without -lm
35292         * tests/test-strtod.c (main): Avoid link dependence on fabs.
35293         Reported by Dennis Clarke <blastwave@gmail.com>.
35294
35295 2008-07-28  Jim Meyering  <meyering@redhat.com>
35296
35297         bootstrap: work also when there are no .po files in po/
35298         * build-aux/bootstrap (update_po_files): Complete the change
35299         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
35300
35301 2008-07-27  Jim Meyering  <meyering@redhat.com>
35302
35303         * users.txt: Add zile.
35304
35305 2008-07-26  Ben Pfaff  <blp@gnu.org>
35306
35307         Add missing dependencies on new m4/exponent[fdl].m4 files.
35308         * modules/isnanf-nolibm: Add m4/exponentf.m4.
35309         * modules/isnand-nolibm: Add m4/exponentd.m4.
35310         * modules/isnanl-nolibm: Add m4/exponentl.m4.
35311         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
35312         m4/isnan[fdl].m4, because the macros actually used moved.
35313         Reported by Jim Meyering.
35314
35315 2008-07-14  Ben Pfaff  <blp@gnu.org>
35316
35317         Add isinf module.
35318         * lib/isinf.c: New file.
35319         * lib/math.in.h: Define isinf macro if we have decided to replace
35320         it.
35321         * m4/isinf.m4: New file.
35322         * m4/math_h.m4: Initialize and substitute variables for isinf
35323         module.
35324         * modules/isinf: New file.
35325         * modules/isinf-tests: New file.
35326         * modules/math: Add substitutions for new module.
35327         * tests/test-isinf.c: New file.
35328         * doc/posix-functions/isinf.texi: Mention new module.
35329         * MODULES.html.sh: Mention new module.
35330
35331 2008-07-14  Ben Pfaff  <blp@gnu.org>
35332
35333         Factor out some macros for use by additional modules.
35334         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
35335         exponentf.m4.
35336         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
35337         exponentd.m4.
35338         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
35339         file exponentl.m4.
35340         * m4/exponentf.m4: New file.
35341         * m4/exponentd.m4: New file.
35342         * m4/exponentl.m4: New file.
35343         * modules/isnanf: Use new file m4/exponentf.m4.
35344         * modules/isnand: Use new file m4/exponentd.m4.
35345         * modules/isnanl: Use new file m4/exponentl.m4.
35346
35347 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
35348
35349         mktime.c: normalize tp->tm_isdst value to -1/0/1.
35350         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
35351         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
35352         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
35353
35354         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
35355         readlink on platforms without PATH_MAX.
35356
35357 2008-07-21  Eric Blake  <ebb9@byu.net>
35358
35359         Warn, not fail, on stale version.
35360         * top/GNUmakefile (_curr-ver): Tone down previous patch.
35361
35362         Don't allow installation with stale devel version number.
35363         * top/GNUmakefile (_is-install-target): New macro.
35364         (_curr-ver): Forbid installation with stale version number.
35365
35366 2008-07-20  Bruno Haible  <bruno@clisp.org>
35367
35368         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
35369         TESTS_ENVIRONMENT.
35370         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
35371
35372 2008-07-20  Bruno Haible  <bruno@clisp.org>
35373
35374         * lib/c-stack.h (c_stack_action): Add documentation.
35375         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
35376
35377 2008-07-20  Bruno Haible  <bruno@clisp.org>
35378
35379         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
35380         * modules/readlink (License): Likewise.
35381
35382 2008-07-17  Eric Blake  <ebb9@byu.net>
35383
35384         * modules/c-stack (Link): Fix typo.
35385
35386         Make c-stack use libsigsegv, when available.
35387         * modules/c-stack (Depends-on): Add libsigsegv.
35388         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
35389         needed.
35390         * lib/c-stack.c (SIGSTKSZ): Define fallback.
35391         (segv_handler, overflow_handler, c_stack_action)
35392         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
35393         implementation when libsigsegv is available, but only when using
35394         the library is necessary.
35395         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
35396         comment, explaining why XSI check fails on Linux.
35397         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
35398         * tests/test-c-stack2.sh: Tweak skip message.
35399         * NEWS: Document new link-time requirements.
35400
35401 2008-07-16  Eric Blake  <ebb9@byu.net>
35402
35403         c-stack: Expose false positives when not using libsigsegv.
35404         * modules/c-stack-tests (Files): Expand test.
35405         * tests/test-c-stack.c (main): Add means to conditionally trigger
35406         non-overflow SIGSEGV.
35407         * tests/test-c-stack2.sh: New file.
35408
35409 2008-07-14  Bruno Haible  <bruno@clisp.org>
35410
35411         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
35412         Reported by Eric Blake.
35413
35414 2008-07-14  Sam Steingold  <sds@gnu.org>
35415             Bruno Haible  <bruno@clisp.org>
35416
35417         New module libsigsegv.
35418         * modules/libsigsegv: New file.
35419         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
35420         modifications.
35421         * MODULES.html.sh (Signal handling): New section.
35422
35423 2008-07-14  Bruno Haible  <bruno@clisp.org>
35424
35425         * modules/unictype/ctype-* (Description): Add the word "function".
35426         Improves the resulting doc in MODULES.html.
35427
35428 2008-07-12  Ben Pfaff  <blp@gnu.org>
35429
35430         Add longlong module.
35431         * modules/longlong: New file.
35432
35433 2008-07-12  Bruno Haible  <bruno@clisp.org>
35434
35435         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
35436         to empty.
35437
35438 2008-07-10  Ben Pfaff  <blp@gnu.org>
35439
35440         Add isnan module.
35441         * doc/posix-functions/isnan.texi: Mention new module.
35442         * lib/math.in.h: Define isnan macro if we have decided to replace
35443         it.
35444         * m4/isnan.m4: New file.
35445         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
35446         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
35447         also.
35448         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
35449         redundancy.
35450         * m4/math_h.m4: Initialize and substitute variables for isnan
35451         module.
35452         * modules/isnan: New file.
35453         * modules/isnan-tests: New file.
35454         * modules/math: Add substitutions for new module.
35455         * tests/test-isnan.c: New file.
35456         * MODULES.html.sh: Mention new module.
35457
35458 2008-07-10  Ben Pfaff  <blp@gnu.org>
35459
35460         Add isnanf module.
35461         * lib/isnanf.m4: New file.
35462         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
35463         (gl_HAVE_ISNANF_IN_LIBM): New macro.
35464         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
35465         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
35466         * modules/isnanf: New file.
35467         * modules/isnanf-tests: New file.
35468         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
35469         files.
35470         * tests/test-isnanf-nolibm.c: factored most of its contents into
35471         new file tests/test-isnanf.h.
35472         * tests/test-isnanf.h: New file.
35473         * tests/test-isnanf.c: New file.
35474         * MODULES.html.sh: Mention new module.
35475         * doc/glibc-functions/isnanf.texi: Mention new module.
35476
35477 2008-07-10  Ben Pfaff  <blp@gnu.org>
35478
35479         Add isnand module.
35480         * lib/isnand.h: New file.
35481         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
35482         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
35483         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
35484         functionality also.
35485         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
35486         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
35487         (gl_HAVE_ISNAND_IN_LIBM): New macro.
35488         * modules/isnand: New file.
35489         * modules/isnand-tests: New file.
35490         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
35491         files.
35492         * tests/test-isnand-nolibm.c: factored most of its contents into
35493         new file tests/test-isnand.h.
35494         * tests/test-isnand.h: New file.
35495         * tests/test-isnand.c: New file.
35496         * MODULES.html.sh: Mention new module.
35497
35498 2008-07-10  Ben Pfaff  <blp@gnu.org>
35499
35500         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
35501         * lib/isnand.h: Rename lib/isnand-nolibm.h.
35502         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
35503         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
35504         * modules/isnanf-nolibm: Update references to renamed files.
35505         * modules/isnand-nolibm: Likewise.
35506         * modules/isnanf-nolibm-tests: Likewise.
35507         * modules/isnand-nolibm-tests: Likewise.
35508         * lib/frexp.c: Likewise.
35509         * lib/isfinite.c: Likewise.
35510         * lib/signbitd.c: Likewise.
35511         * lib/signbitf.c: Likewise.
35512         * lib/vasnprintf.c: Likewise.
35513         * tests/test-ceilf1.c: Likewise.
35514         * tests/test-ceilf2.c: Likewise.
35515         * tests/test-floorf1.c: Likewise.
35516         * tests/test-floorf2.c: Likewise.
35517         * tests/test-frexp.c: Likewise.
35518         * tests/test-round1.c: Likewise.
35519         * tests/test-round2.c: Likewise.
35520         * tests/test-roundf1.c: Likewise.
35521         * tests/test-strtod.c: Likewise.
35522         * tests/test-trunc1.c: Likewise.
35523         * tests/test-trunc2.c: Likewise.
35524         * tests/test-truncf1.c: Likewise.
35525         * tests/test-truncf2.c: Likewise.
35526         * NEWS: Mention the renamed header files.
35527
35528 2008-07-11  Jim Meyering  <meyering@redhat.com>
35529
35530         vc-list-files: make the last-resort awk code more portable
35531         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
35532         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
35533         does not support it.
35534
35535 2008-07-10  Eric Blake  <ebb9@byu.net>
35536
35537         Work with tar's bootstrap.
35538         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
35539         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
35540         an m4 comment.
35541
35542 2008-07-09  Jim Meyering  <meyering@redhat.com>
35543
35544         posix-shell.m4: fix typo that made this test malfunction
35545         * m4/posix-shell.m4: Remove capitalization in variable name.
35546
35547 2008-07-08  Bruno Haible  <bruno@clisp.org>
35548
35549         * m4/onceonly.m4: Update comments.
35550         Reported by Ben Pfaff <blp@cs.stanford.edu>.
35551
35552 2008-07-04  Jim Meyering  <meyering@redhat.com>
35553
35554         * users.txt: Add vc-dwim.
35555         (bison, coreutils): Use the gitweb URL.
35556
35557 2008-07-03  Jim Meyering  <meyering@redhat.com>
35558
35559         * users.txt: Add libffcall.  From Sam Steingold.
35560
35561 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
35562
35563         getdate.y: do not ignore TZ with relative day, month or year offset
35564         * lib/getdate.y (get_date): Move the tz-handling block to follow the
35565         relative-date-handling, since otherwise, the latter would clobber the
35566         sole output (an updated Start value) of the tz-handling block.
35567         * tests/test-getdate.c: Tests for the fix
35568
35569 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35570
35571         Recognize 'foo_LIBRARIES += libgnu.a'.
35572         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
35573         makefile snippet has already specified an installation location,
35574         also using '+='.
35575
35576 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
35577
35578         getdate.y: factor out common actions
35579         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
35580         Use them in place of open-coded actions.
35581
35582 2008-07-01  Simon Josefsson  <simon@josefsson.org>
35583
35584         Add self-test for getdate module.
35585         * modules/getdate-tests: New file.
35586         * tests/test-getdate.c: New file.
35587
35588 2008-06-29  Bruno Haible  <bruno@clisp.org>
35589
35590         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
35591         .gitignore.
35592         Reported by Sylvain Beucler <beuc@beuc.net>.
35593
35594 2008-06-29  Bruno Haible  <bruno@clisp.org>
35595
35596         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
35597         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
35598
35599 2008-06-29  Bruno Haible  <bruno@clisp.org>
35600
35601         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
35602         EXTRA_DIST.
35603         Reported by Sylvain Beucler <beuc@beuc.net>.
35604
35605 2008-06-26  Jim Meyering  <meyering@redhat.com>
35606
35607         make several modules depend on the "open" module
35608         This provides slightly increased consistency when opening-for-write
35609         the name of a non-directory spelled with a trailing slash.
35610         * modules/chdir-safer: Likewise.
35611         * modules/chown: Likewise.
35612         * modules/clean-temp: Likewise.
35613         * modules/copy-file: Likewise.
35614         * modules/fchdir: Likewise.
35615         * modules/fcntl-safer: Likewise.
35616         * modules/pipe: Likewise.
35617         * modules/utime: Likewise.
35618         Prompted by Eric Blake and Bruno Haible.
35619
35620 2008-06-24  Andreas Schwab  <schwab@suse.de>
35621
35622         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
35623         literals can be used as initializers for global variables.
35624
35625 2008-06-23  Eric Blake  <ebb9@byu.net>
35626
35627         Make gnulib-cache.m4 easier to diff.
35628         * gnulib-tool (func_import): Allow newlines when reading cached
35629         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
35630
35631 2008-06-23  Bruno Haible  <bruno@clisp.org>
35632
35633         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
35634         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
35635         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
35636         m4/signalblocking.m4.
35637         (gl_PREREQ_SIGACTION): Don't invoke it.
35638         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
35639         gl_PREREQ_SIG_HANDLER_H.
35640         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
35641         Don't check for sigaction here.
35642
35643 2008-06-23  Bruno Haible  <bruno@clisp.org>
35644
35645         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
35646         (install_handlers): Don't set the SA_RESETHAND flag.
35647
35648 2008-06-23  Bruno Haible  <bruno@clisp.org>
35649
35650         * m4/sigaction.m4: Comment fixes.
35651         * lib/signal.in.h: Likewise.
35652
35653 2008-06-23  Eric Blake  <ebb9@byu.net>
35654
35655         Fix typo.
35656         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
35657
35658         Avoid SA_ namespace.
35659         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
35660         Reported by Ralf Wildenhues.
35661
35662         Avoid test failure due to SA_RESTORER.
35663         * tests/test-sigaction.c (SA_MASK): New macro.
35664         (main): Avoid failing due to extension flags being set.
35665         Reported by Jim Meyering.
35666
35667         Revert use of sig-handler.h in sigprocmask.c.
35668         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
35669         it requires the existence of struct sigaction.
35670         * lib/sigprocmask.c (handler_t): Restore typedef.
35671         (rpl_signal, old_handlers): Use local type.
35672
35673 2008-06-22  Bruno Haible  <bruno@clisp.org>
35674
35675         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
35676         conditionally.
35677         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35678
35679 2008-06-22  Bruno Haible  <bruno@clisp.org>
35680
35681         * doc/posix-functions/siginterrupt.texi: Move note.
35682
35683         * lib/signal.in.h (SA_RESTART): New macro.
35684         * lib/sigaction.c: Update comment.
35685
35686         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
35687
35688         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
35689         (gl_PREREQ_SIGPROCMASK): Invoke it.
35690         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
35691
35692         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
35693
35694         * lib/sigprocmask.c: Update a comment.
35695
35696 2008-06-21  Eric Blake  <ebb9@byu.net>
35697
35698         Use sigaction module rather than signal().
35699         * modules/c-stack (Depends-on): Add sigaction.
35700         * modules/fatal-signal (Depends-on): Likewise.
35701         * modules/nanosleep (Depends-on): Likewise.
35702         * modules/sigprocmask (Files): Add sig-handler.h.
35703         * modules/sigaction (Files): Likewise.
35704         * lib/sig-handler.h (get_handler): New file, suggested by Paul
35705         Eggert.
35706         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
35707         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
35708         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
35709         (init_fatal_signals): Likewise.
35710         * lib/nanosleep.c (rpl_nanosleep): Likewise.
35711         (siginterrupt): Delete fallback.
35712         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
35713         instead.
35714         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
35715         siginterrupt.
35716
35717         New module sigaction, for mingw.
35718         * modules/sigaction: New module...
35719         * modules/sigaction-tests: ...and its test.
35720         * m4/sigaction.m4: New file.
35721         * lib/sigaction.c: Likewise.
35722         * tests/test-sigaction.c: Likewise.
35723         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
35724         * modules/signal (Makefile.am): Likewise.
35725         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
35726         needed.
35727         * doc/posix-headers/signal.texi (signal.h): Mention provided
35728         types.
35729         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
35730         that sigaction is preferable.
35731         * doc/posix-functions/sigaction.texi (sigaction): Mention new
35732         module.
35733         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
35734         sigaction.
35735
35736         Improve robustness of sigprocmask by overriding signal.
35737         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
35738         is in use.
35739         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
35740         (SIGKILL, SIGSTOP): Provide fallbacks.
35741         (rpl_signal): Implement.
35742         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
35743         signal can be called inside handlers.
35744
35745         Fix nanosleep module on mingw.
35746         * modules/nanosleep (Depends-on): Add sys_select.
35747         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
35748
35749         Fix licensing of sigprocmask.
35750         * modules/raise (License): Relicense as LGPL.
35751
35752 2008-06-21  Bruno Haible  <bruno@clisp.org>
35753
35754         * lib/propername.c (proper_name_utf8): Don't use the transliterated
35755         result if it contains question marks.
35756         Reported by Michael Geng <linux@michaelgeng.de>.
35757
35758 2008-06-19  Bruno Haible  <bruno@clisp.org>
35759
35760         Fix CVS-ism.
35761         * doc/gnulib.texi: Include updated-stamp.texi.
35762         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
35763         (updated-stamp.texi): New rule.
35764         (gnulib.info): Depend on it.
35765         * doc/.gitignore: Add updated-stamp.texi.
35766         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
35767
35768 2008-06-19  Bruno Haible  <bruno@clisp.org>
35769
35770         * doc/Makefile (gnulib.info): Update and simplify dependencies.
35771         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
35772
35773 2008-06-19  Eric Blake  <ebb9@byu.net>
35774
35775         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
35776         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
35777         Reported by Stepan Kasal.
35778
35779 2008-06-18  Bruno Haible  <bruno@clisp.org>
35780
35781         * lib/fatal-signal.c (init_fatal_signals): Add comment.
35782         Reported by Eric Blake.
35783
35784 2008-06-18  Eric Blake  <ebb9@byu.net>
35785
35786         Work around cygwin 1.5.25 strsignal bug.
35787         * tests/test-strsignal.c: Allow for const char *.
35788         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
35789
35790 2008-06-18  Simon Josefsson  <simon@josefsson.org>
35791
35792         * users.txt: Update URL to article and add author/date
35793         information.
35794
35795 2008-06-17  Bruno Haible  <bruno@clisp.org>
35796
35797         New macro gl_DISABLE_THREADS.
35798         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
35799         if the user did not pass --enable-threads or --disable-threads option.
35800         (gl_DISABLE_THREADS): New macro.
35801         Reported by Eric Blake <ebb9@byu.net>.
35802
35803 2008-06-17  Bruno Haible  <bruno@clisp.org>
35804
35805         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
35806         when the macro ignores it.
35807         Based on a patch by Eric Blake <ebb9@byu.net>.
35808
35809 2008-06-17  Bruno Haible  <bruno@clisp.org>
35810
35811         * modules/tls (License): Change to LGPLv2+.
35812         Reported by Eric Blake.
35813
35814 2008-06-17  Eric Blake  <ebb9@byu.net>
35815
35816         Simplify c-stack prerequisites.
35817         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
35818         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
35819         no longer requires <ucontext.h> to exist.  Optimize setrlimit
35820         check.
35821         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
35822         <sys/resource.h>.
35823
35824         Move c-stack test into testsuite.
35825         * modules/c-stack-tests: New file.
35826         * lib/c-stack.c [DEBUG]: Move test program...
35827         * tests/test-c-stack.c: ...into this new file.  Skip rather than
35828         fail test if sigaltstack is lacking.
35829         * tests/test-c-stack.sh: New driver file.
35830
35831 2008-06-16  Eric Blake  <ebb9@byu.net>
35832
35833         Use raise module consistently.
35834         * modules/fatal-signal (Depends-on): Add raise.
35835         * modules/sigprocmask (Depends-on): Likewise.
35836         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
35837         * lib/sigprocmask.c (sigprocmask): Likewise.
35838         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
35839         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
35840
35841         Fix compliance bug in sigpending.
35842         * lib/sigprocmask.c (sigpending): Return pending array via
35843         parameter, not return value.
35844
35845 2008-06-14  Eric Blake  <ebb9@byu.net>
35846
35847         Improve obstack-printf test code.
35848         * tests/test-obstack-printf.c (test_function): Fix comment, and
35849         simplify usage of obstack_* in macros.  Add a test for coverage.
35850         Reported by Bruno Haible.
35851
35852 2008-06-14  Bruno Haible  <bruno@clisp.org>
35853
35854         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
35855         array size as a constant, not as a const variable.
35856         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
35857         AC_USE_SYSTEM_EXTENSIONS.
35858         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
35859         Test whether the obstack_printf function actually exists.
35860         * modules/obstack-printf (Depends-on): Add extensions.
35861         (Include): Remove obstack.h.
35862         * modules/obstack-printf-posix (Depends-on): Add extensions.
35863         (Include): Remove obstack.h.
35864
35865 2008-06-13  Eric Blake  <ebb9@byu.net>
35866
35867         Add obstack-printf and obstack-printf-posix modules.
35868         * modules/obstack-printf: New file.
35869         * modules/obstack-printf-posix: Likewise.
35870         * MODULES.html.sh (Misc): Mention them.
35871         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
35872         Likewise.
35873         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
35874         Likewise.
35875         * modules/stdio (Makefile.am): Accomodate new modules.
35876         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
35877         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
35878         Declare.
35879         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
35880         functions.
35881         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
35882         (gl_REPLACE_OBSTACK_PRINTF): New macros
35883         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
35884         * tests/test-obstack-printf.c: New file.
35885         * modules/obstack-printf-tests: Likewise.
35886         * modules/obstack-printf-posix-tests: Likewise.
35887
35888 2008-06-11  Bruno Haible  <bruno@clisp.org>
35889
35890         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
35891         * lib/open.c: Include errno.h.
35892         (open): Fail when attempting to write to a file that has a trailing
35893         slash.
35894         * tests/test-open.c (main): Test against trailing slash bug.
35895         * doc/posix-functions/open.texi: Mention the trailing slash bug.
35896
35897 2008-06-10  Bruno Haible  <bruno@clisp.org>
35898
35899         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
35900         for $? to work inside the trap command, with various /bin/sh-s.
35901         * tests/test-vc-list-files-cvs.sh: Likewise.
35902
35903 2008-06-10  Bruno Haible  <bruno@clisp.org>
35904
35905         * lib/acl-internal.h: Don't include gettext.h here.
35906         * lib/set-mode-acl.c: Include gettext.h here.
35907         * lib/copy-acl.c: Likewise.
35908
35909 2008-06-10  Bruno Haible  <bruno@clisp.org>
35910
35911         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
35912         * lib/wait-process.c (wait_subprocess): Likewise.
35913         * lib/execute.h (execute): Add termsigp argument.
35914         * lib/execute.c (execute): Likewise.
35915         * lib/csharpcomp.c (compile_csharp_using_pnet,
35916         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
35917         * lib/csharpexec.c (execute_csharp_using_pnet,
35918         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
35919         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
35920         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
35921         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
35922         is_jikes_present): Update.
35923         * lib/javaexec.c (execute_java_class): Update.
35924         * lib/javaversion.c (execute_and_read_line): Update.
35925         * NEWS: Document the changes.
35926         Reported by Eric Blake.
35927
35928 2008-06-10  Eric Blake  <ebb9@byu.net>
35929
35930         Add missing include.
35931         * tests/test-strstr.c (includes): Add <signal.h>.
35932         * tests/test-strcasestr.c (includes): Likewise.
35933         * tests/test-memmem.c (includes): Likewise.
35934
35935 2008-06-10  Bruno Haible  <bruno@clisp.org>
35936
35937         * lib/wait-process.c (wait_subprocess): Add an assertion.
35938
35939 2008-06-10  Bruno Haible  <bruno@clisp.org>
35940
35941         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
35942
35943 2008-06-10  Bruno Haible  <bruno@clisp.org>
35944
35945         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
35946         using alarm().
35947         * tests/test-strcasestr.c (main): Likewise.
35948         * tests/test-strstr.c (main): Likewise.
35949
35950 2008-06-09  Bruno Haible  <bruno@clisp.org>
35951
35952         Work around the Solaris 10 ACE ACLs ABI change.
35953         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
35954         declare if ACL_NO_TRIVIAL is present.
35955         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
35956         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
35957         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
35958         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
35959         define if ACL_NO_TRIVIAL is present.
35960         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
35961         and use the current ABI.
35962         (file_has_acl): Use same #if condition as elsewhere.
35963         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
35964         in use, and use the current ABI.
35965         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
35966         Reported by Jim Meyering.
35967
35968 2008-06-09  Eric Blake  <ebb9@byu.net>
35969
35970         Work around environments that (stupidly) ignore SIGALRM.
35971         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
35972         before using alarm().
35973         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
35974         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
35975         Reported by Ian Beckwith <ianb@erislabs.net>.
35976
35977         Produce autobuild blurb earlier in log.
35978         * modules/autobuild (configure.ac-early): Move AB_INIT here.
35979
35980 2008-06-09  Jim Meyering  <meyering@redhat.com>
35981         and OndÅ™ej Vašík  <ovasik@redhat.com>
35982
35983         utimens.c: correct kernel bug work-around
35984         OndÅ™ej Vašík found that the invalid return value of 280 indicates
35985         failure, not success, and the kernel bug we're trying to work
35986         around affects not just the utimensat call, but also the fallback
35987         futimens call.
35988         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
35989         not success.
35990         [HAVE_FUTIMENS]: Use the same work-around, here.
35991
35992 2008-06-09  Jim Meyering  <meyering@redhat.com>
35993
35994         add more guards around definition of ACE_-related code
35995         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
35996         ALLOW and ACE_OWNER are also defined.
35997
35998 2008-06-08  Bruno Haible  <bruno@clisp.org>
35999
36000         * lib/acl-internal.h: Add me as co-author.
36001         * lib/file-has-acl.c: Likewise.
36002         * lib/set-mode-acl.c: Likewise.
36003         * lib/copy-acl.c: Likewise.
36004
36005 2008-06-08  Bruno Haible  <bruno@clisp.org>
36006
36007         Add support for AIX ACLs.
36008         * lib/acl-internal.h (acl_nontrivial): New declaration.
36009         * lib/file-has-acl.c (acl_nontrivial): New function.
36010         (file_has_acl): Add implementation using AIX 4 ACL API.
36011         * lib/set-mode-acl.c (qset_acl): Likewise.
36012         * lib/copy-acl.c (qcopy_acl): Likewise.
36013
36014 2008-06-08  Bruno Haible  <bruno@clisp.org>
36015
36016         Add support for HP-UX ACLs.
36017         * lib/acl-internal.h (acl_nontrivial): New declaration.
36018         * lib/file-has-acl.c (acl_nontrivial): New function.
36019         (file_has_acl): Add implementation using HP-UX 11 ACL API.
36020         * lib/set-mode-acl.c (qset_acl): Likewise.
36021         * lib/copy-acl.c (qcopy_acl): Likewise.
36022
36023 2008-06-08  Bruno Haible  <bruno@clisp.org>
36024
36025         Add support for Cygwin ACLs.
36026         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
36027         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
36028         the chmod_or_fchmod call.
36029         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
36030
36031 2008-06-08  Bruno Haible  <bruno@clisp.org>
36032
36033         Fix bug with setuid modes in Solaris 10+ code.
36034         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
36035         succeeded, when the mode contains some special bits.
36036
36037 2008-06-08  Bruno Haible  <bruno@clisp.org>
36038
36039         Add support for Solaris 7..10 ACLs.
36040         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
36041         declarations.
36042         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
36043         functions.
36044         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
36045         * lib/set-mode-acl.c (qset_acl): Likewise.
36046         * lib/copy-acl.c (qcopy_acl): Likewise.
36047
36048 2008-06-08  Bruno Haible  <bruno@clisp.org>
36049
36050         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
36051         declaration.
36052         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
36053         (acl_access_nontrivial): Remove MacOS X case.
36054         (file_has_acl): Use acl_extended_nontrivial.
36055         * lib/copy-acl.c (qcopy_acl): Likewise.
36056
36057 2008-06-08  Bruno Haible  <bruno@clisp.org>
36058
36059         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
36060
36061 2008-06-08  Jim Meyering  <meyering@redhat.com>
36062
36063         * modules/acl (Maintainer): Add Bruno Haible.
36064
36065 2008-06-07  Bruno Haible  <bruno@clisp.org>
36066
36067         Improve support for Tru64 ACLs.
36068         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
36069         ACL on OSF/1.
36070
36071 2008-06-07  Bruno Haible  <bruno@clisp.org>
36072
36073         Add support for MacOS X ACLs.
36074         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
36075         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
36076         * lib/set-mode-acl.c (qset_acl): Likewise.
36077         * lib/copy-acl.c (qcopy_acl): Likewise.
36078
36079 2008-06-07  Bruno Haible  <bruno@clisp.org>
36080
36081         Fix memory leak introduced on 2008-05-22.
36082         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
36083         use.
36084
36085 2008-06-07  Bruno Haible  <bruno@clisp.org>
36086
36087         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
36088         to construct an empty ACL.
36089
36090 2008-06-07  Bruno Haible  <bruno@clisp.org>
36091
36092         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
36093         precisely.
36094         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
36095
36096 2008-06-07  Bruno Haible  <bruno@clisp.org>
36097
36098         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
36099         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
36100
36101 2008-06-07  Bruno Haible  <bruno@clisp.org>
36102
36103         * doc/posix-functions/_setjmp.texi: Explain the use of this function
36104         regardless of POSIX.
36105         * doc/posix-functions/_longjmp.texi: Likewise.
36106         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
36107         SystemV platform in this case.
36108
36109 2008-06-06  Eric Blake  <ebb9@byu.net>
36110
36111         Document abort() bugs.
36112         * doc/posix-functions/abort.texi (abort): Mention anomalies.
36113
36114         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
36115         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
36116         sigsetjmp.
36117         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
36118         siglongjmp, but only as a macro.
36119         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
36120         is obsolete.
36121         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
36122
36123         Tweak documentation to cover cygwin argz bugs.
36124         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
36125         argz bug fix; no code change needed since no cygwin releases
36126         occurred between the last fix and the bug being tested.
36127         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
36128         module and recently fixed cygwin bugs.
36129         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
36130         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
36131         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
36132         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
36133         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
36134         Likewise.
36135         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
36136         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
36137         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
36138         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
36139         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
36140         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
36141         Likewise.
36142
36143         Avoid gcc warning on cygwin.
36144         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
36145         !ACL_NO_TRIVIAL]: Avoid unused variable.
36146
36147 2008-06-05  Eric Blake  <ebb9@byu.net>
36148
36149         Be tolerant of UNKNOWN version in gnulib-tool test dir.
36150         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
36151         git-version-gen fails to come up with a version.
36152         Reported by Simon Josefsson.
36153
36154 2008-06-05  Jim Meyering  <meyering@redhat.com>
36155             Paul Eggert  <eggert@cs.ucla.edu>
36156
36157         utimens.c: work around a probable Linux kernel bug
36158         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
36159         appears to be a kernel bug that causes utimensat to return 280
36160         instead of 0, indicating success.
36161
36162 2008-06-04  Bruno Haible  <bruno@clisp.org>
36163
36164         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
36165         2008-06-01 commit.
36166
36167 2008-06-04  Bruno Haible  <bruno@clisp.org>
36168
36169         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
36170         * lib/file-has-acl.c (acl_access_nontrivial): New function.
36171         (file_has_acl): Use it. Save errno afterwards.
36172         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
36173
36174 2008-06-03  Bruno Haible  <bruno@clisp.org>
36175
36176         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
36177         draft code. Simplify #ifs.
36178         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
36179         Put Solaris code after POSIX-draft code. Fix comments regarding
36180         Solaris 10, HP-UX. Mention Cygwin.
36181         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
36182
36183 2008-06-03  Eric Blake  <ebb9@byu.net>
36184
36185         Provide fallback for older kernels.
36186         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
36187         Provide runtime fallback if kernel lacks support.
36188         Reported by Mike Frysinger.
36189
36190 2008-06-02  Bruno Haible  <bruno@clisp.org>
36191
36192         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
36193         it exists.
36194
36195 2008-06-02  Bruno Haible  <bruno@clisp.org>
36196
36197         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
36198         * lib/copy-acl.c (qcopy_acl): Update comment.
36199
36200 2008-06-02  Bruno Haible  <bruno@clisp.org>
36201
36202         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
36203         like ACL APIs.
36204
36205 2008-06-02  Bruno Haible  <bruno@clisp.org>
36206
36207         * tests/test-file-has-acl.sh: Use different code for Cygwin.
36208         * tests/test-set-mode-acl.sh: Likewise.
36209         * tests/test-copy-acl.sh: Likewise.
36210         * tests/test-copy-file.sh: Likewise.
36211
36212 2008-06-02  Bruno Haible  <bruno@clisp.org>
36213
36214         * tests/test-file-has-acl.sh: Remove unused code.
36215
36216 2008-06-01  Bruno Haible  <bruno@clisp.org>
36217
36218         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
36219         (copy_acl): Just a wrapper around qcopy_acl that emits the error
36220         messages.
36221         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
36222
36223 2008-06-01  Bruno Haible  <bruno@clisp.org>
36224
36225         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
36226         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
36227         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
36228         APIs.
36229         * modules/acl-tests (configure.ac): Remove tests now contained in
36230         m4/acl.m4.
36231
36232 2008-06-02  Jim Meyering  <meyering@redhat.com>
36233
36234         announce-gen: use a better key-server host name
36235         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
36236         it may be more consistently reliable.  Suggested by Werner Koch
36237         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
36238
36239 2008-06-01  Bruno Haible  <bruno@clisp.org>
36240
36241         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
36242         Reported by Voroskoi Andras <voroskoi@gmail.com>.
36243
36244 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
36245
36246         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
36247
36248 2008-06-01  Bruno Haible  <bruno@clisp.org>
36249
36250         New ACL tests.
36251         * tests/test-file-has-acl.sh: New file.
36252         * tests/test-file-has-acl.c: New file.
36253         * tests/test-set-mode-acl.sh: New file.
36254         * tests/test-set-mode-acl.c: New file.
36255         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
36256         * tests/test-copy-acl.c: New file.
36257         * modules/acl-tests: New file, based on modules/copy-file-tests.
36258         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
36259         (Depends-on): Add acl-tests.
36260         (configure.ac): Remove checks.
36261         (Makefile.am): Don't create test-sameacls program here any more.
36262
36263 2008-06-01  Bruno Haible  <bruno@clisp.org>
36264
36265         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
36266         * tests/test-sameacls.c: Include progname.h.
36267         (main): Invoke set_program_name. Portability fixes for MacOS X,
36268         Solaris, HP-UX.
36269
36270 2008-06-01  Bruno Haible  <bruno@clisp.org>
36271
36272         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
36273         function.
36274         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
36275
36276 2008-06-01  Bruno Haible  <bruno@clisp.org>
36277
36278         * modules/rpmatch (Depends-on): Add strdup.
36279
36280 2008-06-01  Bruno Haible  <bruno@clisp.org>
36281
36282         * lib/pipe.c: Include unistd-safer.h.
36283         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
36284         * modules/pipe (Depends-on): Add unistd-safer.
36285
36286 2008-05-30  Simon Josefsson  <simon@josefsson.org>
36287
36288         * modules/autobuild (configure.ac): Call AB_INIT.
36289
36290 2008-05-30  Simon Josefsson  <simon@josefsson.org>
36291
36292         * tests/test-getaddrinfo.c: Don't print debug messages by default.
36293         Suggested by Bruno Haible <bruno@clisp.org>.
36294
36295 2008-05-30  Simon Josefsson  <simon@josefsson.org>
36296
36297         * tests/test-base64.c: Cast size_t to unsigned long when invoking
36298         printf.  Use %lu instead of %d.  Reported by Bruno Haible
36299         <bruno@clisp.org>.
36300
36301 2008-05-29  Eric Blake  <ebb9@byu.net>
36302
36303         Prefer new POSIX 200x interfaces over futimesat.
36304         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
36305         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
36306         when available.
36307         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
36308
36309 2008-05-28  Bruno Haible  <bruno@clisp.org>
36310
36311         * modules/stpcpy (License): Change to LGPLv2+.
36312         Requested by David Lutterkort <dlutter@redhat.com>.
36313
36314 2008-05-27  Bruno Haible  <bruno@clisp.org>
36315
36316         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
36317         current mingw.
36318         Reported by Jose E. Marchesi <jemarch@gnu.org>.
36319
36320 2008-05-27  Bruno Haible  <bruno@clisp.org>
36321
36322         * modules/iconv_open (Link): New section, from module 'iconv'.
36323         * modules/striconv (Link): Likewise.
36324         * modules/striconveh (Link): Likewise.
36325         * modules/xstriconv (Link): Likewise.
36326         * modules/unicodeio (Link): Likewise.
36327         * modules/propername (Link): Likewise.
36328         Reported by Jim Meyering.
36329
36330 2008-05-26  Jim Meyering  <meyering@redhat.com>
36331
36332         sha256: do not artificially restrict buffer length to be < 2^32
36333         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
36334         uint32_t to size_t.
36335         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
36336         to match.
36337
36338         avoid unaligned access errors, e.g., on sparc
36339         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
36340         direct access through a possibly-unaligned uint64* pointer.
36341         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
36342         direct access through a possibly-unaligned uint32* pointer.
36343         Prompted by this patch from Tom "spot" Callaway:
36344         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
36345
36346         sha512.c: fix typo in comment
36347         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
36348
36349 2008-05-25  Bruno Haible  <bruno@clisp.org>
36350
36351         * lib/set-mode-acl.c: Renamed from lib/acl.c.
36352         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
36353         (Makefile.am): Update lib_SOURCES.
36354
36355 2008-05-25  Bruno Haible  <bruno@clisp.org>
36356
36357         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
36358
36359 2008-05-25  Jim Meyering  <meyering@redhat.com>
36360
36361         useless-if-before-free: freed expr may have white-space differences
36362         * build-aux/useless-if-before-free: Recognize cases in which the
36363         freed expression differs from the tested one in embedded white
36364         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
36365         $1 was used, so we can't make any regexp shy.  Improved tests now
36366         detect this.
36367
36368         useless-if-before-free: accept white space in the expression.
36369         * build-aux/useless-if-before-free: For now, any white space
36370         in the expression must be identical in the free argument.
36371
36372         useless-if-before-free: efficiency tweak
36373         * build-aux/useless-if-before-free: Make the expression-matching
36374         regexp "shy".
36375         Make the *outer* regexp shy, not the expr-matching one.
36376
36377         update code-in-comment to accept cast of free arg
36378         * build-aux/useless-if-before-free: Update regexp.
36379
36380 2008-05-25  Bruno Haible  <bruno@clisp.org>
36381
36382         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
36383         * modules/copy-file-tests (Files, Makefile.am): Update.
36384         * tests/test-copy-file.c (func_test_copy): Update.
36385
36386 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
36387
36388         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
36389
36390 2008-05-23  Bruno Haible  <bruno@clisp.org>
36391
36392         Improve support for ACLs on OSF/1.
36393         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
36394         Remove fallback for unknown flavors of ACLs.
36395
36396 2008-05-22  Bruno Haible  <bruno@clisp.org>
36397
36398         Add support for ACLs on OSF/1.
36399         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
36400         replacements.
36401         (acl_free_text): New macro fallback.
36402         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
36403         acl_free.
36404         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
36405         acl_free_text function. Require AC_C_INLINE.
36406
36407 2008-05-22  Bruno Haible  <bruno@clisp.org>
36408
36409         Make copy_acl work on MacOS X 10.5.
36410         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
36411         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
36412         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
36413         If MODE_INSIDE_ACL, don't assume that every system has the same text
36414         representation for ACLs as FreeBSD.
36415         * lib/copy-acl.c (copy_acl): Add support for platforms with
36416         !MODE_INSIDE_ACL.
36417         * lib/file-has-acl.c (file_has_acl): Likewise.
36418         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
36419         FreeBSD, MacOS X, or IRIX, respectively.
36420
36421 2008-05-22  Bruno Haible  <bruno@clisp.org>
36422
36423         * lib/acl.h: Don't include <sys/acl.h>.
36424         (GETACLCNT): Move fallback to lib/acl-internal.h.
36425         * lib/acl-internal.h: Include <sys/acl.h> here.
36426         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
36427
36428 2008-05-22  Bruno Haible  <bruno@clisp.org>
36429
36430         Split off copy_acl function to separate file.
36431         * lib/copy-acl.c: New file, extracted from lib/acl.c.
36432         * lib/acl.c (copy_acl): Moved function to separate file.
36433         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
36434         * modules/acl (Files): Add lib/copy-acl.c.
36435         (Makefiles.am): Augment lib_SOURCES.
36436
36437 2008-05-22  Bruno Haible  <bruno@clisp.org>
36438
36439         * modules/copy-file-tests: New file.
36440         * tests/test-copy-file.sh: New file.
36441         * tests/test-copy-file.c: New file.
36442         * tests/test-copy-file-sameacls.c: New file.
36443
36444 2008-05-22  Eric Blake  <ebb9@byu.net>
36445
36446         Avoid gcc warning.
36447         * tests/test-memcmp.c (main): Pass NULL indirectly.
36448
36449 2008-05-21  Bruno Haible  <bruno@clisp.org>
36450
36451         Add reference doc about ACLs.
36452         * doc/acl-resources.txt: New file.
36453         * doc/acl-cygwin.txt: New file.
36454
36455 2008-05-21  Bruno Haible  <bruno@clisp.org>
36456
36457         Avoid one more warning from gcc.
36458         * lib/vasnprintf.c (IF_LINT): Update comments.
36459         (VASNPRINTF): Use it also for the 'prefix' array initializer.
36460
36461 2008-05-21  Jim Meyering  <meyering@redhat.com>
36462
36463         avoid a warning from gcc
36464         * lib/vasnprintf.c (IF_LINT): Define.
36465         (scale10_round_decimal_long_double):
36466         Use it to avoid a "may be used uninitialized" warning.
36467         (scale10_round_decimal_double): Likewise.
36468
36469 2008-05-21  Simon Josefsson  <simon@josefsson.org>
36470
36471         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
36472         declared.
36473
36474 2008-05-20  Bruno Haible  <bruno@clisp.org>
36475
36476         * tests/test-memcmp.c (main): Test also the sign of the result. Test
36477         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
36478
36479 2008-05-20  Simon Josefsson  <simon@josefsson.org>
36480
36481         * modules/memcmp-tests: New file.
36482         * tests/test-memcmp.c: New file.
36483
36484 2008-05-19  Bruno Haible  <bruno@clisp.org>
36485
36486         * modules/propername (Notice, configure.ac): Put quoted "..." into
36487         --keyword option.
36488         * lib/propername.h: Update comments accordingly.
36489         Reported by Eric Blake.
36490
36491 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
36492
36493         * modules/getpass-gnu (Depends-on): Add fseeko.
36494
36495 2008-05-19  Simon Josefsson  <simon@josefsson.org>
36496
36497         * modules/base64-tests: New file.
36498
36499 2008-05-19  Bo Borgerson <gigabo@gmail.com>
36500
36501         * lib/base64.c (base64_decode_ctx): If a decode context structure
36502         was passed in use it to ignore newlines.  If a context structure
36503         was _not_ passed in, continue to treat newlines as garbage (this
36504         is the historical behavior).  Formerly base64_decode.
36505         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
36506         takes a decode context structure.
36507         * lib/base64.h (base64_decode): Macro for four-argument calls.
36508         (base64_decode_alloc): Likewise.
36509         * lib/base64.c (base64_decode_ctx): If a decode context structure
36510         was passed in use it to ignore newlines.  If a context structure
36511         was _not_ passed in, continue to treat newlines as garbage (this
36512         is the historical behavior).  Formerly base64_decode.
36513         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
36514         takes a decode context structure.
36515         * lib/base64.h (base64_decode): Macro for four-argument calls.
36516         (base64_decode_alloc): Likewise.
36517
36518 2008-05-19  Jim Meyering  <meyering@redhat.com>
36519
36520         avoid a warning from gcc
36521         * lib/trim.c (IF_LINT): Define.
36522         (trim2): Use it to avoid a "may be used uninitialized" warning.
36523
36524         Fix doc typo.
36525         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
36526
36527 2008-05-19  Bruno Haible  <bruno@clisp.org>
36528
36529         * doc/glibc-functions/getpass.texi: Document limits of other
36530         implementations.
36531
36532 2008-05-19  Simon Josefsson  <simon@josefsson.org>
36533             Bruno Haible <bruno@clisp.org>
36534
36535         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
36536
36537 2008-05-18  Bruno Haible  <bruno@clisp.org>
36538
36539         * modules/propername: New file, from GNU gettext.
36540         * lib/propername.h: New file, from GNU gettext.
36541         * lib/propername.c: New file, from GNU gettext.
36542         * MODULES.html.sh (Internationalization functions): Add propername.
36543
36544 2008-05-16  Jim Meyering  <meyering@redhat.com>
36545             Bruno Haible  <bruno@clisp.org>
36546
36547         Avoid some warnings from "gcc -Wshadow".
36548         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
36549
36550 2008-05-15  Eric Blake  <ebb9@byu.net>
36551
36552         Extend previous patch to cygwin 1.7.0.
36553         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
36554         fast implementation in cygwin >= 1.7.0.
36555         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
36556         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
36557
36558 2008-05-15  Bruno Haible  <bruno@clisp.org>
36559
36560         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
36561         implementation in glibc >= 2.9.
36562         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
36563         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
36564
36565 2008-05-15  Bruno Haible  <bruno@clisp.org>
36566
36567         * MODULES.html.sh (Internationalization functions): Remove linebreak.
36568         (Unicode string functions): Add unilbrk/*.
36569         Reported by Karl Berry.
36570
36571 2008-05-15  Eric Blake  <ebb9@byu.net>
36572
36573         Fix violation of <stdbool.h> replacement in regex.
36574         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
36575         * lib/regexec.c (re_search_internal): Likewise.
36576         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
36577
36578 2008-05-15  Jim Meyering  <meyering@redhat.com>
36579
36580         avoid distracting test output when git or cvs is not found
36581         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
36582         * tests/test-vc-list-files-git.sh: Likewise.
36583
36584 2008-05-15  Eric Blake  <ebb9@byu.net>
36585
36586         Glibc finally accepted the memmem speedup code, bugzilla #5514.
36587         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
36588         glibc version.
36589         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
36590         * doc/posix-functions/strstr.texi (strstr): Likewise.
36591         * lib/str-two-way.h (MAX): Sychronize with glibc.
36592
36593 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
36594
36595         * lib/regcomp.c (optimize_utf8): Add a note on why we test
36596         opr.ctx_type.
36597         (calc_first): Initialize constraint field.
36598         (duplicate_node_closure): Use it instead of special casing ANCHORS.
36599         Fix grammar.
36600         (duplicate_node): Merge constraint field for all node types.
36601         (calc_eclosure_iter): Look at constraint field for all node types.
36602         * lib/regex_internal.c (create_cd_newstate): Don't look at
36603         opr.ctx_type.
36604
36605 2008-05-14  Bruno Haible  <bruno@clisp.org>
36606
36607         Help GCC to do better code generation.
36608         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
36609         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
36610         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
36611         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
36612         Declare with attribute 'malloc' if supported.
36613
36614 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
36615
36616         use "echo STR|wc -c" rather than unportable "expr length STR"
36617         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
36618         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
36619
36620 2008-05-14  Jim Meyering  <meyering@redhat.com>
36621
36622         use dd ibs=$n count=1 ... rather than less-portable head -c$n
36623         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
36624         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
36625         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
36626         via Collin Lasse.
36627
36628 2008-05-14  Eric Blake  <ebb9@byu.net>
36629
36630         Avoid quadratic growth in gl_LIBSOURCES.
36631         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
36632         Suggested by Bruno Haible.
36633
36634         Test xmemdup0.
36635         * modules/xmemdup0-tests: New file.
36636         * tests/test-xmemdup0.c: Likewise.
36637
36638 2008-05-13  Eric Blake  <ebb9@byu.net>
36639
36640         Split xmemdup0 into its own module.
36641         * modules/xmemdup0: New file.
36642         * lib/xmemdup0.h: Likewise.
36643         * lib/xmemdup0.c: Likewise.
36644         * MODULES.html.sh (Memory management functions): Add xmemdup0.
36645         * lib/xalloc.h (xmemdup0): Remove.
36646         * lib/xmalloc.c (xmemdup0): Likewise.
36647
36648 2008-05-13  Eric Blake  <ebb9@byu.net>
36649             Bruno Haible  <bruno@clisp.org>
36650
36651         Reduce number of forks required during autoconf.
36652         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
36653         and gl_LIBSOURCES_DIR.
36654         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
36655         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
36656         m4_syscmd per file.
36657         <m4_foreach_w>: Move...
36658         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
36659
36660 2008-05-13  Eric Blake  <ebb9@byu.net>
36661
36662         * gnulib-tool: Fix various comment typos.
36663
36664 2008-05-12  Bruno Haible  <bruno@clisp.org>
36665
36666         Tailor the linebreaking algorithm.
36667         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
36668
36669 2008-05-12  Bruno Haible  <bruno@clisp.org>
36670
36671         Update to Unicode 5.0.0.
36672         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
36673         LBP_JV, LBP_JT. Redistribute values.
36674         (unilbrk_table): Change size.
36675         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
36676         Unicode TR#14 rev. 22.
36677         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
36678         LBP_JV, LBP_JT. Redistribute values.
36679         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
36680         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
36681         Update.
36682         * lib/unilbrk/lbrkprop1.h: Regenerated.
36683         * lib/unilbrk/lbrkprop2.h: Regenerated.
36684         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
36685         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
36686         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
36687         Likewise.
36688         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
36689         Likewise.
36690         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
36691         result.
36692         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
36693         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
36694         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
36695         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
36696         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
36697         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
36698
36699 2008-05-11  Bruno Haible  <bruno@clisp.org>
36700
36701         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
36702
36703 2008-05-11  Bruno Haible  <bruno@clisp.org>
36704
36705         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
36706         * modules/unilbrk/gen-lbrk: New file.
36707
36708 2008-05-11  Bruno Haible  <bruno@clisp.org>
36709
36710         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
36711         * m4/sha512.m4 (gl_SHA512): Likewise.
36712
36713 2008-05-11  Jim Meyering  <meyering@redhat.com>
36714
36715         New modules: crypto/sha256, crypto/sha512 (from coreutils)
36716         * modules/crypto/sha256: New file.
36717         * modules/crypto/sha512: Likewise.
36718         * lib/sha256.c: Likewise.
36719         * lib/sha256.h: Likewise.
36720         * lib/sha512.c: Likewise.
36721         * lib/sha512.h: Likewise.
36722         * lib/u64.h: Likewise.
36723         * m4/sha256.m4: Likewise.
36724         * m4/sha512.m4: Likewise.
36725         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
36726
36727 2008-05-10  Bruno Haible  <bruno@clisp.org>
36728
36729         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
36730         (Input/Output <stdio.h>): Add xprintf.
36731         (Signal handling <signal.h>): Add strsignal.
36732         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
36733         (Core language properties): Add func.
36734         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
36735         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
36736         strings.
36737         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
36738         (Input/output): New section.
36739         (File system functions): Add openat-die, stat-macros.
36740         (Networking functions): Add sockets.
36741         (Unicode string functions): Add unictype/*.
36742         (Support for building libraries and executables): Add gperf.
36743         (Support for building documentation): Add agpl-3.0.
36744         (Misc): Add nocrash.
36745
36746 2008-05-10  Bruno Haible  <bruno@clisp.org>
36747
36748         * modules/unictype/gen-ctype: New file.
36749
36750 2008-05-10  Jim Meyering  <meyering@redhat.com>
36751
36752         Make chdir-safer.c more efficient on a system with no symlinks.
36753         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
36754         also if ELOOP is zero.  Suggested by Bruno Haible.
36755
36756         Make chdir-safer.c slightly safer.
36757         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
36758         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
36759
36760         Avoid compile failure on systems without ELOOP (like mingw).
36761         * lib/chdir-safer.c (ELOOP): Define if not already defined.
36762         Reported by Bruno Haible.
36763
36764 2008-05-10  Bruno Haible  <bruno@clisp.org>
36765
36766         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
36767         (is_utf8_encoding): Use a case-insensitive comparison.
36768         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
36769         streq.
36770
36771 2008-05-10  Bruno Haible  <bruno@clisp.org>
36772
36773         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
36774         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
36775         * lib/unilbrk/ulc-common.h (iconv_string_length,
36776         iconv_string_keeping_offsets): Remove declarations.
36777         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
36778         Don't include <iconv.h>, streq.h, xsize.h.
36779         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
36780         conversion.
36781         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
36782         <iconv.h>, streq.h, xsize.h.
36783         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
36784         conversion.
36785         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
36786         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
36787         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
36788         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
36789
36790 2008-05-10  Bruno Haible  <bruno@clisp.org>
36791
36792         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
36793         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
36794
36795         * modules/unilbrk/u32-width-linebreaks-tests: New file.
36796         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
36797
36798         * modules/unilbrk/u16-width-linebreaks-tests: New file.
36799         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
36800
36801         * modules/unilbrk/u8-width-linebreaks-tests: New file.
36802         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
36803
36804         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
36805         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
36806
36807         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
36808         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
36809
36810         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
36811         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
36812
36813         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
36814         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
36815
36816 2008-05-10  Bruno Haible  <bruno@clisp.org>
36817
36818         Split up 'linebreak' module.
36819         * lib/unilbrk.h: New file, based on lib/linebreak.h.
36820         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
36821         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
36822         modifications.
36823         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
36824         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
36825         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
36826         lib/linebreak.c.
36827         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
36828         lib/linebreak.c.
36829         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
36830         lib/linebreak.c.
36831         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
36832         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
36833         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
36834         lib/linebreak.c.
36835         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
36836         lib/linebreak.c.
36837         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
36838         lib/linebreak.c.
36839         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
36840         lib/linebreak.c.
36841         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
36842         lib/linebreak.c.
36843         * modules/unilbrk/base: New file.
36844         * modules/unilbrk/tables: New file.
36845         * modules/unilbrk/u8-possible-linebreaks: New file.
36846         * modules/unilbrk/u16-possible-linebreaks: New file.
36847         * modules/unilbrk/u32-possible-linebreaks: New file.
36848         * modules/unilbrk/ulc-common: New file.
36849         * modules/unilbrk/ulc-possible-linebreaks: New file.
36850         * modules/unilbrk/u8-width-linebreaks: New file.
36851         * modules/unilbrk/u16-width-linebreaks: New file.
36852         * modules/unilbrk/u32-width-linebreaks: New file.
36853         * modules/unilbrk/ulc-width-linebreaks: New file.
36854         * lib/linebreak.h: Remove file.
36855         * lib/linebreak.c: Remove file.
36856         * m4/linebreak.m4: Remove file.
36857         * modules/linebreak: Remove file.
36858         * NEWS: Mention the changes.
36859
36860 2008-05-09  Eric Blake  <ebb9@byu.net>
36861
36862         Add xmemdup0.
36863         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
36864         implementation.
36865         * lib/xmalloc.c (xmemdup0): New C implementation.
36866
36867 2008-05-08  Bruno Haible  <bruno@clisp.org>
36868
36869         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
36870
36871 2008-05-07  Eric Blake  <ebb9@byu.net>
36872
36873         Support cross-compilation of <wctype.h>.
36874         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
36875         AC_CACHE_CHECK.
36876
36877 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
36878
36879         * build-aux/vc-list-files: Add support for bzr.
36880
36881 2008-05-03  Jim Meyering  <meyering@redhat.com>
36882
36883         avoid failed assertion with tight malloc
36884         * tests/test-getndelim2.c: Correct an off-by-one assertion.
36885
36886 2008-05-03  Simon Josefsson  <simon@josefsson.org>
36887
36888         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
36889         are needed from arpa/inet.h.
36890         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
36891         Reported by Bruno Haible.
36892
36893 2008-05-02  Jim Meyering  <meyering@redhat.com>
36894
36895         avoid compilation error on FreeBSD 6
36896         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
36897
36898 2008-05-01  Jim Meyering  <meyering@redhat.com>
36899
36900         useless-if-before-free: correct --help's exit status description
36901         * build-aux/useless-if-before-free (usage): Like grep, exit 0
36902         for one or more matches, etc.  Reported by Bruno Haible.
36903
36904         vc-list-files: make the stand-alone gnulib test work
36905         * modules/vc-list-files-tests (configure.ac):
36906         Define and AC_SUBST abs_aux_dir.
36907         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
36908         $(abs_top_srcdir) to each script and having each of them
36909         duplicate the work of setting PATH, set PATH here, using
36910         the new variable, abs_aux_dir instead.
36911         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
36912         * tests/test-vc-list-files-git.sh: Likewise.
36913         Reported by Bruno Haible.
36914
36915 2008-05-01  Bruno Haible  <bruno@clisp.org>
36916
36917         * lib/getndelim2.c (getndelim2): Fix newsize computation during
36918         reallocation. Rename 'done' to 'found_delimiter'.
36919
36920 2008-05-01  Jim Meyering  <meyering@redhat.com>
36921
36922         vc-list-files: accommodate /bin/sh like the one from Solaris 10
36923         * build-aux/vc-list-files: Use `...`, not $(...).
36924
36925 2008-04-30  Jim Meyering  <meyering@redhat.com>
36926
36927         add tests for vc-list-files
36928         * modules/vc-list-files-tests: New module.
36929         * tests/test-vc-list-files-cvs.sh: New file.
36930         * tests/test-vc-list-files-git.sh: New file.
36931
36932         avoid a warning from gcc
36933         * lib/getndelim2.c (IF_LINT): Define.
36934         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
36935
36936         vc-list-files: work properly with build-aux/cvsu, too
36937         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
36938         to all cvs-based clauses.
36939
36940         vc-list-files: work properly in the CVS+awk case, too
36941         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
36942
36943         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
36944         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
36945         take more than one file argument, so .  Add quotes, just in case $dir
36946         ever contains a shell meta-character.  Prompted by Soren Hansen in
36947         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
36948
36949 2008-04-29  Eric Blake  <ebb9@byu.net>
36950
36951         Optimize getndelim2 to use block operations when possible.
36952         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
36953         freadseek, and memchr2.
36954         * lib/getndelim2.c (getndelim2): Use them for block reads.
36955
36956 2008-04-29  Bruno Haible  <bruno@clisp.org>
36957
36958         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
36959         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
36960         * modules/inet_ntop (Depends-on): Add extensions.
36961         * modules/inet_pton (Depends-on): Likewise.
36962         Reported by Simon Josefsson.
36963
36964 2008-04-29  Jim Meyering  <meyering@redhat.com>
36965
36966         When the is more than one match in a block, match all of them.
36967         * build-aux/useless-if-before-free: Iterate through each block
36968         until there are no more matches.
36969
36970         Fix broken useless-if-before-free script.
36971         * build-aux/useless-if-before-free: Fix typo: missing "?" after
36972         the expression to match cast of argument to free-like function.
36973
36974 2008-04-29  Eric Blake  <ebb9@byu.net>
36975
36976         Use new header.
36977         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
36978
36979 2008-04-29  Jim Meyering  <meyering@redhat.com>
36980
36981         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
36982         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
36983         by gnulib to exist and to declare e.g., inet_ntop.
36984         Don't include "inet_ntop.h", now removed.
36985
36986         * m4/arpa_inet_h.m4: Remove trailing blanks.
36987
36988 2008-04-29  Eric Blake  <ebb9@byu.net>
36989
36990         Silence valgrind on safe reads beyond potential array bounds.
36991         * lib/rawmemchr.valgrind: New file.
36992         * lib/strchrnul.valgrind: Likewise.
36993         * modules/rawmemchr (Files): Distribute new file.
36994         * modules/strchrnul (Files): Likewise.
36995         Suggested by Bruno Haible.
36996
36997 2008-04-29  Bruno Haible  <bruno@clisp.org>
36998
36999         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
37000         (inet_ntop, inet_pton): Change portability warning's wording.
37001         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
37002         Invoke gl_CHECK_NEXT_HEADERS.
37003         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
37004         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
37005         set ARPA_INET_H.
37006         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37007         * modules/arpa_inet (Description): No longer only for systems that
37008         lack it.
37009         (Depends-on): Add include_next.
37010         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
37011         HAVE_ARPA_INET_H.
37012
37013 2008-04-29  Jim Meyering  <meyering@redhat.com>
37014
37015         * modules/mkdir (License): Re-license as LGPLv2+.
37016
37017 2008-04-29  Bruno Haible  <bruno@clisp.org>
37018
37019         * modules/rawmemchr (Maintainer): Set to Eric.
37020         * modules/strchrnul (Maintainer): Likewise.
37021
37022 2008-04-29  Simon Josefsson  <simon@josefsson.org>
37023
37024         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
37025         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
37026
37027         * modules/arpa_inet (arpa/inet.h): Use them.
37028
37029 2008-04-28  Eric Blake  <ebb9@byu.net>
37030
37031         Test getndelim2.
37032         * modules/getndelim2-tests: New file.
37033         * tests/test-getndelim2.c: Likewise.
37034         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
37035         stream.
37036         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
37037
37038         * MODULES.html.sh: Document new module.
37039
37040 2008-04-20  Bruno Haible  <bruno@clisp.org>
37041
37042         * lib/c-stack.c (die): Use raise.
37043         * modules/c-stack (Depends-on): Add raise.
37044
37045 2008-04-28  Bruno Haible  <bruno@clisp.org>
37046
37047         Expect rpmatch to be declared.
37048         * lib/yesno.c (rpmatch): Remove declaration.
37049
37050         Declare rpmatch.
37051         * lib/stdlib.in.h (rpmatch): New declaration.
37052         * lib/rpmatch.c: Include <stdlib.h> first.
37053         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
37054         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
37055         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
37056         HAVE_RPMATCH.
37057         * modules/rpmatch (Depends-on): Add stdlib, extensions.
37058         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
37059         (Include): Set to <stdlib.h>.
37060         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
37061         HAVE_RPMATCH.
37062         * NEWS: Document the change.
37063
37064 2008-04-28  Bruno Haible  <bruno@clisp.org>
37065
37066         Change rpmatch to use nl_langinfo when appropriate.
37067         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
37068         (N_): New macro.
37069         (localized_pattern): New function/macro.
37070         (try): Remove match, nomatch arguments. Copy the pattern into safe
37071         memory before caching it.
37072         (rpmatch): Use localized_pattern. Add translator comments.
37073         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
37074         Suggested by Eric Blake.
37075         * modules/rpmatch (Depends-on): Add stdbool.
37076
37077 2008-04-28  Eric Blake  <ebb9@byu.net>
37078
37079         Add rawmemchr module, matching glibc.
37080         * modules/string (Makefile.am): New indicator.
37081         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
37082         * lib/string.in.h (rawmemchr): Declare when appropriate.
37083         * modules/rawmemchr: New file.
37084         * m4/rawmemchr.m4: Likewise.
37085         * lib/rawmemchr.c: Likewise.
37086         * modules/rawmemchr-tests: Likewise.
37087         * tests/test-rawmemchr.c: Likewise.
37088         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
37089         module.
37090         * modules/strchrnul (Depends-on): Add rawmemchr.
37091         * lib/strchrnul.c (strchrnul): Optimize a corner case.
37092
37093         Whitespace cleanup.
37094         * tests/test-strchrnul.c: Reindent.
37095         * lib/strchrnul.c: Likewise.
37096
37097         Optimize and test strchrnul.
37098         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
37099         * modules/strchrnul-tests: New file.
37100         * tests/test-strchrnul.c: Likewise.
37101
37102         Remove intprops dependency.
37103         * modules/memchr (Depends-on): Remove intprops.
37104         * modules/memrchr (Depends-on): Likewise.
37105         * modules/memchr2 (Depends-on): Likewise.
37106         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
37107         * lib/memrchr.c (__memrchr): Likewise.
37108         * lib/memrchr2.c (memchr2): Likewise.
37109         Reported by Simon Josefsson.
37110
37111 2008-04-28  Simon Josefsson  <simon@josefsson.org>
37112
37113         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
37114         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37115
37116 2008-04-28  Simon Josefsson  <simon@josefsson.org>
37117
37118         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
37119
37120         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
37121
37122         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
37123
37124         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
37125         declarations.
37126         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
37127
37128         * m4/inet_pton.m4: Don't check for header files.
37129
37130         * m4/inet_ntop.m4: Don't check for header files.
37131
37132 2008-04-28  Simon Josefsson  <simon@josefsson.org>
37133
37134         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
37135         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
37136         trigger for cygwin).
37137         Reported by Bruno Haible  <bruno@clisp.org>.
37138
37139 2008-04-28  Bruno Haible  <bruno@clisp.org>
37140
37141         * doc/posix-functions/strdup.texi: Mention mingw problem.
37142
37143 2008-04-27  Bruno Haible  <bruno@clisp.org>
37144
37145         * modules/stat-time-tests (Depends-on): Add sleep.
37146         * tests/test-stat-time.c (force_unlink): New function.
37147         (cleanup): Use it.
37148         (test_mtime): Remove the ctime related tests.
37149         (test_ctime): New function, containing the ctime related tests.
37150         (main): Call test_ctime, except on native Windows platforms.
37151
37152 2008-04-27  Bruno Haible  <bruno@clisp.org>
37153
37154         * lib/rpmatch.c (rpmatch): Add some comments.
37155         Reported by James Youngman <jay@gnu.org>.
37156
37157 2008-04-27  Bruno Haible  <bruno@clisp.org>
37158
37159         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
37160         quiet NaNs.
37161
37162 2008-04-27  Bruno Haible  <bruno@clisp.org>
37163
37164         Make test-yesno.sh work on mingw.
37165         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
37166         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
37167         (main): Set stdin to binary mode.
37168         * modules/yesno-tests (Depends-on): Add binary-io.
37169
37170 2008-04-27  Bruno Haible  <bruno@clisp.org>
37171
37172         Fix 'isfinite' on x86, x86_64, ia64 platforms.
37173         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
37174         argument that lie outside the IEEE 854 domain.
37175         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
37176         (gl_ISFINITE): Use it.
37177         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
37178
37179 2008-04-27  Bruno Haible  <bruno@clisp.org>
37180
37181         Allow local renaming in config.h.
37182         * lib/memrchr.c (memrchr): Don't undefine outside libc.
37183
37184 2008-04-27  Bruno Haible  <bruno@clisp.org>
37185
37186         * lib/memchr.c (__memchr): Change type of 'i'.
37187         * lib/memchr2.c (memchr2): Likewise.
37188
37189 2008-04-26  Eric Blake  <ebb9@byu.net>
37190         and Bruno Haible  <bruno@clisp.org>
37191
37192         Optimize and test memrchr.
37193         * modules/memrchr (Depends-on): Add intprops.
37194         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
37195         * modules/memrchr-tests: New file.
37196         * tests/test-memrchr.c: New file.
37197
37198 2008-04-26  Bruno Haible  <bruno@clisp.org>
37199
37200         Add tentative support for DragonFly BSD.
37201         * lib/stdio-impl.h: Add macros for DragonFly BSD.
37202         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
37203         fp.
37204         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
37205         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
37206         * lib/fpurge.c (fpurge): Likewise.
37207         * lib/freadable.c (freaadable): Likewise.
37208         * lib/freadahead.c (freadahead): Likewise.
37209         * lib/freading.c (freading): Likewise.
37210         * lib/freadptr.c (freadptr): Likewise.
37211         * lib/freadseek.c (freadptrinc): Likewise.
37212         * lib/fseeko.c (fseeko): Likewise.
37213         * lib/fseterr.c (fseterr): Likewise.
37214         * lib/fwritable.c (fwritable): Likewise.
37215         * lib/fwriting.c (fwriting): Likewise.
37216
37217 2008-04-26  Bruno Haible  <bruno@clisp.org>
37218
37219         * lib/stdio-impl.h: New file.
37220         * lib/fbufmode.c: Include stdio-impl.h.
37221         (fbufmode): Use fp_, remove redundant #defines.
37222         * lib/fflush.c: Include stdio-impl.h.
37223         (clear_ungetc_buffer): Remove redundant #defines.
37224         * lib/fpurge.c: Include stdio-impl.h.
37225         (fpurge): Remove redundant #defines.
37226         * lib/freadable.c: Include stdio-impl.h.
37227         (freadable): Remove redundant #defines.
37228         * lib/freadahead.c: Include stdio-impl.h.
37229         (freadahead): Remove redundant #defines.
37230         * lib/freading.c: Include stdio-impl.h.
37231         (freading): Remove redundant #defines.
37232         * lib/freadptr.c: Include stdio-impl.h.
37233         (freadptr): Remove redundant #defines.
37234         * lib/freadseek.c: Include stdio-impl.h.
37235         (freadptrinc): Remove redundant #defines.
37236         * lib/fseeko.c: Include stdio-impl.h.
37237         (rpl_fseeko): Remove redundant #defines.
37238         * lib/fseterr.c: Include stdio-impl.h.
37239         (fseterr): Remove redundant #defines.
37240         * lib/fwritable.c: Include stdio-impl.h.
37241         (fwritable: Remove redundant #defines.
37242         * lib/fwriting.c: Include stdio-impl.h.
37243         (fwriting): Remove redundant #defines.
37244         * modules/fbufmode (Files): Add lib/stdio-impl.h.
37245         * modules/fflush (Files): Likewise.
37246         * modules/fpurge (Files): Likewise.
37247         * modules/freadable (Files): Likewise.
37248         * modules/freadahead (Files): Likewise.
37249         * modules/freading (Files): Likewise.
37250         * modules/freadptr (Files): Likewise.
37251         * modules/freadseek (Files): Likewise.
37252         * modules/fseeko (Files): Likewise.
37253         * modules/fseterr (Files): Likewise.
37254         * modules/fwritable (Files): Likewise.
37255         * modules/fwriting (Files): Likewise.
37256
37257 2008-04-26  Bruno Haible  <bruno@clisp.org>
37258
37259         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
37260         restore_seek_optimization, update_fpos_cache): New functions, extracted
37261         from rpl_fflush.
37262         (rpl_fflush): Use them.
37263         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
37264         (gl_REPLACE_FFLUSH): Use it.
37265
37266 2008-04-26  Bruno Haible  <bruno@clisp.org>
37267
37268         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
37269         on Solaris.
37270         * tests/test-xstrtoimax.sh: Likewise.
37271         * tests/test-xstrtoumax.sh: Likewise.
37272         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37273
37274 2008-04-26  Bruno Haible  <bruno@clisp.org>
37275
37276         * modules/memchr-tests: New file.
37277         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
37278
37279 2008-04-26  Eric Blake  <ebb9@byu.net>
37280             Bruno Haible  <bruno@clisp.org>
37281
37282         * lib/memchr.c: Include intprops.h.
37283         (__memchr): Optimize parallel detection of matching bytes. Rename local
37284         variables. Add explanatory comments.
37285
37286 2008-04-26  Bruno Haible  <bruno@clisp.org>
37287
37288         Fix module 'memchr', broken since 2000-10-28.
37289         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
37290
37291 2008-04-26  Bruno Haible  <bruno@clisp.org>
37292
37293         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
37294         comments.
37295
37296 2008-04-25  Eric Blake  <ebb9@byu.net>
37297
37298         Use native fstatat on cygwin 1.7.0.
37299         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
37300         first.
37301
37302 2008-04-23  Eric Blake  <ebb9@byu.net>
37303
37304         Improve memchr2 performance.
37305         * lib/memchr2.c (memchr2): Further optimize parallel detection of
37306         NUL bytes.
37307         * modules/memchr2 (Depends-on): Use intprops.h.
37308
37309 2008-04-23  Simon Josefsson  <simon@josefsson.org>
37310
37311         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
37312         an inline function instead of a CPP macro.  Patch by Ben Pfaff
37313         <blp@cs.stanford.edu>.
37314
37315 2008-04-23  Simon Josefsson  <simon@josefsson.org>
37316
37317         * lib/arpa_inet.in.h: New file.
37318
37319         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
37320         (Makefile.am): Sed in substitute header file.
37321
37322         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
37323         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
37324
37325         * modules/inet_ntop (configure.ac): Use
37326         gl_ARPA_INET_MODULE_INDICATOR.
37327
37328         * modules/inet_pton (configure.ac): Use
37329         gl_ARPA_INET_MODULE_INDICATOR.
37330
37331 2008-04-22  Jim Meyering  <meyering@redhat.com>
37332
37333         * modules/verify (License): Re-license as LGPLv2+.
37334
37335 2008-04-22  Simon Josefsson  <simon@josefsson.org>
37336
37337         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
37338         parameter to void* as per POSIX standard (MinGW uses char*).
37339
37340 2008-04-21  Bruno Haible  <bruno@clisp.org>
37341
37342         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
37343         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
37344         Define to replacements if REPLACE_ISWCNTRL is 1.
37345         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
37346         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
37347         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
37348         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
37349         what it fixes.
37350         * doc/posix-functions/iswalpha.texi: Likewise.
37351         * doc/posix-functions/iswblank.texi: Likewise.
37352         * doc/posix-functions/iswcntrl.texi: Likewise.
37353         * doc/posix-functions/iswdigit.texi: Likewise.
37354         * doc/posix-functions/iswgraph.texi: Likewise.
37355         * doc/posix-functions/iswlower.texi: Likewise.
37356         * doc/posix-functions/iswprint.texi: Likewise.
37357         * doc/posix-functions/iswpunct.texi: Likewise.
37358         * doc/posix-functions/iswspace.texi: Likewise.
37359         * doc/posix-functions/iswupper.texi: Likewise.
37360         * doc/posix-functions/iswxdigit.texi: Likewise.
37361         Reported by Alain Guibert.
37362
37363 2008-04-21  Bruno Haible  <bruno@clisp.org>
37364
37365         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
37366         Patch by Alain Guibert.
37367
37368 2008-04-21  Bruno Haible  <bruno@clisp.org>
37369
37370         Fix test failures on mingw.
37371         * tests/test-xstrtol.c (print_no_progname): New function.
37372         (main): Install it in error_print_progname hook.
37373         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
37374         * tests/test-xstrtoimax.sh: Likewise.
37375         * tests/test-xstrtoumax.sh: Likewise.
37376
37377 2008-04-21  Bruno Haible  <bruno@clisp.org>
37378
37379         Fix test failure on mingw.
37380         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
37381
37382 2008-04-21  Bruno Haible  <bruno@clisp.org>
37383
37384         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
37385         Actually assign a value.
37386
37387 2008-04-20  Bruno Haible  <bruno@clisp.org>
37388
37389         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
37390         take 2.
37391         * lib/canonicalize.c (canonicalize_file_name): Elide if the
37392         'canonicalize-lgpl' module is also used.
37393         * lib/canonicalize-lgpl.c: Undo last change.
37394         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
37395
37396 2008-04-20  Bruno Haible  <bruno@clisp.org>
37397
37398         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
37399         config.h. Provide _mkdir based fallback for mingw.
37400         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
37401         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
37402         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
37403         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
37404         rather than defining mkdir in config.h.
37405         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
37406         (gl_SYS_STAT_H_DEFAULTS): New macro.
37407         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
37408         HAVE_IO_H any more.
37409         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
37410         HAVE_DECL_MKDIR and HAVE_IO_H.
37411
37412 2008-04-20  Bruno Haible  <bruno@clisp.org>
37413
37414         * lib/isapipe.c: Port to native Windows platforms.
37415
37416 2008-04-20  Bruno Haible  <bruno@clisp.org>
37417
37418         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
37419
37420 2008-04-21  Eric Blake  <ebb9@byu.net>
37421
37422         Work around preprocessors that don't handle UINTMAX_MAX.
37423         * lib/memchr2.c (memchr2): Avoid embedded #if.
37424         Reported by Alain Guibert, fix suggested by Bruno Haible.
37425
37426 2008-04-21  Simon Josefsson  <simon@josefsson.org>
37427
37428         * doc/posix-functions/strftime.texi (strftime): Explain better
37429         Windows incompatibility.  Suggested by Micah Cowan
37430         <micah@cowan.name>.
37431
37432 2008-04-20  Bruno Haible  <bruno@clisp.org>
37433
37434         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
37435         unistr/u8-mblen.
37436
37437 2008-04-20  Bruno Haible  <bruno@clisp.org>
37438
37439         Fix test failure on platforms with non-GNU iconv.
37440         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
37441         (U_TO_U8): Use it, rather than u16_to_u8.
37442         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
37443         units at the end of the input string.
37444         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
37445
37446 2008-04-20  Bruno Haible  <bruno@clisp.org>
37447
37448         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
37449         when the resulting length is 0.
37450         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
37451
37452 2008-04-20  Bruno Haible  <bruno@clisp.org>
37453
37454         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
37455         works.
37456         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
37457
37458 2008-04-20  Bruno Haible  <bruno@clisp.org>
37459
37460         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
37461         * modules/tsearch-tests (configure.ac): Test for initstate function.
37462
37463 2008-04-20  Bruno Haible  <bruno@clisp.org>
37464
37465         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
37466         for nlink_t if missing.
37467         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
37468
37469 2008-04-19  Bruno Haible  <bruno@clisp.org>
37470
37471         Work around snprintf bug on Linux libc5.
37472         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
37473         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
37474         gl_SNPRINTF_SIZE1.
37475         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37476         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
37477         that test failed.
37478         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
37479         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
37480         * modules/snprintf (Files): Add m4/printf.m4.
37481         * modules/vsnprintf (Files): Likewise.
37482         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
37483         * doc/posix-functions/vsnprintf.texi: Likewise.
37484
37485 2008-04-19  Bruno Haible  <bruno@clisp.org>
37486
37487         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
37488         from 0.0058 to less than 10^-7.
37489
37490 2008-04-19  Bruno Haible  <bruno@clisp.org>
37491
37492         Fix rounding when a precision is given.
37493         * lib/vasnprintf.c (is_borderline): New function.
37494         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
37495         9...9x.
37496         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
37497         %e, %g.
37498         * tests/test-vasprintf-posix.c (test_function): Likewise.
37499         * tests/test-snprintf-posix.h (test_function): Likewise.
37500         * tests/test-sprintf-posix.h (test_function): Likewise.
37501         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
37502         * tests/test-printf-posix.h (test_function): Likewise.
37503         * tests/test-printf-posix.output: Update.
37504         Reported by John Darrington <john@darrington.wattle.id.au> via
37505         Ben Pfaff <blp@cs.stanford.edu>.
37506
37507 2008-04-18  Simon Josefsson  <simon@josefsson.org>
37508
37509         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
37510         Suggested by Bruno Haible <bruno@clisp.org>.
37511
37512 2008-04-17  Bruno Haible  <bruno@clisp.org>
37513
37514         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
37515         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
37516         implementation.
37517         Patch by Bruce Merry <bmerry@gmail.com>.
37518
37519 2008-04-17  Simon Josefsson  <simon@josefsson.org>
37520
37521         * doc/posix-functions/strftime.texi (strftime): Mention that %e
37522         doesn't work under Windows.
37523
37524 2008-04-16  Bruno Haible  <bruno@clisp.org>
37525
37526         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
37527         New macros.
37528         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
37529         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
37530         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
37531         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
37532         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
37533         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
37534         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
37535         macros.
37536         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
37537         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
37538         Northern Sotho, Uighur.
37539
37540 2008-04-16  Bruno Haible  <bruno@clisp.org>
37541
37542         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
37543         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
37544         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
37545         Reported by Daniel Bergström <daniel@octocode.com>.
37546
37547 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
37548             Bruno Haible  <bruno@clisp.org>
37549
37550         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
37551         function.
37552         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
37553         New functions, mostly extracted from gl_locale_name_default.
37554         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
37555
37556 2008-04-16  Eric Blake  <ebb9@byu.net>
37557
37558         Adjust strtod detection to catch glibc 2.7 bug.
37559         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
37560         Reported by John Gatewood Ham.
37561
37562 2008-04-16  Bruno Haible  <bruno@clisp.org>
37563
37564         Add tentative support for Linux libc5.
37565         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
37566         * lib/fpurge.c (fpurge): Likewise.
37567         * lib/freadable.c (freadable): Likewise.
37568         * lib/freadahead.c (freadahead): Likewise.
37569         * lib/freading.c (freading): Likewise.
37570         * lib/freadptr.c (freadptr): Likewise.
37571         * lib/freadseek.c (freadptrinc): Likewise.
37572         * lib/fseeko.c (rpl_fseeko): Likewise.
37573         * lib/fseterr.c (fseterr): Likewise.
37574         * lib/fwritable.c (fwritable): Likewise.
37575         * lib/fwriting.c (fwriting): Likewise.
37576         Reported by Alain Guibert <alguibert+bts@free.fr>.
37577
37578 2008-04-15  Bruno Haible  <bruno@clisp.org>
37579
37580         * modules/mathl (configure.ac): Define module indicator.
37581
37582 2008-04-15  Bruno Haible  <bruno@clisp.org>
37583
37584         * lib/logl.c (logl): Remove unused variables.
37585
37586 2008-04-15  Bruno Haible  <bruno@clisp.org>
37587
37588         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
37589         fails.
37590
37591 2008-04-15  Bruno Haible  <bruno@clisp.org>
37592
37593         * lib/trim.c (trim2): Fix argument of isspace() macro.
37594
37595 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
37596
37597         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
37598         to 0.
37599         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
37600
37601 2008-04-14  Bruno Haible  <bruno@clisp.org>
37602
37603         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
37604         AC_LANG_PROGRAM argument.
37605         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
37606         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
37607         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
37608         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
37609         * m4/math_h.m4 (gl_MATH_H): Likewise.
37610         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
37611         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
37612         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
37613         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
37614         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
37615         * m4/regex.m4 (gl_REGEX): Likewise.
37616         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
37617         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
37618         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37619         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
37620         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
37621         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
37622         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37623         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
37624
37625 2008-04-14  Jim Meyering  <meyering@redhat.com>
37626
37627         test-strtod: fix typos: s/abs/fabs/
37628         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
37629
37630 2008-04-13  Bruno Haible  <bruno@clisp.org>
37631
37632         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
37633         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
37634         module is also used and while not building the reloc-wrapper.
37635
37636 2008-04-13  Bruno Haible  <bruno@clisp.org>
37637
37638         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
37639
37640 2008-04-13  Bruno Haible  <bruno@clisp.org>
37641
37642         Fix AIX compilation failure introduced on 2008-04-02.
37643         * tests/test-frexp.c (exp): Undefine before redefining.
37644         * tests/test-frexpl.c (exp): Likewise.
37645
37646 2008-04-13  Bruno Haible  <bruno@clisp.org>
37647
37648         Work around a HP-UX stdio bug.
37649         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
37650         * tests/test-ftello.c (main): Likewise.
37651         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
37652         * doc/posix-functions/ftello.texi: Likewise.
37653
37654 2008-04-13  Bruno Haible  <bruno@clisp.org>
37655
37656         Make test-signbit pass on HP-UX/hppa.
37657         * tests/test-signbit.c (minus_zerol): New variable.
37658         (test_signbitl): Use it.
37659
37660 2008-04-13  Bruno Haible  <bruno@clisp.org>
37661
37662         Make truncl work on OSF/1 4.0.
37663         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
37664         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
37665         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
37666         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
37667         HAVE_DECL_TRUNCL.
37668         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
37669         HAVE_DECL_TRUNCL.
37670         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
37671
37672 2008-04-13  Bruno Haible  <bruno@clisp.org>
37673
37674         * lib/unictype.h: Remove trailing comma from enumeration definitions.
37675
37676 2008-04-13  Bruno Haible  <bruno@clisp.org>
37677
37678         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
37679         expression, so as to avoid HP-UX 11 cc compiler bug.
37680
37681 2008-04-13  Bruno Haible  <bruno@clisp.org>
37682
37683         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
37684
37685 2008-04-13  Bruno Haible  <bruno@clisp.org>
37686
37687         * lib/git-merge-changelog.c: Remove empty declaration outside of
37688         functions.
37689
37690 2008-04-13  Bruno Haible  <bruno@clisp.org>
37691
37692         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
37693
37694 2008-04-13  Bruno Haible  <bruno@clisp.org>
37695
37696         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
37697         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
37698         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
37699         also if it exists but lacks definitions of the SHUT_* macros.
37700         * modules/sys_socket (Description): Update.
37701         Reported by Elbert Pol <e.pol@chello.nl>.
37702
37703 2008-04-13  Bruno Haible  <bruno@clisp.org>
37704
37705         * lib/localcharset.c (OS2): Don't redefine if already defined.
37706         Reported by Elbert Pol <e.pol@chello.nl>.
37707
37708 2008-04-13  Bruno Haible  <bruno@clisp.org>
37709
37710         * lib/binary-io.h [__EMX__]: Include <io.h>.
37711         Reported by Elbert Pol <e.pol@chello.nl>.
37712
37713 2008-04-12  Bruno Haible  <bruno@clisp.org>
37714
37715         * lib/fpucw.h: Enable the definitions also for x86_64.
37716         Needed for NetBSD/x86_64.
37717         Reported by Thomas Klausner <tk@giga.or.at>.
37718
37719 2008-04-12  Bruno Haible  <bruno@clisp.org>
37720
37721         * tests/test-strtod.c: Include isnand.h.
37722         (main): Use isnand instead of isnan.
37723         Reported by Jim Meyering.
37724
37725 2008-04-12  Bruno Haible  <bruno@clisp.org>
37726
37727         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
37728         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
37729
37730 2008-04-12  Jim Meyering  <meyering@redhat.com>
37731
37732         * m4/math_h.m4 (gl_MATH_H): Fix typos.
37733
37734 2008-04-12  Bruno Haible  <bruno@clisp.org>
37735
37736         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
37737         Reported by Elbert Pol <e.pol@chello.nl>.
37738
37739 2008-04-12  Eric Blake  <ebb9@byu.net>
37740
37741         Work around Solaris 10 math.h bug.
37742         * m4/math_h.m4 (gl_MATH_H): Check for bug.
37743         (gl_MATH_H_DEFAULTS): Set up default.
37744         * modules/math (Makefile.am): Replace new indicators.
37745         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
37746         * tests/test-math.c (main): Test this.
37747         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
37748         * doc/posix-headers/math.texi (math.h): Mention bug.
37749         Reported by Nelson H. F. Beebe and Jim Meyering.
37750
37751 2008-04-11  Bruno Haible  <bruno@clisp.org>
37752
37753         Adapt to future versions of Apple GCC.
37754         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
37755         Reported by Peter O'Gorman <peter@pogma.com>.
37756
37757 2008-04-11  Bruno Haible  <bruno@clisp.org>
37758
37759         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
37760
37761 2008-04-11  Bruno Haible  <bruno@clisp.org>
37762
37763         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
37764
37765         * modules/getaddrinfo-tests (Makefile.am): Define
37766         test_getaddrinfo_LDADD.
37767
37768 2008-04-11  Bruno Haible  <bruno@clisp.org>
37769
37770         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
37771         (init): Fix syntax error.
37772         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
37773         is declared.
37774
37775 2008-04-11  Bruno Haible  <bruno@clisp.org>
37776
37777         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
37778         * modules/glob (Depends-on): Add stdbool.
37779
37780 2008-04-11  Bruno Haible  <bruno@clisp.org>
37781
37782         * lib/trim.c: Include <string.h>.
37783
37784 2008-04-11  Eric Blake  <ebb9@byu.net>
37785
37786         Avoid compile failure on OS/2.
37787         * lib/regex_internal.h (internal_function): Disable optimization
37788         on OS/2 (__EMX__), where it caused compiler error.
37789         Reported by Elbert Pol.
37790
37791 2008-04-11  Bruno Haible  <bruno@clisp.org>
37792
37793         Flush the standard error stream before aborting. Needed on mingw.
37794         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
37795         * tests/test-array_list.c (ASSERT): Likewise.
37796         * tests/test-array_oset.c (ASSERT): Likewise.
37797         * tests/test-avltree_list.c (ASSERT): Likewise.
37798         * tests/test-avltree_oset.c (ASSERT): Likewise.
37799         * tests/test-avltreehash_list.c (ASSERT): Likewise.
37800         * tests/test-binary-io.c (ASSERT): Likewise.
37801         * tests/test-byteswap.c (ASSERT): Likewise.
37802         * tests/test-c-ctype.c (ASSERT): Likewise.
37803         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
37804         * tests/test-c-strcasestr.c (ASSERT): Likewise.
37805         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
37806         * tests/test-c-strstr.c (ASSERT): Likewise.
37807         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
37808         * tests/test-canonicalize.c (ASSERT): Likewise.
37809         * tests/test-carray_list.c (ASSERT): Likewise.
37810         * tests/test-ceilf1.c (ASSERT): Likewise.
37811         * tests/test-ceilf2.c (ASSERT): Likewise.
37812         * tests/test-ceill.c (ASSERT): Likewise.
37813         * tests/test-count-one-bits.c (ASSERT): Likewise.
37814         * tests/test-fbufmode.c (ASSERT): Likewise.
37815         * tests/test-fflush2.c (ASSERT): Likewise.
37816         * tests/test-floorf1.c (ASSERT): Likewise.
37817         * tests/test-floorf2.c (ASSERT): Likewise.
37818         * tests/test-floorl.c (ASSERT): Likewise.
37819         * tests/test-fopen.c (ASSERT): Likewise.
37820         * tests/test-fpending.c (ASSERT): Likewise.
37821         * tests/test-fprintf-posix.c (ASSERT): Likewise.
37822         * tests/test-fpurge.c (ASSERT): Likewise.
37823         * tests/test-freadable.c (ASSERT): Likewise.
37824         * tests/test-freadahead.c (ASSERT): Likewise.
37825         * tests/test-freading.c (ASSERT): Likewise.
37826         * tests/test-freadptr.c (ASSERT): Likewise.
37827         * tests/test-freadptr2.c (ASSERT): Likewise.
37828         * tests/test-freadseek.c (ASSERT): Likewise.
37829         * tests/test-freopen.c (ASSERT): Likewise.
37830         * tests/test-frexp.c (ASSERT): Likewise.
37831         * tests/test-frexpl.c (ASSERT): Likewise.
37832         * tests/test-fseek.c (ASSERT): Likewise.
37833         * tests/test-fseeko.c (ASSERT): Likewise.
37834         * tests/test-fstrcmp.c (ASSERT): Likewise.
37835         * tests/test-ftell.c (ASSERT): Likewise.
37836         * tests/test-ftello.c (ASSERT): Likewise.
37837         * tests/test-func.c (ASSERT): Likewise.
37838         * tests/test-fwritable.c (ASSERT): Likewise.
37839         * tests/test-fwriting.c (ASSERT): Likewise.
37840         * tests/test-getdelim.c (ASSERT): Likewise.
37841         * tests/test-getline.c (ASSERT): Likewise.
37842         * tests/test-i-ring.c (ASSERT): Likewise.
37843         * tests/test-iconv-utf.c (ASSERT): Likewise.
37844         * tests/test-iconv.c (ASSERT): Likewise.
37845         * tests/test-isfinite.c (ASSERT): Likewise.
37846         * tests/test-isnand.c (ASSERT): Likewise.
37847         * tests/test-isnanf.c (ASSERT): Likewise.
37848         * tests/test-isnanl.h (ASSERT): Likewise.
37849         * tests/test-ldexpl.c (ASSERT): Likewise.
37850         * tests/test-linked_list.c (ASSERT): Likewise.
37851         * tests/test-linkedhash_list.c (ASSERT): Likewise.
37852         * tests/test-localename.c (ASSERT): Likewise.
37853         * tests/test-lseek.c (ASSERT): Likewise.
37854         * tests/test-mbscasecmp.c (ASSERT): Likewise.
37855         * tests/test-mbscasestr1.c (ASSERT): Likewise.
37856         * tests/test-mbscasestr2.c (ASSERT): Likewise.
37857         * tests/test-mbscasestr3.c (ASSERT): Likewise.
37858         * tests/test-mbscasestr4.c (ASSERT): Likewise.
37859         * tests/test-mbschr.c (ASSERT): Likewise.
37860         * tests/test-mbscspn.c (ASSERT): Likewise.
37861         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
37862         * tests/test-mbspbrk.c (ASSERT): Likewise.
37863         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
37864         * tests/test-mbsrchr.c (ASSERT): Likewise.
37865         * tests/test-mbsspn.c (ASSERT): Likewise.
37866         * tests/test-mbsstr1.c (ASSERT): Likewise.
37867         * tests/test-mbsstr2.c (ASSERT): Likewise.
37868         * tests/test-mbsstr3.c (ASSERT): Likewise.
37869         * tests/test-memchr2.c (ASSERT): Likewise.
37870         * tests/test-memmem.c (ASSERT): Likewise.
37871         * tests/test-open.c (ASSERT): Likewise.
37872         * tests/test-printf-frexp.c (ASSERT): Likewise.
37873         * tests/test-printf-frexpl.c (ASSERT): Likewise.
37874         * tests/test-printf-posix.c (ASSERT): Likewise.
37875         * tests/test-quotearg.c (ASSERT): Likewise.
37876         * tests/test-rbtree_list.c (ASSERT): Likewise.
37877         * tests/test-rbtree_oset.c (ASSERT): Likewise.
37878         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
37879         * tests/test-round1.c (ASSERT): Likewise.
37880         * tests/test-roundf1.c (ASSERT): Likewise.
37881         * tests/test-roundl.c (ASSERT): Likewise.
37882         * tests/test-signbit.c (ASSERT): Likewise.
37883         * tests/test-sleep.c (ASSERT): Likewise.
37884         * tests/test-snprintf-posix.c (ASSERT): Likewise.
37885         * tests/test-snprintf.c (ASSERT): Likewise.
37886         * tests/test-sprintf-posix.c (ASSERT): Likewise.
37887         * tests/test-stat-time.c (ASSERT): Likewise.
37888         * tests/test-strcasestr.c (ASSERT): Likewise.
37889         * tests/test-strerror.c (ASSERT): Likewise.
37890         * tests/test-striconv.c (ASSERT): Likewise.
37891         * tests/test-striconveh.c (ASSERT): Likewise.
37892         * tests/test-striconveha.c (ASSERT): Likewise.
37893         * tests/test-strsignal.c (ASSERT): Likewise.
37894         * tests/test-strstr.c (ASSERT): Likewise.
37895         * tests/test-strtod.c (ASSERT): Likewise.
37896         * tests/test-trunc1.c (ASSERT): Likewise.
37897         * tests/test-trunc2.c (ASSERT): Likewise.
37898         * tests/test-truncf1.c (ASSERT): Likewise.
37899         * tests/test-truncf2.c (ASSERT): Likewise.
37900         * tests/test-truncl.c (ASSERT): Likewise.
37901         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
37902         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
37903         * tests/test-vasnprintf.c (ASSERT): Likewise.
37904         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
37905         * tests/test-vasprintf.c (ASSERT): Likewise.
37906         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
37907         * tests/test-vprintf-posix.c (ASSERT): Likewise.
37908         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
37909         * tests/test-vsnprintf.c (ASSERT): Likewise.
37910         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
37911         * tests/test-wcwidth.c (ASSERT): Likewise.
37912         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
37913         * tests/test-xprintf-posix.c (ASSERT): Likewise.
37914         * tests/test-xvasprintf.c (ASSERT): Likewise.
37915         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
37916         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
37917         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
37918         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
37919         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
37920         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
37921         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
37922         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
37923         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
37924         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
37925         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
37926         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
37927         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
37928         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
37929         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
37930         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
37931         * tests/unictype/test-block_list.c (ASSERT): Likewise.
37932         * tests/unictype/test-block_of.c (ASSERT): Likewise.
37933         * tests/unictype/test-block_test.c (ASSERT): Likewise.
37934         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
37935         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
37936         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
37937         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
37938         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
37939         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
37940         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
37941         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
37942         * tests/unictype/test-combining.c (ASSERT): Likewise.
37943         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
37944         * tests/unictype/test-digit.c (ASSERT): Likewise.
37945         * tests/unictype/test-mirror.c (ASSERT): Likewise.
37946         * tests/unictype/test-numeric.c (ASSERT): Likewise.
37947         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
37948         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
37949         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
37950         * tests/unictype/test-scripts.c (ASSERT): Likewise.
37951         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
37952         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
37953         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
37954         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
37955         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
37956         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
37957         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
37958         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
37959         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
37960         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
37961         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
37962         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
37963         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
37964         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
37965         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
37966         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
37967         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
37968         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
37969         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
37970         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
37971         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
37972         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
37973         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
37974         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
37975         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
37976         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
37977         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
37978         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
37979         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
37980         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
37981         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
37982         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
37983         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
37984         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
37985         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
37986         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
37987         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
37988         Reported by Eric Blake.
37989
37990 2008-04-11  Bruno Haible  <bruno@clisp.org>
37991
37992         * lib/wchar.in.h: Tweak comment.
37993
37994 2008-04-11  Bruno Haible  <bruno@clisp.org>
37995
37996         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
37997         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
37998         gl_COMMON.
37999         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
38000
38001 2008-04-11  Bruno Haible  <bruno@clisp.org>
38002
38003         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
38004
38005 2008-04-11  Simon Josefsson  <simon@josefsson.org>
38006
38007         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
38008         of attempting to use non-existing /dev/*random.  Based on patch
38009         from Adam Strzelecki <ono@java.pl> in
38010         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
38011
38012 2008-04-08  Bruno Haible  <bruno@clisp.org>
38013
38014         Add tentative support for emx+gcc.
38015         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
38016         * lib/fpurge.c (fpurge): Likewise.
38017         * lib/freadable.c (freadable): Likewise.
38018         * lib/freadahead.c (freadahead): Likewise.
38019         * lib/freading.c (freading): Likewise.
38020         * lib/freadptr.c (freadptr): Likewise.
38021         * lib/freadseek.c (freadptrinc): Likewise.
38022         * lib/fseeko.c (rpl_fseeko): Likewise.
38023         * lib/fseterr.c (fseterr): Likewise.
38024         * lib/fwritable.c (fwritable): Likewise.
38025         * lib/fwriting.c (fwriting): Likewise.
38026         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
38027
38028 2008-04-09  Eric Blake  <ebb9@byu.net>
38029
38030         Avoid some autoconf warnings.
38031         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
38032         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
38033         * m4/afs.m4 (gl_AFS): Likewise.
38034         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
38035         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
38036         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
38037         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
38038         (gl_INTEGER_TYPE_SUFFIX): Likewise.
38039         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
38040         (AC_CHECK_DECLS_ONCE): Likewise.
38041         Rename file...
38042         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
38043         gnulib-tool requires autoconf 2.59 or better.
38044         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
38045
38046 2008-04-08  Eric Blake  <ebb9@byu.net>
38047
38048         Use 'git describe --match' if present (added in git 1.5.5).
38049         * build-aux/git-version-gen: Limit result to tags that match 'v*'
38050         if possible.
38051
38052 2008-04-08  Bruno Haible  <bruno@clisp.org>
38053
38054         Add tentative support for OpenServer.
38055         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
38056         _ptr, _cnt.
38057         * lib/fpurge.c (fpurge): Likewise.
38058         * lib/freadable.c (freadable): Likewise.
38059         * lib/freadahead.c (freadahead): Likewise.
38060         * lib/freading.c (freading): Likewise.
38061         * lib/freadptr.c (freadptr): Likewise.
38062         * lib/freadseek.c (freadptrinc): Likewise.
38063         * lib/fseeko.c (rpl_fseeko): Likewise.
38064         * lib/fseterr.c (fseterr): Likewise.
38065         * lib/fwritable.c (fwritable): Likewise.
38066         * lib/fwriting.c (fwriting): Likewise.
38067         Reported by Roger Cornelius <rac@tenzing.org> and
38068         Brian K. White <brian@aljex.com>.
38069
38070 2008-04-06  Jim Meyering  <meyering@redhat.com>
38071
38072         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
38073
38074 2008-04-06  Bruno Haible  <bruno@clisp.org>
38075
38076         Avoid possible error with non-ASCII bytes in UTF-8 locales.
38077         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
38078         * tests/test-printf-posix.sh: Likewise.
38079         * tests/test-vfprintf-posix.sh: Likewise.
38080         * tests/test-vprintf-posix.sh: Likewise.
38081         * tests/test-xprintf-posix.sh: Likewise.
38082
38083 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38084
38085         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
38086         hide error from 'ls', needed on OS/2.
38087         Report by Elbert Pol <elbert.pol@gmail.com>.
38088
38089 2008-04-04  Eric Blake  <ebb9@byu.net>
38090
38091         Make test-fseeko.c failures meaningful.
38092         * tests/test-fseeko.c: Print line number on failure.
38093         * tests/test-fseek.c: Likewise.
38094         Reported by Nelson H. F. Beebe.
38095
38096         Improve strtod bug detection check.
38097         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
38098         required for Solaris 10.
38099         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
38100
38101 2008-04-04  Bruno Haible  <bruno@clisp.org>
38102
38103         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
38104         by m4/setenv.m4.
38105
38106 2008-04-03  Eric Blake  <ebb9@byu.net>
38107
38108         Ensure sane .version contents.
38109         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
38110         version string.
38111         * build-aux/git-version-gen: Improve documentation.
38112
38113         Make GNU make output nicer.
38114         * top/GNUmakefile [!_have-Makefile]: Add dependency on
38115         MAKECMDGOALS to enforce message for all command line targets.  Set
38116         srcdir for use in maint.mk.
38117
38118         Another maintainer tweak.
38119         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
38120         a target that regenerates version.
38121
38122 2008-04-03  Jim Meyering  <meyering@redhat.com>
38123
38124         vc-list-files: don't cause coreutils "make po-check" failure
38125         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
38126
38127 2008-04-03  Eric Blake  <ebb9@byu.net>
38128
38129         Allow VPATH usage of vc-list-files.
38130         * build-aux/vc-list-files (scriptversion): Add timestamp.
38131         (options): Add --help, --version, -C.
38132         (CVS): Support installed cvsu.
38133
38134 2008-04-02  Bruno Haible  <bruno@clisp.org>
38135
38136         Avoid some "statement with no effect" warnings from gcc.
38137         * tests/test-wctype.c (main): Explicitly ignore unused values.
38138         Reported by Jim Meyering.
38139
38140 2008-04-02  Jim Meyering  <meyering@redhat.com>
38141
38142         Avoid some warnings from "gcc -Wshadow".
38143         * tests/test-frexp.c (exp): Define to a different identifier.
38144         * tests/test-frexpl.c (exp): Likewise.
38145
38146 2008-04-03  Jim Meyering  <meyering@redhat.com>
38147
38148         bootstrap: remove dangling *.[ch] symlinks from lib
38149         * build-aux/bootstrap [dangling symlink removal]: Move find's
38150         -depth option to precede all others, to avoid a warning.
38151         Remove *.[ch] files too, and from "$source_base" (usually lib/).
38152
38153 2008-04-02  Bruno Haible  <bruno@clisp.org>
38154
38155         Avoid some warnings from "gcc -Wshadow".
38156         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
38157         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
38158         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
38159         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
38160         Reported by Jim Meyering.
38161
38162 2008-04-01  Bruno Haible  <bruno@clisp.org>
38163
38164         Fix test to work on IRIX 6.5 with cc.
38165         * tests/test-math.c (numeric_equal): New function.
38166         (main): Use it.
38167
38168 2008-04-01  Bruno Haible  <bruno@clisp.org>
38169
38170         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
38171
38172 2008-04-01  Bruno Haible  <bruno@clisp.org>
38173
38174         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
38175         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
38176         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
38177         (Depends-on): Remove math.
38178
38179         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
38180         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
38181         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
38182         (Depends-on): Remove math.
38183
38184         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
38185         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
38186         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
38187         (Depends-on): Remove math.
38188         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
38189         (Depends-on): Remove math.
38190
38191         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
38192         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
38193         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
38194         (Depends-on): Remove math.
38195         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
38196         (Depends-on): Remove math.
38197
38198         * tests/test-round1.c: Include nan.h.
38199         (main): Use NaNd instead of NAN.
38200         * modules/round-tests (Files): Add tests/nan.h.
38201
38202         * tests/test-trunc1.c: Include nan.h.
38203         (main): Use NaNd instead of NAN.
38204         * modules/trunc-tests (Files): Add tests/nan.h.
38205
38206         * tests/test-roundf1.c: Include nan.h.
38207         (main): Use NaNf instead of NAN.
38208         * modules/roundf-tests (Files): Add tests/nan.h.
38209
38210         * tests/test-truncf1.c: Include nan.h.
38211         (main): Use NaNf instead of NAN.
38212         * modules/truncf-tests (Files): Add tests/nan.h.
38213
38214         * tests/test-ceilf1.c: Include nan.h.
38215         (main): Use NaNf instead of NAN.
38216         * modules/ceilf-tests (Files): Add tests/nan.h.
38217
38218         * tests/test-floorf1.c: Include nan.h.
38219         (main): Use NaNf instead of NAN.
38220         * modules/floorf-tests (Files): Add tests/nan.h.
38221
38222         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
38223         (main): Use NaNf instead of NAN.
38224         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
38225
38226         * tests/test-isnand.c: Include nan.h instead of <math.h>.
38227         (main): Use NaNd instead of NAN.
38228         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
38229
38230         * tests/test-frexp.c: Include nan.h.
38231         (main): Use NaNd instead of NAN.
38232         * modules/frexp-tests (Files): Add tests/nan.h.
38233
38234         * lib/isnan.c: Don't include <math.h>.
38235         (FUNC): Don't use NAN macro.
38236         * modules/isnand-nolibm (Depends-on): Remove math.
38237         * modules/isnanf-nolibm (Depends-on): Remove math.
38238         * modules/isnanl (Depends-on): Remove math.
38239         * modules/isnanl-nolibm (Depends-on): Remove math.
38240
38241         * tests/nan.h: New file.
38242
38243 2008-04-01  Eric Blake  <ebb9@byu.net>
38244
38245         Fix typos.
38246         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
38247         values to be the right type.
38248
38249         For now, cater to gnulib strtod inaccuracies.
38250         * tests/test-strtod.c (main): Allow 1-ulp error on expected
38251         fractional results.  While not as nice from a QoI perspective, it
38252         is a quicker patch than correctly implementing decimal to binary
38253         rounding.
38254
38255 2008-03-31  Eric Blake  <ebb9@byu.net>
38256
38257         Guarantee a definition of NAN.
38258         * lib/math.in.h (NAN): Define if missing.
38259         * tests/test-math.c (main): Test it.
38260         * doc/posix-headers/math.texi (math.h): Document this.
38261         * lib/isnan.c (rpl_isnand): Use it.
38262         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
38263         * tests/test-floorf1.c (NaN): Likewise.
38264         * tests/test-frexp.c (NaN): Likewise.
38265         * tests/test-isnand.c (NaN): Likewise.
38266         * tests/test-isnanf.c (NaN): Likewise.
38267         * tests/test-round1.c (NaN): Likewise.
38268         * tests/test-roundf1.c (NaN): Likewise.
38269         * tests/test-snprintf-posix.h (NaN): Likewise.
38270         * tests/test-sprintf-posix.h (NaN): Likewise.
38271         * tests/test-trunc1.c (NaN): Likewise.
38272         * tests/test-truncf1.c (NaN): Likewise.
38273         * tests/test-vasnprintf-posix.c (NaN): Likewise.
38274         * tests/test-vasprintf-posix.c (NaN): Likewise.
38275         * modules/isnand-nolibm (Depends-on): Add math.
38276         * modules/isnanf-nolibm (Depends-on): Likewise.
38277         * modules/isnanl (Depends-on): Likewise.
38278         * modules/isnanl-nolibm (Depends-on): Likewise.
38279         * modules/snprintf-posix-tests (Depends-on): Likewise.
38280         * modules/sprintf-posix-tests (Depends-on): Likewise.
38281         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
38282         * modules/vsprintf-posix-tests (Depends-on): Likewise.
38283         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
38284         * modules/vasprintf-posix-tests (Depends-on): Likewise.
38285
38286 2008-03-31  Bruno Haible  <bruno@clisp.org>
38287
38288         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
38289         * doc/posix-functions/strtod.texi: Likewise.
38290
38291 2008-03-31  Bruno Haible  <bruno@clisp.org>
38292
38293         * tests/test-strtod.c (main): Don't use C99 syntax.
38294
38295 2008-03-31  Bruno Haible  <bruno@clisp.org>
38296
38297         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
38298         Reported by Eric Blake.
38299
38300 2008-03-31  Jim Meyering  <meyering@redhat.com>
38301
38302         Don't compare actual signbit return values.
38303         * tests/test-strtod.c (main): Rather, compare only their
38304         zero/non-zero nature.
38305
38306 2008-03-31  Eric Blake  <ebb9@byu.net>
38307
38308         More strtod documentation.
38309         * doc/posix-functions/strtod.texi (strtod): Interpret more test
38310         failures as distinct bugs.
38311
38312 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
38313
38314         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
38315         Problem reported by Erik Benada in
38316         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
38317
38318 2008-03-30  Bruno Haible  <bruno@clisp.org>
38319
38320         * tests/test-strtod.c: Add comments about which assertion fails on which
38321         platform.
38322         * doc/posix-functions/strtod.texi: Add info about many more platforms.
38323
38324 2008-03-30  Eric Blake  <ebb9@byu.net>
38325
38326         Test signbit behavior on zeros.
38327         * tests/test-signbit.c (test_signbitf): Add tests for zero.
38328         (test_signbitd, test_signbitl): Likewise.
38329
38330         More strtod touchups.
38331         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
38332         sign of negative underflow, for now.  Use .5, not .1.
38333         * doc/posix-functions/strtod.texi (strtod): Mention these
38334         limitations.
38335         Reported by Jim Meyering.
38336
38337 2008-03-30  Bruno Haible  <bruno@clisp.org>
38338
38339         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
38340         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
38341
38342 2008-03-30  Bruno Haible  <bruno@clisp.org>
38343
38344         Avoid failure when attempting to return empty iconv results on some
38345         platforms.
38346         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
38347         allocation, don't report ENOMEM when the resulting string is empty.
38348
38349 2008-03-30  Bruno Haible  <bruno@clisp.org>
38350
38351         Fix buffer overrun.
38352         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
38353         Don't consider the width for tmp_length. Check count against tmp_length
38354         before doing the padding. Ensure enough allocation during padding.
38355
38356 2008-03-30  Eric Blake  <ebb9@byu.net>
38357
38358         strtod touchups.
38359         * lib/strtod.c (strtod): Avoid compiler warnings.
38360         Reported by Jim Meyering.
38361
38362 2008-03-30  Bruno Haible  <bruno@clisp.org>
38363
38364         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
38365         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
38366         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
38367         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
38368         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
38369         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
38370         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
38371         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
38372
38373         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
38374         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
38375         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
38376         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
38377         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
38378         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
38379         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
38380         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
38381
38382         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
38383         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
38384         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
38385         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
38386         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
38387         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
38388         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
38389         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
38390
38391         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
38392         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
38393
38394         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
38395         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
38396
38397         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
38398         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
38399
38400         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
38401         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
38402         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
38403
38404         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
38405         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
38406         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
38407
38408         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
38409         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
38410         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
38411
38412         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
38413         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
38414         * modules/vasprintf (Depends-on): Add EOVERFLOW.
38415
38416         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
38417         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
38418         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
38419         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
38420         (Depends-on): Add EOVERFLOW.
38421         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
38422         (Depends-on): Add EOVERFLOW.
38423         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
38424         (Depends-on): Add EOVERFLOW.
38425         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
38426         (Depends-on): Add EOVERFLOW.
38427         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
38428         (Depends-on): Add EOVERFLOW.
38429         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
38430         (Depends-on): Add EOVERFLOW.
38431         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
38432         (Depends-on): Add EOVERFLOW.
38433         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
38434         (Depends-on): Add EOVERFLOW.
38435
38436         * lib/sprintf.c (EOVERFLOW): Remove fallback.
38437         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
38438         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
38439
38440         * lib/snprintf.c (EOVERFLOW): Remove fallback.
38441         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
38442         * modules/snprintf (Depends-on): Add EOVERFLOW.
38443
38444         * lib/poll.c (EOVERFLOW): Remove fallback.
38445         * modules/poll (Depends-on): Add EOVERFLOW.
38446
38447         * lib/getugroups.c (EOVERFLOW): Remove fallback.
38448         * modules/getugroups (Depends-on): Add EOVERFLOW.
38449
38450         * lib/getdelim.c (EOVERFLOW): Remove fallback.
38451         * modules/getdelim (Depends-on): Add EOVERFLOW.
38452
38453         * lib/ftell.c (EOVERFLOW): Remove fallback.
38454         * modules/ftell (Depends-on): Add EOVERFLOW.
38455
38456         * lib/fprintf.c (EOVERFLOW): Remove fallback.
38457         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
38458         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
38459
38460         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
38461
38462         * modules/EOVERFLOW-tests: New file.
38463         * tests/test-EOVERFLOW.c: New file.
38464
38465         * modules/EOVERFLOW: New file.
38466         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
38467
38468 2008-03-30  Bruno Haible  <bruno@clisp.org>
38469
38470         Fix bug introduced on 2007-06-10.
38471         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
38472         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
38473
38474 2008-03-30  Bruno Haible  <bruno@clisp.org>
38475
38476         Improve freadseek's efficiency after ungetc.
38477         * lib/freadseek.c: Include freadahead.h.
38478         (freadptrinc): New function, extracted from freadseek.
38479         (freadseek): Use it in a loop. Use freadahead to determine the number
38480         of loop iterations.
38481         * modules/freadseek (Depends-on): Add freadahead.
38482         (configure.ac): Require AC_C_INLINE.
38483
38484 2008-03-30  Bruno Haible  <bruno@clisp.org>
38485
38486         * lib/freadseek.c (freadseek): Don't ignore the return value of
38487         freadptr.
38488
38489 2008-03-29  Eric Blake  <ebb9@byu.net>
38490
38491         Add hex float support.
38492         * modules/strtod (Depends-on): Add c-ctype.
38493         (Link): Mention POW_LIB.
38494         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
38495         whitespace between 'e' and exponent.
38496         * tests/test-strtod.c (main): Enable hex float tests.
38497         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
38498         now provides.
38499
38500         Document various strtod bugs, with some fixes.
38501         * doc/posix-functions/strtod.texi (strtod): Document bugs with
38502         "-0x", "inf", "nan", and hex constants.
38503         * doc/posix-functions/atof.texi (atof): Likewise.
38504         * modules/stdlib (Makefile.am): Support strtod.
38505         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
38506         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
38507         detect additional strtod bugs.
38508         * lib/stdlib.in.h (rpl_strtod): Add declarations.
38509         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
38510         bool where appropriate.  Parse 'inf' and 'nan'.
38511         * tests/test-strtod.c: New file.
38512         * modules/strtod (Depends-on): Add stdbool, stdlib.
38513         (configure.ac): Turn on module indicator.
38514         * modules/strtod-tests: New module.
38515
38516 2008-03-29  Eric Blake  <ebb9@byu.net>
38517
38518         Fix ftell on mingw.
38519         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
38520         * modules/ftell-tests (Depends-on): Add binary-io.
38521         * modules/ftello-tests (Depends-on): Likewise.
38522         * tests/test-ftell.c (main): Enhance test to cover behavior after
38523         ungetc.  Enforce binary mode.
38524         * tests/test-ftello.c (main): Likewise.
38525
38526         Pass test-freadseek on cygwin.
38527         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
38528         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
38529         ungetc buffer.
38530
38531         * tests/test-fflush2.c (main): Fix typo.
38532
38533 2008-03-29  Bruno Haible  <bruno@clisp.org>
38534
38535         * tests/test-fflush2.c (main): Temporarily disable the contents of
38536         this test.
38537         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
38538         Reported by Eric Blake.
38539
38540 2008-03-28  Simon Josefsson  <simon@josefsson.org>
38541
38542         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
38543         (GC_SHA224_DIGEST_SIZE): Add.
38544
38545         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
38546         (gc_hash_digest_length): Likewise.
38547         (gc_hash_buffer): Likewise.
38548
38549 2008-03-25  Bruno Haible  <bruno@clisp.org>
38550
38551         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
38552         detail which gettext release to use.
38553         Reported by Simon Josefsson.
38554
38555 2008-03-26  Jim Meyering  <meyering@redhat.com>
38556
38557         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
38558         * modules/gnumakefile (clean-GNUmakefile): Also, use
38559         test ... && ... || : syntax rather than if-then ... fi.
38560
38561         gnumakefile: Don't double-quote-expand $(VPATH) value.
38562         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
38563
38564 2008-03-24  Eric Blake  <ebb9@byu.net>
38565
38566         Alter GNUmakefile to install into top directory.
38567         * modules/maintainer-makefile: Split, and add dependency...
38568         * modules/gnumakefile: to this new module.
38569         * build-aux/GNUmakefile: Move...
38570         * top/GNUmakefile: ...here.
38571         * build-aux/maint.mk: Move...
38572         * top/maint.mk: ...here.
38573         * MODULES.html.sh (Support for maintaining...): Document new
38574         module.
38575
38576 2008-03-23  Bruno Haible  <bruno@clisp.org>
38577
38578         * gnulib-tool: New options --vc-files, --no-vc-files.
38579         (func_usage): Document them.
38580         (vc_files): New variable.
38581         (func_import): Consider vc_files.
38582         (func_create_testdir): Set vc_files to empty.
38583         Suggested by Jim Meyering and Karl Berry.
38584
38585 2008-03-23  Bruno Haible  <bruno@clisp.org>
38586
38587         Fix regex compilation error on HP-UX 11.
38588         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
38589         * modules/regex (Files): Add m4/mbstate_t.m4.
38590         Reported by Ton Voon <ton.voon@altinity.com>.
38591
38592 2008-03-23  Bruno Haible  <bruno@clisp.org>
38593
38594         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
38595
38596 2008-03-23  Eric Blake  <ebb9@byu.net>
38597             Bruno Haible  <bruno@clisp.org>
38598
38599         Install files from top/ in the destination directory.
38600         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
38601         augmentation also for the files from top/.
38602         (func_import, func_create_testdir): Rewrite file names:
38603         top/filename -> filename.
38604
38605 2008-03-23  Bruno Haible  <bruno@clisp.org>
38606
38607         Tweak "gnulib --version" output.
38608         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
38609
38610 2008-03-23  Bruno Haible  <bruno@clisp.org>
38611
38612         Tweak "gnulib --version" output.
38613         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
38614         rather than contents of ChangeLog, when possible.
38615
38616 2008-03-21  Eric Blake  <ebb9@byu.net>
38617
38618         More --version tweaks.
38619         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
38620         date of last ChangeLog entry.
38621
38622 2008-03-21  Jim Meyering  <meyering@redhat.com>
38623
38624         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
38625
38626 2008-03-20  Eric Blake  <ebb9@byu.net>
38627
38628         VPATH fix.
38629         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
38630
38631 2008-03-20  Simon Josefsson  <simon@josefsson.org>
38632
38633         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
38634         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
38635
38636 2008-03-20  Eric Blake  <ebb9@byu.net>
38637
38638         Sync GNUmakefile with coreutils.
38639         * build-aux/GNUmakefile (have-Makefile): Rename...
38640         (_have-Makefile): ...to this, for namespace consideration.
38641         (GNUmakefile.cfg): Include, if present.
38642         (_autoreconf): Define a default.
38643         (_is-dist-target): New rule for rebuilds to pick up intra-release
38644         version.
38645         (maint-cfg.mk): Rename...
38646         (cfg.mk): ...to this.
38647
38648 2008-03-18  Jim Meyering  <meyering@redhat.com>
38649
38650         New script and module: mktempd
38651         * MODULES.html.sh (maint+release support): Add mktempd.
38652         * build-aux/mktempd: New file.
38653         * modules/mktempd: New file.
38654
38655 2008-03-15  Jim Meyering  <meyering@redhat.com>
38656
38657         Undo last change.
38658         * lib/sha1.c, lib/md5.c: 63 != ~63.
38659         Reported by Andreas Schwab.
38660
38661         sha1.c, md5.c: Hoist a redundant expression.
38662         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
38663         "ctx->buflen" only once, before calling *_process_block.
38664         * lib/md5.c (md5_process_bytes): Likewise.
38665
38666 2008-03-14  Eric Blake  <ebb9@byu.net>
38667
38668         Bump copyright year in files generated by gnulib-tool.
38669         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
38670         gnulib-tool, rather than hard-coding it.
38671
38672         Fix 'gnulib-tool --version' output to work with git.
38673         * gnulib-tool (func_gnulib_dir): New function, extracted from...
38674         (startup): ...here.
38675         (func_version): Use it to invoke git-version-gen, rather than
38676         relying on CVS keyword expansion.  Modernize wording.
38677         (cvsdatestamp, last_checkin_date, version): Kill unused
38678         variables.
38679
38680 2008-03-12  Jim Meyering  <meyering@redhat.com>
38681
38682         Recognize optional cast of the argument to free.
38683         * build-aux/useless-if-before-free: Update regexps.
38684
38685         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
38686
38687 2008-03-11  Bruno Haible  <bruno@clisp.org>
38688
38689         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
38690         by a single package.
38691         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
38692         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
38693         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
38694         Reported by Sam Steingold <sds@gnu.org>.
38695
38696 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
38697
38698         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
38699         repositories.
38700
38701 2008-03-11  Bruno Haible  <bruno@clisp.org>
38702
38703         Avoid conflicts between local macro definitions.
38704         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
38705         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
38706
38707 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
38708             Bruno Haible  <bruno@clisp.org>
38709
38710         Make va_copy work with some version of xlc on AIX 5.1.
38711         * lib/stdarg.in.h: New file.
38712         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
38713         On AIX, use a <stdarg.h> file substitute.
38714         * modules/stdarg (Files): Add lib/stdarg.in.h.
38715         (Depends-on): Add include_next.
38716         (Makefile.am): Build a stdarg.h substitute if requested.
38717         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
38718
38719 2008-03-10  Bruno Haible  <bruno@clisp.org>
38720
38721         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
38722         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
38723         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
38724
38725 2008-03-10  Bruno Haible  <bruno@clisp.org>
38726
38727         * modules/stdlib (Depends-on): Add include_next, remove
38728         absolute-header.
38729
38730 2008-03-09  Bruno Haible  <bruno@clisp.org>
38731
38732         * lib/freadahead.h (freadahead): Document more precisely.
38733         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
38734         the sum of both buffer sizes.
38735         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
38736         * NEWS: Document the change.
38737
38738 2008-03-09  Bruno Haible  <bruno@clisp.org>
38739
38740         Extend freadptr to return also the buffer size.
38741         * lib/freadptr.h (freadptr): Add sizep argument.
38742         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
38743         (freadptr): Add sizep argument. Determine buffer size like freadahead
38744         does.
38745         * tests/test-freadptr.c: Don't include freadahead.h.
38746         (main): Adapt for new calling convention of freadptr.
38747         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
38748         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
38749         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
38750         tests/test-freadptr2.sh.
38751         (Depends): Remove freadahead.
38752         (TESTS): Add test-freadptr2.sh.
38753         (check_PROGRAMS): Add test-freadptr2.
38754
38755 2008-03-09  Bruno Haible  <bruno@clisp.org>
38756
38757         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
38758         Report and solution by Simon Josefsson.
38759
38760 2008-03-06  Bruno Haible  <bruno@clisp.org>
38761
38762         Make fflush after ungetc work on BSD platforms.
38763         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
38764         * tests/test-fflush2.c: New file.
38765         * tests/test-fflush2.sh: New file.
38766         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
38767         tests/test-fflush2.c.
38768         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
38769         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
38770
38771 2008-03-06  Eric Blake  <ebb9@byu.net>
38772
38773         Likewise for ftello.
38774         * modules/ftello (Dependencies): Add extensions.
38775         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
38776
38777 2008-03-06  Bruno Haible  <bruno@clisp.org>
38778
38779         * modules/fseeko (Dependencies): Add extensions.
38780         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
38781         Needed on glibc systems.
38782
38783 2008-03-06  Bruno Haible  <bruno@clisp.org>
38784
38785         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
38786         email address.
38787         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
38788
38789 2008-03-06  Bruno Haible  <bruno@clisp.org>
38790
38791         * users.txt: Add libgnupdf.
38792
38793 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
38794
38795         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
38796         (Header File Substitutes, Function Substitutes,
38797         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
38798         (Build robot for gnulib): Fix typo.
38799
38800 2008-03-06  Bruno Haible  <bruno@clisp.org>
38801
38802         * doc/gnulib-tool.texi (VCS Issues): Small updates.
38803         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
38804
38805 2008-03-06  Bruno Haible  <bruno@clisp.org>
38806
38807         * doc/func.texi: New file, extracted from doc/gnulib.texi.
38808         * doc/gnulib.texi: Include it.
38809
38810 2008-03-06  Simon Josefsson  <simon@josefsson.org>
38811
38812         * modules/func (License): Change license to unlimited; there was
38813         no LGPL parts in the module anyway.
38814
38815 2008-03-06  Simon Josefsson  <simon@josefsson.org>
38816
38817         * modules/__func__: Renamed to modules/func.
38818         * modules/__func__-tests: Renamed to modules/func-tests.
38819         * tests/test-__func__.c: Renamed to tests/test-func.c.
38820         * m4/__func__.m4: Renamed to m4/func.m4.
38821         * doc/gnulib.texi (__func__): Section renamed to func.
38822         Suggested by Eric Blake <ebb9@byu.net>.
38823
38824 2008-03-06  Simon Josefsson  <simon@josefsson.org>
38825
38826         * doc/gnulib.texi (__func__): Use C99 terminology when talking
38827         about __func__.  Make example self-contained.  Suggested by Eric
38828         Blake <ebb9@byu.net>.
38829
38830         * tests/test-__func__.c (main): Avoid extraneous () around __func.
38831         Suggested by Eric Blake <ebb9@byu.net>.
38832
38833 2008-03-06  Simon Josefsson  <simon@josefsson.org>
38834
38835         * modules/__func__: New file.
38836         * modules/__func__-tests: New file.
38837         * tests/test-__func__.c: New file.
38838         * m4/__func__.m4: New file.
38839         * doc/gnulib.texi (__func__): Document __func__ module.
38840
38841 2008-03-05  Simon Josefsson  <simon@josefsson.org>
38842
38843         * modules/byteswap (License): Re-license as LGPLv2+.
38844
38845 2008-03-05  Simon Josefsson  <simon@josefsson.org>
38846
38847         * doc/Makefile: Add pdf target.
38848
38849 2008-03-05  Simon Josefsson  <simon@josefsson.org>
38850
38851         * modules/inline (License): Use 'unlimited', since there are only
38852         *.m4 files in this module.
38853
38854 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
38855             Bruno Haible  <bruno@clisp.org>
38856
38857         Add support for HP C 7.1 on OpenVMS 8.3.
38858         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
38859
38860 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
38861
38862         Update VMS specifics.
38863         * lib/getopt.c [VMS]: Remove include of unixlib.h.
38864
38865 2008-03-02  Jim Meyering  <meyering@redhat.com>
38866
38867         Remove the last dependency on the "free" module.
38868         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
38869         Reported by Bob Proulx.
38870
38871         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
38872
38873         Remove useless "if" tests before free.  Deprecate "free" module.
38874         * doc/posix-functions/free.texi: Mention that this
38875         module is no longer useful.
38876         * modules/free (Notice): Say this module is obsolete.
38877         * modules/readutmp (Depends-on): Remove free.
38878         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
38879         * lib/putenv.c (putenv): Likewise.
38880         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
38881         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
38882         * tests/test-c-strcasestr.c (main): Likewise.
38883         * tests/test-c-strstr.c (main): Likewise.
38884         * tests/test-mbscasestr1.c (main): Likewise.
38885         * tests/test-mbscasestr2.c (main): Likewise.
38886         * tests/test-mbsstr1.c (main): Likewise.
38887         * tests/test-mbsstr2.c (main): Likewise.
38888         * tests/test-memmem.c (main): Likewise.
38889         * tests/test-strcasestr.c (main): Likewise.
38890         * tests/test-striconv.c (main): Likewise.
38891         * tests/test-striconveh.c (main): Likewise.
38892         * tests/test-striconveha.c (main): Likewise.
38893         * tests/test-strstr.c (main): Likewise.
38894
38895         * build-aux/git-version-gen: Adjust a comment and the Usage string.
38896
38897         bootstrap: sync from coreutils again
38898         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
38899
38900 2008-03-01  Jim Meyering  <meyering@redhat.com>
38901
38902         bootstrap: sync from coreutils
38903         * build-aux/bootstrap (update_po_files): Copy a .po file into place
38904         also when the target doesn't exist.
38905
38906 2008-03-01  Eric Blake  <ebb9@byu.net>
38907
38908         Fix bugs in last patch.
38909         * lib/memchr2.c (memchr2): Fix typo.
38910         * tests/test-memchr2.c: Test previous bug, and don't use GNU
38911         extension.
38912         Reported by Bruce Korb.
38913
38914         New module 'memchr2'.
38915         * modules/memchr2: New file.
38916         * modules/memchr2-tests: Likewise.
38917         * lib/memchr2.h: Likewise.
38918         * lib/memchr2.c: Likewise, based on memchr.c.
38919         * tests/test-memchr2.c: New test.
38920         * MODULES.html.sh (String handling): Add memchr2.
38921
38922 2008-02-29  Bruno Haible  <bruno@clisp.org>
38923
38924         * modules/freadseek-tests: New file.
38925         * tests/test-freadseek.sh: New file.
38926         * tests/test-freadseek.c: New file.
38927
38928         New module 'freadseek'.
38929         * modules/freadseek: New file.
38930         * lib/freadseek.h: New file.
38931         * lib/freadseek.c: New file.
38932         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
38933
38934 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
38935
38936         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
38937         wydawca.
38938
38939         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
38940         program_invocation_name and program_invocation_short_name are
38941         present.
38942
38943 2008-02-28  Bruno Haible  <bruno@clisp.org>
38944
38945         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
38946         * tests/test-freadptr.sh: Also test non-seekable stdin.
38947
38948 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
38949
38950         * build-aux/bootstrap (source_base, m4_base)
38951         (doc_base, tests_base): New variables.
38952         (gnulib_tool_options): Do not hardcode base directories, use
38953         the above variables instead.
38954
38955 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
38956
38957         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
38958
38959 2008-02-28  Bruno Haible  <bruno@clisp.org>
38960
38961         * modules/freadptr-tests: New file.
38962         * tests/test-freadptr.sh: New file.
38963         * tests/test-freadptr.c: New file.
38964
38965         New module 'freadptr'.
38966         * modules/freadptr: New file.
38967         * lib/freadptr.h: New file.
38968         * lib/freadptr.c: New file.
38969         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
38970
38971 2008-02-26  Karl Berry  <karl@freefriends.org>
38972
38973         Sync from Libtool:
38974         * libltdl/argz.c (argz_add, argz_count): New functions.
38975         * libltdl/argz.in.h: Declare them.
38976         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
38977
38978 2008-02-22  Bruno Haible  <bruno@clisp.org>
38979
38980         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
38981         is a pointer type.  Needed for HP-UX 10.
38982         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
38983         * doc/posix-functions/gmtime_r.texi: Likewise.
38984         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
38985
38986 2008-02-24  Bruno Haible  <bruno@clisp.org>
38987
38988         * modules/environ-tests: New file.
38989         * tests/test-environ.c: New file.
38990
38991         New module 'environ'.
38992         * modules/environ: New file.
38993         * lib/unistd.in.h (environ): New declaration.
38994         * m4/environ.m4: New file.
38995         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
38996         after use.
38997         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
38998         HAVE_DECL_ENVIRON.
38999         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
39000         HAVE_DECL_ENVIRON.
39001         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
39002         wrong claim that 'environ' is missing on some systems.
39003         * modules/execute (Depends-on): Add environ.
39004         * lib/execute.c (environ): Remove fallback declaration.
39005         * modules/pipe (Depends-on): Add environ.
39006         * lib/pipe.c (environ): Remove fallback declaration.
39007         * modules/setenv (Depends-on): Add environ.
39008         * lib/setenv.c (environ): Remove fallback declaration.
39009         * modules/unsetenv (Depends-on): Add environ.
39010         * lib/unsetenv.c (environ): Remove fallback declaration.
39011         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
39012         m4/environ.m4.
39013         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
39014         (gl_PREREQ_UNSETENV): Likewise.
39015
39016 2008-02-24  Bruno Haible  <bruno@clisp.org>
39017
39018         * doc/posix-functions/environ.texi: Document the MacOS X problem.
39019
39020 2008-02-20  Bob Proulx  <bob@proulx.com>
39021
39022         Enable use of older two part flavor 'git describe'.
39023         * build-aux/git-version-gen: If using the older two part flavor of
39024         git version then recreate the third part now present in the
39025         newer three part flavor of git describe.
39026
39027 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
39028
39029         * lib/fts.c (fts_build): Typo correction to comment.
39030
39031 2008-02-17  Bruno Haible  <bruno@clisp.org>
39032
39033         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
39034         generating no-op conflicts.
39035
39036 2008-02-17  Bruno Haible  <bruno@clisp.org>
39037
39038         Speed up by 10%.
39039         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
39040         result_entries, rather than an index-based loop.
39041
39042 2008-02-17  Bruno Haible  <bruno@clisp.org>
39043
39044         Speed up by 25%.
39045         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
39046         'hashcode_cached'.
39047         (entry_create): New function.
39048         (entry_hashcode): Use the cached hashcode if possible.
39049         (read_changelog_file, try_split_merged_entry): Use entry_create.
39050
39051 2008-02-17  Bruno Haible  <bruno@clisp.org>
39052
39053         Speed up from O(n^2) to O(n) for long ChangeLog files.
39054         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
39055         (read_changelog_file): Change implementation of entries_reversed list
39056         to rbtreehash.
39057         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
39058
39059 2008-02-17  Bruno Haible  <bruno@clisp.org>
39060
39061         New option --split-merged-entry.
39062         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
39063         (find_paragraph_end, try_split_merged_entry): New functions.
39064         (long_options): Add option --split-merged-entry.
39065         (usage): Document option --split-merged-entry.
39066         (main): Implement option --split-merged-entry.
39067         Reported by Eric Blake.
39068
39069 2008-02-17  Bruno Haible  <bruno@clisp.org>
39070
39071         * lib/git-merge-changelog.c: Include c-strstr.h.
39072         (main): Support the "git pull --rebase" situation.
39073         * modules/git-merge-changelog (Depends-on): Add c-strstr.
39074         Reported by Eric Blake.
39075
39076 2008-02-16  Eric Blake  <ebb9@byu.net>
39077
39078         Avoid doubling \ in common case of "c-maybe" quoting style.
39079         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
39080         eliding outer quotes.
39081         * lib/quotearg.h: Document this.
39082         * tests/test-quotearg.c (result_strings, inputs, results_g)
39083         (flag_results, locale_results): Test it by adding a new string to
39084         each test group.
39085         (compare_strings): Test new string.
39086
39087 2008-02-13  Eric Blake  <ebb9@byu.net>
39088
39089         Avoid trigraph quoting in default output.
39090         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
39091         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
39092         unless explicitly requested.
39093         * tests/test-quotearg.c (flag_results, main): Add additional tests.
39094
39095 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
39096
39097         Don't rely on signed integer overflowing to negative value.
39098         * lib/getugroups.c (getugroups): Include <limits.h>.
39099         Instead, compare against INT_MAX, and increment only if the test passes.
39100
39101 2008-02-13  Jim Meyering  <meyering@redhat.com>
39102         and Eric Blake  <ebb9@byu.net>
39103
39104         Avoid shadowing warning and compile errors on Linux.
39105         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
39106         forwarding macros on Linux.
39107         (dcgettext): Define a stub, for Linux.
39108         (results_g, main): Avoid warnings.
39109
39110 2008-02-12  Eric Blake  <ebb9@byu.net>
39111
39112         Silence warning in last patch.
39113         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
39114
39115         Quotearg part 4: add tests, fix c-maybe colon quoting.
39116         * lib/quotearg.h: Improve documentation.
39117         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
39118         escapes when adding outer quotes.  When quoting trigraphs, use
39119         valid C notation.  When quoting NUL, omit extra characters if next
39120         character is not digit.  Alter prototype.
39121         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
39122         callers.
39123         * modules/quotearg-tests: New module.
39124         * tests/test-quotearg.c: New test.
39125
39126 2008-02-07  Eric Blake  <ebb9@byu.net>
39127
39128         Quotearg part 3: add flag to control outer quote elision.
39129         * lib/quotearg.h (c_maybe_quoting_style): New style.
39130         (enum quoting_flags): Better documentation of flags.
39131         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
39132         c-maybe style.
39133         (quotearg_buffer_restyled): Handle new flag to elide outer
39134         quotes.
39135
39136         Quotearg part 2: add flag that can control NUL elision.
39137         * lib/quotearg.h (set_quoting_flags): New prototype.
39138         * lib/quotearg.c (struct quoting_options): Add flag field.
39139         (set_quoting_flags): New function.
39140         (quotearg_buffer_restyled): Add flags parameter.
39141         (quotearg_alloc_mem): Set the flag if length cannot be returned.
39142         (quotearg_n_options): Set the flag, since length cannot be
39143         returned.
39144         (quoting_options_from_style): Default flags correctly.
39145
39146         Quotearg part 1: more wrappers, restore quotearg_char state.
39147         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
39148         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
39149         (quotearg_colon_mem): New wrappers.
39150         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
39151         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
39152         functions.
39153         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
39154         (quotearg_colon_mem): New functions.
39155
39156 2008-02-11  Bruno Haible  <bruno@clisp.org>
39157
39158         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
39159         library in the current directory: it does not work with parallel make.
39160         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39161
39162 2008-02-11  Bruno Haible  <bruno@clisp.org>
39163
39164         * .gitattributes: New file.
39165
39166 2008-02-11  Jim Meyering  <meyering@redhat.com>
39167
39168         useless-if-before-free: Fix reversed exit values.
39169         * build-aux/useless-if-before-free: Use correct values
39170         for EXIT_MATCH and EXIT_NO_MATCH.
39171
39172         * build-aux/useless-if-before-free: Close stdout carefully.
39173
39174 2008-02-10  Bruno Haible  <bruno@clisp.org>
39175
39176         New module 'git-merge-changelog'.
39177         * modules/git-merge-changelog: New file.
39178         * lib/git-merge-changelog.c: New file.
39179
39180 2008-02-10  Jim Meyering  <meyering@redhat.com>
39181
39182         useless-if-before-free: New option: --list (-l).
39183
39184         useless-if-before-free: Don't exit immediately upon open failure.
39185         * build-aux/useless-if-before-free: Exit 2 for errors.
39186         Upon failure to open a file, don't exit immediately.
39187         Rather, just warn and continue with any remaining files.
39188
39189 2008-02-10  Bruno Haible  <bruno@clisp.org>
39190
39191         New abstract list operation 'node_set_value'.
39192         * lib/gl_list.h (gl_list_node_set_value): New function.
39193         (struct gl_list_implementation): New field node_set_value.
39194         * lib/gl_list.c (gl_list_node_set_value): New function.
39195         * lib/gl_array_list.c (gl_array_node_set_value): New function.
39196         (gl_array_list_implementation): Update.
39197         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
39198         (gl_carray_list_implementation): Update.
39199         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
39200         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
39201         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
39202         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
39203         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
39204         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
39205         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
39206         Update.
39207         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
39208         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
39209         (gl_sublist_list_implementation): Update.
39210
39211 2008-02-10  Bruno Haible  <bruno@clisp.org>
39212
39213         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
39214         Needed when ELEMENT is #defined to 'some_type *'.
39215
39216 2008-02-10  Jim Meyering  <meyering@redhat.com>
39217
39218         New script and module: useless-if-before-free
39219         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
39220         * build-aux/useless-if-before-free: New file.
39221         * modules/useless-if-before-free: New file.
39222
39223         * build-aux/gitlog-to-changelog: Use committer date, not author date.
39224
39225         xstrtol_error: Fix typo.
39226         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
39227         s/exit_failure/exit_status/.
39228
39229 2008-02-09  Jim Meyering  <meyering@redhat.com>
39230
39231         New script and module: gitlog-to-changelog
39232         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
39233         * modules/gitlog-to-changelog: New file.
39234         * build-aux/gitlog-to-changelog: New file.
39235
39236 2008-02-08  Jim Meyering  <meyering@redhat.com>
39237
39238         Avoid two "parameter unused" warnings.
39239         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
39240         Mark "st" as used.
39241
39242         Use "git COMMAND", not "git-COMMAND".
39243         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
39244         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
39245         * build-aux/git-version-gen: Use "git status", not "git-status".
39246
39247 2008-02-07  Bruno Haible  <bruno@clisp.org>
39248
39249         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
39250         Avoids a crash on Windows Vista.
39251         Reported by Adam Strzelecki <ono@java.pl> via
39252         Simon Josefsson <simon@josefsson.org>.
39253
39254 2008-02-06  Bruno Haible  <bruno@clisp.org>
39255
39256         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
39257         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
39258         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
39259         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
39260         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
39261         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
39262         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
39263         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
39264         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
39265         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
39266         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
39267         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
39268         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
39269         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39270         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
39271         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
39272         left-adjust flag.
39273         * tests/test-snprintf-posix.h (test_function): Likewise.
39274         * tests/test-sprintf-posix.h (test_function): Likewise.
39275         * tests/test-vasprintf-posix.c (test_function): Likewise.
39276         * doc/posix-functions/fprintf.texi: Update.
39277         * doc/posix-functions/printf.texi: Update.
39278         * doc/posix-functions/snprintf.texi: Update.
39279         * doc/posix-functions/sprintf.texi: Update.
39280         * doc/posix-functions/vfprintf.texi: Update.
39281         * doc/posix-functions/vprintf.texi: Update.
39282         * doc/posix-functions/vsnprintf.texi: Update.
39283         * doc/posix-functions/vsprintf.texi: Update.
39284         Reported by Peter Fales <psfales@alcatel-lucent.com>.
39285
39286 2008-02-06  Bruno Haible  <bruno@clisp.org>
39287
39288         Fix bug introduced on 2008-01-26.
39289         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
39290
39291 2008-02-06  Bruno Haible  <bruno@clisp.org>
39292
39293         Fix bug introduced on 2007-06-10.
39294         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
39295         !NEED_PRINTF_FLAG_ZERO.
39296
39297 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
39298
39299         getloadavg: use libperfstat on AIX5
39300         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
39301
39302 2008-02-03  Bruno Haible  <bruno@clisp.org>
39303
39304         * lib/diffseq.h: Add comments about required #includes.
39305         Reported by Michael Biggs <gnulib@doubleplum.net>.
39306
39307 2008-02-01  Bruno Haible  <bruno@clisp.org>
39308
39309         * users.txt: Add gnuit.
39310
39311 2008-01-31  Bruno Haible  <bruno@clisp.org>
39312
39313         * lib/md4.c (set_uint32): Mark as inline.
39314         * lib/md5.c (set_uint32): Likewise.
39315         * lib/sha1.c (set_uint32): Likewise.
39316         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
39317         * m4/md5.m4 (gl_MD5): Likewise.
39318         * m4/sha1.m4 (gl_SHA1): Likewise.
39319
39320 2008-01-31  Jim Meyering  <meyering@redhat.com>
39321
39322         Use "sizeof VAR", rather than a literal "4".
39323         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
39324         * lib/md4.c (md4_read_ctx): Likewise.
39325         * lib/sha1.c (sha1_read_ctx): Likewise.
39326
39327 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39328
39329         * tests/test-sha1.c: New file, based on test-md5.c.
39330
39331         * modules/crypto/sha1-tests: New file.
39332
39333 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39334
39335         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
39336
39337 2008-01-31  Jim Meyering  <meyering@redhat.com>
39338
39339         Prefer "sizeof v" over the equivalent "4".
39340         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
39341         * lib/md5.c (set_uint32): Likewise.
39342         * lib/sha1.c (set_uint32): Likewise.
39343
39344 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39345
39346         * lib/sha1.c (set_uint32): Mark function as static.
39347
39348 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39349
39350         md2: clarify comments to say that alignment is not required.
39351         * lib/md2.h: Remove warning about alignment in comment.
39352         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
39353         never been required.
39354
39355 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39356
39357         md4: adapt alignment constraint fix from sha1.
39358         * lib/md4.c (set_uint32): New function, from sha1.c
39359         (md4_read_ctx): Use it.
39360         (md4_finish_ctx): Doc fix.
39361         * lib/md4.h: Doc fix.
39362
39363 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39364
39365         md5: adapt alignment constraint fix from sha1.
39366         * lib/md5.c (set_uint32): New function, from sha1.c
39367         (md5_read_ctx): Use it.
39368         (md5_finish_ctx): Doc fix.
39369         * lib/md5.h: Doc fix.
39370
39371 2008-01-30  Peter Palfrader  <weasel@debian.org>
39372
39373         sha1: remove the result buffer alignment constraint
39374         * lib/sha1.c (set_uint32): New function.
39375         (sha1_read_ctx): Rewrite to remove the result buffer alignment
39376         constraint.
39377         (sha1_finish_ctx): Remove comment warning about alignment constraint.
39378         * lib/sha1.h: Likewise.
39379
39380 2008-01-30  Andreas Schwab  <schwab@suse.de>
39381             Bruno Haible  <bruno@clisp.org>
39382
39383         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
39384         correct definition of LDBL_MIN_EXP.
39385
39386 2008-01-30  Karl Berry  <karl@gnu.org>
39387
39388         * config/srclist-update: try to preserve x bit on updates.
39389         * config/srclistvars.sh: update for karl.
39390
39391 2008-01-29  Jim Meyering  <meyering@redhat.com>
39392
39393         vasnprintf.c: Avoid warning about unused label
39394         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
39395         "overflow" label definition and associated code with the
39396         same cpp condition that guards the sole use of that label.
39397
39398 2008-01-26  Bruno Haible  <bruno@clisp.org>
39399
39400         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
39401         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
39402         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
39403         * lib/isnanl-nolibm.h (isnanl): Likewise.
39404         Reported by Paul Eggert <eggert@cs.ucla.edu>.
39405
39406 2008-01-26  Bruno Haible  <bruno@clisp.org>
39407
39408         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
39409         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
39410
39411 2008-01-26  Bruno Haible  <bruno@clisp.org>
39412
39413         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
39414         GCC >= 4.0 built-in.
39415         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
39416
39417 2008-01-26  Bruno Haible  <bruno@clisp.org>
39418
39419         Rename isnan, applicable to 'double' only, to isnand.
39420         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
39421         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
39422         (configure.ac): Update.
39423         (Include): Replace "isnan.h" with "isnand.h".
39424         * m4/isnand.m4: Renamed from m4/isnan.m4.
39425         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
39426         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
39427         instead of isnan.c.
39428         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
39429         instead of HAVE_ISNAN_IN_LIBC.
39430         (isnand): Renamed from isnan.
39431         * lib/isnand.c: New file.
39432         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
39433         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
39434         (Makefile.am): Update.
39435         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
39436         Include isnand.h instead of isnan.h.
39437         (main): Test isnand instead of isnan.
39438         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
39439         isnan-nolibm.
39440         * modules/frexp (Depends-on): Likewise.
39441         * modules/frexp-tests (Depends-on): Likewise.
39442         * modules/frexp-nolibm (Depends-on): Likewise.
39443         * modules/frexp-nolibm-tests (Depends-on): Likewise.
39444         * modules/isfinite (Depends-on): Likewise.
39445         * modules/round-tests (Depends-on): Likewise.
39446         * modules/signbit (Depends-on): Likewise.
39447         * modules/signbit-tests (Depends-on): Likewise.
39448         * modules/snprintf-posix (Depends-on): Likewise.
39449         * modules/sprintf-posix (Depends-on): Likewise.
39450         * modules/trunc-tests (Depends-on): Likewise.
39451         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
39452         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
39453         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
39454         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
39455         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
39456         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
39457         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
39458         * modules/vasnprintf-posix (Depends-on): Likewise.
39459         * modules/vasprintf-posix (Depends-on): Likewise.
39460         * modules/vfprintf-posix (Depends-on): Likewise.
39461         * modules/vsnprintf-posix (Depends-on): Likewise.
39462         * modules/vsprintf-posix (Depends-on): Likewise.
39463         * lib/frexp.c: Include isnand.h instead of isnan.h.
39464         (ISNAN): Set to isnand instead of isnan.
39465         * lib/isfinite.c: Include isnand.h instead of isnan.h.
39466         (gl_isfinited): Use isnand instead of isnan.
39467         * lib/signbitd.c: Include isnand.h instead of isnan.h.
39468         (gl_signbitd): Use isnand instead of isnan.
39469         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
39470         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
39471         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
39472         (main): Use isnand instead of isnan.
39473         * tests/test-round1.c: Include isnand.h.
39474         (main): Use isnand instead of isnan.
39475         * tests/test-round2.c: Include isnand.h instead of isnan.h.
39476         (ISNAN): Set to isnand instead of isnan.
39477         * tests/test-trunc1.c: Include isnand.h.
39478         (main): Use isnand instead of isnan.
39479         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
39480         (equal): Use isnand instead of isnan.
39481         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
39482         isnand-nolibm.
39483         * NEWS: Mention the change.
39484
39485 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
39486             Bruno Haible  <bruno@clisp.org>
39487
39488         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
39489         the GCC builtins for signbits are present and set
39490         REPLACE_SIGNBIT_USING_GCC if so.
39491         * lib/math.in.h (signbit): Define using GCC builtins if
39492         REPLACE_SIGNBIT_USING_GCC is set.
39493         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
39494         REPLACE_SIGNBIT_USING_GCC.
39495         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
39496
39497 2008-01-25  Jim Meyering  <meyering@redhat.com>
39498
39499         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
39500         * lib/poll.c: Include <config.h>, not "config.h".
39501         * tests/test-getaddrinfo.c: Likewise.
39502
39503 2008-01-25  Simon Josefsson  <simon@josefsson.org>
39504
39505         * modules/sockets-tests: New file.
39506
39507 2008-01-24  Simon Josefsson  <simon@josefsson.org>
39508
39509         * modules/sockets: New module, can be used to call WSA_Startup and
39510         WSA_Cleanup when needed.
39511
39512         * lib/sockets.h, lib/sockets.c: New files.
39513
39514         * m4/sockets.m4: New file.
39515
39516         * tests/test-sockets.c: New file.
39517
39518 2008-01-19  Bruno Haible  <bruno@clisp.org>
39519
39520         * doc/posix-headers: Renamed from doc/headers.
39521         * doc/posix-functions: Renamed from doc/functions.
39522         * doc/gnulib.texi: Update.
39523
39524 2008-01-19  Bruno Haible  <bruno@clisp.org>
39525
39526         * doc/glibc-functions/strcasestr.texi: Include contents of
39527         doc/functions/strcasestr.texi, fixing the list of platforms.
39528         * doc/functions/strcasestr.texi: Remove file.
39529
39530 2008-01-19  Bruno Haible  <bruno@clisp.org>
39531
39532         * doc/glibc-functions/memmem.texi: Include contents of
39533         doc/functions/memmem.texi.
39534         * doc/functions/memmem.texi: Remove file.
39535
39536 2008-01-18  Bruno Haible  <bruno@clisp.org>
39537
39538         * doc/glibc-functions/*.texi: New files.
39539         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
39540         to use the new files.
39541
39542 2008-01-17  Bruno Haible  <bruno@clisp.org>
39543
39544         * tests/test-gethostname.c (main): Fix printf statement.
39545
39546 2008-01-17  Simon Josefsson  <simon@josefsson.org>
39547
39548         * modules/gethostname-tests: New file.
39549
39550         * tests/test-gethostname.c: New file.
39551
39552 2008-01-17  Simon Josefsson  <simon@josefsson.org>
39553
39554         * lib/gethostname.c: Include string.h unconditionally, strncpy is
39555         used by the UNAME case.  Reported by Bruno Haible
39556         <bruno@clisp.org>.
39557
39558 2008-01-17  Eric Blake  <ebb9@byu.net>
39559
39560         Convert c-strcasestr to be more efficient.
39561         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
39562         (Depends-on): Add c-strcase, remove malloca, strnlen.
39563         * tests/test-c-strcasestr.c (main): Enhance test.
39564         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
39565
39566 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
39567
39568         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
39569         Use it in creating po/Makevars.
39570
39571 2008-01-15  Simon Josefsson  <simon@josefsson.org>
39572
39573         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
39574         Applications that requires it should initialize libgcrypt
39575         manually.
39576
39577 2008-01-16  Simon Josefsson  <simon@josefsson.org>
39578
39579         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
39580
39581 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
39582
39583         Fix problem with getdate on mingw32 reported by Simon Josefsson
39584         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
39585         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
39586         tzname", when deciding whether to declare tzname.
39587         * lib/strftime.c (tzname): Likewise.
39588
39589 2008-01-15  Bruno Haible  <bruno@clisp.org>
39590
39591         Work around a MacOS X 10.5 bug in frexpl().
39592         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
39593         * doc/functions/frexpl.texi: Document the bug.
39594         Reported by Elias Pipping <pipping@gentoo.org>.
39595
39596 2008-01-14  Eric Blake  <ebb9@byu.net>
39597
39598         Touch up previous patch.
39599         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
39600         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
39601
39602         Convert strcasestr module to use Two-Way algorithm.
39603         * modules/strcasestr-simple: New module, based on the old
39604         strcasestr, but with Two-Way rather than KMP.
39605         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
39606         * lib/string.in.h (rpl_strcasestr): Declare.
39607         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
39608         performance.
39609         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
39610         * modules/string (Makefile.am): Support strcasestr.
39611         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
39612         * modules/strcasestr-tests (Depends-on): Check for alarm.
39613         * tests/test-strcasestr.c: Augment test.
39614         * lib/str-two-way.h: Clean up stray macro.
39615         * NEWS: Document new module.
39616         * MODULES.html.sh (string handling): Likewise.
39617         * doc/functions/strcasestr.texi: New file.
39618         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
39619         here, since it is not a POSIX function.
39620
39621 2008-01-14  Colin Watson  <cjwatson@debian.org>
39622             Bruno Haible  <bruno@clisp.org>
39623
39624         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
39625         works fine; if not, set REPLACE_STRSIGNAL.
39626         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
39627         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39628         REPLACE_STRSIGNAL.
39629         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
39630         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
39631         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
39632
39633 2008-01-14  Bruno Haible  <bruno@clisp.org>
39634
39635         * modules/strsignal (Include): Change to <string.h>.
39636
39637 2008-01-14  Colin Watson  <cjwatson@debian.org>
39638
39639         * modules/argp (Notice): Add a notice recommending to change
39640         XGETTEXT_OPTIONS.
39641         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
39642
39643 2008-01-13  Colin Watson  <cjwatson@debian.org>
39644
39645         * modules/strsignal-tests: New file.
39646         * tests/test-strsignal.c: New file.
39647
39648         * lib/strsignal.c: New file, from glibc with modifications.
39649         * lib/siglist.h: New file, from glibc with modifications.
39650         * lib/string.in.h (strsignal): New declaration.
39651         * m4/strsignal.m4: New file.
39652         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39653         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
39654         * modules/strsignal: New file.
39655         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
39656         HAVE_DECL_STRSIGNAL.
39657
39658 2008-01-13  Bruno Haible  <bruno@clisp.org>
39659
39660         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
39661         locale encoding is not ASCII. Needed for OpenBSD 4.0.
39662         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
39663         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
39664
39665 2008-01-13  Bruno Haible  <bruno@clisp.org>
39666
39667         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
39668         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
39669         * lib/argp.h (__attribute__): Likewise.
39670         * lib/c-stack.c (__attribute__): Likewise.
39671         * lib/error.h (__attribute__): Likewise.
39672         * lib/fts.c (__attribute__): Likewise.
39673         * lib/openat.h (__attribute__): Likewise.
39674         * lib/stdio.in.h (__attribute__): Likewise.
39675         * lib/string.in.h (__attribute__): Likewise.
39676         * lib/utimens.c (__attribute__): Likewise.
39677         * lib/vasnprintf.h (__attribute__): Likewise.
39678         * lib/xalloc.h (__attribute__): Likewise.
39679         * lib/xprintf.h (__attribute__): Likewise.
39680         * lib/xstrtol.h (__attribute__): Likewise.
39681         * lib/xvasprintf.h (__attribute__): Likewise.
39682
39683 2008-01-12  Bruno Haible  <bruno@clisp.org>
39684
39685         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
39686         * doc/glibc-headers/a.out.texi: New file.
39687         * doc/glibc-headers/aliases.texi: New file.
39688         * doc/glibc-headers/alloca.texi: New file.
39689         * doc/glibc-headers/ar.texi: New file.
39690         * doc/glibc-headers/argp.texi: New file.
39691         * doc/glibc-headers/argz.texi: New file.
39692         * doc/glibc-headers/byteswap.texi: New file.
39693         * doc/glibc-headers/crypt.texi: New file.
39694         * doc/glibc-headers/endian.texi: New file.
39695         * doc/glibc-headers/envz.texi: New file.
39696         * doc/glibc-headers/err.texi: New file.
39697         * doc/glibc-headers/error.texi: New file.
39698         * doc/glibc-headers/execinfo.texi: New file.
39699         * doc/glibc-headers/fpu_control.texi: New file.
39700         * doc/glibc-headers/fstab.texi: New file.
39701         * doc/glibc-headers/fts.texi: New file.
39702         * doc/glibc-headers/getopt.texi: New file.
39703         * doc/glibc-headers/ieee754.texi: New file.
39704         * doc/glibc-headers/ifaddrs.texi: New file.
39705         * doc/glibc-headers/libintl.texi: New file.
39706         * doc/glibc-headers/mcheck.texi: New file.
39707         * doc/glibc-headers/mntent.texi: New file.
39708         * doc/glibc-headers/obstack.texi: New file.
39709         * doc/glibc-headers/paths.texi: New file.
39710         * doc/glibc-headers/printf.texi: New file.
39711         * doc/glibc-headers/pty.texi: New file.
39712         * doc/glibc-headers/resolv.texi: New file.
39713         * doc/glibc-headers/shadow.texi: New file.
39714         * doc/glibc-headers/sysexits.texi: New file.
39715         * doc/glibc-headers/ttyent.texi: New file.
39716
39717 2008-01-12  Jim Meyering  <meyering@redhat.com>
39718
39719         announce-gen: emit Gnulib's git-based version string.
39720         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
39721         New option --gnulib-version=V, where V is expected to be
39722         the output of running git describe in the gnulib directory.
39723         (get_tool_versions): Request feedback on xdelta.  I suspect it's
39724         not useful, and plan to stop publishing an xdelta file with each
39725         coreutils release.
39726
39727         * build-aux/announce-gen: Also check for lzma-compressed files.
39728
39729 2008-01-11  Bruno Haible  <bruno@clisp.org>
39730
39731         * tests/test-memmem.c (main): Increase maximum allowed time.
39732         * tests/test-strstr.c (main): Likewise.
39733
39734 2008-01-11  Bruno Haible  <bruno@clisp.org>
39735
39736         * doc/functions/memmem.texi: Add more precisions about platforms.
39737         * doc/functions/strstr.texi: Likewise.
39738
39739 2008-01-10  Eric Blake  <ebb9@byu.net>
39740
39741         * m4/strstr.m4: Delete cruft from copy-n-paste.
39742         Reported by Bruno Haible.
39743
39744 2008-01-10  Bruno Haible  <bruno@clisp.org>
39745
39746         Make c-strstr rely on strstr.
39747         * lib/c-strstr.c: Don't include str-kmp.h.
39748         (c_strstr): Define in terms of strstr.
39749         * modules/c-strstr (Files): Remove lib/str-kmp.h.
39750         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
39751
39752 2008-01-10  Bruno Haible  <bruno@clisp.org>
39753
39754         * doc/gnulib.texi (String Functions in C Locale): New section.
39755         * doc/c-ctype.texi: New file.
39756         * doc/c-strcase.texi: New file.
39757         * doc/c-strcaseeq.texi: New file.
39758         * doc/c-strcasestr.texi: New file.
39759         * doc/c-strstr.texi: New file.
39760         * doc/c-strtod.texi: New file.
39761         * doc/c-strtold.texi: New file.
39762
39763 2008-01-10  Eric Blake  <ebb9@byu.net>
39764
39765         * lib/relocatable.h: Fix a comment.
39766
39767 2008-01-10  Eric Blake  <ebb9@byu.net>
39768
39769         Share two-way algorithm.
39770         * lib/str-two-way.h: New file, merged from...
39771         * lib/memmem.c: ...here...
39772         * lib/strstr.c: ...and here.
39773         * modules/memmem (Files): Use it.
39774         * modules/strstr (Files): Likewise.
39775
39776         Avoid quadratic strstr implementations.
39777         * lib/strstr.c: New file.
39778         * m4/strstr.m4: Likewise.
39779         * modules/strstr: Likewise.
39780         * modules/strstr-tests: Likewise.
39781         * tests/test-strstr.c: Likewise.
39782         * lib/string.in.h (rpl_strstr): Declare.
39783         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
39784         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
39785         * modules/string (Makefile.am): Likewise.
39786         * MODULES.html.sh (string handling): Mention new module.
39787         * doc/functions/strstr.texi (strstr): Document the bug.
39788
39789 2008-01-10  Bruno Haible  <bruno@clisp.org>
39790
39791         * lib/relocatable.h (relocate): State whether result is freshly
39792         allocated or not.
39793         * lib/relocatable.c (relocate): Return a freshly allocated string
39794         instead of a pointer to a privately held string.
39795         Reported by Sylvain Beucler <beuc@gnu.org>.
39796
39797 2008-01-10  Colin Watson  <cjwatson@debian.org>
39798
39799         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
39800         s/S_ISNLK/S_ISLNK/.
39801
39802 2008-01-09  Bruno Haible  <bruno@clisp.org>
39803
39804         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
39805         and other files.
39806         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
39807         if it's only a guess.
39808         * modules/memmem: Simplify by depending on memmem-simple.
39809
39810 2008-01-09  Bruno Haible  <bruno@clisp.org>
39811
39812         Work around OpenBSD 4.0 tdelete() bug.
39813         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
39814         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
39815         macros and don't redefine the enum values.
39816         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
39817         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
39818         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
39819
39820 2008-01-09  Bruno Haible  <bruno@clisp.org>
39821
39822         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
39823         (main): Don't perform the tests if setlocale did not install a UTF-8
39824         locale. Needed on OpenBSD 4.0.
39825         * modules/wcwidth-tests (Depends-on): Add localcharset.
39826
39827 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
39828
39829         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
39830         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
39831         * NEWS: announce this.
39832         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
39833
39834 2008-01-09  Simon Josefsson  <simon@josefsson.org>
39835         and Eric Blake  <ebb9@byu.net>
39836
39837         Add memmem-simple module.
39838         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
39839         (gl_FUNC_MEMMEM): Separate performance from presence checks.
39840         * modules/memmem-simple: New file.
39841         * modules/memmem (Description): Tweak.
39842         * MODULES.html.sh (string handling): Mention new module.
39843         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
39844         addressed by memmem-simple.
39845         * NEWS: Document the difference.
39846
39847 2008-01-09  Eric Blake  <ebb9@byu.net>
39848
39849         Give gcc some memmem optimization hints.
39850         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
39851         (strcasestr): Declare as pure.
39852         * modules/memmem (Maintainer): Claim my implementation.
39853
39854 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39855
39856         Support AIX 6.1 and higher.
39857         * build-aux/config.libpath: Likewise.
39858         * build-aux/config.rpath: Likewise.
39859
39860 2008-01-08  Jim Meyering  <meyering@redhat.com>
39861             Bruno Haible  <bruno@clisp.org>
39862
39863         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
39864         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
39865         Reported by Peter Fales in
39866         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
39867
39868 2008-01-08  Bruno Haible  <bruno@clisp.org>
39869
39870         * modules/unictype/category-of (Depends-on): Add
39871         unictype/category-none.
39872         * modules/unictype/category-and-tests (Depends-on): Add
39873         unictype/category-{L,N,Lu,Nd}.
39874         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
39875         * modules/unictype/category-or-tests (Depends-on): Add
39876         unictype/category-{L,N}.
39877         * modules/unictype/category-name-tests (Depends-on): Add
39878         unictype/category-{Z,Nl}.
39879         Reported by Simon Josefsson.
39880
39881 2008-01-08  Bruno Haible  <bruno@clisp.org>
39882
39883         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
39884         convention better.
39885         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
39886         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
39887         Reported by Peter Miller <millerp@canb.auug.org.au>.
39888
39889 2008-01-08  Eric Blake  <ebb9@byu.net>
39890
39891         Rewrite memmem to guarantee linear complexity without malloc.
39892         * lib/memmem.c (memmem): Use Two-Way rather than
39893         Knuth-Morris-Pratt, to allow O(1) space usage.
39894         (critical_factorization, two_way_short_needle)
39895         (two_way_long_needle): New functions.
39896         (knuth_morris_pratt): Delete.
39897         * modules/memmem (Depends-on): No longer need malloca or stdbool.
39898         Add stdint.
39899         * tests/test-memmem.c (main): Add tests for periodic needle and
39900         sublinear performance.
39901         * doc/functions/memmem.texi (memmem): Document other deficiencies
39902         in cygwin and older glibc.
39903
39904 2008-01-08  Bruno Haible  <bruno@clisp.org>
39905
39906         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
39907         augmentation.
39908
39909 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
39910
39911         Add a configure time option: --disable-acl.
39912         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
39913         AC_ARG_ENABLE(acl).
39914
39915 2008-01-06  Simon Josefsson  <simon@josefsson.org>
39916
39917         * tests/test-localename.c: Don't include obsolete "setenv.h".
39918
39919         * modules/localename-tests (Depends-on): Need unsetenv.
39920
39921 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39922
39923         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
39924
39925 2008-01-06  Colin Watson  <cjwatson@debian.org>
39926
39927         * users.txt: Add man-db.
39928
39929 2008-01-07  Bruno Haible  <bruno@clisp.org>
39930
39931         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
39932         previous section name.
39933
39934 2008-01-07  Bruno Haible  <bruno@clisp.org>
39935
39936         * lib/progname.c (set_program_name): Don't strip off a leading
39937         "lt-" prefix outside a .libs directory.
39938         Suggested by Paul Eggert.
39939
39940 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
39941             Bruno Haible  <bruno@clisp.org>
39942
39943         Improve memory cleanup in 'relocatable' module.
39944         * lib/relocatable.h (compute_curr_prefix): Change return type to
39945         'char *'.
39946         * lib/relocatable.c (compute_curr_prefix): Change return type to
39947         'char *'. Free curr_installdir after use.
39948         (relocate): Free curr_prefix_better after use.
39949         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
39950
39951 2008-01-01  Bruno Haible  <bruno@clisp.org>
39952
39953         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
39954         failure on older glibc systems.
39955         Reported by Peter Fales <psfales@alcatel-lucent.com>.
39956
39957 2008-01-05  Eric Blake  <ebb9@byu.net>
39958
39959         Avoid quadratic system memmem.
39960         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
39961         Reported by Ralf Wildenhues.
39962
39963         Fix memmem test for mingw.
39964         * modules/memmem-tests (configure.ac): Check for alarm.
39965         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
39966         it.
39967         * doc/functions/memmem.texi: New file.
39968         * doc/gnulib.texi (Function Substitutes): Add memmem.
39969         Reported by Bruno Haible.
39970
39971 2008-01-04  Bruno Haible  <bruno@clisp.org>
39972
39973         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
39974         Require gl_HEADER_STRINGS_H_DEFAULTS, not
39975         gl_HEADER_STRING_H_DEFAULTS.
39976
39977 2008-01-04  Eric Blake  <ebb9@byu.net>
39978
39979         Shorten duration of memmem test.
39980         * tests/test-memmem.c (main): Use alarm to declare failure if test
39981         is taking too long.
39982         Reported by Ralf Wildenhues.
39983
39984 2007-12-21  Simon Josefsson  <simon@josefsson.org>
39985
39986         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
39987         string, needed by strerror.
39988
39989 2008-01-03  Colin Watson  <cjwatson@debian.org>
39990             Bruno Haible  <bruno@clisp.org>
39991
39992         * doc/gnulib-tool.texi (Localization): New section.
39993
39994 2008-01-02  Bruno Haible  <bruno@clisp.org>
39995
39996         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
39997         variables to 'unsigned char *' type.
39998         Reported by Paul Eggert.
39999
40000 2008-01-02  Jim Meyering  <jim@meyering.net>
40001
40002         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
40003
40004 2007-12-31  Jim Meyering  <jim@meyering.net>
40005
40006         Avoid use of private FTS type name.
40007         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
40008
40009 2007-12-30  Karl Berry  <karl@gnu.org>
40010
40011         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
40012         work around defect in Texinfo and/or the standalone Info browser.
40013
40014 2007-12-30  Bruno Haible  <bruno@clisp.org>
40015
40016         Unify 5 copies of the KMP code.
40017         * lib/str-kmp.h: New file.
40018         * lib/c-strcasestr.c: Include str-kmp.h.
40019         (knuth_morris_pratt): Remove function.
40020         (c_strcasestr): Update.
40021         * lib/c-strstr.c: Include str-kmp.h.
40022         (knuth_morris_pratt): Remove function.
40023         (c_strcasestr): Update.
40024         * lib/mbscasestr.c: Include str-kmp.h.
40025         (knuth_morris_pratt_unibyte): Remove function.
40026         * lib/mbsstr.c: Include str-kmp.h.
40027         (knuth_morris_pratt_unibyte): Remove function.
40028         * lib/strcasestr.c: Include str-kmp.h.
40029         (knuth_morris_pratt): Remove function.
40030         (strcasestr): Update.
40031         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
40032         * modules/c-strstr (Files): Likewise.
40033         * modules/mbscasestr (Files): Likewise.
40034         * modules/mbsstr (Files): Likewise.
40035         * modules/strcasestr (Files): Likewise.
40036         Suggested by Paul Eggert.
40037
40038 2007-12-30  Bruno Haible  <bruno@clisp.org>
40039
40040         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
40041         defined.
40042
40043 2007-12-30  Bruno Haible  <bruno@clisp.org>
40044
40045         * lib/xmalloca.h: Include xalloc.h.
40046         (xnmalloca): New macro.
40047
40048 2007-12-30  Bruno Haible  <bruno@clisp.org>
40049
40050         * lib/malloca.h (nmalloca): New macro.
40051         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
40052         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
40053         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
40054         knuth_morris_pratt_multibyte): Likewise.
40055         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
40056         knuth_morris_pratt_multibyte): Likewise.
40057         * lib/memmem.c (knuth_morris_pratt): Likewise.
40058         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
40059
40060 2007-12-25  Bruno Haible  <bruno@clisp.org>
40061
40062         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
40063         * lib/glob.c: Don't include openat.h.
40064         (link_exists2_p): Add back the code that deals with the
40065         !GLOB_ALTDIRFUNC case.
40066         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
40067         let it do the filename concatenation.
40068         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
40069         * modules/glob (Depends-on): Remove openat.
40070
40071 2007-12-31  Bruno Haible  <bruno@clisp.org>
40072
40073         * modules/dirfd (License): Change to LGPLv2+.
40074         Approved by Jim Meyering.
40075
40076 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
40077
40078         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
40079         when multiplying M by sizeof (size_t).
40080
40081 2007-12-10  Martin Lambers  <marlam@marlam.de>
40082
40083         Override getpagesize on mingw.
40084         * lib/getpagesize.c: New file.
40085         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
40086         * modules/getpagesize (Files): Add lib/getpagesize.c.
40087         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
40088         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40089         REPLACE_GETPAGESIZE.
40090         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
40091
40092 2007-12-25  Bruno Haible  <bruno@clisp.org>
40093
40094         * modules/localcharset (Notice): New field.
40095         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
40096         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
40097
40098 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
40099             Bruno Haible  <bruno@clisp.org>
40100
40101         Avoid using the syntax symbol() in formatted documentation.
40102         * MODULES.html.sh (func_module): When replacing symbol() with a
40103         hyperlink, remove the parentheses. Show an error if some remain.
40104         Recognize and render the '...' syntax.
40105         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
40106         Rework. Add paragraph about GCC's inlining.
40107         * doc/alloca.texi: Likewise.
40108         * doc/error.texi: Remove parentheses from symbol reference.
40109         * doc/gnulib-intro.texi: Likewise.
40110         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
40111         * modules/fnmatch (Description): Reword to say "the ... function".
40112         * modules/full-read (Description): Likewise.
40113         * modules/full-write (Description): Likewise.
40114         * modules/safe-read (Description): Likewise.
40115         * modules/safe-write (Description): Likewise.
40116         * modules/strchrnul (Description): Likewise.
40117         * modules/trim (Description): Likewise.
40118         * modules/error (Description): Remove parentheses from symbol
40119         references.
40120         * modules/verror (Description): Likewise.
40121         Reported by Karl Berry.
40122
40123 2007-12-25  Bruno Haible  <bruno@clisp.org>
40124
40125         Fixup after 2007-10-16 commit.
40126         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
40127
40128 2007-12-24  Bruno Haible  <bruno@clisp.org>
40129
40130         Make --enable-relocatable work with DESTDIR.
40131         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
40132         to compute installdir from destprog.
40133         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
40134         also set the RELOC_DESTDIR variable.
40135         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
40136
40137 2007-12-24  Bruno Haible  <bruno@clisp.org>
40138
40139         Fix link error due to xalloc_die().
40140         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
40141         of xreadlink.
40142         * lib/relocwrapper.c: Update comments.
40143         * build-aux/install-reloc: Remove xreadlink.c from file list.
40144         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
40145         xreadlink.c.
40146         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
40147
40148 2007-12-24  Bruno Haible  <bruno@clisp.org>
40149
40150         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
40151         * lib/setenv.h: Remove file.
40152         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
40153         lib/setenv.h.
40154         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
40155         (Depends-on): Add stdlib.
40156         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
40157         gl_FUNC_UNSETENV.
40158         (Include): Replace setenv.h with <stdlib.h>.
40159         * modules/unsetenv: New file.
40160         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
40161         * lib/unsetenv.c: Include <stdlib.h> first.
40162         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
40163         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
40164         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
40165         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
40166         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
40167         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
40168         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
40169         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
40170         * doc/functions/unsetenv.texi: Update.
40171         * modules/xsetenv (Depends-on): Add unsetenv.
40172         * modules/getdate (Depends-on): Likewise.
40173         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
40174         * lib/xsetenv.c: Don't include setenv.h.
40175         * lib/getdate.y: Likewise.
40176         * lib/relocwrapper.c: Likewise.
40177         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
40178         (Depends-on): Add stdlib.
40179         * NEWS: Mention the changes.
40180         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
40181
40182 2007-12-23  Bruno Haible  <bruno@clisp.org>
40183
40184         * lib/memmem.c (memmem): Use lowercase variable names. Tab
40185         indentation.
40186
40187 2007-12-23  Bruno Haible  <bruno@clisp.org>
40188
40189         * lib/c-strcasestr.c: Add more comments.
40190         * lib/c-strstr.c: Likewise.
40191         * lib/mbscasestr.c: Likewise.
40192         * lib/mbsstr.c: Likewise.
40193         * lib/strcasestr.c: Likewise.
40194         * lib/memmem.c: Likewise.
40195
40196 2007-12-23  Bruno Haible  <bruno@clisp.org>
40197
40198         * tests/test-memmem.c: Include <string.h> first.
40199
40200 2007-12-22  Bruno Haible  <bruno@clisp.org>
40201
40202         * gnulib-tool (func_create_testdir): Change $auxdir while generating
40203         the contents of $testsbase.
40204         Reported by Ralf Wildenhues.
40205
40206 2007-12-22  Bruno Haible  <bruno@clisp.org>
40207
40208         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
40209         two variables local_ldadd_before, local_ldadd_last.
40210
40211 2007-12-20  Eric Blake  <ebb9@byu.net>
40212
40213         Work around circular library issue when cross-compiling.
40214         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
40215         that progname.o does not need to pull in rpl_memcmp.
40216
40217 2007-12-19  Eric Blake  <ebb9@byu.net>
40218
40219         Fix memmem to avoid O(n^2) worst-case complexity.
40220         * lib/memmem.c (knuth_morris_pratt): New function.
40221         (memmem): Use it if first few naive iterations fail.
40222         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
40223         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
40224         * modules/memchr (License): Likewise.
40225         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
40226         malloca.
40227         * tests/test-memmem.c: Rewrite, borrowing ideas from
40228         test-mbsstr1.c; the old version wouldn't even compile!
40229         * modules/memmem-tests: New file.
40230         * lib/string.in.h (rpl_memmem): Add declaration.
40231         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
40232         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
40233         REPLACE_MEMMEM.
40234
40235 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
40236
40237         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
40238         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
40239         before any system include files, and undef after them all.  This
40240         should fix a problem on VMS reported by John E. Malmberg in
40241         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
40242
40243 2007-12-17  Eric Blake  <ebb9@byu.net>
40244
40245         Revert addition of verify, for BSD/OS.
40246         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
40247         can't handle large files, for the sake of obsolete platforms.
40248         * modules/fseeko (Depends-on): Remove verify.
40249         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
40250         * doc/functions/ftello.texi (ftello): Likewise.
40251         * doc/functions/fgetpos.texi (fgetpos): Likewise.
40252         Reported by Larry Jones.
40253
40254 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
40255
40256         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
40257         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
40258
40259 2007-12-17  Jim Meyering  <meyering@redhat.com>
40260
40261         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
40262         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
40263         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
40264         * modules/getcwd (Depends-on): Add openat.
40265         Reported by Petr Salinger.
40266
40267 2007-12-17  Bruno Haible  <bruno@clisp.org>
40268
40269         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
40270         avoid a segmentation fault of the configure test on x86_64 systems.
40271
40272 2007-12-15  Jim Meyering  <meyering@redhat.com>
40273
40274         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
40275
40276 2007-12-13  Eric Blake  <ebb9@byu.net>
40277
40278         Another fseek test.
40279         * tests/test-fseek.c (main): Also test ungetc handling.
40280         * tests/test-fseeko.c (main): Likewise.
40281         * modules/fseeko (Depends-on): Add verify.
40282         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
40283         large.
40284         Reported by Larry Jones.
40285
40286         Fix fseeko on mingw.
40287         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
40288         seek.
40289
40290         Beef up fseek tests.
40291         * tests/test-fseek.c (main): Also test eof handling.
40292         * tests/test-fseeko.c (main): Likewise.
40293         Reported by Larry Jones.
40294
40295 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
40296
40297         Fix fseeko on BSD-based platforms.
40298         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
40299         successful seek.
40300
40301 2007-12-12  Eric Blake  <ebb9@byu.net>
40302
40303         Allow circular dependency of separate libtests.a
40304         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
40305         when use_libtests.
40306
40307 2007-12-11  Eric Blake  <ebb9@byu.net>
40308
40309         Fix bug with -0.0L in previous patch.
40310         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
40311         * tests/test-isnan.c (main): Also test on zeroes.
40312         * tests/test-isnanf.c (main): Likewise.
40313         * tests/test-isnanl.h (main): Likewise.
40314
40315         Detect pseudo-denormals on x86 even when cross-compiling.
40316         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
40317         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
40318         invalid bit patterns that happen to satisfy ==.
40319
40320         Avoid link failures with separate libtests.a.
40321         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
40322         last, to satisfy circular dependencies.
40323
40324 2007-12-11  Eric Blake  <ebb9@byu.net>
40325         and Bruno Haible  <bruno@clisp.org>
40326
40327         Fix OpenBSD 4.0 <float.h> handling of long double.
40328         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
40329         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
40330         * doc/headers/float.texi (float.h): Document OpenBSD bug.
40331
40332 2007-12-11  Jim Meyering  <meyering@redhat.com>
40333
40334         * users.txt: Add libvirt.
40335
40336         Support versions of autoconf prior to 2.59c.
40337         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
40338         if it is not already defined.
40339
40340 2007-12-09  Bruno Haible  <bruno@clisp.org>
40341
40342         Let 'gnulib-tool --import' collect sources needed for the tests in
40343         tests/ rather than in lib/.
40344         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
40345         argument. If true, add rules to generate libtests.a, and put libtests.a
40346         into $(LDADD). Consider source files in subdirectories and set
40347         uses_subdirs.
40348         (func_emit_initmacro_start, func_emit_initmacro_end,
40349         func_emit_initmacro_done): Pass all arguments explicitly.
40350         (func_import): Determine two module lists main_modules,
40351         testsrelated_modules. Determine use_libtests. Determine two variables
40352         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
40353         instead of just sed_transform_lib_file. Determine two variables
40354         main_files and testsrelated_files. Compute 'files' as the union of
40355         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
40356         func_add_or_update. In the generated gnulib-comp.m4, collect the
40357         object files for tests/ in different variables than those for lib/.
40358         Substitute LIBTESTS_LIBDEPS.
40359         (func_create_testdir): Combine the uses_subdirs results from
40360         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
40361
40362 2007-12-09  Bruno Haible  <bruno@clisp.org>
40363
40364         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
40365         the build-aux directory.
40366
40367 2007-12-09  Bruno Haible  <bruno@clisp.org>
40368
40369         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
40370         introduced on 2006-09-09.
40371
40372 2007-12-07  Jim Meyering  <meyering@redhat.com>
40373
40374         Let these macros work also with autoconf-2.59.
40375         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
40376         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
40377         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
40378
40379 2007-12-06  Jim Meyering  <meyering@redhat.com>
40380
40381         Avoid a configure-time syntax error in gl_FUNC_ACL.
40382         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
40383         function in each branch, before testing the cache variable.
40384
40385 2007-12-04  Eric Blake  <ebb9@byu.net>
40386
40387         Make scripts executable.
40388         * build-aux/config.guess: Add execute permissions.
40389         * build-aux/config.sub: Likewise.
40390         * build-aux/gendocs.sh: Likewise.
40391
40392         Fix frexp on mingw.
40393         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
40394         cross-compiling.
40395         * doc/functions/frexp.texi (frexp): Document the bug.
40396
40397         Make cygwin fseeko check more reliable.
40398         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
40399         version numbers, rather than unrelated feature check.
40400         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
40401         * doc/functions/ftello.texi (ftello): Likewise.
40402         Reported by Bruno Haible.
40403
40404         * m4/strerror.m4: Bump version number.
40405
40406 2007-12-03  Bruno Haible  <bruno@clisp.org>
40407
40408         * doc/functions/mprotect.texi: Mention the mingw problem.
40409
40410 2007-12-03  Eric Blake  <ebb9@byu.net>
40411
40412         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
40413         REPLACE_STRERROR is initialized before this macro.
40414
40415 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
40416
40417         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
40418         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
40419         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
40420         put -lsec in even for programs other than 'ls'.  This fixes a problem
40421         for gettext reported by Bruno Haible in
40422         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
40423         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
40424         Add support for Solaris 10.  This isn't efficient, but should get the
40425         job done for now.
40426
40427 2007-12-03  James Youngman  <jay@gnu.org>
40428
40429         * doc/regexprops-generic.texi: change "an close-group" to "a
40430         close-group" and "illegal" to "not allowed".
40431
40432 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40433
40434         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
40435         pr_byname.h. Needed for the rare case when the maintainer has done
40436         "make maintainer-clean" in the source directory and then attempts a
40437         build outside the source directory.
40438         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
40439         scripts_byname.h.
40440
40441 2007-12-02  Martin Lambers <marlam@marlam.de>
40442             Bruno Haible  <bruno@clisp.org>
40443
40444         * lib/getpagesize.h: Remove file.
40445         * lib/unistd.in.h: Include declaration of getpagesize here.
40446         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
40447         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
40448         HAVE_SYS_PARAM_H.
40449         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
40450         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
40451         * modules/getpagesize (Files): Remove lib/getpagesize.h.
40452         (Depends-on): Add unistd.
40453         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40454         (Include): Use <unistd.h> instead of getpagesize.h.
40455         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
40456         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
40457         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
40458         gl_GETPAGESIZE invocation, already handled by module dependency.
40459         * lib/pagealign_alloc.c: Don't include getpagesize.h.
40460
40461 2007-12-02  Bruno Haible  <bruno@clisp.org>
40462
40463         * modules/strings-tests: New file.
40464         * tests/test-strings.c: New file.
40465
40466         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
40467         * lib/strings.in.h: New file.
40468         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
40469         * m4/strings_h.m4: New file.
40470         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
40471         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
40472         * modules/strings: New file.
40473         * modules/string (Makefile.am): Update.
40474         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
40475         Reported by Karl Berry.
40476
40477 2007-12-01  Eric Blake  <ebb9@byu.net>
40478
40479         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
40480         accomodate fix in cygwin 1.5.25.
40481
40482 2007-12-01  Jim Meyering  <meyering@redhat.com>
40483
40484         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
40485         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
40486         that would inhibit utf8-optimization of a regexp containing line-
40487         or buffer-anchors, e.g., `^', `$'.
40488
40489 2007-11-30  Bruno Haible  <bruno@clisp.org>
40490
40491         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
40492         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
40493         glthread_recursive_lock_init.
40494         * lib/lock.c (glthread_recursive_lock_init)
40495         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
40496         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
40497
40498 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
40499
40500         New function qset_acl, like set_acl but with syscall semantics.
40501         * lib/acl.h (qset_acl): New decl.
40502         * lib/acl.c (qset_acl): New function.
40503         (set_acl): Use new function.  Use more-consistent diagnostics.
40504
40505 2007-11-28  Jim Meyering  <meyering@redhat.com>
40506
40507         * modules/physmem (License): Change from GPL to LGPLv2+.
40508
40509 2007-11-26  Bruno Haible  <bruno@clisp.org>
40510
40511         * lib/vasnprintf.c (decode_long_double): Don't abort if the
40512         'long double' type has excess precision.
40513         Reported by Jim Meyering in
40514         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
40515
40516 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40517
40518         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
40519         Sync from <http://gnu.org/licenses>.
40520         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
40521         with license text from same location.
40522         * doc/maintain.texi, doc/standards.texi:  Sync from
40523         <http://savannah.gnu.org/projects/gnustandards>.
40524
40525 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
40526         and Jim Meyering  <meyering@redhat.com>
40527
40528         Adjust getdate' grammar to accept a slightly more regular language.
40529         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
40530         Before, the former was rejected.
40531         * lib/getdate.y (digits_to_date_time): New function, factored
40532         out of ...
40533         (number): ...here.  Just call digits_to_date_time.
40534         (hybrid): New non-terminal to handle an <unsigned number,
40535         signed relative offset> sequence consistently.
40536
40537 2007-11-18  Jim Meyering  <meyering@redhat.com>
40538
40539         Pull my changes from coreutils:
40540         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
40541         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
40542         use of $gnulib_tool_option_extras, so that it's separated from the
40543         preceding argument.
40544
40545         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
40546         * build-aux/bootstrap (cp_mark_as_generated): Create any required
40547         parent destination directories before copying a file into place.
40548
40549 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
40550
40551         bootstrap: work also with 4-argument variant of AC_INIT
40552         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
40553
40554 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
40555
40556         Port test-getaddrinfo to Solaris.
40557         Problem reported by Bruno Haible in
40558         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
40559         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
40560         explanation of setting 'hints'.
40561         Don't reject an implementation merely because it returns EAI_SERVICE.
40562         (EAI_SERVICE): Define to 0 if not defined.
40563
40564 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
40565
40566         The license of gnu-make and posix-shell is now "GPLed build tool".
40567         * modules/gnu-make (License): Likewise.
40568         * modules/posix-shell (License): Likewise.
40569
40570         New module posix-shell, for determining a POSIX shell
40571         or perhaps something that is close enough to a POSIX shell.
40572         * m4/posix-shell.m4: New file.
40573         * modules/posix-shell: New file.
40574
40575         * MODULES.html.sh: Mention new module.
40576
40577         New module gnu-make, for determining whether we're using GNU Make.
40578         * m4/gnu-make.m4: New file.
40579         * modules/gnu-make: New file.
40580         * MODULES.html.sh: Mention new module.
40581
40582 2007-11-14  Jim Meyering  <meyering@redhat.com>
40583
40584         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
40585         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
40586         use this macro to create a function _definition_.
40587         Remove useless "#undef ARGMATCH_DIE".
40588
40589 2007-11-14  Bruno Haible  <bruno@clisp.org>
40590
40591         * lib/config.charset: Update for OpenBSD 4.1.
40592         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
40593
40594 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
40595
40596         Document 64-bit #if problems in stdint.texi.
40597         * doc/headers/stdint.texi (stdint.h): Mention problems with
40598         64-bit-#if, and how to work around them.
40599
40600         Don't insist on 'long long int' support in the preprocessor.  It
40601         breaks too many things.  For example, PRIdMAX still uses a 'long
40602         long int' format with the latest Sun compiler, even though
40603         HAVE_LONG_LONG_INT isn't defined due to that compiler's
40604         preprocessor problem.  This causes the latest coreutils to dump
40605         core on Solaris 10 sparc with the Sun C compiler.
40606         Instead, fix the 2007-10-16 problem in a different way, by evaluating
40607         the troublesome expressions at configure-time, not at #if-time.
40608         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
40609         preprocessor.
40610         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
40611         compile-time C checks, done at 'configure'-time.
40612         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
40613         * modules/inttypes (Makefile): Substitute the new symbols that
40614         gl_INTTYPES_H now generates.
40615         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
40616
40617 2007-11-12  Bruno Haible  <bruno@clisp.org>
40618
40619         Tests for Unicode character classification functions.
40620
40621         * modules/unictype/bidicategory-byname-tests: New file.
40622         * modules/unictype/bidicategory-name-tests: New file.
40623         * modules/unictype/bidicategory-of-tests: New file.
40624         * modules/unictype/bidicategory-test-tests: New file.
40625         * modules/unictype/block-list-tests: New file.
40626         * modules/unictype/block-of-tests: New file.
40627         * modules/unictype/block-test-tests: New file.
40628         * modules/unictype/category-C-tests: New file.
40629         * modules/unictype/category-Cc-tests: New file.
40630         * modules/unictype/category-Cf-tests: New file.
40631         * modules/unictype/category-Cn-tests: New file.
40632         * modules/unictype/category-Co-tests: New file.
40633         * modules/unictype/category-Cs-tests: New file.
40634         * modules/unictype/category-L-tests: New file.
40635         * modules/unictype/category-Ll-tests: New file.
40636         * modules/unictype/category-Lm-tests: New file.
40637         * modules/unictype/category-Lo-tests: New file.
40638         * modules/unictype/category-Lt-tests: New file.
40639         * modules/unictype/category-Lu-tests: New file.
40640         * modules/unictype/category-M-tests: New file.
40641         * modules/unictype/category-Mc-tests: New file.
40642         * modules/unictype/category-Me-tests: New file.
40643         * modules/unictype/category-Mn-tests: New file.
40644         * modules/unictype/category-N-tests: New file.
40645         * modules/unictype/category-Nd-tests: New file.
40646         * modules/unictype/category-Nl-tests: New file.
40647         * modules/unictype/category-No-tests: New file.
40648         * modules/unictype/category-P-tests: New file.
40649         * modules/unictype/category-Pc-tests: New file.
40650         * modules/unictype/category-Pd-tests: New file.
40651         * modules/unictype/category-Pe-tests: New file.
40652         * modules/unictype/category-Pf-tests: New file.
40653         * modules/unictype/category-Pi-tests: New file.
40654         * modules/unictype/category-Po-tests: New file.
40655         * modules/unictype/category-Ps-tests: New file.
40656         * modules/unictype/category-S-tests: New file.
40657         * modules/unictype/category-Sc-tests: New file.
40658         * modules/unictype/category-Sk-tests: New file.
40659         * modules/unictype/category-Sm-tests: New file.
40660         * modules/unictype/category-So-tests: New file.
40661         * modules/unictype/category-Z-tests: New file.
40662         * modules/unictype/category-Zl-tests: New file.
40663         * modules/unictype/category-Zp-tests: New file.
40664         * modules/unictype/category-Zs-tests: New file.
40665         * modules/unictype/category-and-not-tests: New file.
40666         * modules/unictype/category-and-tests: New file.
40667         * modules/unictype/category-byname-tests: New file.
40668         * modules/unictype/category-name-tests: New file.
40669         * modules/unictype/category-none-tests: New file.
40670         * modules/unictype/category-of-tests: New file.
40671         * modules/unictype/category-or-tests: New file.
40672         * modules/unictype/category-test-withtable-tests: New file.
40673         * modules/unictype/combining-class-tests: New file.
40674         * modules/unictype/ctype-alnum-tests: New file.
40675         * modules/unictype/ctype-alpha-tests: New file.
40676         * modules/unictype/ctype-blank-tests: New file.
40677         * modules/unictype/ctype-cntrl-tests: New file.
40678         * modules/unictype/ctype-digit-tests: New file.
40679         * modules/unictype/ctype-graph-tests: New file.
40680         * modules/unictype/ctype-lower-tests: New file.
40681         * modules/unictype/ctype-print-tests: New file.
40682         * modules/unictype/ctype-punct-tests: New file.
40683         * modules/unictype/ctype-space-tests: New file.
40684         * modules/unictype/ctype-upper-tests: New file.
40685         * modules/unictype/ctype-xdigit-tests: New file.
40686         * modules/unictype/decimal-digit-tests: New file.
40687         * modules/unictype/digit-tests: New file.
40688         * modules/unictype/mirror-tests: New file.
40689         * modules/unictype/numeric-tests: New file.
40690         * modules/unictype/property-alphabetic-tests: New file.
40691         * modules/unictype/property-ascii-hex-digit-tests: New file.
40692         * modules/unictype/property-bidi-arabic-digit-tests: New file.
40693         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
40694         * modules/unictype/property-bidi-block-separator-tests: New file.
40695         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
40696         * modules/unictype/property-bidi-common-separator-tests: New file.
40697         * modules/unictype/property-bidi-control-tests: New file.
40698         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
40699         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
40700         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
40701         * modules/unictype/property-bidi-european-digit-tests: New file.
40702         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
40703         * modules/unictype/property-bidi-left-to-right-tests: New file.
40704         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
40705         * modules/unictype/property-bidi-other-neutral-tests: New file.
40706         * modules/unictype/property-bidi-pdf-tests: New file.
40707         * modules/unictype/property-bidi-segment-separator-tests: New file.
40708         * modules/unictype/property-bidi-whitespace-tests: New file.
40709         * modules/unictype/property-byname-tests: New file.
40710         * modules/unictype/property-combining-tests: New file.
40711         * modules/unictype/property-composite-tests: New file.
40712         * modules/unictype/property-currency-symbol-tests: New file.
40713         * modules/unictype/property-dash-tests: New file.
40714         * modules/unictype/property-decimal-digit-tests: New file.
40715         * modules/unictype/property-default-ignorable-code-point-tests: New file.
40716         * modules/unictype/property-deprecated-tests: New file.
40717         * modules/unictype/property-diacritic-tests: New file.
40718         * modules/unictype/property-extender-tests: New file.
40719         * modules/unictype/property-format-control-tests: New file.
40720         * modules/unictype/property-grapheme-base-tests: New file.
40721         * modules/unictype/property-grapheme-extend-tests: New file.
40722         * modules/unictype/property-grapheme-link-tests: New file.
40723         * modules/unictype/property-hex-digit-tests: New file.
40724         * modules/unictype/property-hyphen-tests: New file.
40725         * modules/unictype/property-id-continue-tests: New file.
40726         * modules/unictype/property-id-start-tests: New file.
40727         * modules/unictype/property-ideographic-tests: New file.
40728         * modules/unictype/property-ids-binary-operator-tests: New file.
40729         * modules/unictype/property-ids-trinary-operator-tests: New file.
40730         * modules/unictype/property-ignorable-control-tests: New file.
40731         * modules/unictype/property-iso-control-tests: New file.
40732         * modules/unictype/property-join-control-tests: New file.
40733         * modules/unictype/property-left-of-pair-tests: New file.
40734         * modules/unictype/property-line-separator-tests: New file.
40735         * modules/unictype/property-logical-order-exception-tests: New file.
40736         * modules/unictype/property-lowercase-tests: New file.
40737         * modules/unictype/property-math-tests: New file.
40738         * modules/unictype/property-non-break-tests: New file.
40739         * modules/unictype/property-not-a-character-tests: New file.
40740         * modules/unictype/property-numeric-tests: New file.
40741         * modules/unictype/property-other-alphabetic-tests: New file.
40742         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
40743         * modules/unictype/property-other-grapheme-extend-tests: New file.
40744         * modules/unictype/property-other-id-continue-tests: New file.
40745         * modules/unictype/property-other-id-start-tests: New file.
40746         * modules/unictype/property-other-lowercase-tests: New file.
40747         * modules/unictype/property-other-math-tests: New file.
40748         * modules/unictype/property-other-uppercase-tests: New file.
40749         * modules/unictype/property-paired-punctuation-tests: New file.
40750         * modules/unictype/property-paragraph-separator-tests: New file.
40751         * modules/unictype/property-pattern-syntax-tests: New file.
40752         * modules/unictype/property-pattern-white-space-tests: New file.
40753         * modules/unictype/property-private-use-tests: New file.
40754         * modules/unictype/property-punctuation-tests: New file.
40755         * modules/unictype/property-quotation-mark-tests: New file.
40756         * modules/unictype/property-radical-tests: New file.
40757         * modules/unictype/property-sentence-terminal-tests: New file.
40758         * modules/unictype/property-soft-dotted-tests: New file.
40759         * modules/unictype/property-space-tests: New file.
40760         * modules/unictype/property-terminal-punctuation-tests: New file.
40761         * modules/unictype/property-test-tests: New file.
40762         * modules/unictype/property-titlecase-tests: New file.
40763         * modules/unictype/property-unassigned-code-value-tests: New file.
40764         * modules/unictype/property-unified-ideograph-tests: New file.
40765         * modules/unictype/property-uppercase-tests: New file.
40766         * modules/unictype/property-variation-selector-tests: New file.
40767         * modules/unictype/property-white-space-tests: New file.
40768         * modules/unictype/property-xid-continue-tests: New file.
40769         * modules/unictype/property-xid-start-tests: New file.
40770         * modules/unictype/property-zero-width-tests: New file.
40771         * modules/unictype/scripts-tests: New file.
40772         * modules/unictype/syntax-c-ident-tests: New file.
40773         * modules/unictype/syntax-c-whitespace-tests: New file.
40774         * modules/unictype/syntax-java-ident-tests: New file.
40775         * modules/unictype/syntax-java-whitespace-tests: New file.
40776         * tests/unictype/test-bidi_byname.c: New file.
40777         * tests/unictype/test-bidi_name.c: New file.
40778         * tests/unictype/test-bidi_of.c: New file.
40779         * tests/unictype/test-bidi_test.c: New file.
40780         * tests/unictype/test-block_list.c: New file.
40781         * tests/unictype/test-block_of.c: New file.
40782         * tests/unictype/test-block_test.c: New file.
40783         * tests/unictype/test-categ_and.c: New file.
40784         * tests/unictype/test-categ_and_not.c: New file.
40785         * tests/unictype/test-categ_byname.c: New file.
40786         * tests/unictype/test-categ_name.c: New file.
40787         * tests/unictype/test-categ_none.c: New file.
40788         * tests/unictype/test-categ_of.c: New file.
40789         * tests/unictype/test-categ_or.c: New file.
40790         * tests/unictype/test-categ_test_withtable.c: New file.
40791         * tests/unictype/test-combining.c: New file.
40792         * tests/unictype/test-decdigit.c: New file.
40793         * tests/unictype/test-digit.c: New file.
40794         * tests/unictype/test-mirror.c: New file.
40795         * tests/unictype/test-numeric.c: New file.
40796         * tests/unictype/test-pr_byname.c: New file.
40797         * tests/unictype/test-pr_test.c: New file.
40798         * tests/unictype/test-predicate-part1.h: New file.
40799         * tests/unictype/test-predicate-part2.h: New file.
40800         * tests/unictype/test-scripts.c: New file.
40801         * tests/unictype/test-sy_c_ident.c: New file.
40802         * tests/unictype/test-sy_java_ident.c: New file.
40803
40804         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
40805         for Unicode 5.0.0.
40806         * tests/unictype/test-categ_Cc.c: Likewise.
40807         * tests/unictype/test-categ_Cf.c: Likewise.
40808         * tests/unictype/test-categ_Cn.c: Likewise.
40809         * tests/unictype/test-categ_Co.c: Likewise.
40810         * tests/unictype/test-categ_Cs.c: Likewise.
40811         * tests/unictype/test-categ_L.c: Likewise.
40812         * tests/unictype/test-categ_Ll.c: Likewise.
40813         * tests/unictype/test-categ_Lm.c: Likewise.
40814         * tests/unictype/test-categ_Lo.c: Likewise.
40815         * tests/unictype/test-categ_Lt.c: Likewise.
40816         * tests/unictype/test-categ_Lu.c: Likewise.
40817         * tests/unictype/test-categ_M.c: Likewise.
40818         * tests/unictype/test-categ_Mc.c: Likewise.
40819         * tests/unictype/test-categ_Me.c: Likewise.
40820         * tests/unictype/test-categ_Mn.c: Likewise.
40821         * tests/unictype/test-categ_N.c: Likewise.
40822         * tests/unictype/test-categ_Nd.c: Likewise.
40823         * tests/unictype/test-categ_Nl.c: Likewise.
40824         * tests/unictype/test-categ_No.c: Likewise.
40825         * tests/unictype/test-categ_P.c: Likewise.
40826         * tests/unictype/test-categ_Pc.c: Likewise.
40827         * tests/unictype/test-categ_Pd.c: Likewise.
40828         * tests/unictype/test-categ_Pe.c: Likewise.
40829         * tests/unictype/test-categ_Pf.c: Likewise.
40830         * tests/unictype/test-categ_Pi.c: Likewise.
40831         * tests/unictype/test-categ_Po.c: Likewise.
40832         * tests/unictype/test-categ_Ps.c: Likewise.
40833         * tests/unictype/test-categ_S.c: Likewise.
40834         * tests/unictype/test-categ_Sc.c: Likewise.
40835         * tests/unictype/test-categ_Sk.c: Likewise.
40836         * tests/unictype/test-categ_Sm.c: Likewise.
40837         * tests/unictype/test-categ_So.c: Likewise.
40838         * tests/unictype/test-categ_Z.c: Likewise.
40839         * tests/unictype/test-categ_Zl.c: Likewise.
40840         * tests/unictype/test-categ_Zp.c: Likewise.
40841         * tests/unictype/test-categ_Zs.c: Likewise.
40842         * tests/unictype/test-ctype_alnum.c: Likewise.
40843         * tests/unictype/test-ctype_alpha.c: Likewise.
40844         * tests/unictype/test-ctype_blank.c: Likewise.
40845         * tests/unictype/test-ctype_cntrl.c: Likewise.
40846         * tests/unictype/test-ctype_digit.c: Likewise.
40847         * tests/unictype/test-ctype_graph.c: Likewise.
40848         * tests/unictype/test-ctype_lower.c: Likewise.
40849         * tests/unictype/test-ctype_print.c: Likewise.
40850         * tests/unictype/test-ctype_punct.c: Likewise.
40851         * tests/unictype/test-ctype_space.c: Likewise.
40852         * tests/unictype/test-ctype_upper.c: Likewise.
40853         * tests/unictype/test-ctype_xdigit.c: Likewise.
40854         * tests/unictype/test-decdigit.h: Likewise.
40855         * tests/unictype/test-digit.h: Likewise.
40856         * tests/unictype/test-numeric.h: Likewise.
40857         * tests/unictype/test-pr_alphabetic.c: Likewise.
40858         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
40859         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
40860         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
40861         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
40862         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
40863         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
40864         * tests/unictype/test-pr_bidi_control.c: Likewise.
40865         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
40866         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
40867         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
40868         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
40869         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
40870         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
40871         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
40872         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
40873         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
40874         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
40875         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
40876         * tests/unictype/test-pr_combining.c: Likewise.
40877         * tests/unictype/test-pr_composite.c: Likewise.
40878         * tests/unictype/test-pr_currency_symbol.c: Likewise.
40879         * tests/unictype/test-pr_dash.c: Likewise.
40880         * tests/unictype/test-pr_decimal_digit.c: Likewise.
40881         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
40882         * tests/unictype/test-pr_deprecated.c: Likewise.
40883         * tests/unictype/test-pr_diacritic.c: Likewise.
40884         * tests/unictype/test-pr_extender.c: Likewise.
40885         * tests/unictype/test-pr_format_control.c: Likewise.
40886         * tests/unictype/test-pr_grapheme_base.c: Likewise.
40887         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
40888         * tests/unictype/test-pr_grapheme_link.c: Likewise.
40889         * tests/unictype/test-pr_hex_digit.c: Likewise.
40890         * tests/unictype/test-pr_hyphen.c: Likewise.
40891         * tests/unictype/test-pr_id_continue.c: Likewise.
40892         * tests/unictype/test-pr_id_start.c: Likewise.
40893         * tests/unictype/test-pr_ideographic.c: Likewise.
40894         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
40895         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
40896         * tests/unictype/test-pr_ignorable_control.c: Likewise.
40897         * tests/unictype/test-pr_iso_control.c: Likewise.
40898         * tests/unictype/test-pr_join_control.c: Likewise.
40899         * tests/unictype/test-pr_left_of_pair.c: Likewise.
40900         * tests/unictype/test-pr_line_separator.c: Likewise.
40901         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
40902         * tests/unictype/test-pr_lowercase.c: Likewise.
40903         * tests/unictype/test-pr_math.c: Likewise.
40904         * tests/unictype/test-pr_non_break.c: Likewise.
40905         * tests/unictype/test-pr_not_a_character.c: Likewise.
40906         * tests/unictype/test-pr_numeric.c: Likewise.
40907         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
40908         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
40909         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
40910         * tests/unictype/test-pr_other_id_continue.c: Likewise.
40911         * tests/unictype/test-pr_other_id_start.c: Likewise.
40912         * tests/unictype/test-pr_other_lowercase.c: Likewise.
40913         * tests/unictype/test-pr_other_math.c: Likewise.
40914         * tests/unictype/test-pr_other_uppercase.c: Likewise.
40915         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
40916         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
40917         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
40918         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
40919         * tests/unictype/test-pr_private_use.c: Likewise.
40920         * tests/unictype/test-pr_punctuation.c: Likewise.
40921         * tests/unictype/test-pr_quotation_mark.c: Likewise.
40922         * tests/unictype/test-pr_radical.c: Likewise.
40923         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
40924         * tests/unictype/test-pr_soft_dotted.c: Likewise.
40925         * tests/unictype/test-pr_space.c: Likewise.
40926         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
40927         * tests/unictype/test-pr_titlecase.c: Likewise.
40928         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
40929         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
40930         * tests/unictype/test-pr_uppercase.c: Likewise.
40931         * tests/unictype/test-pr_variation_selector.c: Likewise.
40932         * tests/unictype/test-pr_white_space.c: Likewise.
40933         * tests/unictype/test-pr_xid_continue.c: Likewise.
40934         * tests/unictype/test-pr_xid_start.c: Likewise.
40935         * tests/unictype/test-pr_zero_width.c: Likewise.
40936         * tests/unictype/test-sy_c_whitespace.c: Likewise.
40937         * tests/unictype/test-sy_java_whitespace.c: Likewise.
40938
40939 2007-11-12  Bruno Haible  <bruno@clisp.org>
40940
40941         Unicode character classification functions.
40942         * lib/unictype.h: New file.
40943         * modules/unictype/base: New file.
40944         * modules/unictype/category-L: New file.
40945         * modules/unictype/category-Lu: New file.
40946         * modules/unictype/category-Ll: New file.
40947         * modules/unictype/category-Lt: New file.
40948         * modules/unictype/category-Lm: New file.
40949         * modules/unictype/category-Lo: New file.
40950         * modules/unictype/category-M: New file.
40951         * modules/unictype/category-Mn: New file.
40952         * modules/unictype/category-Mc: New file.
40953         * modules/unictype/category-Me: New file.
40954         * modules/unictype/category-N: New file.
40955         * modules/unictype/category-Nd: New file.
40956         * modules/unictype/category-Nl: New file.
40957         * modules/unictype/category-No: New file.
40958         * modules/unictype/category-P: New file.
40959         * modules/unictype/category-Pc: New file.
40960         * modules/unictype/category-Pd: New file.
40961         * modules/unictype/category-Ps: New file.
40962         * modules/unictype/category-Pe: New file.
40963         * modules/unictype/category-Pi: New file.
40964         * modules/unictype/category-Pf: New file.
40965         * modules/unictype/category-Po: New file.
40966         * modules/unictype/category-S: New file.
40967         * modules/unictype/category-Sm: New file.
40968         * modules/unictype/category-Sc: New file.
40969         * modules/unictype/category-Sk: New file.
40970         * modules/unictype/category-So: New file.
40971         * modules/unictype/category-Z: New file.
40972         * modules/unictype/category-Zs: New file.
40973         * modules/unictype/category-Zl: New file.
40974         * modules/unictype/category-Zp: New file.
40975         * modules/unictype/category-C: New file.
40976         * modules/unictype/category-Cc: New file.
40977         * modules/unictype/category-Cf: New file.
40978         * modules/unictype/category-Cs: New file.
40979         * modules/unictype/category-Co: New file.
40980         * modules/unictype/category-Cn: New file.
40981         * modules/unictype/category-or: New file.
40982         * modules/unictype/category-of: New file.
40983         * modules/unictype/category-test: New file.
40984         * modules/unictype/category-test-withtable: New file.
40985         * modules/unictype/category-byname: New file.
40986         * modules/unictype/category-none: New file.
40987         * modules/unictype/category-and: New file.
40988         * modules/unictype/category-and-not: New file.
40989         * modules/unictype/category-name: New file.
40990         * modules/unictype/combining-class: New file.
40991         * modules/unictype/category-all: New file.
40992         * modules/unictype/bidicategory-all: New file.
40993         * modules/unictype/bidicategory-byname: New file.
40994         * modules/unictype/bidicategory-name: New file.
40995         * modules/unictype/bidicategory-of: New file.
40996         * modules/unictype/bidicategory-test: New file.
40997         * modules/unictype/decimal-digit: New file.
40998         * modules/unictype/digit: New file.
40999         * modules/unictype/numeric: New file.
41000         * modules/unictype/mirror: New file.
41001         * modules/unictype/property-white-space: New file.
41002         * modules/unictype/property-alphabetic: New file.
41003         * modules/unictype/property-other-alphabetic: New file.
41004         * modules/unictype/property-not-a-character: New file.
41005         * modules/unictype/property-default-ignorable-code-point: New file.
41006         * modules/unictype/property-other-default-ignorable-code-point: New
41007         file.
41008         * modules/unictype/property-deprecated: New file.
41009         * modules/unictype/property-logical-order-exception: New file.
41010         * modules/unictype/property-variation-selector: New file.
41011         * modules/unictype/property-private-use: New file.
41012         * modules/unictype/property-unassigned-code-value: New file.
41013         * modules/unictype/property-uppercase: New file.
41014         * modules/unictype/property-other-uppercase: New file.
41015         * modules/unictype/property-lowercase: New file.
41016         * modules/unictype/property-other-lowercase: New file.
41017         * modules/unictype/property-titlecase: New file.
41018         * modules/unictype/property-soft-dotted: New file.
41019         * modules/unictype/property-id-start: New file.
41020         * modules/unictype/property-other-id-start: New file.
41021         * modules/unictype/property-id-continue: New file.
41022         * modules/unictype/property-other-id-continue: New file.
41023         * modules/unictype/property-xid-start: New file.
41024         * modules/unictype/property-xid-continue: New file.
41025         * modules/unictype/property-pattern-white-space: New file.
41026         * modules/unictype/property-pattern-syntax: New file.
41027         * modules/unictype/property-join-control: New file.
41028         * modules/unictype/property-grapheme-base: New file.
41029         * modules/unictype/property-grapheme-extend: New file.
41030         * modules/unictype/property-other-grapheme-extend: New file.
41031         * modules/unictype/property-grapheme-link: New file.
41032         * modules/unictype/property-bidi-control: New file.
41033         * modules/unictype/property-bidi-left-to-right: New file.
41034         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
41035         * modules/unictype/property-bidi-arabic-right-to-left: New file.
41036         * modules/unictype/property-bidi-european-digit: New file.
41037         * modules/unictype/property-bidi-eur-num-separator: New file.
41038         * modules/unictype/property-bidi-eur-num-terminator: New file.
41039         * modules/unictype/property-bidi-arabic-digit: New file.
41040         * modules/unictype/property-bidi-common-separator: New file.
41041         * modules/unictype/property-bidi-block-separator: New file.
41042         * modules/unictype/property-bidi-segment-separator: New file.
41043         * modules/unictype/property-bidi-whitespace: New file.
41044         * modules/unictype/property-bidi-non-spacing-mark: New file.
41045         * modules/unictype/property-bidi-boundary-neutral: New file.
41046         * modules/unictype/property-bidi-pdf: New file.
41047         * modules/unictype/property-bidi-embedding-or-override: New file.
41048         * modules/unictype/property-bidi-other-neutral: New file.
41049         * modules/unictype/property-hex-digit: New file.
41050         * modules/unictype/property-ascii-hex-digit: New file.
41051         * modules/unictype/property-ideographic: New file.
41052         * modules/unictype/property-unified-ideograph: New file.
41053         * modules/unictype/property-radical: New file.
41054         * modules/unictype/property-ids-binary-operator: New file.
41055         * modules/unictype/property-ids-trinary-operator: New file.
41056         * modules/unictype/property-zero-width: New file.
41057         * modules/unictype/property-space: New file.
41058         * modules/unictype/property-non-break: New file.
41059         * modules/unictype/property-iso-control: New file.
41060         * modules/unictype/property-format-control: New file.
41061         * modules/unictype/property-dash: New file.
41062         * modules/unictype/property-hyphen: New file.
41063         * modules/unictype/property-punctuation: New file.
41064         * modules/unictype/property-line-separator: New file.
41065         * modules/unictype/property-paragraph-separator: New file.
41066         * modules/unictype/property-quotation-mark: New file.
41067         * modules/unictype/property-sentence-terminal: New file.
41068         * modules/unictype/property-terminal-punctuation: New file.
41069         * modules/unictype/property-currency-symbol: New file.
41070         * modules/unictype/property-math: New file.
41071         * modules/unictype/property-other-math: New file.
41072         * modules/unictype/property-paired-punctuation: New file.
41073         * modules/unictype/property-left-of-pair: New file.
41074         * modules/unictype/property-combining: New file.
41075         * modules/unictype/property-composite: New file.
41076         * modules/unictype/property-decimal-digit: New file.
41077         * modules/unictype/property-numeric: New file.
41078         * modules/unictype/property-diacritic: New file.
41079         * modules/unictype/property-extender: New file.
41080         * modules/unictype/property-ignorable-control: New file.
41081         * modules/unictype/property-test: New file.
41082         * modules/unictype/property-byname: New file.
41083         * modules/unictype/property-all: New file.
41084         * modules/unictype/scripts: New file.
41085         * modules/unictype/scripts-all: New file.
41086         * modules/unictype/block-of: New file.
41087         * modules/unictype/block-test: New file.
41088         * modules/unictype/block-list: New file.
41089         * modules/unictype/block-all: New file.
41090         * modules/unictype/syntax-c-whitespace: New file.
41091         * modules/unictype/syntax-java-whitespace: New file.
41092         * modules/unictype/syntax-c-ident: New file.
41093         * modules/unictype/syntax-java-ident: New file.
41094         * modules/unictype/ctype-alnum: New file.
41095         * modules/unictype/ctype-alpha: New file.
41096         * modules/unictype/ctype-cntrl: New file.
41097         * modules/unictype/ctype-digit: New file.
41098         * modules/unictype/ctype-graph: New file.
41099         * modules/unictype/ctype-lower: New file.
41100         * modules/unictype/ctype-print: New file.
41101         * modules/unictype/ctype-punct: New file.
41102         * modules/unictype/ctype-space: New file.
41103         * modules/unictype/ctype-upper: New file.
41104         * modules/unictype/ctype-xdigit: New file.
41105         * modules/unictype/ctype-blank: New file.
41106         * lib/unictype/bidi_byname.c: New file.
41107         * lib/unictype/bidi_name.c: New file.
41108         * lib/unictype/bidi_of.c: New file.
41109         * lib/unictype/bidi_test.c: New file.
41110         * lib/unictype/bitmap.h: New file.
41111         * lib/unictype/block_test.c: New file.
41112         * lib/unictype/blocks.c: New file.
41113         * lib/unictype/categ_C.c: New file.
41114         * lib/unictype/categ_Cc.c: New file.
41115         * lib/unictype/categ_Cf.c: New file.
41116         * lib/unictype/categ_Cn.c: New file.
41117         * lib/unictype/categ_Co.c: New file.
41118         * lib/unictype/categ_Cs.c: New file.
41119         * lib/unictype/categ_L.c: New file.
41120         * lib/unictype/categ_Ll.c: New file.
41121         * lib/unictype/categ_Lm.c: New file.
41122         * lib/unictype/categ_Lo.c: New file.
41123         * lib/unictype/categ_Lt.c: New file.
41124         * lib/unictype/categ_Lu.c: New file.
41125         * lib/unictype/categ_M.c: New file.
41126         * lib/unictype/categ_Mc.c: New file.
41127         * lib/unictype/categ_Me.c: New file.
41128         * lib/unictype/categ_Mn.c: New file.
41129         * lib/unictype/categ_N.c: New file.
41130         * lib/unictype/categ_Nd.c: New file.
41131         * lib/unictype/categ_Nl.c: New file.
41132         * lib/unictype/categ_No.c: New file.
41133         * lib/unictype/categ_P.c: New file.
41134         * lib/unictype/categ_Pc.c: New file.
41135         * lib/unictype/categ_Pd.c: New file.
41136         * lib/unictype/categ_Pe.c: New file.
41137         * lib/unictype/categ_Pf.c: New file.
41138         * lib/unictype/categ_Pi.c: New file.
41139         * lib/unictype/categ_Po.c: New file.
41140         * lib/unictype/categ_Ps.c: New file.
41141         * lib/unictype/categ_S.c: New file.
41142         * lib/unictype/categ_Sc.c: New file.
41143         * lib/unictype/categ_Sk.c: New file.
41144         * lib/unictype/categ_Sm.c: New file.
41145         * lib/unictype/categ_So.c: New file.
41146         * lib/unictype/categ_Z.c: New file.
41147         * lib/unictype/categ_Zl.c: New file.
41148         * lib/unictype/categ_Zp.c: New file.
41149         * lib/unictype/categ_Zs.c: New file.
41150         * lib/unictype/categ_and.c: New file.
41151         * lib/unictype/categ_and_not.c: New file.
41152         * lib/unictype/categ_byname.c: New file.
41153         * lib/unictype/categ_name.c: New file.
41154         * lib/unictype/categ_none.c: New file.
41155         * lib/unictype/categ_of.c: New file.
41156         * lib/unictype/categ_or.c: New file.
41157         * lib/unictype/categ_test.c: New file.
41158         * lib/unictype/combining.c: New file.
41159         * lib/unictype/ctype_alnum.c: New file.
41160         * lib/unictype/ctype_alpha.c: New file.
41161         * lib/unictype/ctype_blank.c: New file.
41162         * lib/unictype/ctype_cntrl.c: New file.
41163         * lib/unictype/ctype_digit.c: New file.
41164         * lib/unictype/ctype_graph.c: New file.
41165         * lib/unictype/ctype_lower.c: New file.
41166         * lib/unictype/ctype_print.c: New file.
41167         * lib/unictype/ctype_punct.c: New file.
41168         * lib/unictype/ctype_space.c: New file.
41169         * lib/unictype/ctype_upper.c: New file.
41170         * lib/unictype/ctype_xdigit.c: New file.
41171         * lib/unictype/decdigit.c: New file.
41172         * lib/unictype/digit.c: New file.
41173         * lib/unictype/identsyntaxmap.h: New file.
41174         * lib/unictype/mirror.c: New file.
41175         * lib/unictype/numeric.c: New file.
41176         * lib/unictype/pr_alphabetic.c: New file.
41177         * lib/unictype/pr_ascii_hex_digit.c: New file.
41178         * lib/unictype/pr_bidi_arabic_digit.c: New file.
41179         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
41180         * lib/unictype/pr_bidi_block_separator.c: New file.
41181         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
41182         * lib/unictype/pr_bidi_common_separator.c: New file.
41183         * lib/unictype/pr_bidi_control.c: New file.
41184         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
41185         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
41186         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
41187         * lib/unictype/pr_bidi_european_digit.c: New file.
41188         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
41189         * lib/unictype/pr_bidi_left_to_right.c: New file.
41190         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
41191         * lib/unictype/pr_bidi_other_neutral.c: New file.
41192         * lib/unictype/pr_bidi_pdf.c: New file.
41193         * lib/unictype/pr_bidi_segment_separator.c: New file.
41194         * lib/unictype/pr_bidi_whitespace.c: New file.
41195         * lib/unictype/pr_byname.c: New file.
41196         * lib/unictype/pr_byname.gperf: New file.
41197         * lib/unictype/pr_combining.c: New file.
41198         * lib/unictype/pr_composite.c: New file.
41199         * lib/unictype/pr_currency_symbol.c: New file.
41200         * lib/unictype/pr_dash.c: New file.
41201         * lib/unictype/pr_decimal_digit.c: New file.
41202         * lib/unictype/pr_default_ignorable_code_point.c: New file.
41203         * lib/unictype/pr_deprecated.c: New file.
41204         * lib/unictype/pr_diacritic.c: New file.
41205         * lib/unictype/pr_extender.c: New file.
41206         * lib/unictype/pr_format_control.c: New file.
41207         * lib/unictype/pr_grapheme_base.c: New file.
41208         * lib/unictype/pr_grapheme_extend.c: New file.
41209         * lib/unictype/pr_grapheme_link.c: New file.
41210         * lib/unictype/pr_hex_digit.c: New file.
41211         * lib/unictype/pr_hyphen.c: New file.
41212         * lib/unictype/pr_id_continue.c: New file.
41213         * lib/unictype/pr_id_start.c: New file.
41214         * lib/unictype/pr_ideographic.c: New file.
41215         * lib/unictype/pr_ids_binary_operator.c: New file.
41216         * lib/unictype/pr_ids_trinary_operator.c: New file.
41217         * lib/unictype/pr_ignorable_control.c: New file.
41218         * lib/unictype/pr_iso_control.c: New file.
41219         * lib/unictype/pr_join_control.c: New file.
41220         * lib/unictype/pr_left_of_pair.c: New file.
41221         * lib/unictype/pr_line_separator.c: New file.
41222         * lib/unictype/pr_logical_order_exception.c: New file.
41223         * lib/unictype/pr_lowercase.c: New file.
41224         * lib/unictype/pr_math.c: New file.
41225         * lib/unictype/pr_non_break.c: New file.
41226         * lib/unictype/pr_not_a_character.c: New file.
41227         * lib/unictype/pr_numeric.c: New file.
41228         * lib/unictype/pr_other_alphabetic.c: New file.
41229         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
41230         * lib/unictype/pr_other_grapheme_extend.c: New file.
41231         * lib/unictype/pr_other_id_continue.c: New file.
41232         * lib/unictype/pr_other_id_start.c: New file.
41233         * lib/unictype/pr_other_lowercase.c: New file.
41234         * lib/unictype/pr_other_math.c: New file.
41235         * lib/unictype/pr_other_uppercase.c: New file.
41236         * lib/unictype/pr_paired_punctuation.c: New file.
41237         * lib/unictype/pr_paragraph_separator.c: New file.
41238         * lib/unictype/pr_pattern_syntax.c: New file.
41239         * lib/unictype/pr_pattern_white_space.c: New file.
41240         * lib/unictype/pr_private_use.c: New file.
41241         * lib/unictype/pr_punctuation.c: New file.
41242         * lib/unictype/pr_quotation_mark.c: New file.
41243         * lib/unictype/pr_radical.c: New file.
41244         * lib/unictype/pr_sentence_terminal.c: New file.
41245         * lib/unictype/pr_soft_dotted.c: New file.
41246         * lib/unictype/pr_space.c: New file.
41247         * lib/unictype/pr_terminal_punctuation.c: New file.
41248         * lib/unictype/pr_test.c: New file.
41249         * lib/unictype/pr_titlecase.c: New file.
41250         * lib/unictype/pr_unassigned_code_value.c: New file.
41251         * lib/unictype/pr_unified_ideograph.c: New file.
41252         * lib/unictype/pr_uppercase.c: New file.
41253         * lib/unictype/pr_variation_selector.c: New file.
41254         * lib/unictype/pr_white_space.c: New file.
41255         * lib/unictype/pr_xid_continue.c: New file.
41256         * lib/unictype/pr_xid_start.c: New file.
41257         * lib/unictype/pr_zero_width.c: New file.
41258         * lib/unictype/scripts.c: New file.
41259         * lib/unictype/sy_c_ident.c: New file.
41260         * lib/unictype/sy_c_whitespace.c: New file.
41261         * lib/unictype/sy_java_ident.c: New file.
41262         * lib/unictype/sy_java_whitespace.c: New file.
41263
41264         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
41265         Unicode 5.0.0.
41266         * lib/unictype/blocks.h: Likewise.
41267         * lib/unictype/categ_C.h: Likewise.
41268         * lib/unictype/categ_Cc.h: Likewise.
41269         * lib/unictype/categ_Cf.h: Likewise.
41270         * lib/unictype/categ_Cn.h: Likewise.
41271         * lib/unictype/categ_Co.h: Likewise.
41272         * lib/unictype/categ_Cs.h: Likewise.
41273         * lib/unictype/categ_L.h: Likewise.
41274         * lib/unictype/categ_Ll.h: Likewise.
41275         * lib/unictype/categ_Lm.h: Likewise.
41276         * lib/unictype/categ_Lo.h: Likewise.
41277         * lib/unictype/categ_Lt.h: Likewise.
41278         * lib/unictype/categ_Lu.h: Likewise.
41279         * lib/unictype/categ_M.h: Likewise.
41280         * lib/unictype/categ_Mc.h: Likewise.
41281         * lib/unictype/categ_Me.h: Likewise.
41282         * lib/unictype/categ_Mn.h: Likewise.
41283         * lib/unictype/categ_N.h: Likewise.
41284         * lib/unictype/categ_Nd.h: Likewise.
41285         * lib/unictype/categ_Nl.h: Likewise.
41286         * lib/unictype/categ_No.h: Likewise.
41287         * lib/unictype/categ_P.h: Likewise.
41288         * lib/unictype/categ_Pc.h: Likewise.
41289         * lib/unictype/categ_Pd.h: Likewise.
41290         * lib/unictype/categ_Pe.h: Likewise.
41291         * lib/unictype/categ_Pf.h: Likewise.
41292         * lib/unictype/categ_Pi.h: Likewise.
41293         * lib/unictype/categ_Po.h: Likewise.
41294         * lib/unictype/categ_Ps.h: Likewise.
41295         * lib/unictype/categ_S.h: Likewise.
41296         * lib/unictype/categ_Sc.h: Likewise.
41297         * lib/unictype/categ_Sk.h: Likewise.
41298         * lib/unictype/categ_Sm.h: Likewise.
41299         * lib/unictype/categ_So.h: Likewise.
41300         * lib/unictype/categ_Z.h: Likewise.
41301         * lib/unictype/categ_Zl.h: Likewise.
41302         * lib/unictype/categ_Zp.h: Likewise.
41303         * lib/unictype/categ_Zs.h: Likewise.
41304         * lib/unictype/categ_of.h: Likewise.
41305         * lib/unictype/combining.h: Likewise.
41306         * lib/unictype/ctype_alnum.h: Likewise.
41307         * lib/unictype/ctype_alpha.h: Likewise.
41308         * lib/unictype/ctype_blank.h: Likewise.
41309         * lib/unictype/ctype_cntrl.h: Likewise.
41310         * lib/unictype/ctype_digit.h: Likewise.
41311         * lib/unictype/ctype_graph.h: Likewise.
41312         * lib/unictype/ctype_lower.h: Likewise.
41313         * lib/unictype/ctype_print.h: Likewise.
41314         * lib/unictype/ctype_punct.h: Likewise.
41315         * lib/unictype/ctype_space.h: Likewise.
41316         * lib/unictype/ctype_upper.h: Likewise.
41317         * lib/unictype/ctype_xdigit.h: Likewise.
41318         * lib/unictype/decdigit.h: Likewise.
41319         * lib/unictype/digit.h: Likewise.
41320         * lib/unictype/mirror.h: Likewise.
41321         * lib/unictype/numeric.h: Likewise.
41322         * lib/unictype/pr_alphabetic.h: Likewise.
41323         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
41324         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
41325         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
41326         * lib/unictype/pr_bidi_block_separator.h: Likewise.
41327         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
41328         * lib/unictype/pr_bidi_common_separator.h: Likewise.
41329         * lib/unictype/pr_bidi_control.h: Likewise.
41330         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
41331         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
41332         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
41333         * lib/unictype/pr_bidi_european_digit.h: Likewise.
41334         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
41335         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
41336         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
41337         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
41338         * lib/unictype/pr_bidi_pdf.h: Likewise.
41339         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
41340         * lib/unictype/pr_bidi_whitespace.h: Likewise.
41341         * lib/unictype/pr_combining.h: Likewise.
41342         * lib/unictype/pr_composite.h: Likewise.
41343         * lib/unictype/pr_currency_symbol.h: Likewise.
41344         * lib/unictype/pr_dash.h: Likewise.
41345         * lib/unictype/pr_decimal_digit.h: Likewise.
41346         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
41347         * lib/unictype/pr_deprecated.h: Likewise.
41348         * lib/unictype/pr_diacritic.h: Likewise.
41349         * lib/unictype/pr_extender.h: Likewise.
41350         * lib/unictype/pr_format_control.h: Likewise.
41351         * lib/unictype/pr_grapheme_base.h: Likewise.
41352         * lib/unictype/pr_grapheme_extend.h: Likewise.
41353         * lib/unictype/pr_grapheme_link.h: Likewise.
41354         * lib/unictype/pr_hex_digit.h: Likewise.
41355         * lib/unictype/pr_hyphen.h: Likewise.
41356         * lib/unictype/pr_id_continue.h: Likewise.
41357         * lib/unictype/pr_id_start.h: Likewise.
41358         * lib/unictype/pr_ideographic.h: Likewise.
41359         * lib/unictype/pr_ids_binary_operator.h: Likewise.
41360         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
41361         * lib/unictype/pr_ignorable_control.h: Likewise.
41362         * lib/unictype/pr_iso_control.h: Likewise.
41363         * lib/unictype/pr_join_control.h: Likewise.
41364         * lib/unictype/pr_left_of_pair.h: Likewise.
41365         * lib/unictype/pr_line_separator.h: Likewise.
41366         * lib/unictype/pr_logical_order_exception.h: Likewise.
41367         * lib/unictype/pr_lowercase.h: Likewise.
41368         * lib/unictype/pr_math.h: Likewise.
41369         * lib/unictype/pr_non_break.h: Likewise.
41370         * lib/unictype/pr_not_a_character.h: Likewise.
41371         * lib/unictype/pr_numeric.h: Likewise.
41372         * lib/unictype/pr_other_alphabetic.h: Likewise.
41373         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
41374         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
41375         * lib/unictype/pr_other_id_continue.h: Likewise.
41376         * lib/unictype/pr_other_id_start.h: Likewise.
41377         * lib/unictype/pr_other_lowercase.h: Likewise.
41378         * lib/unictype/pr_other_math.h: Likewise.
41379         * lib/unictype/pr_other_uppercase.h: Likewise.
41380         * lib/unictype/pr_paired_punctuation.h: Likewise.
41381         * lib/unictype/pr_paragraph_separator.h: Likewise.
41382         * lib/unictype/pr_pattern_syntax.h: Likewise.
41383         * lib/unictype/pr_pattern_white_space.h: Likewise.
41384         * lib/unictype/pr_private_use.h: Likewise.
41385         * lib/unictype/pr_punctuation.h: Likewise.
41386         * lib/unictype/pr_quotation_mark.h: Likewise.
41387         * lib/unictype/pr_radical.h: Likewise.
41388         * lib/unictype/pr_sentence_terminal.h: Likewise.
41389         * lib/unictype/pr_soft_dotted.h: Likewise.
41390         * lib/unictype/pr_space.h: Likewise.
41391         * lib/unictype/pr_terminal_punctuation.h: Likewise.
41392         * lib/unictype/pr_titlecase.h: Likewise.
41393         * lib/unictype/pr_unassigned_code_value.h: Likewise.
41394         * lib/unictype/pr_unified_ideograph.h: Likewise.
41395         * lib/unictype/pr_uppercase.h: Likewise.
41396         * lib/unictype/pr_variation_selector.h: Likewise.
41397         * lib/unictype/pr_white_space.h: Likewise.
41398         * lib/unictype/pr_xid_continue.h: Likewise.
41399         * lib/unictype/pr_xid_start.h: Likewise.
41400         * lib/unictype/pr_zero_width.h: Likewise.
41401         * lib/unictype/scripts.h: Likewise.
41402         * lib/unictype/scripts_byname.gperf: Likewise.
41403         * lib/unictype/sy_c_ident.h: Likewise.
41404         * lib/unictype/sy_c_whitespace.h: Likewise.
41405         * lib/unictype/sy_java_ident.h: Likewise.
41406         * lib/unictype/sy_java_whitespace.h: Likewise.
41407
41408         * lib/unictype/Makefile: New file.
41409         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
41410         glibc.
41411         * lib/unictype/3level.h: New file, copied from glibc.
41412         * lib/unictype/3levelbit.h: New file.
41413
41414 2007-11-11  Bruno Haible  <bruno@clisp.org>
41415
41416         * modules/gperf: New file.
41417         * modules/iconv_open (Depends-on): Add it.
41418         (Makefile.am): Remove the GPERF definition.
41419
41420 2007-11-11  Bruno Haible  <bruno@clisp.org>
41421
41422         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
41423         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
41424
41425 2007-11-11  Bruno Haible  <bruno@clisp.org>
41426
41427         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
41428         (usage): Remove function.
41429
41430 2007-11-11  Bruno Haible  <bruno@clisp.org>
41431
41432         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
41433         gl_FUNC_CEILF_LIBS.
41434         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
41435         gl_FUNC_CEIL_LIBS.
41436         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
41437         gl_FUNC_CEILL_LIBS.
41438         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
41439         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
41440         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
41441
41442 2007-11-11  Bruno Haible  <bruno@clisp.org>
41443
41444         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
41445         roundf were declared but do not exist on functions.
41446         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
41447         roundl were declared but do not exist on functions.
41448         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
41449         HAVE_FLOORL_AND_CEILL, respectively.
41450         Needed for Sun C on Solaris 10.
41451
41452 2007-11-11  Bruno Haible  <bruno@clisp.org>
41453
41454         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
41455         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
41456         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
41457         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
41458         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
41459         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
41460         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
41461         HAVE_DECL_ROUNDF.
41462         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
41463         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
41464         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
41465         of HAVE_DECL_ROUND*.
41466         * modules/math (Makefile.am): Update.
41467
41468 2007-11-10  Bruno Haible  <bruno@clisp.org>
41469
41470         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
41471         ptrdiff_t as m4/intl.m4.
41472
41473 2007-11-10  Jim Meyering  <meyering@redhat.com>
41474
41475         Avoid link failure for the argmatch test.
41476         * tests/test-argmatch.c (usage): Define function to avoid a link
41477         failure: argmatch_die requires a usage function.
41478
41479 2007-11-09  Bruno Haible  <bruno@clisp.org>
41480
41481         * doc/functions/snprintf.texi: Mention BeOS deficiency.
41482         * doc/functions/vsnprintf.texi: Likewise.
41483         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
41484         with a size argument < 2.
41485
41486 2007-11-09  Bruno Haible  <bruno@clisp.org>
41487
41488         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
41489         buffer. Fixes an inefficiency introduced on 2007-11-03.
41490
41491 2007-11-09  Bruno Haible  <bruno@clisp.org>
41492
41493         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
41494         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
41495
41496 2007-11-08  Jim Meyering  <meyering@redhat.com>
41497
41498         Change cache variable name prefix "jm_" to "gl_" everywhere.
41499         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
41500         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
41501         * m4/uptime.m4: s/gl_/jm_/
41502
41503 2007-11-07  Bruno Haible  <bruno@clisp.org>
41504
41505         Update to GNU gettext 0.17.
41506         * m4/intl.m4: Update to GNU gettext 0.17.
41507         * m4/po.m4: Likewise.
41508         * modules/gettext (Files): Remove m4/ulonglong.m4.
41509         (configure.ac): Require gettext infrastructure from version 0.17.
41510
41511 2007-11-06  Bruno Haible  <bruno@clisp.org>
41512
41513         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
41514         symbolic values are not defined in a public header.
41515         * lib/freadable.c (freadable) [QNX]: Likewise.
41516         * lib/freadahead.c (freadahead) [QNX]: Likewise.
41517         * lib/freading.c (freading) [QNX]: Likewise.
41518         * lib/fseterr.c (fseterr) [QNX]: Likewise.
41519         * lib/fwritable.c (fwritable) [QNX]: Likewise.
41520         * lib/fwriting.c (fwriting) [QNX]: Likewise.
41521         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
41522         Reported by Alain Magloire.
41523
41524         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
41525
41526 2007-11-05  Bruno Haible  <bruno@clisp.org>
41527
41528         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
41529         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
41530         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
41531         Reported by Eric Blake.
41532
41533 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41534             Bruno Haible  <bruno@clisp.org>
41535
41536         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
41537         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
41538         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
41539         (malloc): Undefine also before including <stdlib.h>.
41540         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
41541         Needed on OSF/1 4.0.
41542
41543 2007-11-05  Jim Meyering  <meyering@redhat.com>
41544
41545         git-version-gen: sync from coreutils.
41546         * build-aux/git-version-gen: Add comments.
41547         Change the first '-' to '.' in the snapshot version string,
41548         e.g., 6.9-377-08144 -> 6.9.377-08144
41549         Remove first parameter.
41550         Don't declare a version "-dirty" merely because a time
41551         stamp has changed.
41552
41553 2007-11-04  Bruno Haible  <bruno@clisp.org>
41554
41555         * lib/lock.h: Protect all macro definitions containing an 'if'
41556         statement through a "do { ... } while (0)".
41557         * lib/tls.h: Likewise.
41558
41559 2007-11-04  Bruno Haible  <bruno@clisp.org>
41560
41561         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
41562
41563 2007-11-04  Bruno Haible  <bruno@clisp.org>
41564
41565         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
41566         * modules/fprintf-posix (Depends-on): Add nocrash.
41567         * modules/snprintf-posix (Depends-on): Likewise.
41568         * modules/sprintf-posix (Depends-on): Likewise.
41569         * modules/vasnprintf-posix (Depends-on): Likewise.
41570         * modules/vasprintf-posix (Depends-on): Likewise.
41571         * modules/vfprintf-posix (Depends-on): Likewise.
41572         * modules/vsnprintf-posix (Depends-on): Likewise.
41573         * modules/vsprintf-posix (Depends-on): Likewise.
41574         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
41575         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
41576         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
41577         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
41578         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
41579         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
41580         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
41581
41582 2007-11-04  Bruno Haible  <bruno@clisp.org>
41583
41584         * modules/nocrash: New file.
41585         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
41586         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
41587
41588 2007-11-04  Bruno Haible  <bruno@clisp.org>
41589
41590         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
41591         precision handling.
41592         * tests/test-vasprintf-posix.c (test_function): Likewise.
41593         * tests/test-snprintf-posix.h (test_function): Likewise.
41594         * tests/test-sprintf-posix.h (test_function): Likewise.
41595
41596         Fix *printf behaviour for large precisions on mingw and BeOS.
41597         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
41598         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
41599         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
41600         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
41601         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
41602         gl_PRINTF_PRECISION and test its result. Invoke
41603         gl_PREREQ_VASNPRINTF_PRECISION.
41604         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
41605         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
41606         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
41607         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
41608         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
41609         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41610         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
41611         * doc/functions/fprintf.texi: Update.
41612         * doc/functions/printf.texi: Update.
41613         * doc/functions/snprintf.texi: Update.
41614         * doc/functions/sprintf.texi: Update.
41615         * doc/functions/vfprintf.texi: Update.
41616         * doc/functions/vprintf.texi: Update.
41617         * doc/functions/vsnprintf.texi: Update.
41618         * doc/functions/vsprintf.texi: Update.
41619
41620 2007-11-04  Bruno Haible  <bruno@clisp.org>
41621
41622         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
41623
41624 2007-11-04  Bruno Haible  <bruno@clisp.org>
41625
41626         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
41627         Reported by Sylvain Beucler <beuc@gnu.org>.
41628
41629 2007-11-03  Bruno Haible  <bruno@clisp.org>
41630
41631         * tests/test-fprintf-posix2.sh: New file.
41632         * tests/test-fprintf-posix2.c: New file.
41633         * modules/fprintf-posix-tests (Files): Add them.
41634         (TESTS): Add test-fprintf-posix2.sh.
41635         (configure.ac): Check for getrlimit and setrlimit.
41636         (check_PROGRAMS): Add test-fprintf-posix2.
41637
41638         * tests/test-printf-posix2.sh: New file.
41639         * tests/test-printf-posix2.c: New file.
41640         * modules/printf-posix-tests (Files): Add them.
41641         (TESTS): Add test-printf-posix2.sh.
41642         (configure.ac): Check for getrlimit and setrlimit.
41643         (check_PROGRAMS): Add test-printf-posix2.
41644
41645         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
41646         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
41647         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
41648         (decode_double): New function, copied from decode_long_double.
41649         (scale10_round_decimal_decoded): New function, extracted from
41650         scale10_round_decimal_long_double.
41651         (scale10_round_decimal_long_double): Use it.
41652         (scale10_round_decimal_double): New function.
41653         (floorlog10): New function.
41654         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
41655         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
41656         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
41657         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
41658         gl_PRINTF_ENOMEM and test its result. Invoke
41659         gl_PREREQ_VASNPRINTF_ENOMEM.
41660         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
41661         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
41662         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
41663         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
41664         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
41665         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41666         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
41667         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
41668         * modules/snprintf-posix (Depends-on): Likewise.
41669         * modules/sprintf-posix (Depends-on): Likewise.
41670         * modules/vasnprintf-posix (Depends-on): Likewise.
41671         * modules/vasprintf-posix (Depends-on): Likewise.
41672         * modules/vfprintf-posix (Depends-on): Likewise.
41673         * modules/vsnprintf-posix (Depends-on): Likewise.
41674         * modules/vsprintf-posix (Depends-on): Likewise.
41675         * doc/functions/fprintf.texi: Update.
41676         * doc/functions/printf.texi: Update.
41677         * doc/functions/snprintf.texi: Update.
41678         * doc/functions/sprintf.texi: Update.
41679         * doc/functions/vfprintf.texi: Update.
41680         * doc/functions/vprintf.texi: Update.
41681         * doc/functions/vsnprintf.texi: Update.
41682         * doc/functions/vsprintf.texi: Update.
41683
41684 2007-11-03  Bruno Haible  <bruno@clisp.org>
41685
41686         * modules/frexp-nolibm-tests: New file.
41687
41688         * modules/frexp-nolibm: New file.
41689         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
41690
41691 2007-11-03  Bruno Haible  <bruno@clisp.org>
41692
41693         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
41694         value is C99 compliant.
41695         Needed for OSF/1 5.1.
41696
41697 2007-11-03  Bruno Haible  <bruno@clisp.org>
41698
41699         Fix out-of-memory handling of vasnprintf.
41700         * lib/printf-parse.c: Include <errno.h>.
41701         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
41702         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
41703         is already set.
41704
41705 2007-11-02  Eric Blake  <ebb9@byu.net>
41706
41707         Fix tests on cygwin.
41708         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
41709
41710 2007-11-01  Bruno Haible  <bruno@clisp.org>
41711
41712         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
41713         warning.
41714         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
41715         needed for POSIX compatibility.
41716
41717 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
41718
41719         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
41720         for compatibility with GNU.
41721
41722 2007-11-01  Bruno Haible  <bruno@clisp.org>
41723
41724         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
41725         (putenv): Renamed from rpl_putenv. Change argument type from
41726         'const char *' to 'char *'.
41727         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
41728         of defining putenv in config.h, just set REPLACE_PUTENV.
41729         * modules/putenv (Depends-on): Add stdlib.
41730         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41731         (Include): Use <stdlib.h>.
41732         * lib/stdlib.in.h (putenv): New declaration.
41733         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
41734         REPLACE_PUTENV.
41735         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
41736         REPLACE_PUTENV.
41737         Needed for MacOS X 10.5.0.
41738         Reported by Peter O'Gorman <peter@pogma.com>.
41739
41740 2007-11-01  Jim Meyering  <meyering@redhat.com>
41741
41742         Treat an empty date string exactly like "0".
41743         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
41744         if the remaining date string (to be parsed) is empty, use "0".
41745         Reported by Mischa Molhoek and discussed in this thread:
41746         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
41747
41748 2007-10-31  Bruno Haible  <bruno@clisp.org>
41749
41750         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
41751         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
41752         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
41753         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
41754         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
41755         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
41756
41757 2007-10-31  Bruno Haible  <bruno@clisp.org>
41758
41759         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
41760         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
41761         (AC_TYPE_LONG_LONG_INT): Use it.
41762         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
41763         it as well.
41764         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
41765         to m4/longlong.m4.
41766         * modules/stdint (Files): Remove m4/ulonglong.m4.
41767         * modules/strtoull (Files): Use m4/longlong.m4 instead of
41768         m4/ulonglong.m4.
41769         * modules/strtoumax (Files): Likewise.
41770
41771 2007-10-30  Bruno Haible  <bruno@clisp.org>
41772
41773         * modules/xvasprintf-posix: New file.
41774         Suggested by Eric Blake.
41775
41776 2007-10-30  Bruno Haible  <bruno@clisp.org>
41777
41778         * modules/xprintf-posix-tests: New file.
41779         * tests/test-xprintf-posix.sh: New file.
41780         * tests/test-xprintf-posix.c: New file.
41781         * tests/test-xfprintf-posix.c: New file.
41782
41783         * modules/xprintf-posix: New file.
41784
41785 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41786
41787         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
41788         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
41789         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
41790
41791 2007-10-29  Bruno Haible  <bruno@clisp.org>
41792
41793         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
41794         contain the special marker '_cv_'.
41795         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
41796         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
41797         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
41798         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
41799         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
41800         Reported by Ralf Wildenhues.
41801
41802 2007-10-29  Bruno Haible  <bruno@clisp.org>
41803
41804         * gnulib-tool (func_import): When --lgpl is not specified, set
41805         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
41806         GPLv3.
41807         Reported by Simon Josefsson.
41808
41809 2007-10-28  Bruno Haible  <bruno@clisp.org>
41810
41811         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
41812         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
41813         HAVE_DECL_ISFINITE.
41814         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
41815         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
41816         HAVE_DECL_ISFINITE.
41817
41818 2007-10-28  Bruno Haible  <bruno@clisp.org>
41819
41820         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
41821         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
41822
41823 2007-10-28  Bruno Haible  <bruno@clisp.org>
41824
41825         Fix link errors with Sun C 5.0 on Solaris 10.
41826         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
41827         function is declared but not present in the compiler's libm.
41828         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
41829         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
41830         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
41831         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
41832         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
41833         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
41834         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
41835         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
41836         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
41837         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
41838         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
41839         HAVE_DECL_FLOORL.
41840
41841 2007-10-28  Bruno Haible  <bruno@clisp.org>
41842
41843         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
41844         gl_FUNC_FLOORL. Cache the result.
41845         (gl_FUNC_FLOORL): Use it.
41846         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
41847         gl_FUNC_CEILL. Cache the result.
41848         (gl_FUNC_CEILL): Use it.
41849
41850         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
41851         gl_FUNC_FLOOR. Cache the result.
41852         (gl_FUNC_FLOOR): Use it.
41853         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
41854         gl_FUNC_CEIL. Cache the result.
41855         (gl_FUNC_CEIL): Use it.
41856
41857         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
41858         gl_FUNC_FLOORF. Cache the result.
41859         (gl_FUNC_FLOORF): Use it.
41860         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
41861         gl_FUNC_CEILF. Cache the result.
41862         (gl_FUNC_CEILF): Use it.
41863
41864 2007-10-28  Bruno Haible  <bruno@clisp.org>
41865
41866         * gnulib-tool: Allow specifying the LGPL version number through
41867         --lgpl=2 or --lgpl=3.
41868         (func_usage): Document --lgpl with argument.
41869         Handle --lgpl=... arguments.
41870         (func_import): Recognize also gl_LGPL calls with an argument. When
41871         --lgpl=2 is used and the module's license is just LGPL, report an
41872         error. Set sed_transform_lib_file according to the lgpl variable. In
41873         the generated files, use --lgpl or gl_LGPL invocations with argument,
41874         if necessary.
41875         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
41876         an LGPv2+ license.
41877         * doc/gnulib-tool.texi (Modified imports): Update explanation of
41878         gl_LGPL macro.
41879
41880 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41881             Bruno Haible  <bruno@clisp.org>
41882
41883         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
41884         (u16_uctomb_aux): Likewise.
41885         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
41886         !HAVE_INLINE.
41887         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
41888
41889 2007-10-28  Bruno Haible  <bruno@clisp.org>
41890
41891         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
41892         Invoke AM_GETTEXT_OPTION if it exists.
41893         * modules/vasprintf: Likewise.
41894         * modules/verror: Likewise.
41895         * modules/xprintf: Likewise.
41896         * modules/xvasprintf: Likewise.
41897
41898 2007-10-27  Ben Pfaff  <blp@gnu.org>
41899
41900         * lib/math.in.h: Define isfinite macro and prototypes for
41901         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
41902         implementations.
41903         * m4/math_h.m4: New substitutions for isfinite module.
41904         * lib/isfinite.c: New file.
41905         * m4/isfinite.m4: New file.
41906         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
41907         * modules/isfinite: New file.
41908         * modules/isfinite-tests: New file.
41909         * tests/tests-isfinite.c: New file.
41910         * doc/functions/isfinite.texi: Mention isfinite module.
41911         * MODULES.html.sh: Mention new module.
41912
41913 2007-10-27  Ben Pfaff  <blp@gnu.org>
41914
41915         Ralf Wildenhues reported that Tru64 4.0D declares the round
41916         functions but does not have definitions.
41917         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
41918         cannot be found in any library, set the output variable to
41919         "missing" instead of "".
41920         * m4/round.m4: Also use our substitute if we cannot find round in
41921         any library, even if it is declared.
41922         * m4/roundf.m4: Likewise for roundf.
41923         * m4/roundl.m4: Likewise for roundl.
41924         * lib/math.in.h: Undefine roundf, round, roundl before defining
41925         their replacements, to allow for hypothetical systems where these
41926         may be defined as macros but not available in libraries.
41927
41928 2007-10-27  Bruno Haible  <bruno@clisp.org>
41929
41930         * doc/gnulib.texi: Invoke @firstparagraphindent.
41931         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
41932         changes in gnulib.
41933         (Source changes): New section.
41934
41935 2007-10-26  Bruno Haible  <bruno@clisp.org>
41936
41937         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
41938         borrowed from autoconf.
41939
41940 2007-10-26  Bruno Haible  <bruno@clisp.org>
41941
41942         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
41943         strerror returned the empty string. Needed on HP-UX 11.00.
41944
41945 2007-10-24  Micah Cowan  <micah@cowan.name>
41946
41947         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
41948         * build-aux/bootstrap: Remove support for now-unnecessary option,
41949         --cvs-user, and envvars CVS_USER, CVS_RSH.
41950
41951 2007-10-24  Jim Meyering  <meyering@redhat.com>
41952
41953         Avoid diagnostics from sha1sum when there is no cached checksum.
41954         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
41955         if the po.s1 file hasn't been created yet.
41956
41957         * build-aux/bootstrap: Sync from coreutils:
41958         2007-10-24  Jim Meyering  <meyering@redhat.com>
41959         Get gnulib from the git repository, not from an obsolete cvs one.
41960         * build-aux/bootstrap: Suggestion from Micah Cowan.
41961         2007-10-04  Jim Meyering  <jim@meyering.net>
41962         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
41963         (update_po_files): Work also when there are no .po files in po/.
41964
41965 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
41966
41967         * README: Append ".git" to git and cg examples.
41968         Problem reported by Benoit Sigoure.
41969
41970 2007-10-23  Micah Cowan  <micah@cowan.name>
41971
41972         * users.txt: Add wget.
41973
41974 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41975
41976         Fix linking of some unistdio tests on FreeBSD.
41977         * modules/unistdio/u16-vsnprintf-tests
41978         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
41979         * modules/unistdio/u16-vsprintf-tests
41980         (test_u16_vsnprintf1_LDADD): Likewise.
41981         * modules/unistdio/u32-vsnprintf-tests
41982         (test_u32_vsnprintf1_LDADD): Likewise.
41983         * modules/unistdio/u32-vsprintf-tests
41984         (test_u32_vsprintf1_LDADD): Likewise.
41985         * modules/unistdio/u8-vsnprintf-tests
41986         (test_u8_vsnprintf1_LDADD): Likewise.
41987         * modules/unistdio/u8-vsprintf-tests
41988         (test_u8_vsprintf1_LDADD): Likewise.
41989         * modules/unistdio/ulc-vsnprintf-tests
41990         (test_ulc_vsnprintf1_LDADD): Likewise.
41991         * modules/unistdio/ulc-vsprintf-tests
41992         (test_ulc_vsprintf1_LDADD): Likewise.
41993
41994         Fix linking of some uniconv tests on FreeBSD.
41995         * modules/uniconv/u16-conv-from-enc-tests
41996         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
41997         * modules/uniconv/u16-conv-to-enc-tests
41998         (test_u16_conv_to_enc_LDADD): Likewise.
41999         * modules/uniconv/u16-strconv-from-enc-tests
42000         (test_u16_strconv_from_enc_LDADD): Likewise.
42001         * modules/uniconv/u16-strconv-to-enc-tests
42002         (test_u16_strconv_to_enc_LDADD): Likewise.
42003         * modules/uniconv/u32-conv-from-enc-tests
42004         (test_u32_conv_from_enc_LDADD): Likewise.
42005         * modules/uniconv/u32-conv-to-enc-tests
42006         (test_u32_conv_to_enc_LDADD): Likewise.
42007         * modules/uniconv/u32-strconv-from-enc-tests
42008         (test_u32_strconv_from_enc_LDADD): Likewise.
42009         * modules/uniconv/u32-strconv-to-enc-tests
42010         (test_u32_strconv_to_enc_LDADD): Likewise.
42011         * modules/uniconv/u8-conv-from-enc-tests
42012         (test_u8_conv_from_enc_LDADD): Likewise.
42013         * modules/uniconv/u8-conv-to-enc-tests
42014         (test_u8_conv_to_enc_LDADD): Likewise.
42015         * modules/uniconv/u8-strconv-from-enc-tests
42016         (test_u8_strconv_from_enc_LDADD): Likewise.
42017         * modules/uniconv/u8-strconv-to-enc-tests
42018         (test_u8_strconv_to_enc_LDADD): Likewise.
42019
42020 2007-10-22  Bruno Haible  <bruno@clisp.org>
42021
42022         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
42023         size.
42024
42025 2007-10-22  Eric Blake  <ebb9@byu.net>
42026
42027         Tweak x*printf documentation.
42028         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
42029         variable name and comments.
42030         Suggested by Bruno Haible.
42031
42032 2007-10-22  Bruno Haible  <bruno@clisp.org>
42033
42034         * lib/acl.c (copy_acl): Fix file name in comment.
42035
42036 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
42037
42038         Fix Tru64 problem with stdbool.h.
42039         * lib/stdbool.in.h (false, true):
42040         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
42041         Don't declare as an enum in this situation; it runs afoul of Tru64.
42042         Problem reported by Steven M. Schweda in
42043         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
42044
42045 2007-10-22  Eric Blake  <ebb9@byu.net>
42046
42047         Also wrap vf?printf.
42048         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
42049         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
42050         (xvprintf, xvfprintf): New functions.
42051
42052 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42053
42054         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
42055         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
42056
42057         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
42058         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
42059
42060 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
42061
42062         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
42063         by Bruno Haible.
42064
42065 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42066
42067         * lib/getloadavg.c
42068         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
42069         Undef `sys' after including sys/table.h, for Tru64 4.0D.
42070
42071         * tests/test-i-ring.c: Work for C89.
42072
42073 2007-10-22  Bruno Haible  <bruno@clisp.org>
42074
42075         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
42076         -1u, in preprocessor expression, so that we don't test for the bug
42077         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
42078         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
42079
42080 2007-10-22  Eric Blake  <ebb9@byu.net>
42081
42082         * tests/test-yesno.sh: Silence stderr during test.
42083
42084 2007-10-22  Simon Josefsson  <simon@josefsson.org>
42085
42086         * modules/crypto/gc-camellia: New file.
42087
42088         * m4/gc-camellia.m4: New file.
42089
42090         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
42091
42092         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
42093
42094 2007-10-22  Simon Josefsson  <simon@josefsson.org>
42095
42096         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
42097         --help to stdout.  Reported by sms@antinode.org (Steven
42098         M. Schweda).
42099
42100 2007-10-22  Simon Josefsson  <simon@josefsson.org>
42101
42102         * users.txt: Fix link to libksba.
42103
42104 2007-10-21  Ben Pfaff  <blp@gnu.org>
42105
42106         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
42107         round.c roundf implementation that depends on floorf and ceilf to
42108         be tested unconditionally.
42109
42110 2007-10-21  Ben Pfaff  <blp@gnu.org>
42111
42112         * m4/check-libm-func.m4: Removed.
42113         * m4/check-math-lib.m4: New file.
42114         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
42115         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
42116         definition and lack of AC_LIBOBJ([roundf]).
42117         * m4/roundl.m4: Ditto, and similarly for roundl.
42118         * modules/round: Reference new m4 file.
42119         * modules/roundf: Ditto.
42120         * modules/roundl: Ditto.
42121         * tests/test-round2.c (main): Use ROUND instead of round.
42122         Bug report from Bruno Haible.
42123
42124 2007-10-21  Bruno Haible  <bruno@clisp.org>
42125
42126         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
42127         context.
42128
42129 2007-10-21  Bruno Haible  <bruno@clisp.org>
42130
42131         * tests/test-wcwidth.c (main): Allow negative result for some control
42132         characters.
42133
42134         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
42135         Needed on OSF/1 5.1.
42136
42137 2007-10-21  Bruno Haible  <bruno@clisp.org>
42138
42139         * tests/test-floorf1.c: Include isnanf.h.
42140         (main): Use isnanf() instead of isnan().
42141         * tests/test-ceilf1.c: Include isnanf.h.
42142         (main): Use isnanf() instead of isnan().
42143         * tests/test-truncf1.c: Include isnanf.h.
42144         (main): Use isnanf() instead of isnan().
42145         * tests/test-roundf1.c: Include isnanf.h.
42146         (main): Use isnanf() instead of isnan().
42147
42148 2007-10-21  Eric Blake  <ebb9@byu.net>
42149
42150         * users.txt: Update URL for m4.
42151
42152 2007-10-21  Bruno Haible  <bruno@clisp.org>
42153
42154         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
42155
42156 2007-10-21  Bruno Haible  <bruno@clisp.org>
42157
42158         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
42159         Git's management files if the CVS files are not present.
42160
42161 2007-10-20  Bruno Haible  <bruno@clisp.org>
42162
42163         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
42164         gcc-3.4.x.
42165
42166 2007-10-20  Ben Pfaff  <blp@gnu.org>
42167
42168         * lib/math.in.h: Declare round, roundf, roundl if we are providing
42169         implementations.
42170         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
42171         * lib/round.c: New file.
42172         * lib/roundf.c: New file.
42173         * lib/roundl.c: New file.
42174         * m4/round.m4: New file.
42175         * m4/roundf.m4: New file.
42176         * m4/roundl.m4: New file.
42177         * m4/check-libm-func-m4: New file.
42178         * modules/math: Replace round, roundf, roundl related @VARS@ in
42179         math.in.h.
42180         * modules/round: New file.
42181         * modules/round-tests: New file.
42182         * modules/roundf: New file.
42183         * modules/roundf-tests: New file.
42184         * modules/roundl: New file.
42185         * modules/roundl-tests: New file.
42186         * tests/test-round1.c: New file.
42187         * tests/test-round2.c: New file.
42188         * tests/test-roundf1.c: New file.
42189         * tests/test-roundf2.c: New file.
42190         * tests/test-roundl.c: New file.
42191         * doc/functions/round.texi: Mention round module.
42192         * doc/functions/roundf.texi: Mention roundf module.
42193         * doc/functions/roundl.texi: Mention roundl module.
42194         * MODULES.html.sh: Mention new modules.
42195         Thanks to Bruno Haible for suggestions.
42196
42197 2007-10-20  Jim Meyering  <meyering@redhat.com>
42198
42199         * lib/xprintf.c: Include <config.h> unconditionally.
42200
42201         Change xprintf's license to GPL.
42202         * modules/xprintf (License): s/LGPL/GPL/, since this module
42203         depends on modules (exit and exitfail) which are GPL.
42204         Suggestion from Bruno Haible.
42205
42206         xprintf fixes.
42207         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
42208         Use a clearer diagnostic.
42209         Patch from Bruno Haible.
42210
42211 2007-10-20  Bruno Haible  <bruno@clisp.org>
42212
42213         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
42214         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
42215         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42216
42217 2007-10-20  Bruno Haible  <bruno@clisp.org>
42218
42219         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
42220         precision in the comparison result > x - 1 or similar.
42221         * tests/test-ceilf2.c (correct_result_p): Likewise.
42222         * tests/test-truncf2.c (correct_result_p): Likewise.
42223         * tests/test-trunc2.c (correct_result_p): Likewise.
42224         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42225
42226 2007-10-20  Bruno Haible  <bruno@clisp.org>
42227
42228         * modules/ceil: New file.
42229         * m4/ceil.m4: New file.
42230         * doc/functions/ceil.texi: Mention the 'ceil' module.
42231
42232 2007-10-20  Bruno Haible  <bruno@clisp.org>
42233
42234         * modules/floor: New file.
42235         * m4/floor.m4: New file.
42236         * doc/functions/floor.texi: Mention the 'floor' module.
42237
42238 2007-10-20  Bruno Haible  <bruno@clisp.org>
42239
42240         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
42241         of %a.
42242         * modules/floorf-tests (Depends-on): Likewise.
42243         * modules/truncf-tests (Depends-on): Likewise.
42244         * modules/trunc-tests (Depends-on): Likewise.
42245         Reported by Ben Pfaff.
42246
42247 2007-10-19  Jim Meyering  <meyering@redhat.com>
42248
42249         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
42250         Don't bother testing specific errno values.  Just test ferror.
42251
42252         New module: xprintf
42253         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
42254
42255 2007-10-19  Bruno Haible  <bruno@clisp.org>
42256
42257         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
42258         syntax.
42259         * modules/javaexec (Makefile.am): Likewise.
42260         * modules/relocatable-prog (Makefile.am): Likewise.
42261         Suggested by Jim Meyering.
42262
42263 2007-10-18  Bruno Haible  <bruno@clisp.org>
42264
42265         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
42266         Reported by Jim Meyering.
42267
42268 2007-10-18  Eric Blake  <ebb9@byu.net>
42269
42270         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
42271
42272 2007-10-18  Bruno Haible  <bruno@clisp.org>
42273
42274         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
42275         the format string into writable memory. Needed in Fortify conditions.
42276
42277 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
42278             Bruno Haible  <bruno@clisp.org>
42279
42280         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
42281         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
42282         * modules/trim (Depends-on): Add mbchar.
42283         (configure.ac): Add gl_FUNC_MBRTOWC.
42284         (Makefile.am): Augment lib_SOURCES.
42285
42286 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
42287
42288         Modify glob.c to use fstatat and dirfd, to simplify it.
42289         Suggested by Eric Blake.
42290         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
42291         Don't include <stdbool.h>; not used.
42292         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
42293         (link_exists_p): Simplify implementation, since we can now assume
42294         dirfd and fstatat.
42295         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
42296
42297 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42298
42299         * gnulib-tool (func_get_dependencies): Fix sed script to
42300         match only tests.
42301
42302 2007-10-17  Bruno Haible  <bruno@clisp.org>
42303
42304         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
42305         allow locale names without encoding suffix.
42306         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
42307         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
42308
42309 2007-10-16  Bruno Haible  <bruno@clisp.org>
42310
42311         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
42312         * lib/getgroups.c (getgroups): Likewise.
42313         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
42314
42315 2007-10-16  Bruno Haible  <bruno@clisp.org>
42316
42317         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
42318         * modules/malloc-posix (License): Likewise.
42319         * modules/realloc-posix (License): Likewise.
42320         * modules/calloc-posix (License): Likewise.
42321         * modules/intprops (License): Change from GPL to LGPL, with
42322         Paul Eggert's approval.
42323
42324 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
42325
42326         Merge glibc changes into lib/glob.c.
42327
42328         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
42329         2007-10-15 04:59:03 UTC.  Here are the changes:
42330
42331         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
42332
42333         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
42334
42335         * lib/glob.c: Add some branch prediction throughout.
42336
42337         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
42338
42339         [BZ #5103]
42340         * lib/glob.c (glob): Recognize patterns starting \/.
42341
42342         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
42343
42344         [BZ #3996]
42345         * lib/glob.c (attribute_hidden): Define if not defined.
42346         (glob): Unescape dirname, filename or username when needed and not
42347         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
42348         is NULL.  Handle unescaped [ in pattern without closing ].
42349         Don't pass GLOB_CHECK down to recursive glob for directories.
42350         (__glob_pattern_type): New function.
42351         (__glob_pattern_p): Implement using __glob_pattern_type.
42352         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
42353         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
42354         Remove unreachable code.
42355
42356         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
42357
42358         * lib/glob.c (glob_in_dir): Add some comments and asserts to
42359         explain why there are no leaks.
42360
42361         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
42362
42363         [BZ #3253]
42364         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
42365         time, rather allocate increasingly bigger arrays of pointers, if
42366         possible with alloca, if too large with malloc.
42367
42368 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
42369
42370         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
42371         Problem reported by H.Merijn Brand in
42372         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
42373         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
42374         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
42375
42376 2007-10-15  Bruno Haible  <bruno@clisp.org>
42377
42378         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
42379         with explicit rpl_ prefix.
42380         * lib/fopen.c (fopen): Likewise.
42381         * lib/freopen.c (freopen): Likewise.
42382         * lib/iconv.c (iconv): Likewise.
42383         * lib/iconv_close.c (iconv_close): Likewise.
42384
42385 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42386
42387         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
42388
42389 2007-10-15  Bruno Haible  <bruno@clisp.org>
42390
42391         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
42392         <stddef.h> instead of <stdlib.h> since we only need NULL.
42393         Reported by Ben Pfaff <blp@cs.stanford.edu>.
42394
42395 2007-10-15  Bruno Haible  <bruno@clisp.org>
42396
42397         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
42398         Replace paragraph talking about LIBOBJS.
42399         Reported by Colin Watson <cjwatson@debian.org>.
42400
42401 2007-10-15  Bruno Haible  <bruno@clisp.org>
42402
42403         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
42404         <stdlib.h> before using NULL.
42405
42406 2007-10-15  Simon Josefsson  <simon@josefsson.org>
42407
42408         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
42409         Reported by Albert Chin <china@thewrittenword.com>.
42410
42411 2007-10-14  Bruno Haible  <bruno@clisp.org>
42412
42413         * modules/iconv_open-utf-tests: New file.
42414         * tests/test-iconv-utf.c: New file.
42415
42416         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
42417         * modules/iconv_open-utf: New file.
42418         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
42419         (iconv, iconv_close): New declarations.
42420         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
42421         be defined.
42422         (iconv_open): Add special handling of conversion between UTF-8 and
42423         UTF-{16,32}{BE,LE}.
42424         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
42425         * lib/iconv_close.c: New file.
42426         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
42427         gl_FUNC_ICONV_OPEN.
42428         (gl_FUNC_ICONV_OPEN): Use it.
42429         (gl_FUNC_ICONV_OPEN_UTF): New macro.
42430         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
42431         and REPLACE_ICONV_UTF.
42432         * modules/iconv_open (Depends-on): Add c-strcase.
42433         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
42434         ICONV_CONST.
42435         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
42436
42437 2007-10-13  Albert Chin  <china@thewrittenword.com>
42438             Bruno Haible  <bruno@clisp.org>
42439
42440         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
42441         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
42442
42443 2007-10-13  Bruno Haible  <bruno@clisp.org>
42444
42445         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
42446         defined, use the ISO C99 inline semantics.
42447         * lib/argp.h (ARGP_EI): Likewise.
42448
42449 2007-10-13  Bruno Haible  <bruno@clisp.org>
42450
42451         Handle 'inline' change in gcc 4.3.0.
42452         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
42453         argp_fmtstream_write, argp_fmtstream_set_lmargin,
42454         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
42455         argp_fmtstream_point): Disable 'extern' declaration if the function
42456         definition is going to be provided inline.
42457         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
42458         semantics, not the ISO C99 inline semantics.
42459         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
42460         'extern' declaration if the function definition is going to be provided
42461         inline.
42462         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
42463         the GNU C inline semantics, not the ISO C99 inline semantics. With
42464         GCC 4.2, avoid a warning.
42465
42466 2007-10-13  Bruno Haible  <bruno@clisp.org>
42467
42468         * lib/freading.h (freading): Enable the use of __freading for
42469         glibc >= 2.7.
42470         * lib/freading.c (freading): Likewise.
42471
42472 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
42473
42474         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
42475         "warning: C99 inline functions are not supported; using GNU89".
42476
42477 2007-10-12  Bruno Haible  <bruno@clisp.org>
42478
42479         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
42480         of 2.
42481         * tests/test-ceilf2.c: New file.
42482         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
42483
42484         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
42485         * modules/ceilf-tests: Update.
42486
42487 2007-10-12  Bruno Haible  <bruno@clisp.org>
42488
42489         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
42490         of 2.
42491         * tests/test-floorf2.c: New file.
42492         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
42493
42494         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
42495         * modules/floorf-tests: Update.
42496
42497 2007-10-12  Bruno Haible  <bruno@clisp.org>
42498
42499         * tests/test-trunc2.c: New file.
42500         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
42501
42502         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
42503         * modules/trunc-tests: Update.
42504
42505 2007-10-12  Bruno Haible  <bruno@clisp.org>
42506
42507         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
42508         of 2.
42509         * tests/test-truncf2.c: New file.
42510         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
42511
42512         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
42513         * modules/truncf-tests: Update.
42514
42515 2007-10-11  Eric Blake  <ebb9@byu.net>
42516
42517         Don't claim strerror is broken on Interix.
42518         * doc/functions/strerror.texi (strerror): Known broken systems are
42519         now Solaris 8, and not Interix.
42520         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
42521         Interix on cross-compile.
42522         Reported by Martin Koeppe in
42523         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
42524
42525 2007-10-11  Bruno Haible  <bruno@clisp.org>
42526
42527         * modules/i-ring-tests: New file.
42528         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
42529         instead of assert.
42530
42531 2007-10-11  Bruno Haible  <bruno@clisp.org>
42532
42533         * modules/filenamecat-tests: New file.
42534         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
42535         * lib/filenamecat.c: Remove test code.
42536
42537 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
42538
42539         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
42540
42541         * lib/strerror.c: Include <string.h> always, to test interface,
42542         and to remove the need for the dummy.
42543         Include intprops.h to compute width instead of doing it ourselves
42544         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
42545         (strerror): Define it to return NULL if there's no system strerror.
42546         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
42547         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
42548         ancient pre-strerror Unix systems well any more.  Saying "unknown
42549         system error" is enough.
42550         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
42551         simpler strerror.c implementation.
42552         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
42553         Simplify the tests to reflect the simpler strerror implementation.
42554         * modules/strerror (Depends-on): Add intprops.
42555
42556 2007-10-09  Eric Blake  <ebb9@byu.net>
42557
42558         Silence test-fpending.
42559         * modules/fpending-tests (Files): Add wrapper script.
42560         * tests/test-fpending.sh: New file.
42561
42562 2007-10-09  Bruno Haible  <bruno@clisp.org>
42563
42564         * MODULES.html.sh (func_module): Don't create a hyperlink for
42565         function names like 'printf_frexp'.
42566         (Misc): Add crc, memxor.
42567         (Characteristics of floating types): New section.
42568         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
42569         isnanf-nolibm, signbit, trunc, truncf, truncl.
42570         (Enhancements for ISO C 99 functions): New subsection Input/output.
42571         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
42572         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
42573         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
42574         (Compatibility checks for POSIX:2001 functions): Add clock-time.
42575         (Enhancements for POSIX:2001 functions): Add chdir-long.
42576         (File system functions): Add areadlink, chdir-safer, read-file.
42577         Remove cycle-check.
42578         (File system as inode set): New section.
42579         (Date and time): Add gethrxtime.
42580         (Multithreading): Add openmp.
42581         (Internationalization functions): Add localename.
42582         (Unicode string functions): Add unistr/u*-mbsnlen.
42583         (Support for maintaining and releasing projects): Add git-version-gen.
42584         (Lone files): Remove directories.
42585
42586 2007-10-08  Ben Pfaff  <blp@gnu.org>
42587
42588         * lib/xmalloca.h: Fix typo in comment.
42589
42590 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
42591
42592         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
42593         when avoiding problems with integer overflow.  Use a portable test
42594         instead.
42595
42596 2007-10-08  Simon Josefsson  <simon@josefsson.org>
42597
42598         * modules/dummy (License): Change to LGPLv2+.
42599         * modules/float (License): Likewise
42600         * modules/realloc (License): Likewise
42601         * modules/stdlib (License): Likewise
42602
42603 2007-10-07  Bruno Haible  <bruno@clisp.org>
42604
42605         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
42606         * floor.c (TWO_MANT_DIG): Likewise.
42607         * ceil.c (TWO_MANT_DIG): Likewise.
42608         Reported by Ben Pfaff.
42609
42610 2007-10-07  Bruno Haible  <bruno@clisp.org>
42611
42612         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
42613         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
42614         * lib/frexp.c (FUNC): Likewise.
42615         * lib/printf-frexp.h (printf_frexp): Likewise.
42616         * lib/printf-frexpl.h (printf_frexpl): Likewise.
42617         * lib/printf-frexp.c (FUNC): Likewise.
42618         Suggested by Jim Meyering.
42619
42620 2007-10-07  Jim Meyering  <meyering@redhat.com>
42621
42622         Make xnanosleep's integer overflow test more robust.
42623         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
42624         so that gcc-4.3.0 doesn't optimize away this test for overflow.
42625
42626 2007-10-07  Bruno Haible  <bruno@clisp.org>
42627
42628         * NEWS: Mention the license change.
42629
42630         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
42631         abbreviations in the modules files.
42632
42633         Change copyright notice from GPLv2+ to GPLv3+.
42634         * README: Change copyright notice.
42635         * MODULES.html.sh: Likewise.
42636         * build-aux/bootstrap.conf: Likewise.
42637         * build-aux/config.libpath: Likewise.
42638         * build-aux/csharpcomp.sh.in: Likewise.
42639         * build-aux/csharpexec.sh.in: Likewise.
42640         * build-aux/install-reloc: Likewise.
42641         * build-aux/javacomp.sh.in: Likewise.
42642         * build-aux/javaexec.sh.in: Likewise.
42643         * build-aux/ldd.sh.in: Likewise.
42644         * build-aux/reloc-ldflags: Likewise.
42645         * build-aux/relocatable.sh.in: Likewise.
42646         * build-aux/x-to-1.in: Likewise.
42647         * check-module: Likewise.
42648         * config/srclistvars.sh: Likewise.
42649         * gnulib-tool: Likewise.
42650         * lib/acl-internal.h: Likewise.
42651         * lib/acl.c: Likewise.
42652         * lib/acl.h: Likewise.
42653         * lib/acl_entries.c: Likewise.
42654         * lib/areadlink-with-size.c: Likewise.
42655         * lib/areadlink.c: Likewise.
42656         * lib/areadlink.h: Likewise.
42657         * lib/argmatch.c: Likewise.
42658         * lib/argmatch.h: Likewise.
42659         * lib/argp-ba.c: Likewise.
42660         * lib/argp-eexst.c: Likewise.
42661         * lib/argp-fmtstream.c: Likewise.
42662         * lib/argp-fmtstream.h: Likewise.
42663         * lib/argp-fs-xinl.c: Likewise.
42664         * lib/argp-help.c: Likewise.
42665         * lib/argp-namefrob.h: Likewise.
42666         * lib/argp-parse.c: Likewise.
42667         * lib/argp-pin.c: Likewise.
42668         * lib/argp-pv.c: Likewise.
42669         * lib/argp-pvh.c: Likewise.
42670         * lib/argp-xinl.c: Likewise.
42671         * lib/argp.h: Likewise.
42672         * lib/at-func.c: Likewise.
42673         * lib/atanl.c: Likewise.
42674         * lib/backupfile.c: Likewise.
42675         * lib/backupfile.h: Likewise.
42676         * lib/basename.c: Likewise.
42677         * lib/binary-io.h: Likewise.
42678         * lib/byteswap.in.h: Likewise.
42679         * lib/c-stack.c: Likewise.
42680         * lib/c-stack.h: Likewise.
42681         * lib/c-strcasestr.c: Likewise.
42682         * lib/c-strcasestr.h: Likewise.
42683         * lib/c-strstr.c: Likewise.
42684         * lib/c-strstr.h: Likewise.
42685         * lib/c-strtod.c: Likewise.
42686         * lib/calloc.c: Likewise.
42687         * lib/canon-host.c: Likewise.
42688         * lib/canon-host.h: Likewise.
42689         * lib/canonicalize-lgpl.c: Likewise.
42690         * lib/canonicalize.c: Likewise.
42691         * lib/canonicalize.h: Likewise.
42692         * lib/ceil.c: Likewise.
42693         * lib/ceilf.c: Likewise.
42694         * lib/ceill.c: Likewise.
42695         * lib/chdir-long.c: Likewise.
42696         * lib/chdir-long.h: Likewise.
42697         * lib/chdir-safer.c: Likewise.
42698         * lib/chdir-safer.h: Likewise.
42699         * lib/chown.c: Likewise.
42700         * lib/classpath.c: Likewise.
42701         * lib/classpath.h: Likewise.
42702         * lib/clean-temp.c: Likewise.
42703         * lib/clean-temp.h: Likewise.
42704         * lib/cloexec.c: Likewise.
42705         * lib/close-stream.c: Likewise.
42706         * lib/closein.c: Likewise.
42707         * lib/closein.h: Likewise.
42708         * lib/closeout.c: Likewise.
42709         * lib/closeout.h: Likewise.
42710         * lib/concat-filename.c: Likewise.
42711         * lib/copy-file.c: Likewise.
42712         * lib/copy-file.h: Likewise.
42713         * lib/count-one-bits.h: Likewise.
42714         * lib/crc.c: Likewise.
42715         * lib/crc.h: Likewise.
42716         * lib/creat-safer.c: Likewise.
42717         * lib/csharpcomp.c: Likewise.
42718         * lib/csharpcomp.h: Likewise.
42719         * lib/csharpexec.c: Likewise.
42720         * lib/csharpexec.h: Likewise.
42721         * lib/cycle-check.c: Likewise.
42722         * lib/cycle-check.h: Likewise.
42723         * lib/diacrit.c: Likewise.
42724         * lib/diacrit.h: Likewise.
42725         * lib/diffseq.h: Likewise.
42726         * lib/dirchownmod.c: Likewise.
42727         * lib/dirent.in.h: Likewise.
42728         * lib/dirfd.c: Likewise.
42729         * lib/dirfd.h: Likewise.
42730         * lib/dirname.c: Likewise.
42731         * lib/dirname.h: Likewise.
42732         * lib/dummy.c: Likewise.
42733         * lib/dup-safer.c: Likewise.
42734         * lib/dup2.c: Likewise.
42735         * lib/eealloc.h: Likewise.
42736         * lib/error.c: Likewise.
42737         * lib/error.h: Likewise.
42738         * lib/euidaccess.c: Likewise.
42739         * lib/exclude.c: Likewise.
42740         * lib/exclude.h: Likewise.
42741         * lib/execute.c: Likewise.
42742         * lib/execute.h: Likewise.
42743         * lib/exitfail.c: Likewise.
42744         * lib/exitfail.h: Likewise.
42745         * lib/expl.c: Likewise.
42746         * lib/fatal-signal.c: Likewise.
42747         * lib/fatal-signal.h: Likewise.
42748         * lib/fbufmode.c: Likewise.
42749         * lib/fbufmode.h: Likewise.
42750         * lib/fchdir.c: Likewise.
42751         * lib/fchmodat.c: Likewise.
42752         * lib/fchownat.c: Likewise.
42753         * lib/fcntl--.h: Likewise.
42754         * lib/fcntl-safer.h: Likewise.
42755         * lib/fcntl.in.h: Likewise.
42756         * lib/fd-safer.c: Likewise.
42757         * lib/fflush.c: Likewise.
42758         * lib/file-has-acl.c: Likewise.
42759         * lib/file-set.c: Likewise.
42760         * lib/file-type.c: Likewise.
42761         * lib/file-type.h: Likewise.
42762         * lib/fileblocks.c: Likewise.
42763         * lib/filemode.c: Likewise.
42764         * lib/filemode.h: Likewise.
42765         * lib/filename.h: Likewise.
42766         * lib/filenamecat.c: Likewise.
42767         * lib/filenamecat.h: Likewise.
42768         * lib/findprog.c: Likewise.
42769         * lib/findprog.h: Likewise.
42770         * lib/float.in.h: Likewise.
42771         * lib/floor.c: Likewise.
42772         * lib/floorf.c: Likewise.
42773         * lib/floorl.c: Likewise.
42774         * lib/fopen-safer.c: Likewise.
42775         * lib/fopen.c: Likewise.
42776         * lib/fpending.c: Likewise.
42777         * lib/fpending.h: Likewise.
42778         * lib/fprintf.c: Likewise.
42779         * lib/fprintftime.h: Likewise.
42780         * lib/fpucw.h: Likewise.
42781         * lib/fpurge.c: Likewise.
42782         * lib/fpurge.h: Likewise.
42783         * lib/freadable.c: Likewise.
42784         * lib/freadable.h: Likewise.
42785         * lib/freadahead.c: Likewise.
42786         * lib/freadahead.h: Likewise.
42787         * lib/freading.c: Likewise.
42788         * lib/freading.h: Likewise.
42789         * lib/free.c: Likewise.
42790         * lib/freopen.c: Likewise.
42791         * lib/frexp.c: Likewise.
42792         * lib/frexpl.c: Likewise.
42793         * lib/fseek.c: Likewise.
42794         * lib/fseterr.c: Likewise.
42795         * lib/fseterr.h: Likewise.
42796         * lib/fstatat.c: Likewise.
42797         * lib/fstrcmp.c: Likewise.
42798         * lib/fstrcmp.h: Likewise.
42799         * lib/fsusage.c: Likewise.
42800         * lib/fsusage.h: Likewise.
42801         * lib/ftell.c: Likewise.
42802         * lib/ftello.c: Likewise.
42803         * lib/fts-cycle.c: Likewise.
42804         * lib/fts.c: Likewise.
42805         * lib/fts_.h: Likewise.
42806         * lib/full-read.c: Likewise.
42807         * lib/full-read.h: Likewise.
42808         * lib/full-write.c: Likewise.
42809         * lib/full-write.h: Likewise.
42810         * lib/fwritable.c: Likewise.
42811         * lib/fwritable.h: Likewise.
42812         * lib/fwriteerror.c: Likewise.
42813         * lib/fwriteerror.h: Likewise.
42814         * lib/fwriting.c: Likewise.
42815         * lib/fwriting.h: Likewise.
42816         * lib/gcd.c: Likewise.
42817         * lib/gcd.h: Likewise.
42818         * lib/getcwd.c: Likewise.
42819         * lib/getdate.h: Likewise.
42820         * lib/getdate.y: Likewise.
42821         * lib/getdomainname.c: Likewise.
42822         * lib/getdomainname.h: Likewise.
42823         * lib/getgroups.c: Likewise.
42824         * lib/gethostname.c: Likewise.
42825         * lib/gethrxtime.c: Likewise.
42826         * lib/gethrxtime.h: Likewise.
42827         * lib/getloadavg.c: Likewise.
42828         * lib/getndelim2.c: Likewise.
42829         * lib/getndelim2.h: Likewise.
42830         * lib/getnline.c: Likewise.
42831         * lib/getnline.h: Likewise.
42832         * lib/getopt.c: Likewise.
42833         * lib/getopt.in.h: Likewise.
42834         * lib/getopt1.c: Likewise.
42835         * lib/getopt_int.h: Likewise.
42836         * lib/getpagesize.h: Likewise.
42837         * lib/getsubopt.c: Likewise.
42838         * lib/gettime.c: Likewise.
42839         * lib/getugroups.c: Likewise.
42840         * lib/getugroups.h: Likewise.
42841         * lib/getusershell.c: Likewise.
42842         * lib/gl_anyavltree_list1.h: Likewise.
42843         * lib/gl_anyavltree_list2.h: Likewise.
42844         * lib/gl_anyhash_list1.h: Likewise.
42845         * lib/gl_anyhash_list2.h: Likewise.
42846         * lib/gl_anylinked_list1.h: Likewise.
42847         * lib/gl_anylinked_list2.h: Likewise.
42848         * lib/gl_anyrbtree_list1.h: Likewise.
42849         * lib/gl_anyrbtree_list2.h: Likewise.
42850         * lib/gl_anytree_list1.h: Likewise.
42851         * lib/gl_anytree_list2.h: Likewise.
42852         * lib/gl_anytree_oset.h: Likewise.
42853         * lib/gl_anytreehash_list1.h: Likewise.
42854         * lib/gl_anytreehash_list2.h: Likewise.
42855         * lib/gl_array_list.c: Likewise.
42856         * lib/gl_array_list.h: Likewise.
42857         * lib/gl_array_oset.c: Likewise.
42858         * lib/gl_array_oset.h: Likewise.
42859         * lib/gl_avltree_list.c: Likewise.
42860         * lib/gl_avltree_list.h: Likewise.
42861         * lib/gl_avltree_oset.c: Likewise.
42862         * lib/gl_avltree_oset.h: Likewise.
42863         * lib/gl_avltreehash_list.c: Likewise.
42864         * lib/gl_avltreehash_list.h: Likewise.
42865         * lib/gl_carray_list.c: Likewise.
42866         * lib/gl_carray_list.h: Likewise.
42867         * lib/gl_linked_list.c: Likewise.
42868         * lib/gl_linked_list.h: Likewise.
42869         * lib/gl_linkedhash_list.c: Likewise.
42870         * lib/gl_linkedhash_list.h: Likewise.
42871         * lib/gl_list.c: Likewise.
42872         * lib/gl_list.h: Likewise.
42873         * lib/gl_oset.c: Likewise.
42874         * lib/gl_oset.h: Likewise.
42875         * lib/gl_rbtree_list.c: Likewise.
42876         * lib/gl_rbtree_list.h: Likewise.
42877         * lib/gl_rbtree_oset.c: Likewise.
42878         * lib/gl_rbtree_oset.h: Likewise.
42879         * lib/gl_rbtreehash_list.c: Likewise.
42880         * lib/gl_rbtreehash_list.h: Likewise.
42881         * lib/gl_sublist.c: Likewise.
42882         * lib/gl_sublist.h: Likewise.
42883         * lib/group-member.c: Likewise.
42884         * lib/group-member.h: Likewise.
42885         * lib/hard-locale.c: Likewise.
42886         * lib/hard-locale.h: Likewise.
42887         * lib/hash-pjw.c: Likewise.
42888         * lib/hash-pjw.h: Likewise.
42889         * lib/hash-triple.c: Likewise.
42890         * lib/hash.c: Likewise.
42891         * lib/hash.h: Likewise.
42892         * lib/human.c: Likewise.
42893         * lib/human.h: Likewise.
42894         * lib/i-ring.c: Likewise.
42895         * lib/i-ring.h: Likewise.
42896         * lib/idcache.c: Likewise.
42897         * lib/imaxabs.c: Likewise.
42898         * lib/imaxdiv.c: Likewise.
42899         * lib/inet_pton.c: Likewise.
42900         * lib/inet_pton.h: Likewise.
42901         * lib/intprops.h: Likewise.
42902         * lib/inttostr.c: Likewise.
42903         * lib/inttostr.h: Likewise.
42904         * lib/inttypes.in.h: Likewise.
42905         * lib/isapipe.c: Likewise.
42906         * lib/isdir.c: Likewise.
42907         * lib/isnan.c: Likewise.
42908         * lib/isnan.h: Likewise.
42909         * lib/isnanf.c: Likewise.
42910         * lib/isnanf.h: Likewise.
42911         * lib/isnanl-nolibm.h: Likewise.
42912         * lib/isnanl.c: Likewise.
42913         * lib/isnanl.h: Likewise.
42914         * lib/javacomp.c: Likewise.
42915         * lib/javacomp.h: Likewise.
42916         * lib/javaexec.c: Likewise.
42917         * lib/javaexec.h: Likewise.
42918         * lib/javaversion.c: Likewise.
42919         * lib/javaversion.h: Likewise.
42920         * lib/javaversion.java: Likewise.
42921         * lib/lbrkprop.h: Likewise.
42922         * lib/lchmod.h: Likewise.
42923         * lib/lchown.c: Likewise.
42924         * lib/ldexpl.c: Likewise.
42925         * lib/linebreak.c: Likewise.
42926         * lib/linebreak.h: Likewise.
42927         * lib/linebuffer.c: Likewise.
42928         * lib/linebuffer.h: Likewise.
42929         * lib/locale.in.h: Likewise.
42930         * lib/logl.c: Likewise.
42931         * lib/long-options.c: Likewise.
42932         * lib/long-options.h: Likewise.
42933         * lib/lstat.c: Likewise.
42934         * lib/lstat.h: Likewise.
42935         * lib/math.in.h: Likewise.
42936         * lib/mbchar.c: Likewise.
42937         * lib/mbchar.h: Likewise.
42938         * lib/mbfile.h: Likewise.
42939         * lib/mbiter.h: Likewise.
42940         * lib/mbscasecmp.c: Likewise.
42941         * lib/mbscasestr.c: Likewise.
42942         * lib/mbschr.c: Likewise.
42943         * lib/mbscspn.c: Likewise.
42944         * lib/mbslen.c: Likewise.
42945         * lib/mbsncasecmp.c: Likewise.
42946         * lib/mbsnlen.c: Likewise.
42947         * lib/mbspbrk.c: Likewise.
42948         * lib/mbspcasecmp.c: Likewise.
42949         * lib/mbsrchr.c: Likewise.
42950         * lib/mbssep.c: Likewise.
42951         * lib/mbsspn.c: Likewise.
42952         * lib/mbsstr.c: Likewise.
42953         * lib/mbstok_r.c: Likewise.
42954         * lib/mbswidth.c: Likewise.
42955         * lib/mbswidth.h: Likewise.
42956         * lib/mbuiter.h: Likewise.
42957         * lib/memcasecmp.c: Likewise.
42958         * lib/memcasecmp.h: Likewise.
42959         * lib/memchr.c: Likewise.
42960         * lib/memcmp.c: Likewise.
42961         * lib/memcoll.c: Likewise.
42962         * lib/memcoll.h: Likewise.
42963         * lib/memcpy.c: Likewise.
42964         * lib/memrchr.c: Likewise.
42965         * lib/mkancesdirs.c: Likewise.
42966         * lib/mkdir-p.c: Likewise.
42967         * lib/mkdir-p.h: Likewise.
42968         * lib/mkdir.c: Likewise.
42969         * lib/mkdirat.c: Likewise.
42970         * lib/mkdtemp.c: Likewise.
42971         * lib/mkstemp-safer.c: Likewise.
42972         * lib/mkstemp.c: Likewise.
42973         * lib/modechange.c: Likewise.
42974         * lib/modechange.h: Likewise.
42975         * lib/mountlist.c: Likewise.
42976         * lib/mountlist.h: Likewise.
42977         * lib/mpsort.c: Likewise.
42978         * lib/nanosleep.c: Likewise.
42979         * lib/obstack.c: Likewise.
42980         * lib/obstack.h: Likewise.
42981         * lib/open-safer.c: Likewise.
42982         * lib/open.c: Likewise.
42983         * lib/openat-die.c: Likewise.
42984         * lib/openat-priv.h: Likewise.
42985         * lib/openat-proc.c: Likewise.
42986         * lib/openat.c: Likewise.
42987         * lib/openat.h: Likewise.
42988         * lib/pagealign_alloc.c: Likewise.
42989         * lib/pagealign_alloc.h: Likewise.
42990         * lib/physmem.c: Likewise.
42991         * lib/physmem.h: Likewise.
42992         * lib/pipe-safer.c: Likewise.
42993         * lib/pipe.c: Likewise.
42994         * lib/pipe.h: Likewise.
42995         * lib/posixtm.c: Likewise.
42996         * lib/posixtm.h: Likewise.
42997         * lib/posixver.c: Likewise.
42998         * lib/printf-frexp.c: Likewise.
42999         * lib/printf-frexp.h: Likewise.
43000         * lib/printf-frexpl.c: Likewise.
43001         * lib/printf-frexpl.h: Likewise.
43002         * lib/printf.c: Likewise.
43003         * lib/progname.c: Likewise.
43004         * lib/progname.h: Likewise.
43005         * lib/progreloc.c: Likewise.
43006         * lib/putenv.c: Likewise.
43007         * lib/quote.c: Likewise.
43008         * lib/quote.h: Likewise.
43009         * lib/quotearg.c: Likewise.
43010         * lib/quotearg.h: Likewise.
43011         * lib/raise.c: Likewise.
43012         * lib/readline.c: Likewise.
43013         * lib/readline.h: Likewise.
43014         * lib/readlink.c: Likewise.
43015         * lib/readtokens.c: Likewise.
43016         * lib/readtokens.h: Likewise.
43017         * lib/readtokens0.c: Likewise.
43018         * lib/readtokens0.h: Likewise.
43019         * lib/readutmp.c: Likewise.
43020         * lib/readutmp.h: Likewise.
43021         * lib/realloc.c: Likewise.
43022         * lib/relocwrapper.c: Likewise.
43023         * lib/rename-dest-slash.c: Likewise.
43024         * lib/rename.c: Likewise.
43025         * lib/rmdir.c: Likewise.
43026         * lib/rpmatch.c: Likewise.
43027         * lib/safe-read.c: Likewise.
43028         * lib/safe-read.h: Likewise.
43029         * lib/safe-write.c: Likewise.
43030         * lib/safe-write.h: Likewise.
43031         * lib/same-inode.h: Likewise.
43032         * lib/same.c: Likewise.
43033         * lib/same.h: Likewise.
43034         * lib/save-cwd.c: Likewise.
43035         * lib/save-cwd.h: Likewise.
43036         * lib/savedir.c: Likewise.
43037         * lib/savedir.h: Likewise.
43038         * lib/savewd.c: Likewise.
43039         * lib/savewd.h: Likewise.
43040         * lib/search.in.h: Likewise.
43041         * lib/setenv.c: Likewise.
43042         * lib/setenv.h: Likewise.
43043         * lib/settime.c: Likewise.
43044         * lib/sh-quote.c: Likewise.
43045         * lib/sh-quote.h: Likewise.
43046         * lib/sig2str.c: Likewise.
43047         * lib/sig2str.h: Likewise.
43048         * lib/signal.in.h: Likewise.
43049         * lib/signbitd.c: Likewise.
43050         * lib/signbitf.c: Likewise.
43051         * lib/signbitl.c: Likewise.
43052         * lib/sigprocmask.c: Likewise.
43053         * lib/sincosl.c: Likewise.
43054         * lib/sleep.c: Likewise.
43055         * lib/sprintf.c: Likewise.
43056         * lib/sqrtl.c: Likewise.
43057         * lib/stat-time.h: Likewise.
43058         * lib/stdio--.h: Likewise.
43059         * lib/stdio-safer.h: Likewise.
43060         * lib/stdlib--.h: Likewise.
43061         * lib/stdlib-safer.h: Likewise.
43062         * lib/stdlib.in.h: Likewise.
43063         * lib/stpcpy.c: Likewise.
43064         * lib/stpncpy.c: Likewise.
43065         * lib/strchrnul.c: Likewise.
43066         * lib/strcspn.c: Likewise.
43067         * lib/strerror.c: Likewise.
43068         * lib/strftime.c: Likewise.
43069         * lib/strftime.h: Likewise.
43070         * lib/striconveh.c: Likewise.
43071         * lib/striconveh.h: Likewise.
43072         * lib/striconveha.c: Likewise.
43073         * lib/striconveha.h: Likewise.
43074         * lib/stripslash.c: Likewise.
43075         * lib/strnlen1.c: Likewise.
43076         * lib/strnlen1.h: Likewise.
43077         * lib/strtod.c: Likewise.
43078         * lib/strtoimax.c: Likewise.
43079         * lib/strtok_r.c: Likewise.
43080         * lib/strtol.c: Likewise.
43081         * lib/strtoll.c: Likewise.
43082         * lib/strtoul.c: Likewise.
43083         * lib/strtoull.c: Likewise.
43084         * lib/sysexits.in.h: Likewise.
43085         * lib/tempname.c: Likewise.
43086         * lib/tempname.h: Likewise.
43087         * lib/timespec.h: Likewise.
43088         * lib/tls.c: Likewise.
43089         * lib/tls.h: Likewise.
43090         * lib/tmpdir.c: Likewise.
43091         * lib/tmpdir.h: Likewise.
43092         * lib/tmpfile-safer.c: Likewise.
43093         * lib/tmpfile.c: Likewise.
43094         * lib/trigl.c: Likewise.
43095         * lib/trigl.h: Likewise.
43096         * lib/trim.c: Likewise.
43097         * lib/trim.h: Likewise.
43098         * lib/trunc.c: Likewise.
43099         * lib/truncf.c: Likewise.
43100         * lib/truncl.c: Likewise.
43101         * lib/tsearch.c: Likewise.
43102         * lib/unicodeio.c: Likewise.
43103         * lib/unicodeio.h: Likewise.
43104         * lib/unistd--.h: Likewise.
43105         * lib/unistd-safer.h: Likewise.
43106         * lib/unistdio/ulc-fprintf.c: Likewise.
43107         * lib/unistdio/ulc-vfprintf.c: Likewise.
43108         * lib/unlinkdir.c: Likewise.
43109         * lib/unlinkdir.h: Likewise.
43110         * lib/unlocked-io.h: Likewise.
43111         * lib/unsetenv.c: Likewise.
43112         * lib/userspec.c: Likewise.
43113         * lib/utime.c: Likewise.
43114         * lib/utimecmp.c: Likewise.
43115         * lib/utimecmp.h: Likewise.
43116         * lib/utimens.c: Likewise.
43117         * lib/verify.h: Likewise.
43118         * lib/verror.c: Likewise.
43119         * lib/verror.h: Likewise.
43120         * lib/version-etc-fsf.c: Likewise.
43121         * lib/version-etc.c: Likewise.
43122         * lib/version-etc.h: Likewise.
43123         * lib/vfprintf.c: Likewise.
43124         * lib/vprintf.c: Likewise.
43125         * lib/vsprintf.c: Likewise.
43126         * lib/w32spawn.h: Likewise.
43127         * lib/wait-process.c: Likewise.
43128         * lib/wait-process.h: Likewise.
43129         * lib/wcwidth.c: Likewise.
43130         * lib/write-any-file.c: Likewise.
43131         * lib/xalloc-die.c: Likewise.
43132         * lib/xalloc.h: Likewise.
43133         * lib/xasprintf.c: Likewise.
43134         * lib/xgetcwd.c: Likewise.
43135         * lib/xgetcwd.h: Likewise.
43136         * lib/xgetdomainname.c: Likewise.
43137         * lib/xgetdomainname.h: Likewise.
43138         * lib/xgethostname.c: Likewise.
43139         * lib/xmalloc.c: Likewise.
43140         * lib/xmalloca.c: Likewise.
43141         * lib/xmalloca.h: Likewise.
43142         * lib/xmemcoll.c: Likewise.
43143         * lib/xnanosleep.c: Likewise.
43144         * lib/xreadlink.c: Likewise.
43145         * lib/xreadlink.h: Likewise.
43146         * lib/xsetenv.c: Likewise.
43147         * lib/xsetenv.h: Likewise.
43148         * lib/xstriconv.c: Likewise.
43149         * lib/xstriconv.h: Likewise.
43150         * lib/xstrndup.c: Likewise.
43151         * lib/xstrndup.h: Likewise.
43152         * lib/xstrtod.c: Likewise.
43153         * lib/xstrtod.h: Likewise.
43154         * lib/xstrtol-error.c: Likewise.
43155         * lib/xstrtol.c: Likewise.
43156         * lib/xstrtol.h: Likewise.
43157         * lib/xtime.h: Likewise.
43158         * lib/xvasprintf.c: Likewise.
43159         * lib/xvasprintf.h: Likewise.
43160         * lib/yesno.c: Likewise.
43161         * lib/yesno.h: Likewise.
43162         * posix-modules: Likewise.
43163         * tests/test-alloca-opt.c: Likewise.
43164         * tests/test-arcfour.c: Likewise.
43165         * tests/test-arctwo.c: Likewise.
43166         * tests/test-argmatch.c: Likewise.
43167         * tests/test-argp-2.sh: Likewise.
43168         * tests/test-argp.c: Likewise.
43169         * tests/test-arpa_inet.c: Likewise.
43170         * tests/test-array_list.c: Likewise.
43171         * tests/test-array_oset.c: Likewise.
43172         * tests/test-atexit.c: Likewise.
43173         * tests/test-avltree_list.c: Likewise.
43174         * tests/test-avltree_oset.c: Likewise.
43175         * tests/test-avltreehash_list.c: Likewise.
43176         * tests/test-base64.c: Likewise.
43177         * tests/test-binary-io.c: Likewise.
43178         * tests/test-byteswap.c: Likewise.
43179         * tests/test-c-ctype.c: Likewise.
43180         * tests/test-c-strcasecmp.c: Likewise.
43181         * tests/test-c-strcasestr.c: Likewise.
43182         * tests/test-c-strncasecmp.c: Likewise.
43183         * tests/test-c-strstr.c: Likewise.
43184         * tests/test-canonicalize-lgpl.c: Likewise.
43185         * tests/test-canonicalize.c: Likewise.
43186         * tests/test-carray_list.c: Likewise.
43187         * tests/test-ceilf.c: Likewise.
43188         * tests/test-ceill.c: Likewise.
43189         * tests/test-count-one-bits.c: Likewise.
43190         * tests/test-crc.c: Likewise.
43191         * tests/test-dirname.c: Likewise.
43192         * tests/test-fbufmode.c: Likewise.
43193         * tests/test-fcntl.c: Likewise.
43194         * tests/test-fflush.c: Likewise.
43195         * tests/test-floorf.c: Likewise.
43196         * tests/test-floorl.c: Likewise.
43197         * tests/test-fopen.c: Likewise.
43198         * tests/test-fprintf-posix.c: Likewise.
43199         * tests/test-fprintf-posix.h: Likewise.
43200         * tests/test-fpurge.c: Likewise.
43201         * tests/test-freadable.c: Likewise.
43202         * tests/test-freadahead.c: Likewise.
43203         * tests/test-freading.c: Likewise.
43204         * tests/test-freopen.c: Likewise.
43205         * tests/test-frexp.c: Likewise.
43206         * tests/test-frexpl.c: Likewise.
43207         * tests/test-fseek.c: Likewise.
43208         * tests/test-fseeko.c: Likewise.
43209         * tests/test-fseterr.c: Likewise.
43210         * tests/test-fstrcmp.c: Likewise.
43211         * tests/test-ftell.c: Likewise.
43212         * tests/test-ftello.c: Likewise.
43213         * tests/test-fwritable.c: Likewise.
43214         * tests/test-fwriting.c: Likewise.
43215         * tests/test-getaddrinfo.c: Likewise.
43216         * tests/test-getpass.c: Likewise.
43217         * tests/test-gettimeofday.c: Likewise.
43218         * tests/test-hmac-md5.c: Likewise.
43219         * tests/test-hmac-sha1.c: Likewise.
43220         * tests/test-iconv.c: Likewise.
43221         * tests/test-iconvme.c: Likewise.
43222         * tests/test-inttypes.c: Likewise.
43223         * tests/test-isnan.c: Likewise.
43224         * tests/test-isnanf.c: Likewise.
43225         * tests/test-isnanl-nolibm.c: Likewise.
43226         * tests/test-isnanl.c: Likewise.
43227         * tests/test-isnanl.h: Likewise.
43228         * tests/test-ldexpl.c: Likewise.
43229         * tests/test-linked_list.c: Likewise.
43230         * tests/test-linkedhash_list.c: Likewise.
43231         * tests/test-locale.c: Likewise.
43232         * tests/test-localename.c: Likewise.
43233         * tests/test-lock.c: Likewise.
43234         * tests/test-lseek.c: Likewise.
43235         * tests/test-malloca.c: Likewise.
43236         * tests/test-math.c: Likewise.
43237         * tests/test-mbscasecmp.c: Likewise.
43238         * tests/test-mbscasestr1.c: Likewise.
43239         * tests/test-mbscasestr2.c: Likewise.
43240         * tests/test-mbscasestr3.c: Likewise.
43241         * tests/test-mbscasestr4.c: Likewise.
43242         * tests/test-mbschr.c: Likewise.
43243         * tests/test-mbscspn.c: Likewise.
43244         * tests/test-mbsncasecmp.c: Likewise.
43245         * tests/test-mbspbrk.c: Likewise.
43246         * tests/test-mbspcasecmp.c: Likewise.
43247         * tests/test-mbsrchr.c: Likewise.
43248         * tests/test-mbsspn.c: Likewise.
43249         * tests/test-mbsstr1.c: Likewise.
43250         * tests/test-mbsstr2.c: Likewise.
43251         * tests/test-mbsstr3.c: Likewise.
43252         * tests/test-md5.c: Likewise.
43253         * tests/test-memmem.c: Likewise.
43254         * tests/test-netinet_in.c: Likewise.
43255         * tests/test-open.c: Likewise.
43256         * tests/test-printf-frexp.c: Likewise.
43257         * tests/test-printf-frexpl.c: Likewise.
43258         * tests/test-printf-posix.c: Likewise.
43259         * tests/test-printf-posix.h: Likewise.
43260         * tests/test-rbtree_list.c: Likewise.
43261         * tests/test-rbtree_oset.c: Likewise.
43262         * tests/test-rbtreehash_list.c: Likewise.
43263         * tests/test-read-file.c: Likewise.
43264         * tests/test-rijndael.c: Likewise.
43265         * tests/test-search.c: Likewise.
43266         * tests/test-signbit.c: Likewise.
43267         * tests/test-sleep.c: Likewise.
43268         * tests/test-snprintf-posix.c: Likewise.
43269         * tests/test-snprintf-posix.h: Likewise.
43270         * tests/test-snprintf.c: Likewise.
43271         * tests/test-sprintf-posix.c: Likewise.
43272         * tests/test-sprintf-posix.h: Likewise.
43273         * tests/test-stat-time.c: Likewise.
43274         * tests/test-stdbool.c: Likewise.
43275         * tests/test-stdint.c: Likewise.
43276         * tests/test-stdio.c: Likewise.
43277         * tests/test-stdlib.c: Likewise.
43278         * tests/test-stpncpy.c: Likewise.
43279         * tests/test-strcasestr.c: Likewise.
43280         * tests/test-striconv.c: Likewise.
43281         * tests/test-striconveh.c: Likewise.
43282         * tests/test-striconveha.c: Likewise.
43283         * tests/test-string.c: Likewise.
43284         * tests/test-sys_select.c: Likewise.
43285         * tests/test-sys_socket.c: Likewise.
43286         * tests/test-sys_stat.c: Likewise.
43287         * tests/test-sys_time.c: Likewise.
43288         * tests/test-sysexits.c: Likewise.
43289         * tests/test-time.c: Likewise.
43290         * tests/test-tls.c: Likewise.
43291         * tests/test-trunc.c: Likewise.
43292         * tests/test-truncf.c: Likewise.
43293         * tests/test-truncl.c: Likewise.
43294         * tests/test-unistd.c: Likewise.
43295         * tests/test-vasnprintf-posix.c: Likewise.
43296         * tests/test-vasnprintf-posix2.c: Likewise.
43297         * tests/test-vasnprintf.c: Likewise.
43298         * tests/test-vasprintf-posix.c: Likewise.
43299         * tests/test-vasprintf.c: Likewise.
43300         * tests/test-verify.c: Likewise.
43301         * tests/test-vfprintf-posix.c: Likewise.
43302         * tests/test-vprintf-posix.c: Likewise.
43303         * tests/test-vsnprintf-posix.c: Likewise.
43304         * tests/test-vsnprintf.c: Likewise.
43305         * tests/test-vsprintf-posix.c: Likewise.
43306         * tests/test-wchar.c: Likewise.
43307         * tests/test-wctype.c: Likewise.
43308         * tests/test-wcwidth.c: Likewise.
43309         * tests/test-xstrtol.c: Likewise.
43310         * tests/test-xvasprintf.c: Likewise.
43311         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
43312         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
43313         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
43314         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
43315         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
43316         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
43317         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
43318         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
43319         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
43320         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
43321         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
43322         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
43323         * tests/uniname/test-uninames.c: Likewise.
43324         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
43325         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
43326         * tests/unistdio/test-u16-printf1.h: Likewise.
43327         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
43328         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
43329         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
43330         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
43331         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
43332         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
43333         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
43334         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
43335         * tests/unistdio/test-u32-printf1.h: Likewise.
43336         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
43337         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
43338         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
43339         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
43340         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
43341         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
43342         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
43343         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
43344         * tests/unistdio/test-u8-printf1.h: Likewise.
43345         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
43346         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
43347         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
43348         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
43349         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
43350         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
43351         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
43352         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
43353         * tests/unistdio/test-ulc-printf1.h: Likewise.
43354         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
43355         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
43356         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
43357         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
43358         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
43359         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
43360         * tests/uniwidth/test-u16-strwidth.c: Likewise.
43361         * tests/uniwidth/test-u16-width.c: Likewise.
43362         * tests/uniwidth/test-u32-strwidth.c: Likewise.
43363         * tests/uniwidth/test-u32-width.c: Likewise.
43364         * tests/uniwidth/test-u8-strwidth.c: Likewise.
43365         * tests/uniwidth/test-u8-width.c: Likewise.
43366         * tests/uniwidth/test-uc_width.c: Likewise.
43367         * config/srclist-update: Likewise.
43368         (fixlicense): Update to GPLv3+.
43369
43370         Change copyright notice from LGPLv2.1+ to LGPLv3+.
43371         * tests/test-tsearch.c: Change copyright notice.
43372
43373         Change copyright notice from LGPLv2.0+ to LGPLv3+.
43374         * lib/c-strcaseeq.h: Change copyright notice.
43375         * lib/streq.h: Likewise.
43376         * lib/uniconv.h: Likewise.
43377         * lib/uniconv/u-conv-from-enc.h: Likewise.
43378         * lib/uniconv/u-conv-to-enc.h: Likewise.
43379         * lib/uniconv/u-strconv-from-enc.h: Likewise.
43380         * lib/uniconv/u-strconv-to-enc.h: Likewise.
43381         * lib/uniconv/u16-conv-from-enc.c: Likewise.
43382         * lib/uniconv/u16-conv-to-enc.c: Likewise.
43383         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
43384         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
43385         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
43386         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
43387         * lib/uniconv/u32-conv-from-enc.c: Likewise.
43388         * lib/uniconv/u32-conv-to-enc.c: Likewise.
43389         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
43390         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
43391         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
43392         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
43393         * lib/uniconv/u8-conv-from-enc.c: Likewise.
43394         * lib/uniconv/u8-conv-to-enc.c: Likewise.
43395         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
43396         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
43397         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
43398         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
43399         * lib/uniname.h: Likewise.
43400         * lib/uniname/uniname.c: Likewise.
43401         * lib/unistdio.h: Likewise.
43402         * lib/unistdio/u-asnprintf.h: Likewise.
43403         * lib/unistdio/u-asprintf.h: Likewise.
43404         * lib/unistdio/u-printf-args.c: Likewise.
43405         * lib/unistdio/u-printf-args.h: Likewise.
43406         * lib/unistdio/u-printf-parse.h: Likewise.
43407         * lib/unistdio/u-snprintf.h: Likewise.
43408         * lib/unistdio/u-sprintf.h: Likewise.
43409         * lib/unistdio/u-vasprintf.h: Likewise.
43410         * lib/unistdio/u-vsnprintf.h: Likewise.
43411         * lib/unistdio/u-vsprintf.h: Likewise.
43412         * lib/unistdio/u16-asnprintf.c: Likewise.
43413         * lib/unistdio/u16-asprintf.c: Likewise.
43414         * lib/unistdio/u16-printf-parse.c: Likewise.
43415         * lib/unistdio/u16-snprintf.c: Likewise.
43416         * lib/unistdio/u16-sprintf.c: Likewise.
43417         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
43418         * lib/unistdio/u16-u16-asprintf.c: Likewise.
43419         * lib/unistdio/u16-u16-snprintf.c: Likewise.
43420         * lib/unistdio/u16-u16-sprintf.c: Likewise.
43421         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
43422         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
43423         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
43424         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
43425         * lib/unistdio/u16-vasnprintf.c: Likewise.
43426         * lib/unistdio/u16-vasprintf.c: Likewise.
43427         * lib/unistdio/u16-vsnprintf.c: Likewise.
43428         * lib/unistdio/u16-vsprintf.c: Likewise.
43429         * lib/unistdio/u32-asnprintf.c: Likewise.
43430         * lib/unistdio/u32-asprintf.c: Likewise.
43431         * lib/unistdio/u32-printf-parse.c: Likewise.
43432         * lib/unistdio/u32-snprintf.c: Likewise.
43433         * lib/unistdio/u32-sprintf.c: Likewise.
43434         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
43435         * lib/unistdio/u32-u32-asprintf.c: Likewise.
43436         * lib/unistdio/u32-u32-snprintf.c: Likewise.
43437         * lib/unistdio/u32-u32-sprintf.c: Likewise.
43438         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
43439         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
43440         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
43441         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
43442         * lib/unistdio/u32-vasnprintf.c: Likewise.
43443         * lib/unistdio/u32-vasprintf.c: Likewise.
43444         * lib/unistdio/u32-vsnprintf.c: Likewise.
43445         * lib/unistdio/u32-vsprintf.c: Likewise.
43446         * lib/unistdio/u8-asnprintf.c: Likewise.
43447         * lib/unistdio/u8-asprintf.c: Likewise.
43448         * lib/unistdio/u8-printf-parse.c: Likewise.
43449         * lib/unistdio/u8-snprintf.c: Likewise.
43450         * lib/unistdio/u8-sprintf.c: Likewise.
43451         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
43452         * lib/unistdio/u8-u8-asprintf.c: Likewise.
43453         * lib/unistdio/u8-u8-snprintf.c: Likewise.
43454         * lib/unistdio/u8-u8-sprintf.c: Likewise.
43455         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
43456         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
43457         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
43458         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
43459         * lib/unistdio/u8-vasnprintf.c: Likewise.
43460         * lib/unistdio/u8-vasprintf.c: Likewise.
43461         * lib/unistdio/u8-vsnprintf.c: Likewise.
43462         * lib/unistdio/u8-vsprintf.c: Likewise.
43463         * lib/unistdio/ulc-asnprintf.c: Likewise.
43464         * lib/unistdio/ulc-asprintf.c: Likewise.
43465         * lib/unistdio/ulc-printf-parse.c: Likewise.
43466         * lib/unistdio/ulc-snprintf.c: Likewise.
43467         * lib/unistdio/ulc-sprintf.c: Likewise.
43468         * lib/unistdio/ulc-vasnprintf.c: Likewise.
43469         * lib/unistdio/ulc-vasprintf.c: Likewise.
43470         * lib/unistdio/ulc-vsnprintf.c: Likewise.
43471         * lib/unistdio/ulc-vsprintf.c: Likewise.
43472         * lib/unistr.h: Likewise.
43473         * lib/unistr/u-cpy-alloc.h: Likewise.
43474         * lib/unistr/u-cpy.h: Likewise.
43475         * lib/unistr/u-endswith.h: Likewise.
43476         * lib/unistr/u-move.h: Likewise.
43477         * lib/unistr/u-set.h: Likewise.
43478         * lib/unistr/u-startswith.h: Likewise.
43479         * lib/unistr/u-stpcpy.h: Likewise.
43480         * lib/unistr/u-stpncpy.h: Likewise.
43481         * lib/unistr/u-strcat.h: Likewise.
43482         * lib/unistr/u-strcpy.h: Likewise.
43483         * lib/unistr/u-strcspn.h: Likewise.
43484         * lib/unistr/u-strdup.h: Likewise.
43485         * lib/unistr/u-strlen.h: Likewise.
43486         * lib/unistr/u-strncat.h: Likewise.
43487         * lib/unistr/u-strncpy.h: Likewise.
43488         * lib/unistr/u-strnlen.h: Likewise.
43489         * lib/unistr/u-strpbrk.h: Likewise.
43490         * lib/unistr/u-strspn.h: Likewise.
43491         * lib/unistr/u-strstr.h: Likewise.
43492         * lib/unistr/u-strtok.h: Likewise.
43493         * lib/unistr/u16-check.c: Likewise.
43494         * lib/unistr/u16-chr.c: Likewise.
43495         * lib/unistr/u16-cmp.c: Likewise.
43496         * lib/unistr/u16-cpy-alloc.c: Likewise.
43497         * lib/unistr/u16-cpy.c: Likewise.
43498         * lib/unistr/u16-endswith.c: Likewise.
43499         * lib/unistr/u16-mblen.c: Likewise.
43500         * lib/unistr/u16-mbsnlen.c: Likewise.
43501         * lib/unistr/u16-mbtouc-aux.c: Likewise.
43502         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
43503         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
43504         * lib/unistr/u16-mbtouc.c: Likewise.
43505         * lib/unistr/u16-mbtoucr.c: Likewise.
43506         * lib/unistr/u16-move.c: Likewise.
43507         * lib/unistr/u16-next.c: Likewise.
43508         * lib/unistr/u16-prev.c: Likewise.
43509         * lib/unistr/u16-set.c: Likewise.
43510         * lib/unistr/u16-startswith.c: Likewise.
43511         * lib/unistr/u16-stpcpy.c: Likewise.
43512         * lib/unistr/u16-stpncpy.c: Likewise.
43513         * lib/unistr/u16-strcat.c: Likewise.
43514         * lib/unistr/u16-strchr.c: Likewise.
43515         * lib/unistr/u16-strcmp.c: Likewise.
43516         * lib/unistr/u16-strcpy.c: Likewise.
43517         * lib/unistr/u16-strcspn.c: Likewise.
43518         * lib/unistr/u16-strdup.c: Likewise.
43519         * lib/unistr/u16-strlen.c: Likewise.
43520         * lib/unistr/u16-strmblen.c: Likewise.
43521         * lib/unistr/u16-strmbtouc.c: Likewise.
43522         * lib/unistr/u16-strncat.c: Likewise.
43523         * lib/unistr/u16-strncmp.c: Likewise.
43524         * lib/unistr/u16-strncpy.c: Likewise.
43525         * lib/unistr/u16-strnlen.c: Likewise.
43526         * lib/unistr/u16-strpbrk.c: Likewise.
43527         * lib/unistr/u16-strrchr.c: Likewise.
43528         * lib/unistr/u16-strspn.c: Likewise.
43529         * lib/unistr/u16-strstr.c: Likewise.
43530         * lib/unistr/u16-strtok.c: Likewise.
43531         * lib/unistr/u16-to-u32.c: Likewise.
43532         * lib/unistr/u16-to-u8.c: Likewise.
43533         * lib/unistr/u16-uctomb-aux.c: Likewise.
43534         * lib/unistr/u16-uctomb.c: Likewise.
43535         * lib/unistr/u32-check.c: Likewise.
43536         * lib/unistr/u32-chr.c: Likewise.
43537         * lib/unistr/u32-cmp.c: Likewise.
43538         * lib/unistr/u32-cpy-alloc.c: Likewise.
43539         * lib/unistr/u32-cpy.c: Likewise.
43540         * lib/unistr/u32-endswith.c: Likewise.
43541         * lib/unistr/u32-mblen.c: Likewise.
43542         * lib/unistr/u32-mbsnlen.c: Likewise.
43543         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
43544         * lib/unistr/u32-mbtouc.c: Likewise.
43545         * lib/unistr/u32-mbtoucr.c: Likewise.
43546         * lib/unistr/u32-move.c: Likewise.
43547         * lib/unistr/u32-next.c: Likewise.
43548         * lib/unistr/u32-prev.c: Likewise.
43549         * lib/unistr/u32-set.c: Likewise.
43550         * lib/unistr/u32-startswith.c: Likewise.
43551         * lib/unistr/u32-stpcpy.c: Likewise.
43552         * lib/unistr/u32-stpncpy.c: Likewise.
43553         * lib/unistr/u32-strcat.c: Likewise.
43554         * lib/unistr/u32-strchr.c: Likewise.
43555         * lib/unistr/u32-strcmp.c: Likewise.
43556         * lib/unistr/u32-strcpy.c: Likewise.
43557         * lib/unistr/u32-strcspn.c: Likewise.
43558         * lib/unistr/u32-strdup.c: Likewise.
43559         * lib/unistr/u32-strlen.c: Likewise.
43560         * lib/unistr/u32-strmblen.c: Likewise.
43561         * lib/unistr/u32-strmbtouc.c: Likewise.
43562         * lib/unistr/u32-strncat.c: Likewise.
43563         * lib/unistr/u32-strncmp.c: Likewise.
43564         * lib/unistr/u32-strncpy.c: Likewise.
43565         * lib/unistr/u32-strnlen.c: Likewise.
43566         * lib/unistr/u32-strpbrk.c: Likewise.
43567         * lib/unistr/u32-strrchr.c: Likewise.
43568         * lib/unistr/u32-strspn.c: Likewise.
43569         * lib/unistr/u32-strstr.c: Likewise.
43570         * lib/unistr/u32-strtok.c: Likewise.
43571         * lib/unistr/u32-to-u16.c: Likewise.
43572         * lib/unistr/u32-to-u8.c: Likewise.
43573         * lib/unistr/u32-uctomb.c: Likewise.
43574         * lib/unistr/u8-check.c: Likewise.
43575         * lib/unistr/u8-chr.c: Likewise.
43576         * lib/unistr/u8-cmp.c: Likewise.
43577         * lib/unistr/u8-cpy-alloc.c: Likewise.
43578         * lib/unistr/u8-cpy.c: Likewise.
43579         * lib/unistr/u8-endswith.c: Likewise.
43580         * lib/unistr/u8-mblen.c: Likewise.
43581         * lib/unistr/u8-mbsnlen.c: Likewise.
43582         * lib/unistr/u8-mbtouc-aux.c: Likewise.
43583         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
43584         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
43585         * lib/unistr/u8-mbtouc.c: Likewise.
43586         * lib/unistr/u8-mbtoucr.c: Likewise.
43587         * lib/unistr/u8-move.c: Likewise.
43588         * lib/unistr/u8-next.c: Likewise.
43589         * lib/unistr/u8-prev.c: Likewise.
43590         * lib/unistr/u8-set.c: Likewise.
43591         * lib/unistr/u8-startswith.c: Likewise.
43592         * lib/unistr/u8-stpcpy.c: Likewise.
43593         * lib/unistr/u8-stpncpy.c: Likewise.
43594         * lib/unistr/u8-strcat.c: Likewise.
43595         * lib/unistr/u8-strchr.c: Likewise.
43596         * lib/unistr/u8-strcmp.c: Likewise.
43597         * lib/unistr/u8-strcpy.c: Likewise.
43598         * lib/unistr/u8-strcspn.c: Likewise.
43599         * lib/unistr/u8-strdup.c: Likewise.
43600         * lib/unistr/u8-strlen.c: Likewise.
43601         * lib/unistr/u8-strmblen.c: Likewise.
43602         * lib/unistr/u8-strmbtouc.c: Likewise.
43603         * lib/unistr/u8-strncat.c: Likewise.
43604         * lib/unistr/u8-strncmp.c: Likewise.
43605         * lib/unistr/u8-strncpy.c: Likewise.
43606         * lib/unistr/u8-strnlen.c: Likewise.
43607         * lib/unistr/u8-strpbrk.c: Likewise.
43608         * lib/unistr/u8-strrchr.c: Likewise.
43609         * lib/unistr/u8-strspn.c: Likewise.
43610         * lib/unistr/u8-strstr.c: Likewise.
43611         * lib/unistr/u8-strtok.c: Likewise.
43612         * lib/unistr/u8-to-u16.c: Likewise.
43613         * lib/unistr/u8-to-u32.c: Likewise.
43614         * lib/unistr/u8-uctomb-aux.c: Likewise.
43615         * lib/unistr/u8-uctomb.c: Likewise.
43616         * lib/unitypes.h: Likewise.
43617         * lib/uniwidth.h: Likewise.
43618         * lib/uniwidth/cjk.h: Likewise.
43619         * lib/uniwidth/u16-strwidth.c: Likewise.
43620         * lib/uniwidth/u16-width.c: Likewise.
43621         * lib/uniwidth/u32-strwidth.c: Likewise.
43622         * lib/uniwidth/u32-width.c: Likewise.
43623         * lib/uniwidth/u8-strwidth.c: Likewise.
43624         * lib/uniwidth/u8-width.c: Likewise.
43625         * lib/uniwidth/width.c: Likewise.
43626
43627 2007-10-07  Bruno Haible  <bruno@clisp.org>
43628
43629         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
43630         The file is still under LGPL (see modules/inttypes).
43631
43632 2007-10-06  Bruno Haible  <bruno@clisp.org>
43633
43634         * modules/trunc (Dependencies): Add 'extensions'.
43635         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
43636         Reported by Ben Pfaff <blp@gnu.org>.
43637
43638 2007-10-06  Bruno Haible  <bruno@clisp.org>
43639
43640         * modules/freopen-tests: New file.
43641         * tests/test-freopen.c: New file.
43642
43643         * modules/fopen-tests: New file.
43644         * tests/test-fopen.c: New file.
43645
43646         * modules/fopen: New file.
43647         * lib/fopen.c: New file.
43648         * m4/fopen.m4: New file.
43649         * modules/freopen: New file.
43650         * lib/freopen.c: New file.
43651         * m4/freopen.m4: New file.
43652         * lib/stdio.in.h (fopen, freopen): New declarations.
43653         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
43654         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
43655         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
43656         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
43657         * doc/functions/fopen.texi: Mention the 'fopen' module.
43658         * doc/functions/freopen.texi: Mention the 'freopen' module.
43659
43660 2007-10-06  Bruno Haible  <bruno@clisp.org>
43661
43662         * modules/open-tests: New file.
43663         * tests/test-open.c: New file.
43664
43665         * modules/open: New file.
43666         * lib/open.c: New file.
43667         * m4/open.m4: New file.
43668         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
43669         lib/open.c does.
43670         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
43671         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
43672         macros.
43673         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
43674         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
43675         REPLACE_OPEN.
43676         * doc/functions/open.texi: Mention the 'open' module.
43677
43678 2007-10-04  Bruno Haible  <bruno@clisp.org>
43679
43680         * modules/ceill-tests: New file.
43681         * tests/test-ceill.c: New file.
43682
43683         * modules/ceill: New file.
43684         * lib/ceill.c: Replace entire file.
43685         * m4/ceill.m4: New file.
43686         * lib/math.in.h (ceill): Replace declaration.
43687         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
43688         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
43689         * doc/functions/ceill.texi: Mention the 'ceill' module.
43690         * modules/mathl (Files): Remove lib/ceill.c.
43691         (Depends-on): Add ceill.
43692
43693 2007-10-04  Bruno Haible  <bruno@clisp.org>
43694
43695         * modules/ceilf-tests: New file.
43696         * tests/test-ceilf.c: New file.
43697
43698         * modules/ceilf: New file.
43699         * lib/ceil.c: New file.
43700         * lib/ceilf.c: New file.
43701         * m4/ceilf.m4: New file.
43702         * lib/math.in.h (ceilf): New declaration.
43703         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
43704         HAVE_DECL_CEILF.
43705         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
43706         HAVE_DECL_CEILF.
43707         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
43708
43709 2007-10-04  Bruno Haible  <bruno@clisp.org>
43710
43711         * modules/floorl-tests: New file.
43712         * tests/test-floorl.c: New file.
43713
43714         * modules/floorl: New file.
43715         * lib/floorl.c: Replace entire file.
43716         * m4/floorl.m4: New file.
43717         * lib/math.in.h (floorl): Replace declaration.
43718         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
43719         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
43720         * doc/functions/floorl.texi: Mention the 'floorl' module.
43721         * modules/mathl (Files): Remove lib/floorl.c.
43722         (Depends-on): Add floorl.
43723
43724 2007-10-04  Bruno Haible  <bruno@clisp.org>
43725
43726         * modules/floorf-tests: New file.
43727         * tests/test-floorf.c: New file.
43728
43729         * modules/floorf: New file.
43730         * lib/floor.c: New file.
43731         * lib/floorf.c: New file.
43732         * m4/floorf.m4: New file.
43733         * lib/math.in.h (floorf): New declaration.
43734         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
43735         HAVE_DECL_FLOORF.
43736         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
43737         HAVE_DECL_FLOORF.
43738         * doc/functions/floorf.texi: Mention the 'floorf' module.
43739
43740 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
43741             Bruno Haible  <bruno@clisp.org>
43742
43743         Advertise for the Git server instead of the CVS server.
43744         * doc/gnulib-intro.texi (Steady Development): Mention the Git
43745         repository instead of the CVS one.
43746         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
43747         about all VCS systems generically.
43748         * doc/gnulib.texi (Introduction): Capitalize `Git'.
43749
43750 2007-10-04  Bruno Haible  <bruno@clisp.org>
43751
43752         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
43753         means.
43754         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
43755
43756 2007-10-04  Bruno Haible  <bruno@clisp.org>
43757
43758         * modules/truncl-tests: New file.
43759         * tests/test-truncl.c: New file.
43760
43761         * modules/truncl: New file.
43762         * lib/truncl.c: New file.
43763         * m4/truncl.m4: New file.
43764         * lib/math.in.h (truncl): New declaration.
43765         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
43766         HAVE_DECL_TRUNCL.
43767         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
43768         HAVE_DECL_TRUNCL.
43769         * doc/functions/truncl.texi: Mention the 'truncl' module.
43770
43771 2007-10-04  Bruno Haible  <bruno@clisp.org>
43772
43773         * modules/truncf-tests: New file.
43774         * tests/test-truncf.c: New file.
43775
43776         * modules/truncf: New file.
43777         * lib/trunc.c: Make paramerizable through USE_* macros.
43778         * lib/truncf.c: New file.
43779         * m4/truncf.m4: New file.
43780         * lib/math.in.h (truncf): New declaration.
43781         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
43782         HAVE_DECL_TRUNCF.
43783         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
43784         HAVE_DECL_TRUNCF.
43785         * doc/functions/truncf.texi: Mention the 'truncf' module.
43786
43787 2007-10-03  Bruno Haible  <bruno@clisp.org>
43788
43789         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
43790         augmentation also for tests modules.
43791         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
43792         * modules/atexit-tests (Makefile.am): Likewise.
43793         * modules/binary-io-tests (Makefile.am): Likewise.
43794         * modules/c-strcase-tests (Makefile.am): Likewise.
43795         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
43796         * modules/canonicalize-tests (Makefile.am): Likewise.
43797         * modules/closein-tests (Makefile.am): Likewise.
43798         * modules/fprintf-posix-tests (Makefile.am): Likewise.
43799         * modules/freadahead-tests (Makefile.am): Likewise.
43800         * modules/fseek-tests (Makefile.am): Likewise.
43801         * modules/fseeko-tests (Makefile.am): Likewise.
43802         * modules/ftell-tests (Makefile.am): Likewise.
43803         * modules/ftello-tests (Makefile.am): Likewise.
43804         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
43805         * modules/isnanl-tests (Makefile.am): Likewise.
43806         * modules/lseek-tests (Makefile.am): Likewise.
43807         * modules/mbscasecmp-tests (Makefile.am): Likewise.
43808         * modules/mbscasestr-tests (Makefile.am): Likewise.
43809         * modules/mbschr-tests (Makefile.am): Likewise.
43810         * modules/mbscspn-tests (Makefile.am): Likewise.
43811         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
43812         * modules/mbspbrk-tests (Makefile.am): Likewise.
43813         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
43814         * modules/mbsrchr-tests (Makefile.am): Likewise.
43815         * modules/mbsspn-tests (Makefile.am): Likewise.
43816         * modules/mbsstr-tests (Makefile.am): Likewise.
43817         * modules/printf-posix-tests (Makefile.am): Likewise.
43818         * modules/snprintf-posix-tests (Makefile.am): Likewise.
43819         * modules/sprintf-posix-tests (Makefile.am): Likewise.
43820         * modules/tsearch-tests (Makefile.am): Likewise.
43821         * modules/uniname/uniname-tests (Makefile.am): Likewise.
43822         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
43823         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
43824         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
43825         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
43826         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
43827         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
43828         * modules/vprintf-posix-tests (Makefile.am): Likewise.
43829         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
43830         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
43831         * modules/xstrtoimax-tests (Makefile.am): Likewise.
43832         * modules/xstrtol-tests (Makefile.am): Likewise.
43833         * modules/xstrtoumax-tests (Makefile.am): Likewise.
43834         * modules/yesno-tests (Makefile.am): Likewise.
43835
43836 2007-10-03  Bruno Haible  <bruno@clisp.org>
43837
43838         * modules/trunc-tests: New file.
43839         * tests/test-trunc.c: New file.
43840
43841         * modules/trunc: New file.
43842         * lib/trunc.c: New file.
43843         * m4/trunc.m4: New file.
43844         * lib/math.in.h (trunc): New declaration.
43845         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
43846         HAVE_DECL_TRUNC.
43847         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
43848         HAVE_DECL_TRUNC.
43849         * doc/functions/trunc.texi: Mention the 'trunc' module.
43850
43851 2007-10-03  Bruno Haible  <bruno@clisp.org>
43852
43853         * tests/test-fpending.c: New file, mostly copied
43854         from coreutils/lib/t-fpending.c.
43855         * modules/fpending-tests: New file.
43856
43857 2007-10-03  Bruno Haible  <bruno@clisp.org>
43858
43859         Port the stdio extensions to QNX (untested).
43860         * lib/fseterr.c (fseterr): Add support for QNX.
43861         * lib/fbufmode.c (fbufmode): Likewise.
43862         * lib/freadable.c (freadable): Likewise.
43863         * lib/fwritable.c (fwritable): Likewise.
43864         * lib/freading.c (freading): Likewise.
43865         * lib/fwriting.c (fwriting): Likewise.
43866         * lib/freadahead.c (freadahed): Likewise.
43867         * lib/fpurge.c (fpurge): Likewise.
43868         * lib/fseeko.c (rpl_fseeko): Likewise.
43869
43870 2007-10-03  Bruno Haible  <bruno@clisp.org>
43871             Jim Meyering  <jim@meyering.net>
43872             Eric Blake  <ebb9@byu.net>
43873
43874         * doc/relocatable.texi: Use @command instead of @program.
43875
43876 2007-10-02  Jim Meyering  <jim@meyering.net>
43877
43878         Perform one more "_.h" -> ".in.h" substitution.
43879         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
43880         instead of unistd_.h here, too.
43881
43882 2007-10-01  Bruno Haible  <bruno@clisp.org>
43883
43884         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
43885         Needed for the alloca-opt module.
43886
43887 2007-09-30  Bruno Haible  <bruno@clisp.org>
43888
43889         * lib/alloca.in.h: Renamed from lib/alloca_.h.
43890         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
43891         alloca_.h.
43892         * lib/argz.in.h: Renamed from lib/argz_.h.
43893         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
43894         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
43895         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
43896         byteswap_.h.
43897         * lib/dirent.in.h: Renamed from lib/dirent_.h.
43898         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
43899         dirent_.h.
43900         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
43901         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
43902         fcntl_.h.
43903         * lib/float.in.h: Renamed from lib/float_.h.
43904         * modules/float (Files, Makefile.am): Use float.in.h instead of
43905         float_.h.
43906         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
43907         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
43908         fnmatch_.h.
43909         * lib/getopt.in.h: Renamed from lib/getopt_.h.
43910         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
43911         getopt_.h.
43912         * lib/glob.in.h: Renamed from lib/glob_.h.
43913         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
43914         * lib/iconv.in.h: Renamed from lib/iconv_.h.
43915         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
43916         iconv_.h.
43917         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
43918         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
43919         inttypes_.h.
43920         * lib/locale.in.h: Renamed from lib/locale_.h.
43921         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
43922         locale_.h.
43923         * lib/math.in.h: Renamed from lib/math_.h.
43924         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
43925         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
43926         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
43927         of netinet_in_.h. Add dependency.
43928         * lib/poll.in.h: Renamed from lib/poll_.h.
43929         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
43930         * lib/search.in.h: Renamed from lib/search_.h.
43931         * modules/search (Files, Makefile.am): Use search.in.h instead of
43932         search_.h.
43933         * lib/signal.in.h: Renamed from lib/signal_.h.
43934         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
43935         _signal.h.
43936         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
43937         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
43938         stdbool_.h.
43939         * lib/stdint.in.h: Renamed from lib/stdint_.h.
43940         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
43941         stdint_.h.
43942         * lib/stdio.in.h: Renamed from lib/stdio_.h.
43943         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
43944         stdio_.h.
43945         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
43946         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
43947         stdlib_.h.
43948         * lib/string.in.h: Renamed from lib/string_.h.
43949         * modules/string (Files, Makefile.am): Use string.in.h instead of
43950         string_.h.
43951         * doc/gnulib-tool.texi (Initial import): Update.
43952         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
43953         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
43954         of sys_select_.h. Add dependency.
43955         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
43956         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
43957         of sys_socket_.h.
43958         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
43959         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
43960         sys_stat_.h.
43961         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
43962         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
43963         sys_time_.h.
43964         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
43965         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
43966         sysexits_.h.
43967         * lib/time.in.h: Renamed from lib/time_.h.
43968         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
43969         * lib/unistd.in.h: Renamed from lib/unistd_.h.
43970         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
43971         unistd_.h.
43972         * lib/wchar.in.h: Renamed from lib/wchar_.h.
43973         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
43974         wchar_.h.
43975         * lib/wctype.in.h: Renamed from lib/wctype_.h.
43976         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
43977         wctype_.h.
43978         * build-aux/bootstrap (slurp): Update.
43979         * lib/.cppi-disable: Update.
43980
43981 2007-09-30  Bruno Haible  <bruno@clisp.org>
43982
43983         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
43984         Needed on BeOS.
43985
43986 2007-09-30  Bruno Haible  <bruno@clisp.org>
43987
43988         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
43989
43990 2007-09-29  Bruno Haible  <bruno@clisp.org>
43991
43992         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
43993
43994 2007-09-29  Bruno Haible  <bruno@clisp.org>
43995
43996         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
43997         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
43998         * build-aux/install-reloc: Compile also areadlink.c.
43999         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
44000
44001 2007-09-29  Bruno Haible  <bruno@clisp.org>
44002
44003         * gnulib-tool (func_emit_initmacro_done): Indentation.
44004
44005 2007-09-29  Bruno Haible  <bruno@clisp.org>
44006
44007         * README: Add CVS checkout update instructions.
44008         Info from Bob Proulx <bob@proulx.com>.
44009
44010 2007-09-28  Eric Blake  <ebb9@byu.net>
44011
44012         Provide move-if-change.
44013         * build-aux/move-if-change: New file, based on best practice
44014         rather than any canonical upstream location.
44015
44016 2007-09-28  Jim Meyering  <jim@meyering.net>
44017
44018         Fix canonicalize loop-detection corner case.
44019         Do not attempt to stat the symlink values stored via seen_triple.
44020         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
44021         on linux-2.6.18, (but not 2.6.22).
44022         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
44023         triple_compare.  The former compares dev,ino,filename, while the latter
44024         would actually stat dirname(filename) when dev and ino were equal.
44025         * lib/hash-triple.c: Install <string.h>.
44026         (STREQ): Define.
44027         (triple_compare_ino_str): New function.
44028         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
44029
44030 2007-09-28  Eric Blake  <ebb9@byu.net>
44031
44032         Enforce that AC_REPLACE_FUNCS files exist.
44033         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
44034         override check for typos.
44035
44036         Fix test-closein on Solaris 10.
44037         * tests/test-closein.c (main): Don't assume stdin can be inherited
44038         closed on all systems.
44039         * tests/test-closein.sh: Likewise.
44040         Reported by Piotr Tarnowski.
44041
44042 2007-09-28  Jim Meyering  <jim@meyering.net>
44043
44044         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
44045
44046 2007-09-27  Jim Meyering  <jim@meyering.net>
44047
44048         canonicalize: Avoid a false-positive cycle failure.
44049         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
44050         Sort.  Remove cycle-check.
44051         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
44052         not cycle-check.h.
44053         (seen_triple): New function.
44054         (canonicalize_filename_mode): Use it instead of cycle-check.
44055         * tests/test-canonicalize.c: Add a test for this bug.
44056         * tests/test-canonicalize.sh: Set up and run the test.
44057
44058         New module, file-set, from coreutils.
44059         * modules/file-set: Define it.
44060         * lib/file-set.c, lib/file-set.h: Implement.
44061
44062         New module, hash-triple, from coreutils.
44063         * modules/hash-triple: Define it.
44064         * lib/hash-triple.c, lib/hash-triple.h: Implement.
44065
44066 2007-09-25  Eric Blake  <ebb9@byu.net>
44067
44068         Fix strerror on Interix.
44069         * lib/string_.h (strerror): Declare replacement.
44070         * doc/functions/strerror.texi (strerror): Document the Interix
44071         shortcoming.
44072         * modules/string (Makefile.am): Support new hooks.
44073         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
44074         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
44075         gl_FUNC_STRERROR_SEPARATE.
44076         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
44077         * lib/strerror.c (rpl_strerror): Provide replacement.
44078         * modules/strerror (Depends-on): Add string.
44079         (configure.ac): Detect use of module.
44080         * tests/test-strerror.c: New file.
44081         * modules/strerror-tests: New test module.
44082         * modules/argp (Depends-on): Add strerror.
44083         * modules/error (Depends-on): Likewise.
44084         Reported by Martin Koeppe.
44085
44086 2007-09-24  Bruno Haible  <bruno@clisp.org>
44087
44088         * README: Update git instructions.
44089
44090 2007-09-24  Eric Blake  <ebb9@byu.net>
44091
44092         Revert fpending breakage from 2007-09-08.
44093         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
44094         __fpending.c.
44095
44096 2007-09-24  Jim Meyering  <jim@meyering.net>
44097
44098         filenamecat.c: Add a test.
44099         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
44100         showing how the function works when DIR is the empty string.
44101
44102 2007-09-21  Simon Josefsson  <simon@josefsson.org>
44103
44104         * tests/test-canonicalize.sh: Turn on executable bit.
44105
44106 2007-09-19  Eric Blake  <ebb9@byu.net>
44107
44108         * README: Update CVS instructions.
44109
44110 2007-09-18  Bruno Haible  <bruno@clisp.org>
44111
44112         * modules/areadlink: New file.
44113         * lib/areadlink.h (areadlink): New declaration.
44114         * lib/areadlink.c: New file, based on lib/xreadlink.c.
44115
44116 2007-09-17  Jim Meyering  <jim@meyering.net>
44117
44118         * lib/savewd.c (ESTALE) [!defined]: Define.
44119         Reported to be required on Interix by Martin Koeppe.
44120
44121 2007-09-17  Bruno Haible  <bruno@clisp.org>
44122
44123         * gnulib-tool (func_version): Use $version.
44124
44125 2007-09-16  Bruno Haible  <bruno@clisp.org>
44126
44127         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
44128         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
44129         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
44130         Reported by Greg Schafer <gschafer@zip.com.au>.
44131
44132 2007-09-15  Bruno Haible  <bruno@clisp.org>
44133
44134         * gnulib-tool (sed): Try a little harder to make bash understand the
44135         alias.
44136         Reported by Bruce Korb <bruce.korb@gmail.com>.
44137
44138 2007-09-13  Eric Blake  <ebb9@byu.net>
44139
44140         * ChangeLog: Remove conflict markers.
44141
44142 2007-09-13  Simon Josefsson  <simon@josefsson.org>
44143
44144         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
44145         Reported by Bruno Haible <bruno@clisp.org>.
44146
44147 2007-09-12  Bruno Haible  <bruno@clisp.org>
44148
44149         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
44150         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
44151         is not defined.
44152
44153 2007-09-12  Eric Blake  <ebb9@byu.net>
44154
44155         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
44156         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
44157         Autoconf definition.
44158         * modules/euidaccess (Depends-on): Add extensions, for
44159         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
44160         * modules/fnmatch (Depends-on): Likewise.
44161         * modules/getaddrinfo (Depends-on): Likewise.
44162         * modules/getdelim (Depends-on): Likewise.
44163         * modules/getline (Depends-on): Likewise.
44164         * modules/getsubopt (Depends-on): Likewise.
44165         * modules/gettext (Depends-on): Likewise.
44166         * modules/group-member (Depends-on): Likewise.
44167         * modules/mbchar (Depends-on): Likewise.
44168         * modules/memmem (Depends-on): Likewise.
44169         * modules/mempcpy (Depends-on): Likewise.
44170         * modules/memrchr (Depends-on): Likewise.
44171         * modules/pagealign_alloc (Depends-on): Likewise.
44172         * modules/readutmp (Depends-on): Likewise.
44173         * modules/stpcpy (Depends-on): Likewise.
44174         * modules/stpncpy (Depends-on): Likewise.
44175         * modules/strchrnul (Depends-on): Likewise.
44176         * modules/strndup (Depends-on): Likewise.
44177         * modules/strsep (Depends-on): Likewise.
44178         * modules/strverscmp (Depends-on): Likewise.
44179         * modules/vasprintf (Depends-on): Likewise.
44180         * modules/wcwidth (Depends-on): Likewise.
44181         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
44182         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
44183         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
44184         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
44185         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
44186         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
44187         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
44188         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
44189         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
44190         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
44191         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
44192         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
44193         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
44194         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
44195         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
44196         * m4/readutmp.m4 (gl_READUTMP): Likewise.
44197         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
44198         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
44199         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
44200         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
44201         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
44202         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
44203         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
44204         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
44205         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
44206         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
44207         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
44208         so that lock.m4 can be used in gettext without extensions module.
44209
44210 2007-09-11  Bruno Haible  <bruno@clisp.org>
44211
44212         * m4/isc-posix.m4: Remove file.
44213         Suggested by Eric Blake.
44214
44215 2007-09-11  Eric Blake  <ebb9@byu.net>
44216
44217         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
44218
44219 2007-09-10  Bruno Haible  <bruno@clisp.org>
44220
44221         * posix-modules: Fix typo in error message.
44222         Reported by Matt <mkraai@beckman.com>.
44223
44224 2007-09-09  Bruno Haible  <bruno@clisp.org>
44225
44226         * doc/functions/getdelim.texi: Update list of platforms lacking the
44227         function.
44228         * doc/functions/getline.texi: Likewise.
44229
44230 2007-09-09  Jim Meyering  <jim@meyering.net>
44231
44232         * lib/hash.c (hash_initialize): Detect calloc failure.
44233         Reported by Bruno Haible.
44234
44235 2007-09-09  Bruno Haible  <bruno@clisp.org>
44236
44237         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
44238         malloc or realloc fails.
44239
44240 2007-09-09  Bruno Haible  <bruno@clisp.org>
44241
44242         * modules/getcwd (Depends-on): Add malloc-posix.
44243         * modules/glob (Depends-on): Likewise.
44244         * modules/putenv (Depends-on): Likewise.
44245         * modules/strdup (Depends-on): Likewise.
44246         * modules/getdelim (Depends-on): Add realloc-posix.
44247         * modules/read-file (Depends-on): Likewise.
44248
44249 2007-09-09  Bruno Haible  <bruno@clisp.org>
44250
44251         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
44252         (gl_FUNC_MALLOC_POSIX): Require it.
44253         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
44254         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
44255         * modules/realloc (Files): Add m4/malloc.m4.
44256         * modules/calloc (Files): Likewise.
44257
44258 2007-09-09  Bruno Haible  <bruno@clisp.org>
44259
44260         * modules/malloc-posix: New file.
44261         * modules/malloc (Depends-on): Add malloc-posix.
44262         * lib/malloc.c: Include errno.h.
44263         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
44264         and a POSIX-compatible malloc into a single function. Set ENOMEM
44265         when returning NULL.
44266         * m4/malloc.m4: New file.
44267         * doc/functions/malloc.texi: Mention the malloc-posix module.
44268         * lib/stdlib_.h (malloc): New declaration.
44269         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
44270         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
44271         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
44272         and HAVE_MALLOC_POSIX.
44273
44274 2007-09-09  Bruno Haible  <bruno@clisp.org>
44275
44276         * modules/realloc-posix: New file.
44277         * modules/realloc (Depends-on): Add realloc-posix.
44278         * lib/realloc.c: Include errno.h.
44279         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
44280         and a POSIX-compatible realloc into a single function. Set ENOMEM
44281         when returning NULL.
44282         * m4/realloc.m4: New file.
44283         * doc/functions/realloc.texi: Mention the realloc-posix module.
44284         * lib/stdlib_.h (realloc): New declaration.
44285         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
44286         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
44287         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
44288         and HAVE_REALLOC_POSIX.
44289
44290 2007-09-09  Bruno Haible  <bruno@clisp.org>
44291
44292         * modules/calloc-posix: New file.
44293         * modules/calloc (Depends-on): Add calloc-posix.
44294         * lib/calloc.c: Include errno.h.
44295         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
44296         and a POSIX-compatible calloc into a single function. Set ENOMEM
44297         when returning NULL.
44298         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
44299         * doc/functions/calloc.texi: Mention the calloc-posix module.
44300         * lib/stdlib_.h (calloc): New declaration.
44301         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
44302         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
44303         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
44304         and HAVE_CALLOC_POSIX.
44305
44306 2007-09-09  Bruno Haible  <bruno@clisp.org>
44307
44308         Allow for modules to show an arbitrary notice.
44309         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
44310         * gnulib-tool: New option --extract-notice.
44311         (func_usage): Document it.
44312         (sed_extract_prog): Update.
44313         (func_get_notice): New function.
44314         (func_modules_notice): New function.
44315         (func_import, func_create_testdir): Invoke it.
44316         Suggested by Jim Meyering.
44317
44318 2007-09-09  Bruno Haible  <bruno@clisp.org>
44319
44320         * gnulib-tool: New options --verbose, --quiet.
44321         (func_usage): Document them.
44322         (verbose): New variable.
44323         (func_execute_command): New function.
44324         (func_import): Don't show the module list and the file list if
44325         $verbose < 0.
44326         (func_create_testdir): Likewise. Use func_execute_command.
44327         (func_create_megatestdir): Use func_execute_command.
44328
44329 2007-09-08  Bruno Haible  <bruno@clisp.org>
44330
44331         * gnulib-tool (func_import): Prefer rsync over wget when available,
44332         for fetching the PO files.
44333
44334 2007-09-08  Bruno Haible  <bruno@clisp.org>
44335
44336         * posix-modules: New file. Portions copied from gnulib-tool.
44337         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
44338
44339 2007-09-08  Jim Meyering  <jim@meyering.net>
44340
44341         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
44342         * lib/fpending.h: Rename from __fpending.h.
44343         * lib/fpending.c: Rename from __fpending.c.
44344         Include "fpending.h", not "__fpending.h".
44345         * lib/__fpending.h, lib/__fpending.c: Remove files.
44346         * modules/fpending (Files): Reflect new file names.
44347         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
44348
44349 2007-09-08  Bruno Haible  <bruno@clisp.org>
44350
44351         * m4/inttypes-h.m4: Remove stub file.
44352
44353 2007-09-07  Simon Josefsson  <simon@josefsson.org>
44354
44355         * doc/headers/stdint.texi: Discuss #include_next issue.
44356
44357 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
44358
44359         * build-aux/bootstrap: Remove obsolete comment about wget --help.
44360
44361 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44362
44363         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
44364         in variable name.
44365
44366 2007-09-03  Jim Meyering  <jim@meyering.net>
44367
44368         New module: git-version-gen.
44369         * modules/git-version-gen: New file.
44370
44371         Import changes from coreutils for bootstrap script.
44372
44373         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
44374
44375         bootstrap: uses rsync to download the .po files
44376         * build-aux/bootstrap (po_download_command_format): New global.
44377         (download_po_files): Use rsync.
44378         (update_po_files): Don't remove .po files after download,
44379         so future rsync runs can take advantage of the copies.
44380
44381         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
44382
44383         Solve the unnecessary-.po-file-regeneration problem once and for all.
44384         * build-aux/bootstrap (download_po_files): New function, renamed from
44385         get_translations.  Now, downloads, but doesn't update LINGUAS.
44386         (update_po_files): New function.
44387
44388         bootstrap: Ignore more.
44389         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
44390         uniwidth to e.g., lib/.gitignore.
44391         (slurp): Handle the sys_stat_.h -> sys mapping, too.
44392
44393         * build-aux/bootstrap: New setting: vc_ignore.
44394         (insert_sorted_if_absent): Create $file if absent.
44395         Adapt to new, possibly empty, list: $vc_ignore.
44396
44397         bootstrap: generate more ignorable names
44398         * build-aux/bootstrap (slurp): When generating ignorable names,
44399         also map .sin to .sed, .gperf to .c, and .y to .c.
44400
44401 2007-09-03  Jim Meyering  <jim@meyering.net>
44402
44403         * build-aux/git-version-gen: New file, from coreutils.  For details, see
44404         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
44405
44406 2007-09-02  Bruno Haible  <bruno@clisp.org>
44407
44408         Fix mis-recognition of 'mcs' on QNX 6.
44409         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
44410         output contains the string "Mono".
44411         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
44412         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
44413
44414 2007-09-01  Bruno Haible  <bruno@clisp.org>
44415
44416         Fix collision between uniwidth/* and linebreak modules.
44417         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
44418         u32_width): Remove declarations.
44419         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
44420         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
44421         streq3, streq2, streq1, streq0): Remove functions.
44422         (STREQ): Remove macro.
44423         (is_cjk_encoding): Remove function.
44424         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
44425         (uc_width, u8_width, u16_width, u32_width): Remove functions.
44426         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
44427         * NEWS: Document the change.
44428
44429 2007-09-01  Bruno Haible  <bruno@clisp.org>
44430
44431         * lib/streq.h: Add double-inclusion guard.
44432
44433 2007-09-01  Karl Berry  <karl@gnu.org>
44434
44435         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
44436
44437 2007-08-28  Jim Meyering  <jim@meyering.net>
44438
44439         Rename mreadlink_with_size to areadlink_with_size.
44440         * NEWS: Document the change.
44441         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
44442         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
44443         * lib/mreadlink.h: Rename this to...
44444         * lib/areadlink.h: ...this.
44445         * modules/mreadlink-with-size: Rename this to...
44446         * modules/areadlink-with-size: ...this.
44447         * lib/canonicalize.c: Reflect the renaming.
44448         * modules/canonicalize: Likewise.
44449
44450 2007-08-26  Bruno Haible  <bruno@clisp.org>
44451
44452         * gnulib-tool (func_import): When deciding which files to remove,
44453         consider also dangling symbolic links.
44454         Reported by Eric Blake.
44455
44456 2007-08-26  Bruno Haible  <bruno@clisp.org>
44457
44458         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
44459
44460 2007-08-23  Simon Josefsson  <simon@josefsson.org>
44461
44462         * lib/readline.c: Don't include getline.h, the prototype is now
44463         found in stdio.h.
44464
44465 2007-08-23  Jim Meyering  <jim@meyering.net>
44466
44467         Getdelim touchup.
44468         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
44469         around the funlockfile call, since funlockfile never sets errno.
44470         Don't set errno upon failed realloc.
44471
44472 2007-08-22  Eric Blake  <ebb9@byu.net>
44473
44474         Getline touchups.
44475         * lib/getdelim.c (getdelim): Revert regression that required *n to
44476         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
44477         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
44478         getdelim, rather than whether implementation is missing.
44479         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
44480         * lib/stdio_.h (getline): Also declare if replacement is
44481         required.
44482         * doc/functions/getdelim.texi: New file.
44483         * doc/functions/getline.texi: Likewise.
44484         * doc/gnulib.texi (Function Substitutes): Add new files.
44485         Reported by Bruno Haible.
44486
44487 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
44488
44489         * users.txt: Add Guile.
44490
44491 2007-08-22  Eric Blake  <ebb9@byu.net>
44492
44493         * tests/test-getdelim.c (main): Use remove, not unlink.
44494         * tests/test-getline.c (main): Likewise.
44495
44496         Move getline and getdelim into stdio.h, per POSIX 200x.
44497         * modules/getline (Files): Remove getline.h.
44498         (Depends-on): Add stdio.
44499         (configure.ac): Add module indicator.
44500         * modules/getdelim (Files): Remove getdelim.h.
44501         (Depends-on): Add stdio.
44502         (configure.ac): Add module indicator.
44503         * modules/stdio (Makefile.am): Work with new indicators.
44504         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
44505         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
44506         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
44507         * lib/getdelim.h: Delete.
44508         * lib/getline.h: Delete.
44509         * lib/stdio_.h (getdelim, getline): Declare.
44510         * modules/getdelim-tests: New module.
44511         * modules/getline-tests: Likewise.
44512         * tests/test-getdelim.c: New file.
44513         * tests/test-getline.c: Likewise.
44514         * NEWS: Document the change.
44515         * lib/getline.c: Update choice of header.
44516         * lib/csharpcomp.c: Likewise.
44517         * lib/getpass.c: Likewise.
44518         * lib/javacomp.c: Likewise.
44519         * lib/javaversion.c: Likewise.
44520         * lib/yesno.c: Likewise.
44521         * lib/getdelim.c: Likewise.
44522         (getdelim): Set errno on failure, and avoid memory leak.
44523
44524 2007-08-19  Bruno Haible  <bruno@clisp.org>
44525
44526         * modules/closein (Depends-on): Add freadahead.
44527         * lib/closein.c: Include freadahead.h.
44528         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
44529         is zero.
44530
44531 2007-08-19  Bruno Haible  <bruno@clisp.org>
44532
44533         * modules/freadahead-tests: New file.
44534         * tests/test-freadahead.sh: New file.
44535         * tests/test-freadahead.c: New file.
44536
44537         * modules/freadahead: New file.
44538         * lib/freadahead.h: New file.
44539         * lib/freadahead.c: New file.
44540         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
44541         fbufmode, fpurge, freadable, fwritable.
44542
44543 2007-08-19  Eric Blake  <ebb9@byu.net>
44544
44545         Test yesno in combination with closein.
44546         * lib/yesno.c (yesno): Document use of stdin.
44547         * modules/yesno-tests (Files): New module.
44548         * tests/test-yesno.c (main): New file.
44549         * tests/test-yesno.sh: Likewise.
44550
44551 2007-08-19  Bruno Haible  <bruno@clisp.org>
44552
44553         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
44554         * lib/fseeko.c (rpl_fseeko): Likewise.
44555         * lib/fseterr.c (fseterr): Likewise.
44556
44557 2007-08-19  Bruno Haible  <bruno@clisp.org>
44558
44559         * tests/test-lseek.c (main): Disable a test for BeOS.
44560         * doc/functions/lseek.texi: Document the BeOS bug.
44561
44562 2007-08-19  Bruno Haible  <bruno@clisp.org>
44563             Eric Blake  <ebb9@byu.net>
44564
44565         * lib/lseek.c: Include <sys/stat.h>.
44566         (rpl_lseek): Add workaround code also for Unix platforms.
44567         Needed for BeOS.
44568         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
44569         * doc/functions/lseek.texi: Document BeOS definiency.
44570
44571 2007-08-18  Bruno Haible  <bruno@clisp.org>
44572
44573         * modules/fstrcmp-tests: New file.
44574         * tests/test-fstrcmp.c: New file.
44575
44576 2007-08-18  Bruno Haible  <bruno@clisp.org>
44577
44578         * modules/fstrcmp: New file, from GNU gettext with modifications.
44579         * lib/fstrcmp.h: New file, from GNU gettext.
44580         * lib/fstrcmp.c: New file, from GNU gettext.
44581         * MODULES.html.sh (String handling): Add fstrcmp.
44582
44583 2007-08-18  Bruno Haible  <bruno@clisp.org>
44584
44585         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
44586         'bool'.
44587         (diag, compareseq): Remove const from the ctxt argument.
44588         (USE_HEURISTIC): Undefine at the end.
44589
44590 2007-08-18  Jim Meyering  <jim@meyering.net>
44591
44592         New file: lib/idcache.h
44593         * NEWS: Mention the addition.
44594         * modules/idcache (Files): Add lib/idcache.h
44595         * lib/idcache.c: Include "idcache.h".
44596         Don't include <sys/types.h>.
44597         Add a FIXME comment.
44598         Move file-scoped "static" declarations to the top.
44599         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
44600
44601 2007-08-17  Bruno Haible  <bruno@clisp.org>
44602         and Paul Eggert  <eggert@cs.ucla.edu>
44603
44604         * MODULES.html.sh: Add diffseq.
44605         * modules/diffseq: New file.
44606         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
44607         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
44608
44609 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
44610
44611         Import changes from coreutils for bootstrap script.
44612
44613         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
44614
44615         * build-aux/bootstrap (slurp): Work even in environments where
44616         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
44617         current code does not slurp files whose names start with ".", and
44618         this looks like it might be a troublesome area.
44619
44620         2007-07-11  Jim Meyering  <jim@meyering.net>
44621
44622         If there's a GPL vN copyright comment, require that N == 3.
44623
44624         2007-07-08  Jim Meyering  <jim@meyering.net>
44625
44626         Run the coreutils-specific code only if tests/Makefile.am.in exists.
44627         * build-aux/bootstrap (mam_template): Move definition out of loop.
44628
44629         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
44630
44631         * build-aux/bootstrap (symlink_to_dir): Rename function from
44632         symlink_to_gnulib.  Add a directory parameter.  Update all
44633         callers.
44634         (cp_mark_as_generated): Also check for -- and link to -- files in
44635         gl/.
44636
44637         2007-07-08  Jim Meyering  <jim@meyering.net>
44638
44639         Adapt to deeper hierarchy in gnulib.
44640         * build-aux/bootstrap (symlink_to_dir): If the destination
44641         directory doesn't exist, create it. This is required at least for
44642         "lib/uniwidth/cjk.h".
44643
44644         2007-05-15  Jim Meyering  <jim@meyering.net>
44645
44646         * build-aux/bootstrap: Now that generated Makefile.am files
44647         are no longer under version control, they must be created at
44648         bootstrap time.
44649
44650 2007-08-14  Ben Pfaff  <blp@gnu.org>
44651
44652         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
44653
44654 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
44655
44656         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
44657         given the changes below.
44658         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
44659         even on hosts that have padding bits beyond the supported 64.
44660
44661 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
44662
44663         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
44664         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
44665         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
44666         depends on it.
44667         (xstrtol_error): Remove.
44668         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
44669         but with a different signature.
44670         (ATTRIBUTE_NORETURN, __attribute__): New macros.
44671         * lib/xstrtol-error.c: Include exitfail.h.
44672         (xstrtol_fatal): New function, with a different signature from the
44673         old xstrtol_error, so that the caller need not worry about passing
44674         in an exit status, or about storage management of the option argument.
44675         (xstrtol_error): Now a static function.  Redo signature to
44676         implement xstrtol_fatal.  Output the correct number of hyphens in
44677         front of the option so that the caller need not worry about
44678         storage management.
44679         (N_): New macro.
44680         (_): Remove; not used now.
44681         * modules/xstrtol: Depend on getopt.
44682         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
44683         of old STRTOL_FATAL_ERROR macro.
44684         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
44685         of test program.
44686         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
44687         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
44688
44689 2007-08-08  Eric Blake  <ebb9@byu.net>
44690
44691         * lib/xstrtol-error.c: Add missing include.
44692
44693         Move xstrtol messages into gnulib domain, when --pobase is used.
44694         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
44695         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
44696         * modules/xstrtol (Files): Distribute new file.
44697         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
44698         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
44699         * tests/test-xstrtol.c: ...into new file.
44700         * tests/test-xstrtoul.c: Also test xstrtoul.
44701         * tests/test-xstrtoimax.c: Also test xstrtoimax.
44702         * tests/test-xstrtoumax.c: Also test xstrtoumax.
44703         * tests/test-xstrtol.sh: Drive the tests.
44704         * tests/test-xstrtoimax.sh: Likewise.
44705         * tests/test-xstrtoumax.sh: Likewise.
44706         * modules/xstrtol-tests: New module.
44707         * modules/xstrtoimax-tests: Likewise.
44708         * modules/xstrtoumax-tests: Likewise.
44709
44710 2007-08-08  Jim Meyering  <jim@meyering.net>
44711
44712         New function: mfile_name_concat.
44713         * lib/filenamecat.c (mfile_name_concat): New function, just like
44714         file_name_concat, but return NULL upon failure rather than exiting
44715         with a diagnostic.
44716         * lib/filenamecat.h: Declare it.
44717
44718 2007-08-07  Bruno Haible  <bruno@clisp.org>
44719
44720         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
44721         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
44722         warning from gcc.
44723         Reported by Eric Blake.
44724
44725 2007-08-07  Simon Josefsson  <simon@josefsson.org>
44726
44727         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
44728         * modules/crypto/arcfour (License): Likewise.
44729         * modules/crypto/des-tests (License): Likewise.
44730         * modules/crypto/gc-arctwo-tests (License): Likewise.
44731         * modules/crypto/gc-des-tests (License): Likewise.
44732         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
44733         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
44734         * modules/crypto/gc-md2-tests (License): Likewise.
44735         * modules/crypto/gc-md4-tests (License): Likewise.
44736         * modules/crypto/gc-md5-tests (License): Likewise.
44737         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
44738         * modules/crypto/gc-rijndael-tests (License): Likewise.
44739         * modules/crypto/gc-sha1-tests (License): Likewise.
44740         * modules/crypto/gc-tests (License): Likewise.
44741         * modules/crypto/hmac-md5 (License): Likewise.
44742         * modules/crypto/hmac-sha1 (License): Likewise.
44743         * modules/crypto/md2-tests (License): Likewise.
44744         * modules/crypto/md4-tests (License): Likewise.
44745         * modules/crypto/md5 (License): Likewise.
44746         * modules/crypto/rijndael (License): Likewise.
44747         * modules/crypto/sha1 (License): Likewise.
44748         * modules/memxor (License): Likewise.
44749
44750 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
44751         and Bruno Haible  <bruno@clisp.org>
44752
44753         * NEWS: Describe interface changes to human, xstrtol.
44754         * lib/human.h: Include <xstrtol.h>.
44755         (human_options): Return enum strtol_error, not int.  Remove
44756         bool arg; take int * instead.
44757         * lib/human.c: Don't include "gettext.h".
44758         (_): Remove; no longer used.
44759         Don't include <xstrtol.h>, since human.h does it.
44760         (human_options): Adjust to abovementioned interface changes.
44761         Do not report error to stderr; that's now the caller's
44762         responsibility.
44763         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
44764         interface change.
44765         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
44766         Str, Argument_type_string.  All uses changed.  Put " argument"
44767         in diagnostics to make them clearer.  Change wording of suffix
44768         message for clarity.
44769         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
44770         Argument_type_string.
44771         (STRTOL_FATAL_WARN): Remove; no longer used.
44772         * modules/human (Depends-on): Remove gettext-h.
44773
44774 2007-08-06  Simon Josefsson  <simon@josefsson.org>
44775
44776         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
44777
44778 2007-07-31  Bruno Haible  <bruno@clisp.org>
44779
44780         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
44781         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
44782         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
44783
44784 2007-07-31  Bruno Haible  <bruno@clisp.org>
44785
44786         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
44787         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
44788
44789 2007-07-30  Bruno Haible  <bruno@clisp.org>
44790
44791         * modules/base64 (License): Use the synonymous term "LGPLv2+".
44792         * modules/c-ctype (License): Likewise.
44793         * modules/c-strcase (License): Likewise.
44794         * modules/check-version (License): Likewise.
44795         * modules/iconv (License): Likewise.
44796         * modules/iconv_open (License): Likewise.
44797         * modules/read-file (License): Likewise.
44798         * modules/striconv (License): Likewise.
44799         * modules/strverscmp (License): Likewise.
44800         * modules/vasprintf (License): Likewise.
44801         * modules/crypto/des (License): Likewise.
44802         * modules/crypto/gc (License): Likewise.
44803         * modules/crypto/gc-arcfour (License): Likewise.
44804         * modules/crypto/gc-arctwo (License): Likewise.
44805         * modules/crypto/gc-des (License): Likewise.
44806         * modules/crypto/gc-hmac-md5 (License): Likewise.
44807         * modules/crypto/gc-hmac-sha1 (License): Likewise.
44808         * modules/crypto/gc-md2 (License): Likewise.
44809         * modules/crypto/gc-md4 (License): Likewise.
44810         * modules/crypto/gc-md5 (License): Likewise.
44811         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
44812         * modules/crypto/gc-random (License): Likewise.
44813         * modules/crypto/gc-rijndael (License): Likewise.
44814         * modules/crypto/gc-sha1 (License): Likewise.
44815         * modules/crypto/md2 (License): Likewise.
44816         * modules/crypto/md4 (License): Likewise.
44817
44818 2007-07-30  Jim Meyering  <jim@meyering.net>
44819
44820         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
44821         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
44822         it has valid stat data.  This bug would cause du not to count the
44823         sizes of inaccessible directories.
44824         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
44825         in <http://bugzilla.redhat.com/250077>.
44826
44827 2007-07-25  Peter O'Gorman  <peter@pogma.com>
44828             Bruno Haible  <bruno@clisp.org>
44829
44830         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
44831         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
44832         #include_next, gives a diagnostic about it, but reports no error in
44833         the exit code.
44834         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
44835
44836 2007-07-24  Ben Pfaff  <blp@gnu.org>
44837
44838         Improve name: "count-one-bits" is better than "popcount".
44839         * MODULES.html.sh: Update name.
44840         * lib/popcount.h: Renamed lib/count-one-bits.h.
44841         (popcount): Renamed count_one_bits.
44842         (popcountl): Renamed count_one_bits_l.
44843         (popcountll): Renamed count_one_bits_ll.
44844         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
44845         * modules/popcount: Renamed module/count-one-bits.
44846         * modules/popcount-tests: Renamed module/count-one-bits-tests.
44847         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
44848
44849 2007-07-23  Ben Pfaff  <blp@gnu.org>
44850
44851         * lib/popcount.h (popcount32): Reduce size of constants, to allow
44852         better code generation, and add U to large constants to avoid
44853         warnings, in non-GCC case.
44854         Suggested by Bruno Haible.
44855
44856 2007-07-23  Ben Pfaff  <blp@gnu.org>
44857
44858         * lib/popcount.h: Use verify_true instead of if...abort.
44859         * modules/popcount: Depend on verify module.
44860         Suggested by Jim Meyering.
44861
44862 2007-07-23  Bruno Haible  <bruno@clisp.org>
44863
44864         * gnulib-tool (func_import): Create a .cvsignore file also when the
44865         directory is not yet in CVS but the toplevel directory is. When
44866         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
44867         Reported by Karl Berry.
44868
44869 2007-07-22  Ben Pfaff  <blp@gnu.org>
44870
44871         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
44872         case.
44873         Suggested by Eric Blake.
44874
44875 2007-07-22  Ben Pfaff  <blp@gnu.org>
44876
44877         New module: popcount.
44878         * MODULES.html.sh: Add popcount.
44879         * modules/popcount: New file.
44880         * modules/popcount-tests: New file.
44881         * tests/test-popcount.c: New file.
44882         * lib/popcount.h: New file.
44883         * m4/popcount.m4: New file.
44884
44885 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
44886
44887         * build-aux/announce-gen: Update to GPLv3.
44888
44889         * build-aux/config.guess: Update from config.
44890
44891 2007-07-21  Bruno Haible  <bruno@clisp.org>
44892
44893         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
44894         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
44895
44896 2007-07-20  Jim Meyering  <jim@meyering.net>
44897
44898         * check-module: Diagnose a self-dependency.
44899
44900 2007-07-19  Bruno Haible  <bruno@clisp.org>
44901
44902         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
44903         empty.
44904         Reported by Eric Blake.
44905
44906 2007-07-18  Bruno Haible  <bruno@clisp.org>
44907
44908         * gnulib-tool: New options --po-base, --po-domain.
44909         (func_usage): Document them.
44910         (pobase, po_domain): New variables.
44911         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
44912         DEFAULT_TEXT_DOMAIN.
44913         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
44914         (func_import): Consider pobase and po_domain. Create a po/ directory.
44915         (func_create_testdir): Set pobase and po_domain to empty.
44916         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
44917         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
44918
44919 2007-07-18  Bruno Haible  <bruno@clisp.org>
44920
44921         * gnulib-tool (func_get_automake_snippet): Synthesize also an
44922         EXTRA_DIST augmentation for files in build-aux/.
44923
44924 2007-07-16  Bruno Haible  <bruno@clisp.org>
44925
44926         * modules/lseek (License): Use the synonymous term "LGPLv2+".
44927         * modules/getdelim (License): Likewise.
44928
44929 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44930
44931         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
44932         * modules/d-type (License): Likewise.
44933         * modules/extensions (License): Likewise.
44934         * modules/fnmatch (License): Likewise.
44935         * modules/fseeko (License): Likewise.
44936         * modules/getaddrinfo (License): Likewise.
44937         * modules/getline (License): Likewise.
44938         * modules/getlogin_r (License): Likewise.
44939         * modules/getpass (License): Likewise.
44940         * modules/gettimeofday (License): Likewise.
44941         * modules/glob (License): Likewise.
44942         * modules/inet_ntop (License): Likewise.
44943         * modules/malloc (License): Likewise.
44944         * modules/malloca (License): Likewise.
44945         * modules/memmem (License): Likewise.
44946         * modules/mempcpy (License): Likewise.
44947         * modules/memset (License): Likewise.
44948         * modules/minmax (License): Likewise.
44949         * modules/mktime (License): Likewise.
44950         * modules/netinet_in (License): Likewise.
44951         * modules/pathmax (License): Likewise.
44952         * modules/poll (License): Likewise.
44953         * modules/regex (License): Likewise.
44954         * modules/snprintf (License): Likewise.
44955         * modules/stdbool (License): Likewise.
44956         * modules/stdint (License): Likewise.
44957         * modules/stdio (License): Likewise.
44958         * modules/strcase (License): Likewise.
44959         * modules/strcasestr (License): Likewise.
44960         * modules/strdup (License): Likewise.
44961         * modules/string (License): Likewise.
44962         * modules/strndup (License): Likewise.
44963         * modules/strnlen (License): Likewise.
44964         * modules/strpbrk (License): Likewise.
44965         * modules/strptime (License): Likewise.
44966         * modules/strsep (License): Likewise.
44967         * modules/sys_select (License): Likewise.
44968         * modules/sys_socket (License): Likewise.
44969         * modules/sys_stat (License): Likewise.
44970         * modules/sys_time (License): Likewise.
44971         * modules/time (License): Likewise.
44972         * modules/time_r (License): Likewise.
44973         * modules/timegm (License): Likewise.
44974         * modules/unistd (License): Likewise.
44975         * modules/vsnprintf (License): Likewise.
44976         * modules/wctype (License): Likewise.
44977
44978 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44979
44980         * modules/argz (License): LGPLv2+.
44981
44982 2007-07-15  Karl Berry  <karl@gnu.org>
44983
44984         * doc/gnulib.texi: revise node structure per new fdl.texi.
44985
44986 2007-07-14  Bruno Haible  <bruno@clisp.org>
44987
44988         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
44989         the output file.
44990         * lib/uniname/uninames.h: Regenerated.
44991
44992 2007-07-14  Karl Berry  <karl@gnu.org>
44993
44994         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
44995         omitting sectioning and index commands.
44996
44997 2007-07-13  Bruno Haible  <bruno@clisp.org>
44998
44999         New gnulib-tool option --more-symlinks.
45000         * gnulib-tool (func_usage): Document --more-symlinks.
45001         (do_copyrights): New variable.
45002         Recognize option --more-symlinks.
45003         (func_import): Don't add a copyright notice transform to
45004         sed_transform_lib_file if do_copyrights is empty.
45005
45006 2007-07-13  Bruno Haible  <bruno@clisp.org>
45007
45008         * lib/vasnprintf.c (decimal_point_char): Define also if
45009         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
45010         && !NEED_PRINTF_DIRECTIVE_A.
45011         Reported by Clemens Koller <clemens.koller@anagramm.de> via
45012         Gary V. Vaughan <gary@gnu.org>.
45013
45014 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
45015
45016         * lib/inttypes_.h: Undo previous change, since it was fixed
45017         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
45018
45019 2007-07-13  Bruno Haible  <bruno@clisp.org>
45020
45021         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
45022         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
45023
45024 2007-07-13  Jim Meyering  <jim@meyering.net>
45025
45026         df: Don't fail for Tru64's "file-on-file mount".
45027         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
45028         so we fall through and use statfs instead.  Details here:
45029         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
45030         Reported by Albert Chin.
45031
45032 2007-07-13  Bruno Haible  <bruno@clisp.org>
45033
45034         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
45035         * modules/configmake (License): Likewise.
45036         * modules/gettext (License): Likewise.
45037         * modules/gettext-h (License): Likewise.
45038         * modules/include_next (License): Likewise.
45039         * modules/link-warning (License): Likewise.
45040         * modules/localcharset (License): Likewise.
45041         * modules/localename (License): Likewise.
45042         * modules/lock (License): Likewise.
45043         * modules/relocatable-lib-lgpl (License): Likewise.
45044         * modules/size_max (License): Likewise.
45045         * modules/vasnprintf (License): Likewise.
45046         * modules/wchar (License): Likewise.
45047         * modules/xsize (License): Likewise.
45048
45049 2007-07-13  Bruno Haible  <bruno@clisp.org>
45050
45051         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
45052         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
45053
45054 2007-07-12  Bruno Haible  <bruno@clisp.org>
45055
45056         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
45057         in the modules files.
45058
45059 2007-07-11  Karl Berry  <karl@gnu.org>
45060
45061         * MODULES.html.sh (func_module): use
45062          sed -e '\|^'"${includefile}"'$|d'
45063          instead of /.../d, to avoid errors on $includefile's containing /.
45064
45065 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
45066
45067         * gnulib-tool (func_import): Avoid duplication of --avoid
45068         statements
45069         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
45070         names to `_' in variable names.
45071
45072 2007-07-10  Eric Blake  <ebb9@byu.net>
45073
45074         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
45075         * NEWS: Document this change.
45076
45077 2007-07-08  Bruno Haible  <bruno@clisp.org>
45078
45079         Update to Unicode 5.0.
45080         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
45081         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
45082         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
45083         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
45084         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
45085         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
45086         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
45087         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
45088         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
45089         U+10A3F, U+1D242..U+1D244.
45090         (nonspacing_table_ind): Update.
45091         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
45092         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
45093
45094 2007-07-08  Bruno Haible  <bruno@clisp.org>
45095
45096         Update to Unicode 5.0.
45097         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
45098         code transform. Extend the name index field of unicode_name_to_code and
45099         unicode_code_to_name from 16 to 24 bits.
45100         * lib/uniname/uniname.c (unicode_character_name,
45101         unicode_name_character): Add the range 0x12xxx to the code transform.
45102         * lib/uniname/uninames.h: Regenerated.
45103         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
45104
45105 2007-07-07  Bruno Haible  <bruno@clisp.org>
45106
45107         * modules/wcwidth-tests: New file.
45108         * tests/test-wcwidth.c: New file.
45109
45110         Work around MacOS X wcwidth() bug.
45111         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
45112         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
45113         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
45114         original wcwidth in non-UTF-8 locales.
45115         * modules/wcwidth (Depends-on): Add localcharset, streq,
45116         uniwidth/width.
45117         * doc/functions/wcwidth.texi: Update.
45118
45119 2007-07-07  Bruno Haible  <bruno@clisp.org>
45120
45121         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
45122         (wcwidth): New declaration.
45123         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
45124         macros.
45125         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
45126         here. Prepare for creating <wchar.h> unconditionally.
45127         * modules/wchar (Depends-on): Add link-warning.
45128         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
45129         REPLACE_WCWIDTH, and GL_LINK_WARNING.
45130         * lib/wcwidth.h: Remove file.
45131         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
45132         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
45133         * modules/wcwidth (Files): Remove lib/wcwidth.h.
45134         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
45135         (Include): Replace wcwidth.h with <wchar.h>.
45136         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
45137         * lib/mbchar.h: Don't include wcwidth.h.
45138         * lib/mbswidth.c: Likewise.
45139         * NEWS: Mention the change.
45140
45141 2007-07-07  Bruno Haible  <bruno@clisp.org>
45142
45143         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
45144         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
45145         definition with an external declaration.
45146         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
45147         defined as a function. Remove AC_C_INLINE requirement.
45148         * modules/wcwidth (Files): Add lib/wcwidth.c.
45149         (Makefile.am): Remove redundant statement.
45150
45151 2007-07-07  Bruno Haible  <bruno@clisp.org>
45152
45153         * MODULES.html.sh (Unicode string functions): Add the new modules.
45154
45155         * tests/uniwidth/test-u32-strwidth.c: New file.
45156         * modules/uniwidth/u32-strwidth-tests: New file.
45157
45158         * lib/uniwidth/u32-strwidth.c: New file.
45159         * modules/uniwidth/u32-strwidth: New file.
45160
45161         * tests/uniwidth/test-u16-strwidth.c: New file.
45162         * modules/uniwidth/u16-strwidth-tests: New file.
45163
45164         * lib/uniwidth/u16-strwidth.c: New file.
45165         * modules/uniwidth/u16-strwidth: New file.
45166
45167         * tests/uniwidth/test-u8-strwidth.c: New file.
45168         * modules/uniwidth/u8-strwidth-tests: New file.
45169
45170         * lib/uniwidth/u8-strwidth.c: New file.
45171         * modules/uniwidth/u8-strwidth: New file.
45172
45173         * tests/uniwidth/test-u32-width.c: New file.
45174         * modules/uniwidth/u32-width-tests: New file.
45175
45176         * lib/uniwidth/u32-width.c: New file.
45177         * modules/uniwidth/u32-width: New file.
45178
45179         * tests/uniwidth/test-u16-width.c: New file.
45180         * modules/uniwidth/u16-width-tests: New file.
45181
45182         * lib/uniwidth/u16-width.c: New file.
45183         * modules/uniwidth/u16-width: New file.
45184
45185         * tests/uniwidth/test-u8-width.c: New file.
45186         * modules/uniwidth/u8-width-tests: New file.
45187
45188         * lib/uniwidth/u8-width.c: New file.
45189         * modules/uniwidth/u8-width: New file.
45190
45191         * tests/uniwidth/test-uc_width.c: New file.
45192         * modules/uniwidth/width-tests: New file.
45193
45194         * lib/uniwidth/width.c: New file, from GNU libiconv.
45195         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
45196         * modules/uniwidth/width: New file.
45197
45198         * lib/uniwidth.h: New file, from GNU libiconv.
45199         * modules/uniwidth/base: New file.
45200
45201 2007-07-07  Bruno Haible  <bruno@clisp.org>
45202
45203         * lib/uniname.h: New file, from GNU gettext.
45204         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
45205         * lib/uniname/uninames.h: New file, from GNU gettext.
45206         * lib/uniname/uniname.c: New file, from GNU gettext.
45207         * tests/uniname/test-uninames.sh: New file.
45208         * tests/uniname/test-uninames.c: New file, from GNU gettext.
45209         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
45210         * modules/uniname/base: New file.
45211         * modules/uniname/uniname: New file.
45212         * modules/uniname/uniname-tests: New file.
45213         * MODULES.html.sh (Unicode string functions): Add the new modules.
45214
45215 2007-07-06  Bruno Haible  <bruno@clisp.org>
45216
45217         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
45218
45219 2007-07-06  Bruno Haible  <bruno@clisp.org>
45220
45221         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
45222         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
45223         includes <cygwin/sys_time.h> which includes <sys/select.h> which
45224         include <sys/time.h>.
45225         Reported by Eric Blake.
45226
45227 2007-07-06  Eric Blake  <ebb9@byu.net>
45228
45229         Fix testing canonicalize on cygwin.
45230         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
45231         Revert patch from 2007-06-19.
45232         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
45233         canonicalize module is also in use.
45234         * tests/test-canonicalize.c: New file.
45235         * tests/test-canonicalize.sh: Likewise.
45236         * modules/canonicalize-tests: Likewise.
45237
45238 2007-07-06  Jim Meyering  <jim@meyering.net>
45239
45240         * lib/getugroups.c (getugroups): Detect getgrent failure.
45241         Adjust comment to reflect reality: this function may return -1.
45242
45243 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
45244
45245         * build-aux/bootstrap (TP_URL,get_translations): Update to use
45246         the new TP address.
45247         (usage): Fix typo
45248         (gnulib_mk): New variable.
45249
45250 2007-07-05  Jim Meyering  <jim@meyering.net>
45251
45252         Don't let endgrent clobber errno, no matter how improbable.
45253         * lib/getugroups.c (getugroups): Save and restore errno around
45254         endgrent call.
45255
45256         Close the group DB even when failing with 2^31 or more members.
45257         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
45258
45259 2007-07-04  Jim Meyering  <jim@meyering.net>
45260
45261         * lib/getugroups.h: New file.
45262         * lib/getugroups.c: Include "getugroups.h".
45263         Remove uses of "register" keyword.
45264         Move local variable, "cp", down into scope where used.
45265         Give "username" parameter the "const" attribute.
45266         * modules/getugroups (Files): Add lib/getugroups.h
45267
45268 2007-07-04  Karl Berry  <karl@gnu.org>
45269
45270         * MODULES.html.sh (func_all_modules): Complete rename of
45271         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
45272
45273 2007-07-02  Bruno Haible  <bruno@clisp.org>
45274
45275         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
45276         mode, when inttypes.h comes from gnulib.
45277         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
45278
45279 2007-07-02  Simon Josefsson  <simon@josefsson.org>
45280
45281         * NEWS: Mention lgpl module name change.
45282
45283         * modules/lgpl-2.1: Renamed from lgpl.
45284
45285         * NEWS: Mention gpl module name change.
45286
45287         * modules/gpl-3.0: New file, based on gpl-2.0.
45288
45289         * modules/gpl-2.0: Renamed from gpl.
45290
45291         * modules/gpl: Fix filename, doc/gpl.texi is now found at
45292         doc/gpl-2.0.texi.
45293
45294 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
45295
45296         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
45297         #define __STDC_LIMIT_MACROS temporarily while including
45298         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
45299         Problem reported by Joel E. Denny in
45300         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
45301
45302 2007-07-01  Bruno Haible  <bruno@clisp.org>
45303
45304         * lib/unistdio.h: New file.
45305         * lib/unistdio/u-asnprintf.h: New file.
45306         * lib/unistdio/u-asprintf.h: New file.
45307         * lib/unistdio/u-printf-args.c: New file.
45308         * lib/unistdio/u-printf-args.h: New file.
45309         * lib/unistdio/u-printf-parse.h: New file.
45310         * lib/unistdio/u-snprintf.h: New file.
45311         * lib/unistdio/u-sprintf.h: New file.
45312         * lib/unistdio/u-vasprintf.h: New file.
45313         * lib/unistdio/u-vsnprintf.h: New file.
45314         * lib/unistdio/u-vsprintf.h: New file.
45315         * lib/unistdio/ulc-asnprintf.c: New file.
45316         * lib/unistdio/ulc-asprintf.c: New file.
45317         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
45318         * lib/unistdio/ulc-printf-parse.c: New file.
45319         * lib/unistdio/ulc-snprintf.c: New file.
45320         * lib/unistdio/ulc-sprintf.c: New file.
45321         * lib/unistdio/ulc-vasnprintf.c: New file.
45322         * lib/unistdio/ulc-vasprintf.c: New file.
45323         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
45324         * lib/unistdio/ulc-vsnprintf.c: New file.
45325         * lib/unistdio/ulc-vsprintf.c: New file.
45326         * lib/unistdio/u8-asnprintf.c: New file.
45327         * lib/unistdio/u8-asprintf.c: New file.
45328         * lib/unistdio/u8-printf-parse.c: New file.
45329         * lib/unistdio/u8-snprintf.c: New file.
45330         * lib/unistdio/u8-sprintf.c: New file.
45331         * lib/unistdio/u8-vasnprintf.c: New file.
45332         * lib/unistdio/u8-vasprintf.c: New file.
45333         * lib/unistdio/u8-vsnprintf.c: New file.
45334         * lib/unistdio/u8-vsprintf.c: New file.
45335         * lib/unistdio/u8-u8-asnprintf.c: New file.
45336         * lib/unistdio/u8-u8-asprintf.c: New file.
45337         * lib/unistdio/u8-u8-snprintf.c: New file.
45338         * lib/unistdio/u8-u8-sprintf.c: New file.
45339         * lib/unistdio/u8-u8-vasnprintf.c: New file.
45340         * lib/unistdio/u8-u8-vasprintf.c: New file.
45341         * lib/unistdio/u8-u8-vsnprintf.c: New file.
45342         * lib/unistdio/u8-u8-vsprintf.c: New file.
45343         * lib/unistdio/u16-asnprintf.c: New file.
45344         * lib/unistdio/u16-asprintf.c: New file.
45345         * lib/unistdio/u16-printf-parse.c: New file.
45346         * lib/unistdio/u16-snprintf.c: New file.
45347         * lib/unistdio/u16-sprintf.c: New file.
45348         * lib/unistdio/u16-vasnprintf.c: New file.
45349         * lib/unistdio/u16-vasprintf.c: New file.
45350         * lib/unistdio/u16-vsnprintf.c: New file.
45351         * lib/unistdio/u16-vsprintf.c: New file.
45352         * lib/unistdio/u16-u16-asnprintf.c: New file.
45353         * lib/unistdio/u16-u16-asprintf.c: New file.
45354         * lib/unistdio/u16-u16-snprintf.c: New file.
45355         * lib/unistdio/u16-u16-sprintf.c: New file.
45356         * lib/unistdio/u16-u16-vasnprintf.c: New file.
45357         * lib/unistdio/u16-u16-vasprintf.c: New file.
45358         * lib/unistdio/u16-u16-vsnprintf.c: New file.
45359         * lib/unistdio/u16-u16-vsprintf.c: New file.
45360         * lib/unistdio/u32-asnprintf.c: New file.
45361         * lib/unistdio/u32-asprintf.c: New file.
45362         * lib/unistdio/u32-printf-parse.c: New file.
45363         * lib/unistdio/u32-snprintf.c: New file.
45364         * lib/unistdio/u32-sprintf.c: New file.
45365         * lib/unistdio/u32-vasnprintf.c: New file.
45366         * lib/unistdio/u32-vasprintf.c: New file.
45367         * lib/unistdio/u32-vsnprintf.c: New file.
45368         * lib/unistdio/u32-vsprintf.c: New file.
45369         * lib/unistdio/u32-u32-asnprintf.c: New file.
45370         * lib/unistdio/u32-u32-asprintf.c: New file.
45371         * lib/unistdio/u32-u32-snprintf.c: New file.
45372         * lib/unistdio/u32-u32-sprintf.c: New file.
45373         * lib/unistdio/u32-u32-vasnprintf.c: New file.
45374         * lib/unistdio/u32-u32-vasprintf.c: New file.
45375         * lib/unistdio/u32-u32-vsnprintf.c: New file.
45376         * lib/unistdio/u32-u32-vsprintf.c: New file.
45377         * tests/unistdio/test-ulc-asnprintf1.c: New file.
45378         * tests/unistdio/test-ulc-asnprintf1.h: New file.
45379         * tests/unistdio/test-ulc-printf1.h: New file.
45380         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
45381         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
45382         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
45383         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
45384         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
45385         * tests/unistdio/test-ulc-vasprintf1.c: New file.
45386         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
45387         * tests/unistdio/test-ulc-vsprintf1.c: New file.
45388         * tests/unistdio/test-u8-asnprintf1.c: New file.
45389         * tests/unistdio/test-u8-asnprintf1.h: New file.
45390         * tests/unistdio/test-u8-printf1.h: New file.
45391         * tests/unistdio/test-u8-vasnprintf1.c: New file.
45392         * tests/unistdio/test-u8-vasnprintf2.c: New file.
45393         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
45394         * tests/unistdio/test-u8-vasnprintf3.c: New file.
45395         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
45396         * tests/unistdio/test-u8-vasprintf1.c: New file.
45397         * tests/unistdio/test-u8-vsnprintf1.c: New file.
45398         * tests/unistdio/test-u8-vsprintf1.c: New file.
45399         * tests/unistdio/test-u16-asnprintf1.c: New file.
45400         * tests/unistdio/test-u16-asnprintf1.h: New file.
45401         * tests/unistdio/test-u16-printf1.h: New file.
45402         * tests/unistdio/test-u16-vasnprintf1.c: New file.
45403         * tests/unistdio/test-u16-vasnprintf2.c: New file.
45404         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
45405         * tests/unistdio/test-u16-vasnprintf3.c: New file.
45406         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
45407         * tests/unistdio/test-u16-vasprintf1.c: New file.
45408         * tests/unistdio/test-u16-vsnprintf1.c: New file.
45409         * tests/unistdio/test-u16-vsprintf1.c: New file.
45410         * tests/unistdio/test-u32-asnprintf1.c: New file.
45411         * tests/unistdio/test-u32-asnprintf1.h: New file.
45412         * tests/unistdio/test-u32-printf1.h: New file.
45413         * tests/unistdio/test-u32-vasnprintf1.c: New file.
45414         * tests/unistdio/test-u32-vasnprintf2.c: New file.
45415         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
45416         * tests/unistdio/test-u32-vasnprintf3.c: New file.
45417         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
45418         * tests/unistdio/test-u32-vasprintf1.c: New file.
45419         * tests/unistdio/test-u32-vsnprintf1.c: New file.
45420         * tests/unistdio/test-u32-vsprintf1.c: New file.
45421         * modules/unistdio/base: New file.
45422         * modules/unistdio/u-printf-args: New file.
45423         * modules/unistdio/ulc-asnprintf: New file.
45424         * modules/unistdio/ulc-asprintf: New file.
45425         * modules/unistdio/ulc-fprintf: New file.
45426         * modules/unistdio/ulc-printf-parse: New file.
45427         * modules/unistdio/ulc-snprintf: New file.
45428         * modules/unistdio/ulc-sprintf: New file.
45429         * modules/unistdio/ulc-vasnprintf: New file.
45430         * modules/unistdio/ulc-vasprintf: New file.
45431         * modules/unistdio/ulc-vfprintf: New file.
45432         * modules/unistdio/ulc-vsnprintf: New file.
45433         * modules/unistdio/ulc-vsprintf: New file.
45434         * modules/unistdio/u8-asnprintf: New file.
45435         * modules/unistdio/u8-asprintf: New file.
45436         * modules/unistdio/u8-printf-parse: New file.
45437         * modules/unistdio/u8-snprintf: New file.
45438         * modules/unistdio/u8-sprintf: New file.
45439         * modules/unistdio/u8-vasnprintf: New file.
45440         * modules/unistdio/u8-vasprintf: New file.
45441         * modules/unistdio/u8-vsnprintf: New file.
45442         * modules/unistdio/u8-vsprintf: New file.
45443         * modules/unistdio/u8-u8-asnprintf: New file.
45444         * modules/unistdio/u8-u8-asprintf: New file.
45445         * modules/unistdio/u8-u8-snprintf: New file.
45446         * modules/unistdio/u8-u8-sprintf: New file.
45447         * modules/unistdio/u8-u8-vasnprintf: New file.
45448         * modules/unistdio/u8-u8-vasprintf: New file.
45449         * modules/unistdio/u8-u8-vsnprintf: New file.
45450         * modules/unistdio/u8-u8-vsprintf: New file.
45451         * modules/unistdio/u16-asnprintf: New file.
45452         * modules/unistdio/u16-asprintf: New file.
45453         * modules/unistdio/u16-printf-parse: New file.
45454         * modules/unistdio/u16-snprintf: New file.
45455         * modules/unistdio/u16-sprintf: New file.
45456         * modules/unistdio/u16-vasnprintf: New file.
45457         * modules/unistdio/u16-vasprintf: New file.
45458         * modules/unistdio/u16-vsnprintf: New file.
45459         * modules/unistdio/u16-vsprintf: New file.
45460         * modules/unistdio/u16-u16-asnprintf: New file.
45461         * modules/unistdio/u16-u16-asprintf: New file.
45462         * modules/unistdio/u16-u16-snprintf: New file.
45463         * modules/unistdio/u16-u16-sprintf: New file.
45464         * modules/unistdio/u16-u16-vasnprintf: New file.
45465         * modules/unistdio/u16-u16-vasprintf: New file.
45466         * modules/unistdio/u16-u16-vsnprintf: New file.
45467         * modules/unistdio/u16-u16-vsprintf: New file.
45468         * modules/unistdio/u32-asnprintf: New file.
45469         * modules/unistdio/u32-asprintf: New file.
45470         * modules/unistdio/u32-printf-parse: New file.
45471         * modules/unistdio/u32-snprintf: New file.
45472         * modules/unistdio/u32-sprintf: New file.
45473         * modules/unistdio/u32-vasnprintf: New file.
45474         * modules/unistdio/u32-vasprintf: New file.
45475         * modules/unistdio/u32-vsnprintf: New file.
45476         * modules/unistdio/u32-vsprintf: New file.
45477         * modules/unistdio/u32-u32-asnprintf: New file.
45478         * modules/unistdio/u32-u32-asprintf: New file.
45479         * modules/unistdio/u32-u32-snprintf: New file.
45480         * modules/unistdio/u32-u32-sprintf: New file.
45481         * modules/unistdio/u32-u32-vasnprintf: New file.
45482         * modules/unistdio/u32-u32-vasprintf: New file.
45483         * modules/unistdio/u32-u32-vsnprintf: New file.
45484         * modules/unistdio/u32-u32-vsprintf: New file.
45485         * modules/unistdio/ulc-asnprintf-tests: New file.
45486         * modules/unistdio/ulc-vasnprintf-tests: New file.
45487         * modules/unistdio/ulc-vasprintf-tests: New file.
45488         * modules/unistdio/ulc-vsnprintf-tests: New file.
45489         * modules/unistdio/ulc-vsprintf-tests: New file.
45490         * modules/unistdio/u8-asnprintf-tests: New file.
45491         * modules/unistdio/u8-vasnprintf-tests: New file.
45492         * modules/unistdio/u8-vasprintf-tests: New file.
45493         * modules/unistdio/u8-vsnprintf-tests: New file.
45494         * modules/unistdio/u8-vsprintf-tests: New file.
45495         * modules/unistdio/u16-asnprintf-tests: New file.
45496         * modules/unistdio/u16-vasnprintf-tests: New file.
45497         * modules/unistdio/u16-vasprintf-tests: New file.
45498         * modules/unistdio/u16-vsnprintf-tests: New file.
45499         * modules/unistdio/u16-vsprintf-tests: New file.
45500         * modules/unistdio/u32-asnprintf-tests: New file.
45501         * modules/unistdio/u32-vasnprintf-tests: New file.
45502         * modules/unistdio/u32-vasprintf-tests: New file.
45503         * modules/unistdio/u32-vsnprintf-tests: New file.
45504         * modules/unistdio/u32-vsprintf-tests: New file.
45505         * MODULES.html.sh (Unicode string functions): Add the new modules.
45506
45507 2007-07-01  Bruno Haible  <bruno@clisp.org>
45508
45509         * lib/sprintf.c (sprintf): Limit the available length estimation,
45510         to avoid address wraparound.
45511         * lib/vsprintf.c (vsprintf): Likewise.
45512         * modules/sprintf-posix (Dependencies): Add stdint.
45513         * modules/vsprintf-posix (Dependencies): Likewise.
45514
45515 2007-07-01  Bruno Haible  <bruno@clisp.org>
45516
45517         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
45518         Windows PATH as well. Conservative double-quoting. Comments.
45519
45520 2007-07-01  Bruno Haible  <bruno@clisp.org>
45521             Eric Blake  <ebb9@byu.net>
45522             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45523
45524         * gnulib-tool (self_abspathname): Fix algorithm to cope with
45525         empty components in $PATH, denoting '.'.
45526
45527 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45528
45529         * gnulib-tool: Fix indentation.
45530         (func_create_megatestdir): Likewise.
45531         Report by Bruno Haible.
45532
45533 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45534
45535         Sync from Automake.
45536         * build-aux/gnupload: Fix shell portability issues with for loops.
45537         Report by Karl Berry.
45538
45539 2007-06-29  Simon Josefsson  <simon@josefsson.org>
45540
45541         * build-aux/maint.mk (POURL): Use translationproject.org.
45542
45543 2007-06-27  Simon Josefsson  <simon@josefsson.org>
45544             Bruno Haible  <bruno@clisp.org>
45545
45546         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
45547         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
45548         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
45549         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
45550         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
45551
45552 2007-06-27  Bruno Haible  <bruno@clisp.org>
45553
45554         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
45555         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
45556
45557 2007-06-26  Karl Berry  <karl@gnu.org>
45558
45559         * MODULES.html.sh: remove xreadlink-with-size.
45560
45561 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
45562
45563         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
45564         method that I hope also handles the double-include problem noted
45565         by Bruno Haible in
45566         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
45567
45568 2007-06-23  Bruno Haible  <bruno@clisp.org>
45569
45570         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45571         Don't let the 'mostlyclean' target fail if the last subdirectory could
45572         not be removed.
45573         Reported by Karl Berry.
45574
45575 2007-06-23  Bruno Haible  <bruno@clisp.org>
45576
45577         * gnulib-tool (echo): Add a speedier workaround for ksh.
45578         * tests/test-echo.sh: Likewise.
45579
45580 2007-06-23  Bruno Haible  <bruno@clisp.org>
45581
45582         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
45583         * tests/test-echo.sh: Likewise.
45584
45585 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45586
45587         * gnulib-tool (IFS): Initialize early, so we don't set it to
45588         empty later.
45589         (self_abspathname): Rewrite algorithm to set it, reindent.
45590         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
45591         (func_create_megatestdir): Merge some sed scripts.
45592
45593 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
45594
45595         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
45596         exposed by Sun Studio 11 cc on Solaris 8.
45597
45598 2007-06-22  Bruno Haible  <bruno@clisp.org>
45599
45600         * gnulib-tool (echo): Ensure the echo primitive does not interpret
45601         backslashes.
45602         * tests/test-echo.sh: New file.
45603
45604 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45605
45606         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
45607         simplify `sed_replace_build_aux' scripts, they are portable but
45608         echoing them with `echo' is not.
45609         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
45610
45611 2007-06-21  Karl Berry  <karl@gnu.org>
45612
45613         * config/srclist.txt: guess we can't handle the licenses via
45614         srclist at the moment.
45615
45616 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
45617
45618         * MODULES.html.sh: Add include_next.
45619         * modules/include_next: New file.
45620
45621 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
45622
45623         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
45624         INCLUDE_NEXT.
45625         (gl_CHECK_NEXT_HEADERS): New macro.
45626         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
45627         the obsolescent gl_ABSOLUTE_HEADER.
45628         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
45629         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
45630         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
45631         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
45632         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
45633         * m4/math_h.m4 (gl_MATH_H): Likewise.
45634         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
45635         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
45636         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
45637         * m4/stdint.m4 (gl_STDINT_H): Likewise.
45638         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
45639         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
45640         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
45641         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
45642         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
45643         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
45644         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
45645         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
45646         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
45647         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
45648         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
45649         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
45650         * m4/inttypes.m4 (gl_INTTYPES_H): Define
45651         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
45652         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
45653         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
45654         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
45655         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
45656         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
45657         * lib/float_.h: Likewise.
45658         * lib/inttypes_.h: Likewise.
45659         * lib/math_.h: Likewise.
45660         * lib/search_.h: Likewise.
45661         * lib/signal_.h: Likewise.
45662         * lib/stdint_.h: Likewise.
45663         * lib/stdio_.h: Likewise.
45664         * lib/stdlib_.h: Likewise.
45665         * lib/string_.h: Likewise.
45666         * lib/sys_stat_.h: Likewise.
45667         * lib/sys_time_.h: Likewise.
45668         * lib/time_.h: Likewise.
45669         * lib/unistd_.h: Likewise.
45670         * lib/wchar_.h: Likewise.
45671         * lib/wctype_.h: Likewise.
45672         * lib/dirent_.h: Likewise.
45673         * lib/iconv_.h: Likewise.
45674         * lib/locale_.h: Likewise.
45675         * lib/netinet_in_.h: Likewise.
45676         * lib/sys_select_.h: Likewise.
45677         * lib/sys_socket_.h: Likewise.
45678         * lib/sysexits_.h: Likewise.
45679         * modules/fcntl (Depends-on): Depend on include_next, not
45680         absolute_header.
45681         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
45682         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
45683         * modules/fchdir: Likewise.
45684         * modules/float: Likewise.
45685         * modules/iconv_open: Likewise.
45686         * modules/inttypes: Likewise.
45687         * modules/locale: Likewise.
45688         * modules/math: Likewise.
45689         * modules/netinet_in: Likewise.
45690         * modules/search: Likewise.
45691         * modules/signal: Likewise.
45692         * modules/stdint: Likewise.
45693         * modules/stdio: Likewise.
45694         * modules/stdlib: Likewise.
45695         * modules/string: Likewise.
45696         * modules/sys_select: Likewise.
45697         * modules/sys_socket: Likewise.
45698         * modules/sys_stat: Likewise.
45699         * modules/sys_time: Likewise.
45700         * modules/sysexits: Likewise.
45701         * modules/time: Likewise.
45702         * modules/unistd: Likewise.
45703         * modules/wchar: Likewise.
45704         * modules/wctype: Likewise.
45705         * modules/sys_stat: Change maintainer to "all".
45706         * modules/unistd: Likewise.
45707
45708 2007-06-20  Karl Berry  <karl@gnu.org>
45709
45710         * config/srclist.txt: track www changes in license files.
45711
45712 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
45713
45714         * build-aux/bootstrap: Remove stray dot.
45715         Make sure build_aux settings are honored when linking
45716         gnulib_extra_files.
45717
45718 2007-06-19  Eric Blake  <ebb9@byu.net>
45719
45720         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
45721         Allow compilation on cygwin.
45722
45723 2007-06-19  Jim Meyering  <jim@meyering.net>
45724
45725         xreadlink-with-size: Remove module.  No longer used.
45726         Ex-callers now use xreadlink or mreadlink-with-size.
45727         * modules/xreadlink-with-size: Remove module.
45728         * lib/xreadlink-with-size.c: Remove file.
45729         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
45730         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
45731         just before the function definition *is* accurate.
45732
45733         Eliminate one way canonicalize_filename_mode could exit.
45734         * lib/canonicalize.c (canonicalize_filename_mode):
45735         Use mreadlink_with_size, not xreadlink_with_size.
45736
45737 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
45738
45739         Detect porting problems to FreeBSD/arm, which has time_t wider than
45740         long int.  Original problem reported for GNU diff by Xin Li in
45741         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
45742         * modules/getdate (Depends-on): Add intprops, verify.
45743         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
45744         is an integer type no wider than long int.
45745
45746 2007-06-18  Jim Meyering  <jim@meyering.net>
45747
45748         New module: mreadlink-with-size.
45749         * MODULES.html.sh: Add mreadlink-with-size.
45750         * modules/mreadlink-with-size: New module
45751         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
45752         not xreadlink-with-size.
45753         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
45754
45755 2007-06-16  Bruno Haible  <bruno@clisp.org>
45756
45757         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
45758         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
45759         Reported by Gary V. Vaughan <gary@gnu.org>.
45760
45761 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
45762
45763         Revamp lchown so that it lives in unistd.h where it belongs.
45764         * lib/lchown.h: Remove.
45765         * lib/dirchownmod.c: Don't include lib/lchown.h.
45766         * lib/fchownat.c: Likewise.
45767         * lib/openat.c: Likewise.
45768         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
45769         does not follow symlinks.
45770         (EOPNOTSUPP): Define if not defined.
45771         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
45772         is defined to 0.
45773         (lchown): New decl.
45774         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
45775         Do not check for lchown decl.
45776         Set REPLACE_LCHOWN.
45777         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
45778         REPLACE_LCHOWN.
45779         * modules/chown: Make it clear it follows symlinks.
45780         * modules/lchown: Make it clear it doesn't follow symlinks.
45781         (Files): Remove lib/lchown.h
45782         (Depends-on): Add unistd.
45783         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
45784         (Include): Include <unistd.h>, not "lchown.h".
45785         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
45786         REPLACE_LCHOWN.
45787
45788 2007-06-15  Jim Meyering  <jim@meyering.net>
45789
45790         Change license (GPL to LGPL) of fsusage and dependents.
45791         * modules/fsusage (License): Change to LGPL.
45792         * modules/full-read (License): Likewise.
45793         * modules/full-write (License): Likewise.
45794         * modules/safe-read (License): Likewise.
45795         * modules/safe-write (License): Likewise.
45796
45797 2007-06-14  Ben Pfaff  <blp@gnu.org>
45798
45799         Missing part of allocsa -> malloca transition.
45800         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
45801         gl_MALLOCA.
45802
45803 2007-06-12  Bruno Haible  <bruno@clisp.org>
45804
45805         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
45806         to ia64, x86_64, i386.
45807         Reported by Eric Blake.
45808
45809 2007-06-12  Bruno Haible  <bruno@clisp.org>
45810
45811         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
45812         cross-compiling to x86_64.
45813
45814 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
45815
45816         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
45817         glitch reported by Ralf Wildenhues in
45818         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
45819
45820         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
45821         Vin Shelton.
45822
45823 2007-06-11  Bruno Haible  <bruno@clisp.org>
45824
45825         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
45826         replacement string.
45827         Reported by Eric Blake.
45828
45829 2007-06-10  Bruno Haible  <bruno@clisp.org>
45830
45831         Prepare vasnprintf code for use with Unicode strings.
45832         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
45833         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
45834         TYPE_U32_STRING.
45835         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
45836         a_u32_string variants.
45837         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
45838         * lib/printf-args.c: Don't include config.h and the specification
45839         header if PRINTF_FETCHARGS is already defined.
45840         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
45841         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
45842         TYPE_U16_STRING, TYPE_U32_STRING.
45843         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
45844         u16_directive, u16_directives, u32_directive, u32_directives): New
45845         types.
45846         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
45847         New declarations.
45848         * lib/printf-parse.c: Don't include config.h and the specification
45849         header if PRINTF_PARSE is already defined. Eliminate the set of
45850         parameters for WIDE_CHAR_VERSION; the user of this file must provide
45851         them now. Include c-ctype.h.
45852         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
45853         directive and CHAR_T_ONLY_ASCII.
45854         * lib/vasnprintf.c: Don't include config.h and the specification header
45855         if VASNPRINTF is already defined.
45856         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
45857         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
45858         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
45859         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
45860         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
45861         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
45862         code accordingly.
45863         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
45864         pad_ourselves also in this case, with the 'c' and 's' directives, and
45865         with a different notion of "width".
45866         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
45867
45868 2007-06-10  Bruno Haible  <bruno@clisp.org>
45869
45870         * modules/unistr/u32-mbsnlen: New file.
45871         * lib/unistr/u32-mbsnlen.c: New file.
45872
45873         * modules/unistr/u16-mbsnlen: New file.
45874         * lib/unistr/u16-mbsnlen.c: New file.
45875
45876         * modules/unistr/u8-mbsnlen: New file.
45877         * lib/unistr/u8-mbsnlen.c: New file.
45878
45879         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
45880         declarations.
45881
45882 2007-06-10  Bruno Haible  <bruno@clisp.org>
45883
45884         * lib/string_.h (mbsnlen): New declaration.
45885         * lib/mbsnlen.c: New file.
45886         * m4/mbsnlen.m4: New file.
45887         * modules/mbsnlen: New file.
45888         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
45889         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
45890         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
45891
45892 2007-06-10  Bruno Haible  <bruno@clisp.org>
45893
45894         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
45895
45896 2007-06-10  Bruno Haible  <bruno@clisp.org>
45897
45898         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
45899         * lib/mbuiter.h: Likewise.
45900
45901 2007-06-10  Bruno Haible  <bruno@clisp.org>
45902
45903         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
45904         declaration.
45905
45906 2007-06-10  Karl Berry  <karl@gnu.org>
45907
45908         * config/srclist.txt: remove gettext entries, Bruno prefers
45909         to update individually.
45910
45911 2007-06-10  Bruno Haible  <bruno@clisp.org>
45912
45913         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
45914         'maxlen'. Ensure only length + width bytes are allocated, not
45915         length + 1 + width.
45916
45917 2007-06-09  Bruno Haible  <bruno@clisp.org>
45918
45919         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
45920         (CHAR_T): Remove macro.
45921         (VASNPRINTF): Update.
45922
45923 2007-06-09  Bruno Haible  <bruno@clisp.org>
45924
45925         * MODULES.html.sh (Unicode string functions): Add the new modules.
45926
45927         * modules/uniconv/u32-conv-to-enc: New file.
45928         * lib/uniconv/u32-conv-to-enc.c: New file.
45929         * modules/uniconv/u32-conv-to-enc-tests: New file.
45930         * tests/uniconv/test-u32-conv-to-enc.c: New file.
45931
45932         * modules/uniconv/u16-conv-to-enc: New file.
45933         * lib/uniconv/u16-conv-to-enc.c: New file.
45934         * lib/uniconv/u-conv-to-enc.h: New file.
45935         * modules/uniconv/u16-conv-to-enc-tests: New file.
45936         * tests/uniconv/test-u16-conv-to-enc.c: New file.
45937
45938         * modules/uniconv/u8-conv-to-enc: New file.
45939         * lib/uniconv/u8-conv-to-enc.c: New file.
45940         * modules/uniconv/u8-conv-to-enc-tests: New file.
45941         * tests/uniconv/test-u8-conv-to-enc.c: New file.
45942
45943         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
45944         u32_conv_to_encoding): New declarations.
45945
45946 2007-06-09  Bruno Haible  <bruno@clisp.org>
45947
45948         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
45949
45950 2007-06-09  Bruno Haible  <bruno@clisp.org>
45951
45952         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
45953         * modules/malloca: Renamed from modules/allocsa, updated.
45954         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
45955         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
45956         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
45957         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
45958         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
45959         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
45960         * modules/xmalloca: Renamed from modules/xallocsa, updated.
45961         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
45962         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
45963         * modules/c-strcasestr (Depends-on): Update.
45964         * lib/c-strcasestr.c: Update.
45965         * modules/c-strstr (Depends-on): Update.
45966         * lib/c-strstr.c: Update.
45967         * modules/canonicalize-lgpl (Depends-on): Update.
45968         * lib/canonicalize-lgpl.c: Update.
45969         * modules/clean-temp (Depends-on): Update.
45970         * lib/clean-temp.c: Update.
45971         * modules/csharpcomp (Depends-on): Update.
45972         * lib/csharpcomp.c: Update.
45973         * modules/csharpexec (Depends-on): Update.
45974         * lib/csharpexec.c: Update.
45975         * modules/javacomp (Depends-on): Update.
45976         * lib/javacomp.c: Update.
45977         * modules/javaexec (Depends-on): Update.
45978         * lib/javaexec.c: Update.
45979         * modules/mbscasestr (Depends-on): Update.
45980         * lib/mbscasestr.c: Update.
45981         * modules/mbsstr (Depends-on): Update.
45982         * lib/mbsstr.c: Update.
45983         * modules/setenv (Depends-on): Update.
45984         * lib/setenv.c: Update.
45985         * modules/strcasestr (Depends-on): Update.
45986         * lib/strcasestr.c: Update.
45987         * modules/striconveha (Depends-on): Update.
45988         * lib/striconveha.c: Update.
45989         * modules/relocatable-prog-wrapper (Files): Update.
45990         * lib/relocwrapper.c: Update.
45991         * build-aux/install-reloc: Update.
45992         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
45993
45994 2007-06-08  Bruno Haible  <bruno@clisp.org>
45995
45996         Port to uClibc.
45997         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
45998         * lib/fpurge.c (fpurge): Likewise.
45999         * lib/freading.c (freading): Likewise.
46000         * lib/fseeko.c (rpl_fseeko): Likewise.
46001         * lib/fseterr.c (fseterr): Likewise.
46002         * lib/fwriting.c (fwriting): Likewise.
46003         * tests/test-fflush.c (main): Avoid a failure on uClibc.
46004
46005 2007-06-08  Bruno Haible  <bruno@clisp.org>
46006
46007         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
46008         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
46009         * modules/gettext (Files): Add m4/intlmacosx.m4.
46010
46011 2007-06-07  Bruno Haible  <bruno@clisp.org>
46012
46013         * modules/localename-tests: New file.
46014         * tests/test-localename.c: New file.
46015
46016         New module 'localename'.
46017         * lib/localename.h: New file.
46018         * lib/localename.c: New file, from GNU gettext.
46019         * m4/localename.m4: New file.
46020         * modules/localename: New file.
46021
46022 2007-06-07  Bruno Haible  <bruno@clisp.org>
46023
46024         Work around the lack of <wchar.h> on some builds of uClibc.
46025         * doc/headers/wchar.texi: Update.
46026         * lib/wchar_.h: Include <wchar.h> only if it exists.
46027         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
46028         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
46029         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
46030         doesn't exist.
46031         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
46032         * modules/mbfile (Depends-on): Add wchar.
46033         * modules/mbiter (Depends-on): Likewise.
46034         * modules/mbuiter (Depends-on): Likewise.
46035         Reported by Simon Josefsson.
46036
46037 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
46038
46039         Work around problem reported by Steven M. Schweda in
46040         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
46041         Tru64 5.1B with the Compaq compiler environment installed declares
46042         an 'isblank' function but does not define it in the C library.
46043         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
46044         * lib/regex_internal.h (isblank): Likewise.
46045         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
46046         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
46047
46048 2007-06-05  Bruno Haible  <bruno@clisp.org>
46049
46050         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
46051         ia64.
46052         * modules/printf-safe: New file.
46053         * modules/fprintf-posix (Depends-on): Add printf-safe.
46054         * modules/printf-posix (Depends-on): Likewise.
46055         * modules/snprintf-posix (Depends-on): Likewise.
46056         * modules/sprintf-posix (Depends-on): Likewise.
46057         * modules/vasnprintf-posix (Depends-on): Likewise.
46058         * modules/vasprintf-posix (Depends-on): Likewise.
46059         * modules/vfprintf-posix (Depends-on): Likewise.
46060         * modules/vprintf-posix (Depends-on): Likewise.
46061         * modules/vsnprintf-posix (Depends-on): Likewise.
46062         * modules/vsprintf-posix (Depends-on): Likewise.
46063         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
46064         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
46065         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
46066         "no" on i386, x86_64, ia64.
46067         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
46068         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
46069         on i386, x86_64, ia64.
46070         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
46071         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
46072         on i386, x86_64, ia64.
46073         * tests/test-vasnprintf-posix.c: Include float.h.
46074         (LDBL80_WORDS): New macro.
46075         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
46076         on i386, x86_64, ia64.
46077         * tests/test-vasprintf-posix.c: Include float.h.
46078         (LDBL80_WORDS): New macro.
46079         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
46080         on i386, x86_64, ia64.
46081         * tests/test-snprintf-posix.c: Include float.h.
46082         * tests/test-sprintf-posix.c: Likewise.
46083         * tests/test-vsnprintf-posix.c: Likewise.
46084         * tests/test-vsprintf-posix.c: Likewise.
46085
46086 2007-06-05  Bruno Haible  <bruno@clisp.org>
46087
46088         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
46089         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
46090         non-IEEE numbers on i386, x86_64, ia64.
46091         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
46092         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
46093         * tests/test-isnanl.h: Include float.h.
46094         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
46095
46096 2007-06-05  Bruno Haible  <bruno@clisp.org>
46097
46098         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
46099         also the %a / %A. Handle the %a / %A code before this extra handling.
46100
46101 2007-06-05  Bruno Haible  <bruno@clisp.org>
46102
46103         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
46104         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
46105
46106 2007-06-05  Bruno Haible  <bruno@clisp.org>
46107
46108         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
46109         typo in variable name.
46110
46111 2007-06-05  Eric Blake  <ebb9@byu.net>
46112
46113         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
46114         Reported by Simon Josefsson.
46115
46116 2007-06-04  Bruno Haible  <bruno@clisp.org>
46117
46118         Avoid test failures on some PowerPC platforms.
46119         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
46120         Define differently for PowerPC.
46121         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
46122         Reported by Gary V. Vaughan <gary@gnu.org>.
46123
46124 2007-06-02  Bruno Haible  <bruno@clisp.org>
46125
46126         Fix test-stdint failure on FreeBSD/ia64.
46127         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
46128         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
46129         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
46130         * doc/headers/stdint.texi: Update.
46131
46132 2007-06-01  Bruno Haible  <bruno@clisp.org>
46133
46134         * tests/test-binary-io.c (main): Pass a third argument to open().
46135         Reported by Gary V. Vaughan <gary@gnu.org>.
46136
46137 2007-06-01  Bruno Haible  <bruno@clisp.org>
46138
46139         * doc/functions/frexpl.texi: Update for mingw.
46140
46141 2007-06-01  Bruno Haible  <bruno@clisp.org>
46142
46143         * tests/test-lseek.c (main): Disable test of errno for invalid third
46144         argument.
46145         * doc/functions/lseek.texi: Update.
46146         Reported by Gary V. Vaughan <gary@gnu.org>.
46147
46148 2007-05-28  Bruno Haible  <bruno@clisp.org>
46149
46150         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
46151
46152 2007-05-31  Eric Blake  <ebb9@byu.net>
46153
46154         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
46155         cross compiling.
46156
46157 2007-05-30  Eric Blake  <ebb9@byu.net>
46158         and Bruno Haible  <bruno@clisp.org>
46159
46160         Work around mingw test failures exposed by m4-1.4.9b.
46161         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
46162         * tests/test-unistd.c: Disable uid_t and git_t tests for the
46163         moment.
46164
46165 2007-05-30  Bruno Haible  <bruno@clisp.org>
46166
46167         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
46168         assuming that they are closed. Needed on HP-UX 11.
46169
46170 2007-05-29  Bruno Haible  <bruno@clisp.org>
46171
46172         Fix a problem with #include_next.
46173         * lib/dirent_.h: Split the double-inclusion guard.
46174         * lib/fcntl_.h: Likewise.
46175         * lib/float_.h: Likewise.
46176         * lib/iconv_.h: Likewise.
46177         * lib/inttypes_.h: Likewise.
46178         * lib/locale_.h: Likewise.
46179         * lib/math_.h: Likewise.
46180         * lib/netinet_in_.h: Likewise.
46181         * lib/search_.h: Likewise.
46182         * lib/signal_.h: Likewise.
46183         * lib/stdint_.h: Likewise.
46184         * lib/stdio_.h: Likewise.
46185         * lib/stdlib_.h: Likewise.
46186         * lib/string_.h: Likewise.
46187         * lib/sys_select_.h: Likewise.
46188         * lib/sys_socket_.h: Likewise.
46189         * lib/sys_stat_.h: Likewise.
46190         * lib/sys_time_.h: Likewise.
46191         * lib/sysexits_.h: Likewise.
46192         * lib/time_.h: Likewise.
46193         * lib/unistd_.h: Likewise.
46194         * lib/wchar_.h: Likewise.
46195         * lib/wctype_.h: Likewise.
46196
46197 2007-05-29  Bruno Haible  <bruno@clisp.org>
46198
46199         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
46200         for the moment.
46201
46202 2007-05-29  Bruno Haible  <bruno@clisp.org>
46203
46204         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
46205         invocation.
46206         Reported by Eric Blake.
46207
46208 2007-05-29  Bruno Haible  <bruno@clisp.org>
46209
46210         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
46211         compiling case.
46212
46213 2007-05-29  Eric Blake  <ebb9@byu.net>
46214             Bruno Haible  <bruno@clisp.org>
46215
46216         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
46217         cross compiles.
46218
46219 2007-05-28  Eric Blake  <ebb9@byu.net>
46220
46221         * modules/closein-tests (test_closein_LDADD): Support test on
46222         cygwin with libtool.
46223
46224 2007-05-28  Bruno Haible  <bruno@clisp.org>
46225
46226         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
46227         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
46228         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
46229         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
46230         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
46231         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
46232         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
46233         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
46234         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
46235
46236 2007-05-28  Eric Blake  <ebb9@byu.net>
46237
46238         Unconditionally include <config.h> in unit tests.
46239         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
46240         * tests/test-allocsa.c, tests/test-arcfour.c,
46241         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
46242         tests/test-array_list.c, tests/test-array_oset.c,
46243         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
46244         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
46245         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
46246         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
46247         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
46248         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
46249         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
46250         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
46251         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
46252         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
46253         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
46254         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
46255         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
46256         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
46257         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
46258         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
46259         test-md5.c, test-memmem.c, test-printf-posix.c,
46260         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
46261         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
46262         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
46263         test-strcasestr.c, test-striconv.c, test-striconveh.c,
46264         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
46265         test-vasnprintf-posix2.c, test-vasnprintf.c,
46266         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
46267         test-vfprintf-posix.c, test-vprintf-posix.c,
46268         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
46269         test-xvasprintf.c: Likewise.
46270
46271 2007-05-28  Bruno Haible  <bruno@clisp.org>
46272
46273         * gnulib-tool (func_import): Remember the --with-tests command-line
46274         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
46275         Reported by Eric Blake.
46276
46277 2007-05-28  Bruno Haible  <bruno@clisp.org>
46278
46279         * modules/ftell-tests: New file.
46280         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
46281         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
46282
46283         * lib/ftell.c: New file.
46284         * modules/ftell: New file.
46285         * m4/ftell.m4: New file.
46286         * doc/functions/ftell.texi: Update.
46287         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
46288         REPLACE_FTELL.
46289         * lib/stdio_.h (rpl_ftell): New declaration.
46290         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
46291         REPLACE_FTELL.
46292
46293 2007-05-28  Eric Blake  <ebb9@byu.net>
46294
46295         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
46296
46297 2007-05-28  Bruno Haible  <bruno@clisp.org>
46298
46299         * modules/fseek-tests: New file.
46300         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
46301         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
46302
46303         * lib/fseek.c: New file.
46304         * modules/fseek: New file.
46305         * m4/fseek.m4: New file.
46306         * doc/functions/fseek.texi: Update.
46307         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
46308         REPLACE_FSEEK.
46309         * lib/stdio_.h (rpl_fseek): New declaration.
46310         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
46311         REPLACE_FSEEK.
46312
46313 2007-05-28  Bruno Haible  <bruno@clisp.org>
46314
46315         * lib/stdio_.h (fflush): More comments.
46316
46317 2007-05-28  Bruno Haible  <bruno@clisp.org>
46318
46319         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
46320         runtime test.
46321
46322 2007-05-28  Eric Blake  <ebb9@byu.net>
46323
46324         Improve lseek module.
46325         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
46326         * lib/unistd_.h (lseek): Scale back link warning message.
46327         * tests/test-lseek.c: Beef up test.
46328         * tests/test-lseek.sh: Exercise more facets of lseek.
46329         Reported by Bruno Haible.
46330
46331 2007-05-28  Bruno Haible  <bruno@clisp.org>
46332
46333         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
46334         to define.
46335
46336 2007-05-27  Bruno Haible  <bruno@clisp.org>
46337
46338         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
46339
46340 2007-05-27  Bruno Haible  <bruno@clisp.org>
46341
46342         * modules/openmp: New file.
46343         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
46344         Noah Misch.
46345
46346 2007-05-26  Bruno Haible  <bruno@clisp.org>
46347
46348         * modules/chdir-long (Depends-on): Add fchdir.
46349         * modules/chdir-safer (Depends-on): Likewise.
46350         * modules/fts (Depends-on): Likewise.
46351         * modules/fts-lgpl (Depends-on): Likewise.
46352         * modules/openat (Depends-on): Likewise.
46353         * modules/savewd (Depends-on): Likewise.
46354
46355 2007-05-24  Eric Blake  <ebb9@byu.net>
46356
46357         Fix lseek on mingw.
46358         * modules/lseek: New module.
46359         * m4/lseek.m4: New file.
46360         * lib/lseek.c: New file.
46361         * modules/lseek-tests: New file.
46362         * tests/test-lseek.c: New file.
46363         * tests/test-lseek.sh: New file.
46364         * MODULES.html.sh: Document lseek module.
46365         * modules/fflush (Depends-on): Add lseek, fseeko.
46366         * modules/fseeko (Depends-on): Likewise.
46367         * modules/ftello (Depends-on): Likewise.
46368         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
46369         broken.
46370         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
46371         broken.
46372         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
46373         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
46374         * lib/ftello.c (rpl_ftello): Likewise.
46375         * tests/test-fseeko.c (main): Test this.
46376         * tests/test-fseeko.sh: Likewise.
46377         * tests/test-ftello.c (main): Likewise.
46378         * tests/test-ftello.sh: Likewise.
46379         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
46380         implies replacing fseek.
46381         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
46382         HAVE_FTELLO.
46383         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
46384         * modules/unistd (Makefile.am): Likewise.
46385         * lib/unistd_.h (lseek): Declare a replacement.
46386         * doc/functions/lseek.texi (lseek): Document this fix.
46387         * doc/functions/fseek.texi (fseek): Likewise.
46388         * doc/functions/ftell.texi (ftell): Likewise.
46389
46390 2007-05-24  Bruno Haible  <bruno@clisp.org>
46391
46392         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
46393         in the printed representation of a NaN.
46394         * tests/test-vasprintf-posix.c (test_function): Likewise.
46395         * tests/test-snprintf-posix.h (test_function): Likewise.
46396         * tests/test-sprintf-posix.h (test_function): Likewise.
46397         Reported by Eric Blake.
46398
46399 2007-05-23  Eric Blake  <ebb9@byu.net>
46400
46401         Fix fseeko/ftello on cygwin 1.5.24.
46402         * doc/functions/fseeko.texi (fseeko): Document the fix.
46403         * doc/functions/ftello.texi (ftello): Document the fix.
46404         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
46405         * doc/functions/stdout.text (stdout): New file.
46406         * doc/functions/stderr.text (stderr): New file.
46407         * doc/gnulib.texi (Function Substitutes): Use new files.
46408         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
46409         prior to 1.7.0.
46410         * tests/test-ftello.c (main): Likewise for ftello.
46411         * tests/test-fseeko.sh: New file.
46412         * tests/test-ftello.sh: New file.
46413         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
46414         with seekable stdin.
46415         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
46416         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
46417         (gl_REPLACE_FSEEKO): New macro.
46418         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
46419         * modules/fseeko (Files): Distribute fseeko.c.
46420         * modules/ftello (Files): Distribute ftello.c.
46421         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
46422         mode.
46423         * lib/ftello.c (rpl_ftello): New file.
46424         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
46425         fseeko, ftello.
46426         (gl_STDIN_LARGE_OFFSET): New macro.
46427         * modules/stdio (Makefile.am): Perform the replacement.
46428         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
46429
46430 2007-05-23  Bruno Haible  <bruno@clisp.org>
46431
46432         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
46433         GNULIB_POSIXCHECK is defined.
46434
46435 2007-05-21  Bruno Haible  <bruno@clisp.org>
46436
46437         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
46438         Check also the output for NaN arguments. When cross-compiling, guess
46439         no on IRIX.
46440         * lib/vasnprintf.c: Update comments.
46441         * tests/test-vasnprintf-posix.c (strisnan): New function.
46442         (test_function): Use it.
46443         * tests/test-vasprintf-posix.c (strisnan): New function.
46444         (test_function): Use it.
46445         * tests/test-snprintf-posix.h (strisnan): New function.
46446         (test_function): Use it.
46447         * tests/test-sprintf-posix.h (strisnan): New function.
46448         (test_function): Use it.
46449         Reported by Eric Blake.
46450
46451 2007-05-20  Bruno Haible  <bruno@clisp.org>
46452
46453         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
46454         numbers that fails on BeOS.
46455         * doc/functions/frexpl.texi: Update.
46456
46457 2007-05-20  Jim Meyering  <jim@meyering.net>
46458
46459         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
46460         forced upon us by glibc-2.6.
46461
46462 2007-05-20  Bruno Haible  <bruno@clisp.org>
46463
46464         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
46465         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
46466         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
46467         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
46468         NEED_PRINTF_INFINITE.
46469         (is_infinitel): New function.
46470         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
46471         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
46472         gl_PREREQ_VASNPRINTF_INFINITE.
46473         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
46474         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
46475         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
46476         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
46477         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
46478         gl_PREREQ_VASNPRINTF_INFINITE.
46479         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
46480         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46481         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46482         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46483         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
46484         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46485         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46486         * doc/functions/fprintf.texi: Update.
46487         * doc/functions/printf.texi: Update.
46488         * doc/functions/snprintf.texi: Update.
46489         * doc/functions/sprintf.texi: Update.
46490         * doc/functions/vfprintf.texi: Update.
46491         * doc/functions/vprintf.texi: Update.
46492         * doc/functions/vsnprintf.texi: Update.
46493         * doc/functions/vsprintf.texi: Update.
46494
46495 2007-05-20  Bruno Haible  <bruno@clisp.org>
46496
46497         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
46498         was not found in libc.
46499         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
46500
46501 2007-05-20  Bruno Haible  <bruno@clisp.org>
46502
46503         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
46504         printed as "-nan" instead of "nan".
46505         * tests/test-vasprintf-posix.c (test_function): Likewise.
46506         * tests/test-snprintf-posix.h (test_function): Likewise.
46507         * tests/test-sprintf-posix.h (test_function): Likewise.
46508         Needed for HP-UX 11.
46509
46510 2007-05-20  Jim Meyering  <jim@meyering.net>
46511
46512         Fix buggy test for the fchownat-deref bug.
46513         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
46514         symlink required for the run-test.  Without it, this test would
46515         always declare that fchownat doesn't work, and client code would
46516         unnecessarily use the replacement function with fixed libc.
46517         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
46518         Reported by Greg Schafer.
46519
46520 2007-05-19  Bruno Haible  <bruno@clisp.org>
46521
46522         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
46523         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
46524         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
46525         Needed for IRIX 6.5 and Solaris 2.5.1.
46526
46527 2007-05-19  Bruno Haible  <bruno@clisp.org>
46528
46529         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
46530         (test_function): Skip tests involving -0.0 on platforms where
46531         -0.0 = 0.0.
46532         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
46533         (test_function): Skip tests involving -0.0 on platforms where
46534         -0.0 = 0.0.
46535         * tests/test-snprintf-posix.h (have_minus_zero): New function.
46536         (test_function): Skip tests involving -0.0 on platforms where
46537         -0.0 = 0.0.
46538         * tests/test-sprintf-posix.h (have_minus_zero): New function.
46539         (test_function): Skip tests involving -0.0 on platforms where
46540         -0.0 = 0.0.
46541         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
46542         tests.
46543         * tests/test-printf-posix.h (test_function): Likewise.
46544         * tests/test-printf-posix.output: Remove all -0.0 related results.
46545         Needed for IRIX 6.5.
46546
46547 2007-05-19  Bruno Haible  <bruno@clisp.org>
46548
46549         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
46550         printed as "nan0x7fffffff" instead of "nan".
46551         * tests/test-vasprintf-posix.c (test_function): Likewise.
46552         * tests/test-snprintf-posix.h (test_function): Likewise.
46553         * tests/test-sprintf-posix.h (test_function): Likewise.
46554         * tests/test-fprintf-posix.h (NaN): Remove macro.
46555         (test_function): Remove all NaN related tests.
46556         * tests/test-printf-posix.h (NaN): Remove macro.
46557         (test_function): Remove all NaN related tests.
46558         * tests/test-printf-posix.output: Remove all NaN related results.
46559         Needed for IRIX 6.5.
46560
46561 2007-05-19  Bruno Haible  <bruno@clisp.org>
46562
46563         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
46564         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
46565
46566 2007-05-19  Bruno Haible  <bruno@clisp.org>
46567
46568         * lib/float_.h: New file.
46569         * m4/float_h.m4: New file.
46570         * modules/float: New file.
46571         * modules/isnanl (Dependencies): Add float.
46572         * modules/isnanl-nolibm (Dependencies): Likewise.
46573         * modules/mathl (Dependencies): Likewise.
46574         * modules/printf-frexpl (Dependencies): Likewise.
46575         * modules/signbit (Dependencies): Likewise.
46576         * modules/vasnprintf (Dependencies): Likewise.
46577         * doc/headers/float.texi: Update.
46578
46579 2007-05-19  Jim Meyering  <jim@meyering.net>
46580
46581         * lib/utimens.c (gl_futimens): Rename from futimens,
46582         now that glibc-2.6 declares futimens.
46583         * lib/utimens.h: Likewise.
46584
46585 2007-05-19  Bruno Haible  <bruno@clisp.org>
46586
46587         Avoid test failures on mingw.
46588         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
46589         * tests/test-printf-posix.sh: Likewise.
46590         * tests/test-vfprintf-posix.sh: Likewise.
46591         * tests/test-vprintf-posix.sh: Likewise.
46592
46593 2007-05-19  Bruno Haible  <bruno@clisp.org>
46594
46595         Fix *printf result for NaN, Inf, -0.0 on mingw.
46596         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
46597         * lib/vasnprintf.c: Include math.h and isnan.h.
46598         (is_infinite_or_zero): New function.
46599         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
46600         values in the %f, %F, %e, %E, %g, %G directives.
46601         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
46602         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
46603         gl_PRINTF_INFINITE and test its result. Invoke
46604         gl_PREREQ_VASNPRINTF_INFINITE.
46605         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
46606         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46607         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46608         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46609         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
46610         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46611         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46612         * doc/functions/fprintf.texi: Update.
46613         * doc/functions/printf.texi: Update.
46614         * doc/functions/snprintf.texi: Update.
46615         * doc/functions/sprintf.texi: Update.
46616         * doc/functions/vfprintf.texi: Update.
46617         * doc/functions/vprintf.texi: Update.
46618         * doc/functions/vsnprintf.texi: Update.
46619         * doc/functions/vsprintf.texi: Update.
46620
46621 2007-05-19  Bruno Haible  <bruno@clisp.org>
46622
46623         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
46624         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
46625         Instead of multiplying with 10^k, set extra_zeroes to k.
46626         (scale10_round_long_double): Remove function.
46627
46628 2007-05-18  Bruno Haible  <bruno@clisp.org>
46629
46630         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
46631         introduced on 2007-05-06.
46632
46633 2007-05-18  Bruno Haible  <bruno@clisp.org>
46634
46635         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
46636         %g directives.
46637         * tests/test-vasprintf-posix.c (test_function): Likewise.
46638         * tests/test-snprintf-posix.h (test_function): Likewise.
46639         * tests/test-sprintf-posix.h (test_function): Likewise.
46640
46641 2007-05-18  Bruno Haible  <bruno@clisp.org>
46642
46643         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
46644         (strmatch): New function.
46645         (test_function): Test the %f directive on numbers of various exponents.
46646         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
46647         (strmatch): New function.
46648         (test_function): Test the %f directive on numbers of various exponents.
46649         * tests/test-snprintf-posix.h (strmatch): New function.
46650         (test_function): Test the %f directive on numbers of various exponents.
46651         * tests/test-sprintf-posix.h (strmatch): New function.
46652         (test_function): Test the %f directive on numbers of various exponents.
46653         * tests/test-snprintf-posix.c (SIZEOF): New macro.
46654         * tests/test-sprintf-posix.c (SIZEOF): New macro.
46655         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
46656         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
46657
46658 2007-05-18  Bruno Haible  <bruno@clisp.org>
46659
46660         Add support for 'long double' number output.
46661         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
46662         * lib/vasnprintf.c: Include math.h and float+.h.
46663         (mp_limb_t): New type.
46664         (GMP_LIMB_BITS): New macro.
46665         (mp_twolimb_t): New type.
46666         (GMP_TWOLIMB_BITS): New macro.
46667         (mpn_t): New type.
46668         (multiply, divide, convert_to_decimal, decode_long_double,
46669         scale10_round_long_double, scale10_round_decimal_long_double,
46670         floorlog10l): New functions.
46671         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
46672         for the %f, %F, %e, %E, %g, %G directives.
46673         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
46674         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
46675         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
46676         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
46677         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
46678         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46679         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46680         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46681         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
46682         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46683         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46684         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
46685         * modules/snprintf-posix (Depends-on): Likewise.
46686         * modules/sprintf-posix (Depends-on): Likewise.
46687         * modules/vasnprintf-posix (Depends-on): Likewise.
46688         * modules/vasprintf-posix (Depends-on): Likewise.
46689         * modules/vfprintf-posix (Depends-on): Likewise.
46690         * modules/vsnprintf-posix (Depends-on): Likewise.
46691         * modules/vsprintf-posix (Depends-on): Likewise.
46692         * modules/vasnprintf (Files): Add lib/float+.h.
46693         * doc/functions/fprintf.texi: Update.
46694         * doc/functions/printf.texi: Update.
46695         * doc/functions/snprintf.texi: Update.
46696         * doc/functions/sprintf.texi: Update.
46697         * doc/functions/vfprintf.texi: Update.
46698         * doc/functions/vprintf.texi: Update.
46699         * doc/functions/vsnprintf.texi: Update.
46700         * doc/functions/vsprintf.texi: Update.
46701
46702 2007-05-18  Bruno Haible  <bruno@clisp.org>
46703
46704         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
46705
46706 2007-05-18  Bruno Haible  <bruno@clisp.org>
46707
46708         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
46709         for printing 64-bit integers. Needed for mingw.
46710
46711 2007-05-18  Bruno Haible  <bruno@clisp.org>
46712
46713         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
46714         gl_FUNC_FREXPL_WORKS.
46715         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
46716
46717 2007-05-18  Bruno Haible  <bruno@clisp.org>
46718
46719         * modules/frexpl-nolibm-tests: New file.
46720
46721         * modules/frexpl-nolibm: New file.
46722         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
46723
46724 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
46725
46726         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
46727         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
46728         GCC 4.2, which otherwise issues a lot of warnings.
46729         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
46730         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
46731         Likewise.
46732         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
46733         * modules/iconv_open (iconv.h): Likewise.
46734         * modules/locale (locale.h): Likewise.
46735         * modules/netinet_in (netinet/in.h): Likewise.
46736         * modules/sys_select (sys_select.h): Likewise.
46737         * modules/sys_socket (sys/socket.h): Likewise.
46738         * modules/sys_stat (sys/stat.h): Likewise.
46739         * modules/sysexits (sysexits.h): Likewise.
46740         * modules/unistd (unistd.h): Likewise.
46741
46742 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46743
46744         * modules/closein-tests (Makefile.am): Distribute
46745         `test-closein.sh'.
46746
46747 2007-05-17  Bruno Haible  <bruno@clisp.org>
46748
46749         * tests/test-printf-posix.output: Renamed from
46750         tests/test-fprintf-posix.out.
46751         * modules/fprintf-posix-tests: Update.
46752         * modules/printf-posix-tests: Update.
46753         * modules/vfprintf-posix-tests: Update.
46754         * modules/vprintf-posix-tests: Update.
46755         * tests/test-fprintf-posix.sh: Update.
46756         * tests/test-printf-posix.sh: Update.
46757         * tests/test-vfprintf-posix.sh: Update.
46758         * tests/test-vprintf-posix.sh: Update.
46759         Reported by Ralf Wildenhues.
46760
46761 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
46762
46763         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
46764         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
46765         GCC 4.2, which otherwise issues a lot of warnings.
46766         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
46767         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
46768         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
46769         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
46770         it should no longer be needed.
46771         * lib/string_.h: Likewise.
46772         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
46773         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
46774         * modules/inttypes (inttypes.h): Likewise.
46775         * modules/math (math.h): Likewise.
46776         * modules/search (search.h): Likewise.
46777         * modules/signal (signal.h): Likewise.
46778         * modules/stdint (stdint.h): Likewise.
46779         * modules/stdio (stdio.h): Likewise.
46780         * modules/stdlib (stdlib.h): Likewise.
46781         * modules/string (string.h): Likewise.
46782         * modules/sys_time (sys/time.h): Likewise.
46783         * modules/time (time.h): Likewise.
46784         * modules/wchar (wchar.h): Likewise.
46785         * modules/wctype (wtype.h): Likewise.
46786
46787 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
46788
46789         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
46790
46791 2007-05-13  Bruno Haible  <bruno@clisp.org>
46792
46793         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
46794         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
46795         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
46796         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
46797         (gl_PREREQ_STRTOK_R): Don't require it here.
46798
46799 2007-05-13  Bruno Haible  <bruno@clisp.org>
46800
46801         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
46802         when used in C++ mode.
46803
46804 2007-05-12  Bruno Haible  <bruno@clisp.org>
46805
46806         * lib/linebuffer.h: Tweak doc.
46807         * lib/linebuffer.c: Likewise.
46808
46809 2007-05-12  James Youngman  <jay@gnu.org>
46810
46811         * lib/linebuffer.c (readlinebuffer_delim): New function,
46812         like readlinebuffer, but use a caller-specified delimiter.
46813         (readlinebuffer): Just call readlinebuffer_delim with '\n'
46814         as the delimiter.
46815         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
46816
46817 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46818
46819         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
46820         * modules/openat (Files): Remove openat-die.c.
46821         (Depends-on): Add openat-die.
46822         * modules/openat-die: New module.
46823
46824 2007-05-06  Bruno Haible  <bruno@clisp.org>
46825
46826         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
46827         Update with info about Cygwin.
46828         * doc/functions/fprintf.texi: Update.
46829         * doc/functions/printf.texi: Update.
46830         * doc/functions/snprintf.texi: Update.
46831         * doc/functions/sprintf.texi: Update.
46832         * doc/functions/vfprintf.texi: Update.
46833         * doc/functions/vprintf.texi: Update.
46834         * doc/functions/vsnprintf.texi: Update.
46835         * doc/functions/vsprintf.texi: Update.
46836         Reported by Eric Blake.
46837
46838 2007-05-06  Bruno Haible  <bruno@clisp.org>
46839
46840         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
46841         padding ourselves for the floating-point directives.
46842         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
46843         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
46844         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
46845         gl_PRINTF_FLAG_ZERO and test its result. Invoke
46846         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
46847         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46848         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
46849         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46850         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46851         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
46852         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46853         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46854         * tests/test-snprintf-posix.h (test_function): Also check the width
46855         and some flags in the %f directive.
46856         * tests/test-sprintf-posix.h (test_function): Likewise.
46857         * tests/test-vasnprintf-posix.c (test_function): Likewise.
46858         * tests/test-vasprintf-posix.c (test_function): Likewise.
46859         * doc/functions/fprintf.texi: Update.
46860         * doc/functions/printf.texi: Update.
46861         * doc/functions/snprintf.texi: Update.
46862         * doc/functions/sprintf.texi: Update.
46863         * doc/functions/vfprintf.texi: Update.
46864         * doc/functions/vprintf.texi: Update.
46865         * doc/functions/vsnprintf.texi: Update.
46866         * doc/functions/vsprintf.texi: Update.
46867
46868 2007-05-06  Bruno Haible  <bruno@clisp.org>
46869
46870         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
46871         pass the ' flag character to sprintf or snprintf.
46872         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
46873         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
46874         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
46875         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
46876         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
46877         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46878         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
46879         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46880         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46881         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
46882         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46883         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46884         * tests/test-snprintf-posix.h (test_function): Also check the grouping
46885         flag.
46886         * tests/test-sprintf-posix.h (test_function): Likewise.
46887         * tests/test-vasnprintf-posix.c (test_function): Likewise.
46888         * tests/test-vasprintf-posix.c (test_function): Likewise.
46889         * doc/functions/fprintf.texi: Update.
46890         * doc/functions/printf.texi: Update.
46891         * doc/functions/snprintf.texi: Update.
46892         * doc/functions/sprintf.texi: Update.
46893         * doc/functions/vfprintf.texi: Update.
46894         * doc/functions/vprintf.texi: Update.
46895         * doc/functions/vsnprintf.texi: Update.
46896         * doc/functions/vsprintf.texi: Update.
46897
46898 2007-05-01  Bruno Haible  <bruno@clisp.org>
46899
46900         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
46901
46902 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
46903
46904         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
46905         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
46906
46907 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
46908
46909         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
46910         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
46911         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
46912
46913 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
46914
46915         * lib/argp-help.c (struct hol_entry): New member `ord'.
46916         (HOL_ENTRY_PTRCMP): Use ord for comparison
46917         (hol_sort): Initialize ord.
46918
46919 2007-05-01  Bruno Haible  <bruno@clisp.org>
46920
46921         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
46922         Reported by Eric Blake.
46923         * doc/gnulib.texi (Function Substitutes): Update.
46924
46925 2007-05-01  Bruno Haible  <bruno@clisp.org>
46926
46927         * doc/functions.texi: Remove file, now redundant through
46928         doc/functions/*.texi.
46929
46930 2007-05-01  Bruno Haible  <bruno@clisp.org>
46931
46932         * modules/argp (Depends-on): Add sleep.
46933
46934 2007-05-01  Bruno Haible  <bruno@clisp.org>
46935
46936         * modules/sleep-tests: New file.
46937         * tests/test-sleep.c: New file.
46938
46939         * modules/sleep: New file.
46940         * lib/sleep.c: New file.
46941         * m4/sleep.m4: New file.
46942         * lib/unistd_.h (sleep): New declaration.
46943         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
46944         HAVE_SLEEP.
46945         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
46946         * doc/functions/sleep.texi: Document the sleep module.
46947
46948 2007-05-01  Bruno Haible  <bruno@clisp.org>
46949
46950         * lib/sigprocmask.h: Remove file.
46951         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
46952         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
46953         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
46954         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
46955         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
46956         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
46957         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
46958         HAVE_SIGSET_T as a shell variable.
46959         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
46960         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
46961         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
46962         (Depends-on): Add signal. Remove verify.
46963         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
46964         (Include): Mention <signal.h> instead of sigprocmask.h.
46965         * NEWS: Mention the change.
46966         * lib/fatal-signal.c: Don't include sigprocmask.h.
46967
46968 2007-05-01  Bruno Haible  <bruno@clisp.org>
46969
46970         * modules/signal: New file.
46971         * lib/signal_.h: New file.
46972         * m4/signal_h.m4: New file.
46973
46974 2007-05-01  Bruno Haible  <bruno@clisp.org>
46975
46976         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
46977         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
46978         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
46979         HAVE_WCTYPE_CTMP_BUG into wctype.h.
46980
46981 2007-05-01  Bruno Haible  <bruno@clisp.org>
46982
46983         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
46984         configure time.
46985         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
46986         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
46987         * modules/sys_stat (Makefile.am): Substitute their values into
46988         sys/stat.h.
46989
46990 2007-05-01  Bruno Haible  <bruno@clisp.org>
46991
46992         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
46993         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
46994         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
46995
46996 2007-05-01  Bruno Haible  <bruno@clisp.org>
46997
46998         * doc/header/assert.texi: Undo last change: don't mention the gnulib
46999         'assert' module here.
47000
47001 2007-05-01  Bruno Haible  <bruno@clisp.org>
47002
47003         * doc/functions/*.texi: New files.
47004         * doc/functions/google-ranking.txt: New file.
47005         * doc/gnulib.texi (Function Substitutes): New chapter.
47006         (ctime, inet_ntoa): Remove sections.
47007         * doc/ctime.texi: Remove file.
47008         * doc/inet_ntoa.texi: Remove file.
47009         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
47010         dependencies.
47011         (%.info): New rule, specifying a --reference-limit.
47012
47013 2007-05-01  Bruno Haible  <bruno@clisp.org>
47014
47015         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
47016
47017 2007-05-01  Bruno Haible  <bruno@clisp.org>
47018
47019         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
47020         the portability of 'mkdir' to mingw systems.
47021
47022 2007-05-01  Bruno Haible  <bruno@clisp.org>
47023
47024         * doc/headers/google-ranking.txt: New file.
47025
47026 2007-04-30  Eric Blake  <ebb9@byu.net>
47027
47028         Prefer fseeko to fseek.
47029         * modules/getpass (Depends-on): Add fseeko.
47030         * lib/getpass.c (getpass): Use fseeko, not fseek.
47031
47032 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
47033
47034         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
47035         assumes the sorting is stable, while most qsort implementations
47036         are not.  Use argument addresses to ensure they never compare as
47037         equal.
47038
47039         * tests/test-argp-2.sh (usage-indent test): Fix output
47040         (func_compare): Restore diff options
47041         * tests/test-argp.c: Restore #include "progname.h"
47042
47043 2007-04-29  Bruno Haible  <bruno@clisp.org>
47044
47045         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
47046         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
47047         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
47048         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47049         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
47050         (configure.ac): Define CHECK_SNPRINTF_POSIX.
47051         (TESTS, check_PROGRAMS): Add test-snprintf.
47052         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
47053         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
47054         (TESTS, check_PROGRAMS): Add test-vsnprintf.
47055         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
47056         assertions that fail on HP-UX, OSF/1, or IRIX.
47057         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
47058
47059 2007-04-29  Bruno Haible  <bruno@clisp.org>
47060
47061         * MODULES.html.sh (posix_functions): Remove 'contents'.
47062
47063 2007-04-29  Karl Berry  <karl@gnu.org>
47064
47065         * config/srclist.txt (gendocs_template_min): new entry.
47066
47067 2007-04-29  Bruno Haible  <bruno@clisp.org>
47068
47069         Work around fpurge bug on BSD systems.
47070         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
47071         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
47072         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
47073         fpurge to rpl_fpurge if the system already has this function.
47074         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
47075         the case where the system already has this function. Correct invariants
47076         on BSD systems.
47077         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
47078         BSD systems.
47079
47080 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
47081
47082         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
47083         proposed by Sven Verdoolaege.
47084
47085         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
47086         options.
47087         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
47088         (usage and help tests): Update
47089
47090 2007-04-29  Bruno Haible  <bruno@clisp.org>
47091
47092         * tests/test-fflush.c (main): Use a file of size 17, not 10.
47093         Print more information in case of failure. Disable a test on BeOS.
47094
47095 2007-04-29  Bruno Haible  <bruno@clisp.org>
47096
47097         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
47098         This helps debugging on systems on which no gdb is available.
47099
47100 2007-04-29  Bruno Haible  <bruno@clisp.org>
47101
47102         * lib/freading.h: Improve comments.
47103         * lib/fwriting.h: Likewise.
47104         * tests/test-freading.c (main): Don't check freading immediately after
47105         repositioning. Needed for glibc.
47106
47107 2007-04-29  Bruno Haible  <bruno@clisp.org>
47108
47109         * lib/freading.c (freading): Trivial simplification.
47110
47111 2007-04-28  Bruno Haible  <bruno@clisp.org>
47112
47113         * tests/test-fwriting.c (main): Also test the interaction between
47114         fflush and fwriting.
47115         * modules/fwriting-tests (Depends-on): Add fflush.
47116
47117         * tests/test-freading.c (main): Also test the interaction between
47118         fflush and freading.
47119         * modules/freading-tests (Depends-on): Add fflush.
47120
47121 2007-04-28  Bruno Haible  <bruno@clisp.org>
47122
47123         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
47124         fseeko and ftello.
47125         Suggested by Eric Blake.
47126
47127 2007-04-28  Jim Meyering  <jim@meyering.net>
47128
47129         Avoid false-negative in gl_STDINT_H's C99 conformance test.
47130         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
47131         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
47132
47133 2007-04-27  Eric Blake  <ebb9@byu.net>
47134
47135         * doc/headers/assert.texi (assert.h): Document assert module use.
47136
47137 2007-04-27  Bruno Haible  <bruno@clisp.org>
47138
47139         * doc/headers/*.texi: New files.
47140         * doc/gnulib.texi (Header File Substitutes): New chapter.
47141         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
47142         dependencies.
47143         (standards.info ,standards.html, standards.dvi): Update dependencies.
47144         (mostlyclean, clean): New targets.
47145
47146 2007-04-27  Bruno Haible  <bruno@clisp.org>
47147
47148         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
47149         * modules/sysexits (Files, Makefile.am): Update.
47150
47151         * lib/sys_socket_.h: Renamed from lib/socket_.h.
47152         * modules/sys_socket (Files, Makefile.am): Update.
47153
47154         * lib/sys_stat_.h: Renamed from lib/stat_.h.
47155         * modules/sys_stat (Files, Makefile.am): Update.
47156
47157 2007-04-27  Eric Blake  <ebb9@byu.net>
47158
47159         * lib/freading.h: Improve comments.
47160         * lib/fwriting.h: Likewise.
47161         * lib/fflush.c: Likewise.
47162
47163         Fix closein for mingw.
47164         * modules/closein-tests: Add tests for closein.
47165         * tests/test-closein.c: New file.
47166         * tests/test-closein.sh: Likewise.
47167         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
47168         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
47169
47170 2007-04-27  Bruno Haible  <bruno@clisp.org>
47171
47172         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
47173         version is < 6.
47174         * lib/math_.h [__DECC]: Likewise.
47175         * lib/stdio_.h [__DECC]: Likewise.
47176         * lib/stdlib_.h [__DECC]: Likewise.
47177         * lib/string_.h [__DECC]: Likewise.
47178         * lib/time_.h [__DECC]: Likewise.
47179         * lib/wchar_.h [__DECC]: Likewise.
47180         * lib/wctype_.h [__DECC]: Likewise.
47181
47182 2007-04-27  Bruno Haible  <bruno@clisp.org>
47183
47184         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
47185
47186 2007-04-27  Bruno Haible  <bruno@clisp.org>
47187
47188         * lib/fflush.c: Add comments.
47189         * modules/fpurge-tests (Depends-on): Add fflush.
47190         * modules/freadable-tests (Depends-on): Likewise.
47191         * modules/fwritable-tests (Depends-on): Likewise.
47192
47193 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
47194
47195         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
47196         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
47197         Report by Bruno Haible <bruno@clisp.org>.
47198
47199 2007-04-26  Eric Blake  <ebb9@byu.net>
47200
47201         Fix fflush on mingw.
47202         * modules/fflush (Depends-on): Add freading.
47203         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
47204         but unread data.
47205
47206 2007-04-26  Eric Blake  <ebb9@byu.net>
47207         and Bruno Haible  <bruno@clisp.org>
47208
47209         Implement freading and fwriting.
47210         * lib/freading.c: New file.
47211         * lib/freading.h: Likewise.
47212         * m4/freading.m4: Likewise.
47213         * modules/freading: Likewise.
47214         * modules/freading-tests: Likewise.
47215         * tests/test-freading.c: Likewise.
47216         * lib/fwriting.c: New file.
47217         * lib/fwriting.h: Likewise.
47218         * m4/fwriting.m4: Likewise.
47219         * modules/fwriting: Likewise.
47220         * modules/fwriting-tests: Likewise.
47221         * tests/test-fwriting.c: Likewise.
47222         * MODULES.html.sh (File stream based Input/Output): Mention them.
47223
47224 2007-04-26  Bruno Haible  <bruno@clisp.org>
47225
47226         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
47227         'long' when we assume it.
47228         Suggested by Eric Blake.
47229
47230 2007-04-26  Bruno Haible  <bruno@clisp.org>
47231
47232         Ensure fseeko, ftello are declared on glibc systems.
47233         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
47234         * modules/fseeko (configure.ac-early): Likewise.
47235         * modules/ftello (configure.ac-early): Likewise.
47236         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
47237         AC_FUNC_FSEEKO for this.
47238         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
47239         (gl_CHECK_FSEEKO): Remove macro.
47240
47241 2007-04-26  Bruno Haible  <bruno@clisp.org>
47242
47243         * tests/test-fflush.c (main): Also check the ftell result after
47244         fflush and fseek/fseeko.
47245         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
47246         file descriptor position cache in the stream.
47247         * lib/fseeko.c (rpl_fseeko): Likewise.
47248
47249 2007-04-26  Bruno Haible  <bruno@clisp.org>
47250
47251         * modules/fflush-tests (Depends-on): Add fseeko.
47252
47253 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
47254             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47255
47256         * lib/argz_.h: ensure error_t definition is obtained in same
47257         mechanism system argz.h would have.
47258         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
47259         argz facilities are known bad.  Err on the side of caution if
47260         cross-compiling.
47261
47262 2007-04-25  Eric Blake  <ebb9@byu.net>
47263
47264         * lib/fpurge.c (includes): Use stdlib.h for free.
47265         * tests/test-fflush.c (main): Also test fflush-fseeko.
47266
47267 2007-04-25  Bruno Haible  <bruno@clisp.org>
47268
47269         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
47270         * lib/fseeko.c: New file.
47271         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
47272         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
47273         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
47274         gl_FUNC_FSEEKO.
47275         (gl_FUNC_FSEEKO): Invoke it.
47276         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
47277         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
47278         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
47279
47280 2007-04-25  Bruno Haible  <bruno@clisp.org>
47281
47282         * modules/fflush (Depends-on): Add ftello.
47283
47284 2007-04-25  Bruno Haible  <bruno@clisp.org>
47285
47286         * modules/ftello-tests: New file.
47287         * tests/test-ftello.c: New file.
47288
47289         * modules/ftello: New file.
47290         * m4/ftello.m4: New file.
47291         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
47292         HAVE_FTELLO.
47293         * lib/stdio_.h (ftello): New declaration.
47294         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
47295         HAVE_FTELLO.
47296
47297 2007-04-25  Bruno Haible  <bruno@clisp.org>
47298
47299         * modules/fseeko-tests: New file.
47300         * tests/test-fseeko.c: New file.
47301
47302         * modules/fseeko: New file.
47303         * m4/fseeko.m4: New file.
47304         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
47305         HAVE_FSEEKO.
47306         * lib/stdio_.h (fseeko): New declaration.
47307         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
47308         HAVE_FSEEKO.
47309
47310 2007-04-25  Bruno Haible  <bruno@clisp.org>
47311
47312         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
47313
47314 2007-04-25  Bruno Haible  <bruno@clisp.org>
47315
47316         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
47317         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
47318         * tests/test-unistd.c: Likewise.
47319         * tests/test-fcntl.c: Likewise.
47320
47321 2007-04-23  Eric Blake  <ebb9@byu.net>
47322
47323         * lib/fflush.c: Fix missing include.
47324         Reported by Bruno Haible.
47325
47326 2007-04-23  Bruno Haible  <bruno@clisp.org>
47327
47328         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
47329         Reported by Eric Blake.
47330
47331 2007-04-23  Bruno Haible  <bruno@clisp.org>
47332
47333         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
47334
47335 2007-04-23  Bruno Haible  <bruno@clisp.org>
47336
47337         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
47338
47339 2007-04-23  Bruno Haible  <bruno@clisp.org>
47340
47341         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
47342         Needed on HP-UX 11.
47343
47344 2007-04-16  Eric Blake  <ebb9@byu.net>
47345
47346         Make fflush rely on fpurge.
47347         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
47348         open coding all variants.
47349         * modules/fflush (Depends-on): Add fpurge and unistd.
47350         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
47351         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
47352
47353         Fix --with-tests compilation on cygwin.
47354         * modules/argmatch-tests (Makefile.am): List gnulib library first
47355         in LDADD.
47356         * modules/argp-tests (Makefile.am): Likewise.
47357         * modules/array-list-tests (Makefile.am): Likewise.
47358         * modules/array-oset-tests (Makefile.am): Likewise.
47359         * modules/avltree-list-tests (Makefile.am): Likewise.
47360         * modules/avltree-oset-tests (Makefile.am): Likewise.
47361         * modules/avltreehash-list-tests (Makefile.am): Likewise.
47362         * modules/carray-list-tests (Makefile.am): Likewise.
47363         * modules/dirname-tests (Makefile.am): Likewise.
47364         * modules/frexp-tests (Makefile.am): Likewise.
47365         * modules/isnanl-tests (Makefile.am): Likewise.
47366         * modules/linked-list-tests (Makefile.am): Likewise.
47367         * modules/linkedhash-list-tests (Makefile.am): Likewise.
47368         * modules/lock-tests (Makefile.am): Likewise.
47369         * modules/rbtree-list-tests (Makefile.am): Likewise.
47370         * modules/rbtree-oset-tests (Makefile.am): Likewise.
47371         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
47372         * modules/tls-tests (Makefile.am): Likewise.
47373         * modules/tsearch-tests (Makefile.am): Likewise.
47374         * modules/xvasprintf-tests (Makefile.am): Likewise.
47375
47376         Fix fpurge for cygwin.
47377         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
47378         value.
47379         * modules/fpurge-tests (Depends-on): Clean up trash.
47380
47381 2007-04-16  Simon Josefsson  <simon@josefsson.org>
47382
47383         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
47384
47385         * m4/autobuild.m4: Re-indent.
47386
47387 2007-04-13  Bruno Haible  <bruno@clisp.org>
47388
47389         * modules/fpurge-tests: New file.
47390         * tests/test-fpurge.c: New file.
47391
47392         * modules/fpurge: New file.
47393         * lib/fpurge.h: New file.
47394         * lib/fpurge.c: New file.
47395         * m4/fpurge.m4: New file.
47396
47397 2007-04-13  Bruno Haible  <bruno@clisp.org>
47398
47399         * modules/fbufmode-tests: New file.
47400         * tests/test-fbufmode.c: New file.
47401
47402         * modules/fbufmode: New file.
47403         * lib/fbufmode.h: New file.
47404         * lib/fbufmode.c: New file.
47405         * m4/fbufmode.m4: New file.
47406
47407 2007-04-13  Bruno Haible  <bruno@clisp.org>
47408
47409         * modules/fwritable-tests: New file.
47410         * tests/test-fwritable.c: New file.
47411
47412         * modules/fwritable: New file.
47413         * lib/fwritable.h: New file.
47414         * lib/fwritable.c: New file.
47415         * m4/fwritable.m4: New file.
47416
47417 2007-04-13  Bruno Haible  <bruno@clisp.org>
47418
47419         * modules/freadable-tests: New file.
47420         * tests/test-freadable.c: New file.
47421
47422         * modules/freadable: New file.
47423         * lib/freadable.h: New file.
47424         * lib/freadable.c: New file.
47425         * m4/freadable.m4: New file.
47426
47427 2007-04-13  Bruno Haible  <bruno@clisp.org>
47428
47429         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
47430         MOSTLYCLEANFILES.
47431
47432 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
47433
47434         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
47435         gzip bootstrap.conf to avoid dragging in i18n machinery.
47436         (gnulib_tool_option): Use it.
47437
47438 2007-04-13  Bruno Haible  <bruno@clisp.org>
47439
47440         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
47441         %F directives.
47442         * tests/test-vasprintf-posix.c (test_function): Likewise.
47443         * tests/test-snprintf-posix.h (test_function): Likewise.
47444         * tests/test-sprintf-posix.h (test_function): Likewise.
47445         * tests/test-fprintf-posix.h (test_function): Likewise.
47446         * tests/test-printf-posix.h (test_function): Likewise.
47447         * tests/test-fprintf-posix.out: Likewise.
47448
47449 2007-04-13  Bruno Haible  <bruno@clisp.org>
47450
47451         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
47452         * modules/tls-tests (configure.ac): Likewise.
47453         Reported by Arto C. Nirkko <anirkko@insel.ch>.
47454
47455 2007-04-13  Bruno Haible  <bruno@clisp.org>
47456
47457         * lib/tls.c (glthread_tls_get): Fix return type.
47458         Patch by Arto C. Nirkko <anirkko@insel.ch>.
47459
47460 2007-04-12  Eric Blake  <ebb9@byu.net>
47461
47462         * modules/gettime (Depends-on): Remove gettime.
47463         Reported by Dmitry V. Levin.
47464
47465 2007-04-12  Bruno Haible  <bruno@clisp.org>
47466
47467         * modules/fflush (Include): Mention <stdio.h>.
47468         * modules/strtoimax (Include): Mention <inttypes.h>.
47469         * modules/strtoumax (Include): Likewise.
47470
47471 2007-04-12  Eric Blake  <ebb9@byu.net>
47472
47473         * .cvsignore: New file.
47474         * .gitignore: Likewise.
47475
47476 2007-04-12  Bruno Haible  <bruno@clisp.org>
47477
47478         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
47479         not before, since $(LDADD) often contains libgnu.a.
47480         * modules/striconv-tests (test_striconv_LDADD): Likewise.
47481         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
47482         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
47483         Needed on Cygwin.
47484
47485 2007-04-12  Eric Blake  <ebb9@byu.net>
47486
47487         Work around glibc's failure to flush stdin on fclose.
47488         * lib/closein.c (close_stdin): Flush stdin before closing.
47489
47490         Work around glibc's failure to reset seekable stdin on exit.
47491         * modules/closein: New module.
47492         * lib/closein.c: New file.
47493         * lib/closein.h: Likewise.
47494         * m4/closein.m4: Likewise.
47495         * MODULES.html.sh (File stream based Input/Output): Document it.
47496
47497 2007-04-12  Simon Josefsson  <simon@josefsson.org>
47498
47499         * gnulib-tool: Rename generated 'autobuild' script to
47500         'do-autobuild' in --create-megatestdir output.
47501
47502         * doc/gnulib.texi (Build robot for gnulib): Fix.
47503
47504 2007-04-12  Simon Josefsson  <simon@josefsson.org>
47505
47506         * modules/sysexits (Depends-on): Add absolute-header.
47507
47508 2007-04-12  Eric Blake  <ebb9@byu.net>
47509
47510         No need to preserve errno on success.
47511         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
47512         Reported by Bruno Haible.
47513
47514 2007-04-12  Simon Josefsson  <simon@josefsson.org>
47515
47516         * MODULES.html.sh (Support for maintaining and releasing
47517         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
47518
47519 2007-04-12  Simon Josefsson  <simon@josefsson.org>
47520
47521         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
47522
47523 2007-04-12  Simon Josefsson  <simon@josefsson.org>
47524
47525         * modules/autobuild: New module.
47526
47527         * m4/autobuild.m4: New file.
47528
47529 2007-04-11  Bruno Haible  <bruno@clisp.org>
47530
47531         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
47532         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
47533         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
47534         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
47535         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47536         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
47537         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
47538         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
47539         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
47540         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
47541         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
47542         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
47543         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
47544         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
47545         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
47546         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
47547         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
47548         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
47549         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
47550         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
47551         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
47552         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
47553         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
47554         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
47555         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
47556         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
47557         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
47558         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
47559         Reported by Eric Blake.
47560
47561 2007-04-11  Bruno Haible  <bruno@clisp.org>
47562
47563         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
47564
47565 2007-04-10  Bruno Haible  <bruno@clisp.org>
47566
47567         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
47568         for NaN and Infinity. Needed on FreeBSD 6.1.
47569         * tests/test-vasnprintf-posix.c (test_function): Undo last change
47570         regarding results for "%010a" of Infinity and NaN.
47571         * tests/test-vasprintf-posix.c (test_function): Likewise.
47572         * tests/test-snprintf-posix.h (test_function): Likewise.
47573         * tests/test-sprintf-posix.h (test_function): Likewise.
47574         * tests/test-fprintf-posix.h (test_function): Likewise.
47575         * tests/test-printf-posix.h (test_function): Likewise.
47576         * tests/test-fprintf-posix.out: Likewise.
47577
47578 2007-04-10  Bruno Haible  <bruno@clisp.org>
47579
47580         * modules/locale-tests: New file.
47581         * tests/test-locale.c: New file.
47582
47583         * modules/locale: New file.
47584         * lib/locale_.h: New file.
47585         * m4/locale_h.m4: New file.
47586
47587 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
47588             Bruno Haible  <bruno@clisp.org>
47589
47590         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
47591         be determined, test for availability of the copysignf, copysign,
47592         copysignl functions.
47593         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
47594         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
47595         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
47596
47597 2007-04-09  Eric Blake  <ebb9@byu.net>
47598
47599         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
47600         * modules/stdio (Makefile.am): Support fflush.
47601         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
47602         * modules/fflush: New file.
47603         * lib/fflush.c: Likewise.
47604         * m4/fflush.m4: Likewise.
47605         * modules/fflush-tests: New test.
47606         * tests/test-fflush.c: Likewise.
47607         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
47608
47609 2007-04-06  Bruno Haible  <bruno@clisp.org>
47610
47611         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
47612         (VASNPRINTF): Use signbit for faster determination whether to print a
47613         minus sign.
47614         * modules/vasnprintf (Files): Remove lib/float+.h.
47615         * modules/fprintf-posix (Depends-on): Add signbit.
47616         * modules/snprintf-posix (Depends-on): Likewise.
47617         * modules/sprintf-posix (Depends-on): Likewise.
47618         * modules/vasnprintf-posix (Depends-on): Likewise.
47619         * modules/vasprintf-posix (Depends-on): Likewise.
47620         * modules/vfprintf-posix (Depends-on): Likewise.
47621         * modules/vsnprintf-posix (Depends-on): Likewise.
47622         * modules/vsprintf-posix (Depends-on): Likewise.
47623
47624 2007-04-06  Bruno Haible  <bruno@clisp.org>
47625
47626         * tests/test-frexp.c (main): Test also the sign bit of zero results.
47627         * tests/test-frexpl.c (main): Likewise.
47628         * tests/test-ldexpl.c (main): Likewise.
47629         * modules/frexp-tests (Depends-on): Add signbit.
47630         * modules/frexpl-tests (Depdends-on): Likewise.
47631         * modules/ldexpl-tests (Depdends-on): Likewise.
47632
47633 2007-04-06  Bruno Haible  <bruno@clisp.org>
47634
47635         * modules/signbit-tests: New file.
47636         * tests/test-signbit.c: New file.
47637
47638         * modules/signbit: New file.
47639         * lib/signbitf.c: New file.
47640         * lib/signbitd.c: New file.
47641         * lib/signbitl.c: New file.
47642         * m4/signbit.m4: New file.
47643         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
47644         (signbit): New macro.
47645         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
47646         REPLACE_SIGNBIT.
47647         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
47648         REPLACE_FREXPL into math.h.
47649
47650 2007-04-06  Bruno Haible  <bruno@clisp.org>
47651
47652         * modules/isnanf-nolibm-tests: New file.
47653         * tests/test-isnanf.c: New file.
47654
47655         * modules/isnanf-nolibm: New file.
47656         * lib/isnanf.h: New file.
47657         * lib/isnanf.c: New file.
47658         * lib/isnan.c: Consider the USE_FLOAT macro.
47659         * m4/isnanf.m4: New file.
47660
47661 2007-04-06  Bruno Haible  <bruno@clisp.org>
47662
47663         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
47664         (Link): New section.
47665
47666         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
47667
47668 2007-04-06  Bruno Haible  <bruno@clisp.org>
47669
47670         Assume the 'long double' type.
47671         * m4/longdouble.m4: Remove file.
47672         * config/srclist.txt: Don't mention longdouble.m4.
47673         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
47674         * lib/float+.h: Likewise.
47675         * lib/frexp.c: Likewise.
47676         * lib/printf-args.h: Likewise.
47677         * lib/printf-args.c: Likewise.
47678         * lib/printf-frexp.c: Likewise.
47679         * lib/printf-parse.c: Likewise.
47680         * lib/vasnprintf.c: Likewise.
47681         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
47682         * m4/intl.m4: Likewise.
47683         * m4/isnanl.m4: Likewise.
47684         * m4/printf.m4: Likewise.
47685         * m4/printf-frexpl.m4: Likewise.
47686         * m4/vasnprintf.m4: Likewise.
47687         * modules/allocsa (Files): Remove m4/longdouble.m4.
47688         * modules/gettext (Files): Likewise.
47689         * modules/relocatable-prog-wrapper (Files): Likewise.
47690         * modules/vasnprintf (Files): Likewise.
47691         * modules/isnanl (Files): Likewise.
47692         (Include): Simplify.
47693         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
47694         (Include): Simplify.
47695         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
47696         (Include): Simplify.
47697         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
47698         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
47699         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
47700         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
47701         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
47702         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
47703         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
47704         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
47705         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
47706         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
47707         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
47708         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
47709         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
47710         * tests/test-isnanl.c: Likewise.
47711         * tests/test-snprintf-posix.h: Likewise.
47712         * tests/test-sprintf-posix.h: Likewise.
47713         * tests/test-vasnprintf-posix.c: Likewise.
47714         * tests/test-vasnprintf-posix2.c: Likewise.
47715         * tests/test-vasprintf-posix.c: Likewise.
47716
47717 2007-04-06  Bruno Haible  <bruno@clisp.org>
47718
47719         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
47720         * lib/math_.h [__DECC]: Include the overridden include file through
47721         #include_next, outside the double-inclusion guard.
47722         * lib/stdio_.h [__DECC]: Likewise.
47723         * lib/stdlib_.h [__DECC]: Likewise.
47724         * lib/string_.h [__DECC]: Likewise.
47725         * lib/time_.h [__DECC]: Likewise.
47726         * lib/wchar_.h [__DECC]: Likewise.
47727         * lib/wctype_.h [__DECC]: Likewise.
47728         * lib/inttypes_.h [__DECC]: Likewise.
47729         Reported by Albert Chin <china@thewrittenword.com> in
47730         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
47731
47732 2007-04-04  Eric Blake  <ebb9@byu.net>
47733
47734         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
47735         1.5.x.
47736
47737 2007-04-04  Bruno Haible  <bruno@clisp.org>
47738
47739         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
47740         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
47741
47742 2007-04-04  Bruno Haible  <bruno@clisp.org>
47743
47744         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
47745         results for "%010a" of Infinity and NaN.
47746         * tests/test-vasprintf-posix.c (test_function): Likewise.
47747         * tests/test-snprintf-posix.h (test_function): Likewise.
47748         * tests/test-sprintf-posix.h (test_function): Likewise.
47749         * tests/test-fprintf-posix.h (test_function): Remove these tests.
47750         * tests/test-printf-posix.h (test_function): Likewise.
47751         * tests/test-fprintf-posix.out: Update.
47752         Needed for FreeBSD 6.1.
47753
47754 2007-04-04  Bruno Haible  <bruno@clisp.org>
47755
47756         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
47757         directly used by the gnulib modules nor by gnulib-tool.
47758
47759 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
47760
47761         * DEPENDENCIES: Give overall description of version dependency
47762         desirability.  Use more-typical names for apps.
47763         Add shell, coreutils, diffutils, grep, tar, gzip.
47764
47765 2007-04-04  Simon Josefsson  <simon@josefsson.org>
47766
47767         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
47768
47769 2007-04-04  Karl Berry  <karl@gnu.org>
47770
47771         * MODULES.html.sh (func_module): missing '.
47772
47773 2007-04-03  Bruno Haible  <bruno@clisp.org>
47774
47775         * modules/argmatch-tests (Makefile.am): New variable
47776         test_argmatch_LDADD.
47777         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
47778         * modules/array-list-tests (Makefile.am): New variable
47779         test_array_list_LDADD.
47780         * modules/array-oset-tests (Makefile.am): New variable
47781         test_array_oset_LDADD.
47782         * modules/avltree-list-tests (Makefile.am): New variable
47783         test_avltree_list_LDADD.
47784         * modules/avltree-oset-tests (Makefile.am): New variable
47785         test_avltree_oset_LDADD.
47786         * modules/avltreehash-list-tests (Makefile.am): New variable
47787         test_avltreehash_list_LDADD.
47788         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
47789         test_canonicalize_lgpl_LDADD.
47790         * modules/carray-list-tests (Makefile.am): New variable
47791         test_carray_list_LDADD.
47792         * modules/dirname-tests (Makefile.am): New variable
47793         test_dirname_LDADD.
47794         * modules/linked-list-tests (Makefile.am): New variable
47795         test_linked_list_LDADD.
47796         * modules/linkedhash-list-tests (Makefile.am): New variable
47797         test_linkedhash_list_LDADD.
47798         * modules/rbtree-list-tests (Makefile.am): New variable
47799         test_rbtree_list_LDADD.
47800         * modules/rbtree-oset-tests (Makefile.am): New variable
47801         test_rbtree_oset_LDADD.
47802         * modules/rbtreehash-list-tests (Makefile.am): New variable
47803         test_rbtreehash_list_LDADD.
47804         * modules/xvasprintf-tests (Makefile.am): New variable
47805         test_xvasprintf_LDADD.
47806         Reported by Eric Blake.
47807
47808 2007-04-03  Eric Blake  <ebb9@byu.net>
47809
47810         * DEPENDENCIES: Weaken m4 requirements.
47811
47812 2007-04-03  Bruno Haible  <bruno@clisp.org>
47813
47814         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
47815         * modules/isnanl-tests (configure.ac): Likewise.
47816
47817 2007-04-03  Ben Pfaff  <blp@gnu.org>
47818
47819         * modules/iconv_open: Add $(srcdir)/ to source directory
47820         references in Makefile fragments that call gperf, to fix VPATH
47821         builds.
47822
47823 2007-04-03  Bruno Haible  <bruno@clisp.org>
47824
47825         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
47826         * lib/ldexpl.c: Undo last change.
47827
47828 2007-04-03  Bruno Haible  <bruno@clisp.org>
47829
47830         * modules/printf-frexpl (Depends-on): Undo last change.
47831         (Files): Add m4/ldexpl.m4.
47832
47833 2007-04-03  Bruno Haible  <bruno@clisp.org>
47834
47835         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
47836         * modules/isnanl (Link): New section.
47837
47838         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
47839         * modules/frexp (Link): New section.
47840
47841         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
47842         * modules/frexpl (Link): New section.
47843
47844         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
47845         * modules/ldexpl (Link): New section.
47846
47847 2007-04-03  Bruno Haible  <bruno@clisp.org>
47848
47849         * modules/TEMPLATE-EXTENDED: New file.
47850         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
47851
47852 2007-04-03  Bruno Haible  <bruno@clisp.org>
47853
47854         * DEPENDENCIES: New file.
47855         Suggested by Simon Josefsson.
47856
47857 2007-04-03  Bruno Haible  <bruno@clisp.org>
47858
47859         * doc/gnulib.texi: Escape @.
47860
47861 2007-04-03  James Youngman  <jay@gnu.org>
47862         and Paul Eggert  <eggert@cs.ucla.edu>
47863
47864         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
47865         birthtime on all systems that have birthtime, not just those which
47866         use st_birthtimensec rather than st_birthtim.  Putting zero in
47867         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
47868         that the birth time is not available for files on an NFS mount.
47869
47870 2007-04-03  Simon Josefsson  <simon@josefsson.org>
47871
47872         * modules/memxor: Move back from crypto/, suggested by Bruno.
47873         * modules/crypto/hmac-sha1: Fix memxor dependency.
47874
47875         * modules/crypto/gc: Moved from ../.
47876
47877 2007-04-02  Eric Blake  <ebb9@byu.net>
47878
47879         * lib/ldexpl.c (includes): Avoid libm.
47880
47881         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
47882
47883 2007-04-02  Bruno Haible  <bruno@clisp.org>
47884
47885         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
47886         on IRIX.
47887
47888 2007-04-02  Bruno Haible  <bruno@clisp.org>
47889
47890         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
47891         x86 or x86_64 platforms running MacOS X.
47892         Reported by Ryan Schmidt <@ryandesign.com>.
47893
47894 2007-04-02  Bruno Haible  <bruno@clisp.org>
47895
47896         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
47897         i386.
47898
47899 2007-04-01  Simon Josefsson  <simon@josefsson.org>
47900
47901         * modules/crypto/arcfour: Moved from ../.
47902         * modules/crypto/arcfour-tests: Moved from ../.
47903         * modules/crypto/arctwo: Moved from ../.
47904         * modules/crypto/arctwo-tests: Moved from ../.
47905         * modules/crypto/des: Moved from ../.
47906         * modules/crypto/des-tests: Moved from ../.
47907         * modules/crypto/gc-arcfour: Moved from ../.
47908         * modules/crypto/gc-arcfour-tests: Moved from ../.
47909         * modules/crypto/gc-arctwo: Moved from ../.
47910         * modules/crypto/gc-arctwo-tests: Moved from ../.
47911         * modules/crypto/gc-des: Moved from ../.
47912         * modules/crypto/gc-des-tests: Moved from ../.
47913         * modules/crypto/gc-hmac-md5: Moved from ../.
47914         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
47915         * modules/crypto/gc-hmac-sha1: Moved from ../.
47916         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
47917         * modules/crypto/gc-md2: Moved from ../.
47918         * modules/crypto/gc-md2-tests: Moved from ../.
47919         * modules/crypto/gc-md4: Moved from ../.
47920         * modules/crypto/gc-md4-tests: Moved from ../.
47921         * modules/crypto/gc-md5: Moved from ../.
47922         * modules/crypto/gc-md5-tests: Moved from ../.
47923         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
47924         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
47925         * modules/crypto/gc-random: Moved from ../.
47926         * modules/crypto/gc-rijndael: Moved from ../.
47927         * modules/crypto/gc-rijndael-tests: Moved from ../.
47928         * modules/crypto/gc-sha1: Moved from ../.
47929         * modules/crypto/gc-sha1-tests: Moved from ../.
47930         * modules/crypto/gc-tests: Moved from ../.
47931         * modules/crypto/hmac-md5: Moved from ../.
47932         * modules/crypto/hmac-md5-tests: Moved from ../.
47933         * modules/crypto/hmac-sha1: Moved from ../.
47934         * modules/crypto/hmac-sha1-tests: Moved from ../.
47935         * modules/crypto/md2: Moved from ../.
47936         * modules/crypto/md2-tests: Moved from ../.
47937         * modules/crypto/md4: Moved from ../.
47938         * modules/crypto/md4-tests: Moved from ../.
47939         * modules/crypto/md5: Moved from ../.
47940         * modules/crypto/md5-tests: Moved from ../.
47941         * modules/crypto/memxor: Moved from ../.
47942         * modules/crypto/rijndael: Moved from ../.
47943         * modules/crypto/rijndael-tests: Moved from ../.
47944         * modules/crypto/sha1: Moved from ../.
47945
47946 2007-03-30  James Youngman  <jay@gnu.org>
47947
47948         * tests/test-stat-time.c (prepare_test): use chmod() rather than
47949         rename() to change the ctime of a file (because ctime is unaffected
47950         by rename on jfs2 on AIX 5.1).
47951         (main): Start by doing cleanup, in case a previous run failed leaving
47952         test files behind.
47953
47954 2007-03-31  Bruno Haible  <bruno@clisp.org>
47955
47956         Support old proprietary implementations of iconv.
47957         * modules/iconv_open: New file.
47958         * lib/iconv_.h: New file.
47959         * m4/iconv_h.m4: New file.
47960         * lib/iconv_open.c: New file.
47961         * lib/iconv_open-aix.gperf: New file.
47962         * lib/iconv_open-hpux.gperf: New file.
47963         * lib/iconv_open-irix.gperf: New file.
47964         * lib/iconv_open-osf.gperf: New file.
47965         * m4/iconv_open.m4: New file.
47966         * modules/linebreak (Depends-on): Add iconv_open.
47967         * modules/striconv (Depends-on): Likewise.
47968         * modules/striconveh (Depends-on): Likewise.
47969         * modules/unicodeio (Depends-on): Likewise.
47970         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
47971         (iconv_t)(-1).
47972         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
47973         conversion if cd is (iconv_t)(-1).
47974         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
47975         is not possible.
47976
47977 2007-03-31  Bruno Haible  <bruno@clisp.org>
47978
47979         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
47980         work on Solaris either. Protect also second use of "autodetect_jp".
47981
47982 2007-03-31  Bruno Haible  <bruno@clisp.org>
47983
47984         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
47985         the function is not present.
47986
47987 2007-03-31  Bruno Haible  <bruno@clisp.org>
47988
47989         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
47990         the function is not present.
47991
47992 2007-03-31  Bruno Haible  <bruno@clisp.org>
47993
47994         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
47995         a bug in HP-UX iconv_open().
47996
47997 2007-03-31  Bruno Haible  <bruno@clisp.org>
47998
47999         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
48000         (Mathematics <math.h>): New section, add fpieee.
48001         (Input/output <stdio.h>): Add fseterr.
48002         (Mathematics <math.h>): New section, add printf-frexp.
48003         (Container data structures): Add sublist.
48004         (Core language properties): Add fpucw, inline.
48005         (Functions for greatest-width integer types <inttypes.h>): Add
48006         imaxabs, imaxdiv, inttypes.
48007         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
48008         isnanl-nolibm, ldexp.
48009         (Mathematics <math.h>): New section, add printf-frexpl.
48010         (Support for systems lacking POSIX:2001): Add fprintf-posix,
48011         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
48012         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
48013         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
48014         (Unicode string functions): Add unistr/u*-mbtoucr.
48015         (Java): Add javacomp-script, javaexec-script.
48016         (C#): Add csharpcomp-script, csharpexec-script.
48017         (Support for building libraries and executables): Add havelib,
48018         relocatable-*.
48019         (Support for maintaining and releasing projects): Renamed from
48020         'Support for maintaining and release projects'. Add announce-gen.
48021
48022 2007-03-31  Bruno Haible  <bruno@clisp.org>
48023
48024         * README: Talk primarily about git.
48025         (git and CVS): Renamed from CVS.
48026         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
48027         gnulib is available through git.
48028         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
48029
48030 2007-03-30  Bruno Haible  <bruno@clisp.org>
48031
48032         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
48033         * lib/poll_.h: Likewise.
48034         * lib/stat_.h: Likewise.
48035         * lib/sys_time_.h: Likewise.
48036         * lib/sysexit_.h: Likewise.
48037         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
48038         * lib/stdbool_.h: Likewise.
48039         * lib/byteswap_.h: Add double-inclusion guard.
48040
48041 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
48042
48043         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
48044
48045 2007-03-30  Karl Berry  <karl@gnu.org>
48046
48047         * config/srclist-update: double space after USA in the license
48048         substitution, since that's how it's usually (?) written.
48049
48050 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
48051
48052         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
48053         reported by Bruno Haible.
48054
48055 2007-03-29  Bruno Haible  <bruno@clisp.org>
48056
48057         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
48058         a bug in AIX iconv().
48059
48060 2007-03-29  Bruno Haible  <bruno@clisp.org>
48061
48062         * modules/ldexpl-tests: New file.
48063         * tests/test-ldexpl.c: New file.
48064
48065 2007-03-29  Bruno Haible  <bruno@clisp.org>
48066
48067         * lib/ldexpl.c: Include fpucw.h.
48068         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
48069         multiplication.
48070         * modules/ldexpl (Depends-on): Add fpucw.
48071
48072 2007-03-29  Bruno Haible  <bruno@clisp.org>
48073
48074         * modules/ldexpl: New file.
48075         * m4/ldexpl.m4: New file.
48076         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
48077         set.
48078         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
48079         REPLACE_LDEXPL.
48080         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
48081         REPLACE_LDEXPL.
48082         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
48083         gl_FUNC_LDEXPL_WORKS.
48084         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
48085         * modules/mathl (Files): Remove lib/ldexpl.c.
48086         (Depends-on): Add ldexpl.
48087
48088 2007-03-29  Bruno Haible  <bruno@clisp.org>
48089
48090         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
48091
48092 2007-03-29  Bruno Haible  <bruno@clisp.org>
48093
48094         * tests/test-striconveh.c (main): Don't assume that a direct conversion
48095         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
48096         and possibly also HP-UX.
48097         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
48098         work on AIX, IRIX, HP-UX, OSF/1.
48099         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
48100         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
48101         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
48102         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
48103         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
48104         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
48105
48106 2007-03-29  Bruno Haible  <bruno@clisp.org>
48107
48108         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
48109
48110 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
48111
48112         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
48113         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
48114
48115 2007-03-29  Eric Blake  <ebb9@byu.net>
48116
48117         * lib/acl-internal.h: Remove redundant include.
48118         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
48119         Cygwin when a file is locked.
48120
48121 2007-03-29  Bruno Haible  <bruno@clisp.org>
48122
48123         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
48124         file.
48125         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
48126
48127 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
48128
48129         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
48130         try to remove a parent directory if the child couldn't be removed
48131         (except for the first rmdir, which could fail because the child
48132         doesn't exist).  Problem reported by Jeff Blaine in
48133         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
48134
48135 2007-03-28  Bruno Haible  <bruno@clisp.org>
48136
48137         * lib/striconveh.c (utf8conv_carefully): New function.
48138         (mem_cd_iconveh_internal): Invoke it.
48139
48140 2007-03-28  Bruno Haible  <bruno@clisp.org>
48141
48142         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
48143         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
48144         input.
48145         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
48146         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
48147         unistr/u8-uctomb.
48148
48149 2007-03-28  Bruno Haible  <bruno@clisp.org>
48150
48151         * modules/unistr/u8-mbtoucr: New file.
48152         * lib/unistr/u8-mbtoucr.c: New file.
48153         * modules/unistr/u16-mbtoucr: New file.
48154         * lib/unistr/u16-mbtoucr.c: New file.
48155         * modules/unistr/u16-mbtoucr: New file.
48156         * lib/unistr/u16-mbtoucr.c: New file.
48157         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
48158
48159 2007-03-27  Simon Josefsson  <simon@josefsson.org>
48160             Bruno Haible  <bruno@clisp.org>
48161
48162         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
48163         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
48164         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
48165
48166         * m4/stdio_h.m4: Add stubs for vasprintf too.
48167
48168         * modules/stdio: Support vasprintf in sed command.
48169
48170         * modules/vasprintf: Depend on stdio for prototypes.  Remove
48171         vasprintf.h.  Add stdio module indicator.
48172
48173         * lib/stdio_.h: Declare asprintf and vasprintf, based on
48174         vasprintf.h.
48175
48176         * lib/vasprintf.h: File removed.
48177
48178         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
48179         * lib/vasprintf.c: Ditto.
48180         * lib/xvasprintf.c: Ditto.
48181         * tests/test-vasprintf-posix.c: Ditto.
48182         * tests/test-vasprintf.c: Ditto.
48183
48184 2007-03-27  Bruno Haible  <bruno@clisp.org>
48185
48186         Make vasnprintf multithread-safe.
48187         * lib/vasnprintf.c (decimal_point_char): New function.
48188         (VASNPRINTF): Use it.
48189         Suggested by Simon Josefsson.
48190
48191 2007-03-27  Eric Blake  <ebb9@byu.net>
48192
48193         Support sub-second birthtime on cygwin.
48194         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
48195         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
48196         (get_stat_birthtime): Also work with st_birthtim.
48197
48198 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
48199
48200         * lib/stat-time.h (USE_BIRTHTIME): Remove.
48201         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
48202         (get_stat_birthtime_ns): Do not try to use "spare" fields.
48203         (get_stat_birthtime_ns): Simplify compile-time tests.
48204         (get_stat_birthtime): Change the API to look like
48205         get_stat_mtime etc., except return a negative tv_nsec on error.
48206         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
48207         Don't check for "spare" fields.
48208         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
48209         or for struct stat.st_birthtime, as these tests aren't used.
48210         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
48211
48212 2007-03-27  Bruno Haible  <bruno@clisp.org>
48213
48214         * lib/stat-time.h: Include <sys/stat.h>.
48215
48216 2007-03-27  James Youngman  <jay@gnu.org>
48217
48218         * lib/stat-time.h (get_stat_birthtime): New function for
48219           retrieving st_birthtime as provided by UFS2 (hence *BSD).
48220         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
48221           and its variants.
48222         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
48223         * modules/stat-time-test: New file.
48224         * tests/test-stat-time.c: New test, devised by Bruno Haible.
48225
48226 2007-03-26  Bruno Haible  <bruno@clisp.org>
48227
48228         Better support of signalling NaNs.
48229         * lib/atanl.c: Include isnanl.h.
48230         (atanl): Perform test for NaN at the beginning of the function and
48231         through a call to isnanl.
48232         * lib/cosl.c: Include isnanl.h.
48233         (cosl): Perform test for NaN at the beginning of the function and
48234         through a call to isnanl.
48235         * lib/ldexpl.c: Include isnanl.h.
48236         (ldexpl): Perform test for NaN through a call to isnanl.
48237         * lib/logl.c: Include isnanl.h.
48238         (logl): Perform test for NaN at the beginning of the function and
48239         through a call to isnanl.
48240         * lib/sinl.c: Include isnanl.h.
48241         (sinl): Perform test for NaN at the beginning of the function and
48242         through a call to isnanl.
48243         * lib/sqrtl.c: Include isnanl.h.
48244         (sqrtl): Perform test for NaN at the beginning of the function and
48245         through a call to isnanl.
48246         * lib/tanl.c: Include isnanl.h.
48247         (tanl): Perform test for NaN at the beginning of the function and
48248         through a call to isnanl.
48249         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
48250         * modules/mathl (Depends-on): Add isnanl.
48251
48252 2007-03-26  Eric Blake  <ebb9@byu.net>
48253
48254         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
48255         regression in logic sense of previous patch.
48256
48257 2007-03-26  Bruno Haible  <bruno@clisp.org>
48258
48259         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
48260         unportable shell command "if ! ...".
48261         Reported by Ralf Wildenhues.
48262
48263 2007-03-25  Bruno Haible  <bruno@clisp.org>
48264
48265         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
48266         <sysexits.h> file, and only add EX_CONFIG.
48267         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
48268         absolute file name and whether it is sufficient. Substitute also
48269         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
48270         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
48271         ABSOLUTE_SYSEXITS_H into sysexits.h.
48272
48273 2007-03-25  Bruno Haible  <bruno@clisp.org>
48274
48275         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
48276         hints is NULL.
48277
48278 2007-03-25  Bruno Haible  <bruno@clisp.org>
48279
48280         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
48281         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
48282
48283 2007-03-25  Bruno Haible  <bruno@clisp.org>
48284
48285         * lib/vasnprintf.c: Include langinfo.h.
48286         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
48287         multithread-safe.
48288         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
48289         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
48290         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48291         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48292         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48293         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48294         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48295         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
48296         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48297         Reported by Simon Josefsson.
48298
48299 2007-03-25  Bruno Haible  <bruno@clisp.org>
48300
48301         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
48302         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
48303         * modules/vasnprintf (Depends-on): Add stdint.
48304
48305 2007-03-25  Bruno Haible  <bruno@clisp.org>
48306
48307         * modules/fpieee: New file.
48308         * m4/fpieee.m4: New file.
48309         * modules/isnan-nolibm (Depends-on): Add fpieee.
48310         * modules/isnanl-nolibm (Depends-on): Add fpieee.
48311         * modules/isnanl (Depends-on): Add fpieee.
48312
48313 2007-03-25  Bruno Haible  <bruno@clisp.org>
48314
48315         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
48316
48317 2007-03-25  Bruno Haible  <bruno@clisp.org>
48318
48319         Avoid test failures on IRIX 6.5.
48320         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
48321         (main): Use it.
48322         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
48323         macros.
48324         (main): Use them.
48325
48326 2007-03-25  Bruno Haible  <bruno@clisp.org>
48327
48328         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
48329         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
48330         exists but doesn't work.
48331         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
48332         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
48333         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
48334         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
48335
48336 2007-03-25  Bruno Haible  <bruno@clisp.org>
48337
48338         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
48339         returns inf. Needed on IRIX 6.5.
48340
48341 2007-03-25  Bruno Haible  <bruno@clisp.org>
48342
48343         * tests/test-frexpl.c: Include isnanl-nolibm.h.
48344         (main): Use isnanl instead of x != x idiom.
48345         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
48346
48347         * tests/test-frexp.c: Include isnan.h.
48348         (main): Use isnan instead of x != x idiom.
48349         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
48350
48351 2007-03-25  Bruno Haible  <bruno@clisp.org>
48352
48353         * tests/test-frexp.c (NaN): New function/macro.
48354         (main): Use it instead of 0.0 / 0.0.
48355         * tests/test-isnan.c (NaN): New function/macro.
48356         (main): Use it instead of 0.0 / 0.0.
48357         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
48358         (test_function): Use it instead of 0.0 / 0.0.
48359         * tests/test-vasprintf-posix.c (NaN): New function/macro.
48360         (test_function): Use it instead of 0.0 / 0.0.
48361         * tests/test-snprintf-posix.h (NaN): New function/macro.
48362         (test_function): Use it instead of 0.0 / 0.0.
48363         * tests/test-sprintf-posix.h (NaN): New function/macro.
48364         (test_function): Use it instead of 0.0 / 0.0.
48365         * tests/test-fprintf-posix.h (NaN): New function/macro.
48366         (test_function): Use it instead of 0.0 / 0.0.
48367         * tests/test-printf-posix.h (NaN): New function/macro.
48368         (test_function): Use it instead of 0.0 / 0.0.
48369
48370         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
48371
48372 2007-03-25  Bruno Haible  <bruno@clisp.org>
48373
48374         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
48375
48376 2007-03-25  Bruno Haible  <bruno@clisp.org>
48377
48378         * lib/regexec.c (merge_state_with_log): Make static.
48379
48380 2007-03-25  Bruno Haible  <bruno@clisp.org>
48381
48382         * lib/trigl.c (kernel_rem_pio2): Make static.
48383
48384 2007-03-25  Bruno Haible  <bruno@clisp.org>
48385
48386         * lib/sincosl.c (sincosl_table): Make static.
48387
48388 2007-03-25  Bruno Haible  <bruno@clisp.org>
48389
48390         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
48391         if the compiler does not support C99.
48392
48393 2007-03-25  Bruno Haible  <bruno@clisp.org>
48394
48395         * modules/time (Makefile.am): Ensure all rule action lines start with a
48396         tab.
48397
48398 2007-03-24  Bruno Haible  <bruno@clisp.org>
48399
48400         * modules/tsearch-tests: New file.
48401         * tests/test-tsearch.sh: New file.
48402         * tests/test-tsearch.c: New file, mostly copied from glibc.
48403
48404         * modules/search-tests: New file.
48405         * tests/test-search.c: New file.
48406
48407         * modules/search: New file.
48408         * lib/search_.h: New file, incorporating lib/tsearch.h.
48409         * m4/search_h.m4: New file.
48410         * lib/tsearch.h: Remove file.
48411         * lib/tsearch.c: Include search.h instead of tsearch.h.
48412         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
48413         HAVE_TSEARCH.
48414         * modules/tsearch (Files): Remove lib/tsearch.h.
48415         (Depends-on): Add search.
48416         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
48417         (Include): Change tsearch.h into search.h.
48418
48419 2007-03-24  Bruno Haible  <bruno@clisp.org>
48420
48421         * modules/fpucw: New file.
48422         * lib/fpucw.h: New file.
48423         * lib/frexp.c: Include fpucw.h.
48424         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
48425         (FUNC): Use them.
48426         * lib/printf-frexp.c: Include fpucw.h.
48427         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
48428         (FUNC): Use them.
48429         * lib/vasnprintf.c: Include fpucw.h.
48430         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
48431         'long double' calculations.
48432         * tests/test-frexpl.c: Include fpucw.h.
48433         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
48434         * tests/test-printf-frexpl.c: Include fpucw.h.
48435         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
48436         * modules/frexpl (Depends-on): Add fpucw.
48437         * modules/printf-frexpl (Depends-on): Likewise.
48438         * modules/fprintf-posix (Depends-on): Likewise.
48439         * modules/snprintf-posix (Depends-on): Likewise.
48440         * modules/sprintf-posix (Depends-on): Likewise.
48441         * modules/vasnprintf-posix (Depends-on): Likewise.
48442         * modules/vasprintf-posix (Depends-on): Likewise.
48443         * modules/vfprintf-posix (Depends-on): Likewise.
48444         * modules/vsnprintf-posix (Depends-on): Likewise.
48445         * modules/vsprintf-posix (Depends-on): Likewise.
48446         * modules/frexpl-tests (Depends-on): Likewise.
48447         * modules/printf-frexpl-tests (Depends-on): Likewise.
48448
48449 2007-03-24  Bruno Haible  <bruno@clisp.org>
48450
48451         * lib/float+.h: New file.
48452         * lib/isnan.c: Include float+.h.
48453         (SIZE): New macro.
48454         (FUNC): Compare only SIZE bytes of the value.
48455         * lib/vasnprintf.c: Include float+.h.
48456         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
48457         SIZEOF_LDBL or SIZEOF_DBL bytes.
48458         * modules/isnan-nolibm (Files): Add lib/float+.h.
48459         * modules/isnanl-nolibm (Files): Add lib/float+.h.
48460         * modules/isnanl (Files): Add lib/float+.h.
48461         * modules/vasnprintf (Files): Add lib/float+.h.
48462
48463 2007-03-24  Bruno Haible  <bruno@clisp.org>
48464
48465         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
48466         include isnanl-nolibm.h.
48467
48468 2007-03-24  Bruno Haible  <bruno@clisp.org>
48469
48470         * tests/test-read-file.c (main): Don't produce spurious output for
48471         expected situations. Make the test fail if it encountered unexpected
48472         results.
48473
48474 2007-03-24  Bruno Haible  <bruno@clisp.org>
48475
48476         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
48477         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
48478
48479 2007-03-24  Bruno Haible  <bruno@clisp.org>
48480
48481         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
48482
48483 2007-03-24  Bruno Haible  <bruno@clisp.org>
48484
48485         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
48486         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
48487
48488         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
48489         * modules/utf8-ucs4: Turn into a symbolic link to module
48490         unistr/u8-mbtouc.
48491
48492         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
48493         utf8-ucs4-unsafe.
48494         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
48495         unistr/u8-mbtouc-unsafe.
48496
48497         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
48498         * modules/utf16-ucs4: Turn into a symbolic link to module
48499         unistr/u16-mbtouc.
48500
48501         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
48502         utf16-ucs4-unsafe.
48503         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
48504         unistr/u16-mbtouc-unsafe.
48505
48506         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
48507         * modules/ucs4-utf8: Turn into a symbolic link to module
48508         unistr/u8-ubtomb.
48509
48510         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
48511         * modules/ucs4-utf16: Turn into a symbolic link to module
48512         unistr/u16-ubtomb.
48513
48514 2007-03-24  Bruno Haible  <bruno@clisp.org>
48515
48516         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
48517         Enable the function only if HAVE_INLINE.
48518         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
48519         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
48520         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
48521         Enable the function only if HAVE_INLINE.
48522         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
48523         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
48524         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
48525         Enable the function only if HAVE_INLINE.
48526         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
48527         Enable the function only if HAVE_INLINE.
48528         * modules/utf8-ucs4: Update.
48529         * modules/utf8-ucs4-unsafe: Update.
48530         * modules/utf16-ucs4: Update.
48531         * modules/utf16-ucs4-unsafe: Update.
48532         * modules/ucs4-utf8: Update.
48533         * modules/ucs4-utf16: Update.
48534
48535 2007-03-24  Bruno Haible  <bruno@clisp.org>
48536
48537         * lib/utf8-ucs4.h: Remove file.
48538         * lib/utf8-ucs4-unsafe.h: Remove file.
48539         * lib/utf16-ucs4.h: Remove file.
48540         * lib/utf16-ucs4-unsafe.h: Remove file.
48541         * lib/ucs4-utf8.h: Remove file.
48542         * lib/ucs4-utf16.h: Remove file.
48543         * lib/unistr.h: Include their previous contents.
48544         * m4/utf-ucs4.m4: Remove file.
48545         * m4/ucs4-utf.m4: Remove file.
48546         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
48547         (Depends-on): Add unistr/base.
48548         (configure.ac): Remove gl_UTF_UCS4.
48549         (Makefile.am): Update.
48550         (Include): Change to unistr.h.
48551         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
48552         (Depends-on): Add unistr/base.
48553         (configure.ac): Remove gl_UTF_UCS4.
48554         (Makefile.am): Update.
48555         (Include): Change to unistr.h.
48556         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
48557         (Depends-on): Add unistr/base.
48558         (configure.ac): Remove gl_UTF_UCS4.
48559         (Makefile.am): Update.
48560         (Include): Change to unistr.h.
48561         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
48562         (Depends-on): Add unistr/base.
48563         (configure.ac): Remove gl_UTF_UCS4.
48564         (Makefile.am): Update.
48565         (Include): Change to unistr.h.
48566         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
48567         (Depends-on): Add unistr/base.
48568         (configure.ac): Remove gl_UCS4_UTF.
48569         (Makefile.am): Update.
48570         (Include): Change to unistr.h.
48571         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
48572         (Depends-on): Add unistr/base.
48573         (configure.ac): Remove gl_UCS4_UTF.
48574         (Makefile.am): Update.
48575         (Include): Change to unistr.h.
48576         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
48577         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
48578         utf8-ucs4-unsafe.h.
48579         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
48580         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
48581         utf16-ucs4-unsafe.h.
48582         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
48583         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
48584         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
48585         * lib/unistr/u8-strchr.c: Likewise.
48586         * lib/unistr/u8-strrchr.c: Likewise.
48587         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
48588         * lib/unistr/u16-strchr.c: Likewise.
48589         * lib/unistr/u16-strrchr.c: Likewise.
48590         * lib/striconveh.c: Update.
48591         * lib/linebreak.c: Update.
48592
48593 2007-03-24  Bruno Haible  <bruno@clisp.org>
48594
48595         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
48596         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
48597
48598 2007-03-22  Bruno Haible  <bruno@clisp.org>
48599
48600         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
48601
48602 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
48603
48604         * MODULES.html.sh (File system functions): New module write-any-file.
48605         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
48606         * m4/write-any-file.m4: New files.
48607
48608 2007-03-23  Eric Blake  <ebb9@byu.net>
48609
48610         * gnulib-tool: Rearrange space-tab sequences, since some editors
48611         like to eat them.
48612
48613 2007-03-23  Eric Blake  <ebb9@byu.net>
48614
48615         * lib/version-etc.c (version_etc_va): Update license wording to
48616         be more concise.  Recommended by Richard Stallman.
48617
48618 2007-03-22  Bruno Haible  <bruno@clisp.org>
48619
48620         * lib/poll.c (MSG_PEEK): New fallback definition.
48621
48622 2007-03-22  Bruno Haible  <bruno@clisp.org>
48623
48624         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
48625         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
48626         (main): Update.
48627         Fixes a compilation error on BeOS.
48628
48629 2007-03-22  Bruno Haible  <bruno@clisp.org>
48630
48631         * modules/frexpl-tests: New file.
48632         * tests/test-frexpl.c: New file.
48633
48634         * modules/frexpl: New file.
48635         * m4/frexpl.m4: New file.
48636         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
48637         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
48638         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
48639         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
48640         (Depends-on): Add frexpl. Remove isnanl-nolibm.
48641         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
48642
48643 2007-03-22  Bruno Haible  <bruno@clisp.org>
48644
48645         * lib/frexpl.c: Share code with lib/frexp.c.
48646         * modules/mathl (Files): Add lib/frexp.c.
48647         (Depends-on): Add isnanl-nolibm.
48648
48649 2007-03-22  Bruno Haible  <bruno@clisp.org>
48650
48651         * modules/printf-frexp (Files): Add m4/frexp.m4.
48652         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
48653         only if the found frexp function actually works.
48654
48655 2007-03-22  Bruno Haible  <bruno@clisp.org>
48656
48657         * lib/frexp.c: Remove older implementation that uses divisions.
48658
48659 2007-03-21  Bruno Haible  <bruno@clisp.org>
48660
48661         * modules/frexp-tests: New file.
48662         * tests/test-frexp.c: New file.
48663
48664         * modules/frexp: New file.
48665         * lib/frexp.c: New file.
48666         * m4/frexp.m4: New file.
48667         * lib/math_.h (frexp): New declaration.
48668         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
48669         REPLACE_FREXP.
48670         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
48671
48672 2007-03-21  Bruno Haible  <bruno@clisp.org>
48673
48674         * modules/isnanl-tests: New file.
48675         * tests/test-isnanl.c: New file.
48676
48677         * modules/isnanl: New file.
48678         * lib/isnanl.h: New file.
48679         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
48680         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
48681         gl_FUNC_ISNANL_WORKS.
48682         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
48683         New macros.
48684
48685 2007-03-21  Bruno Haible  <bruno@clisp.org>
48686
48687         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
48688         lib/isnanl.h.
48689         (Include): Update.
48690         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
48691         * lib/vasnprintf.c: Update.
48692         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
48693         tests/test-isnanl.h, remove tests/test-isnanl.c.
48694         (Makefile.am): Update.
48695         * tests/test-isnanl-nolibm.c: New file.
48696         * tests/test-isnanl.h: New file.
48697         * tests/test-isnanl.c: Remove file.
48698
48699 2007-03-21  Jim Meyering  <jim@meyering.net>
48700
48701         When trying to open ".", treat ESTALE like EACCES.
48702         * lib/savewd.c (savewd_save): Resort to forking not just upon
48703         failure with EACCES, but also when errno is ESTALE.
48704
48705 2007-03-20  Bruno Haible  <bruno@clisp.org>
48706
48707         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
48708         Needed on AIX 5.1. Reported by Matthew Woehlke.
48709
48710 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
48711
48712         Suggestions by Bruno Haible:
48713         * lib/acl-internal.h: Include "gettext.h" rather than rolling
48714         our own.
48715         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
48716         * modules/acl (Depends-on): Add gettext.
48717
48718 2007-03-19  Bruno Haible  <bruno@clisp.org>
48719
48720         * modules/iconvme: Remove file.
48721         * lib/iconvme.h: Remove file.
48722         * lib/iconvme.c: Remove file.
48723         * m4/iconvme.m4: Remove file.
48724
48725 2007-03-19  Bruno Haible  <bruno@clisp.org>
48726
48727         * doc/relocatable-maint.texi: Break long shell script line.
48728         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
48729
48730 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
48731
48732         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
48733         handle file_has_acl.
48734         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
48735         * lib/acl.c: Move header inclusions and related macro defns into
48736         lib/acl-internal.h.
48737         (S_ISLNK): Remove defn, since that's now done for us.
48738         (file_has_acl): Move to lib/file-has-acl.c.
48739         Call acl_trivial if available.  This is the crucial part of the fix.
48740         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
48741         shared within the library.  Rewrite a bit, partly to make it compatible
48742         with the GNU coding style.
48743         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
48744         Remove unnecessary double-quotes.
48745         Don't test for acl_to_text; the build will catch that.
48746         Replace acl_entries if it doesn't exist and it is needed.
48747         Check for -lsec and acl_trivial (as used on Solaris 10).
48748         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
48749         lib/file-has-acl.c.
48750         (Depends-on): Add sys_stat, for S_ISLNK.
48751
48752 2007-03-19  Ben Pfaff  <blp@gnu.org>
48753
48754         * doc/gnulib.texi: Fix typos.
48755         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
48756
48757 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
48758
48759         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
48760         If size is zero here, buf must be zero.
48761
48762 2007-03-19  Simon Josefsson  <simon@josefsson.org>
48763
48764         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
48765         <bruno@clisp.org>.
48766
48767 2007-03-18  Bruno Haible  <bruno@clisp.org>
48768
48769         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
48770         Suggested by Eric Blake.
48771
48772 2007-03-18  Ben Pfaff  <blp@gnu.org>
48773
48774         * doc/relocatable.texi: Recommend using as prefix a directory
48775         that does not exist and will never be created.  Based on
48776         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
48777         and others.
48778
48779 2007-03-17  Bruno Haible  <bruno@clisp.org>
48780
48781         * lib/fchownat.c: Include lchown.h.
48782
48783 2007-03-17  Bruno Haible  <bruno@clisp.org>
48784
48785         Fix endless loop when the given allocated size was > INT_MAX.
48786         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
48787         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
48788         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
48789         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
48790         * lib/sprintf.c (sprintf): Likewise.
48791
48792 2007-03-17  Bruno Haible  <bruno@clisp.org>
48793
48794         * tests/test-argp-2.sh (func_compare): Output a context diff.
48795
48796 2007-03-17  Bruno Haible  <bruno@clisp.org>
48797
48798         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
48799         locale's decimal-point character.
48800
48801 2007-03-17  Bruno Haible  <bruno@clisp.org>
48802
48803         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
48804         before comparing it. Needed because on some platforms (e.g. x86) a
48805         'long double' occupies less bytes than sizeof (long double).
48806
48807 2007-03-17  Bruno Haible  <bruno@clisp.org>
48808
48809         * tests/test-crc.c (main): Make printf statements 64-bit clean.
48810         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
48811         * tests/test-getaddrinfo.c (simple): Likewise.
48812         * tests/test-read-file.c (main): Likewise.
48813
48814 2007-03-17  Bruno Haible  <bruno@clisp.org>
48815
48816         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
48817
48818 2007-03-17  Bruno Haible  <bruno@clisp.org>
48819
48820         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
48821         unused variable.
48822
48823 2007-03-17  Bruno Haible  <bruno@clisp.org>
48824
48825         * tests/test-c-strcasecmp.c: Include c-strcase.h.
48826         * tests/test-c-strncasecmp.c: Likewise.
48827
48828 2007-03-17  Bruno Haible  <bruno@clisp.org>
48829
48830         * modules/stdlib (Depends-on): Add unistd.
48831         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
48832         Needed for MacOS X 10.3.
48833
48834 2007-03-17  Bruno Haible  <bruno@clisp.org>
48835
48836         * lib/unistr/u-strdup.h: Include <stdlib.h>.
48837
48838 2007-03-17  Bruno Haible  <bruno@clisp.org>
48839
48840         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
48841
48842 2007-03-17  Bruno Haible  <bruno@clisp.org>
48843
48844         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
48845         to reflect files copied from gnulib (with or without modifications).
48846         Suggested by Jim Meyering.
48847
48848 2007-03-17  Eric Blake  <ebb9@byu.net>
48849
48850         * NEWS: Document stdlib change from 2007-02-18.
48851
48852 2007-03-17  Jim Meyering  <jim@meyering.net>
48853
48854         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
48855         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
48856         someone uses a name containing shell meta-characters.
48857         Reported by Alfred M. Szmidt.
48858
48859         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
48860
48861 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
48862
48863         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
48864         and copy gettext configuration files only if configure.ac contains
48865         a use of AM_GNU_GETTEXT_VERSION.
48866
48867 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
48868
48869         * build-aux/bootstrap (gnulib_name): New variable.
48870         (gnulib_tool_options): Use it.
48871
48872 2007-03-13  Simon Josefsson  <simon@josefsson.org>
48873
48874         * tests/test-des.c: Use new namespace.
48875
48876 2007-03-15  Bruno Haible  <bruno@clisp.org>
48877
48878         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
48879         Reported by James Youngman <jay@gnu.org>.
48880
48881 2007-03-15  Bruno Haible  <bruno@clisp.org>
48882
48883         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
48884         declared prototype. Needed with cc on OSF/1 5.1.
48885
48886 2007-03-15  Bruno Haible  <bruno@clisp.org>
48887
48888         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
48889         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
48890         (struct gl_list_implementation): Add dispose_fn argument to the
48891         'create_empty', 'create' methods.
48892         (struct gl_list_impl_base): Add field 'dispose_fn'.
48893         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
48894         argument.
48895         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
48896         dispose_fn argument.
48897         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
48898         dispose_fn on the dropped values.
48899         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
48900         dispose_fn argument.
48901         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
48902         dropped values.
48903         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
48904         (gl_tree_remove_node): Call dispose_fn on the dropped value.
48905         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
48906         (gl_tree_remove_node): Call dispose_fn on the dropped value.
48907         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
48908         argument.
48909         (gl_tree_list_free): Call dispose_fn on the dropped values.
48910         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
48911         the dropped values.
48912         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
48913         Add dispose_fn argument.
48914         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
48915         Call dispose_fn on the dropped values.
48916         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
48917         Add dispose_fn argument.
48918         (gl_sublist_create): Initialize the 'dispose_fn' field.
48919         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
48920         * tests/test-array_list.c (main): Update.
48921         * tests/test-carray_list.c (main): Update.
48922         * tests/test-avltree_list.c (main): Update.
48923         * tests/test-rbtree_list.c (main): Update.
48924         * tests/test-avltreehash_list.c (main): Update.
48925         * tests/test-rbtreehash_list.c (main): Update.
48926         * tests/test-linked_list.c (main): Update.
48927         * tests/test-linkedhash_list.c (main): Update.
48928         * tests/test-array_oset.c (main): Update.
48929
48930 2007-03-15  Bruno Haible  <bruno@clisp.org>
48931
48932         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
48933         (gl_oset_create_empty): Add dispose_fn argument.
48934         (struct gl_oset_implementation): Add dispose_fn argument to
48935         'create_empty' method.
48936         (struct gl_oset_impl_base): Add dispose_fn field.
48937         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
48938         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
48939         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
48940         values.
48941         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
48942         (gl_tree_oset_free): Call dispose_fn on the dropped values.
48943         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
48944         dropped value.
48945         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
48946         dropped value.
48947         * tests/test-array_oset.c (main): Update.
48948         * tests/test-avltree_oset.c (main): Update.
48949         * tests/test-rbtree_oset.c (main): Update.
48950         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
48951
48952 2007-03-13  Bruno Haible  <bruno@clisp.org>
48953
48954         * tests/test-stdbool.c (i): Update after last patch.
48955
48956 2007-03-12  Bruno Haible  <bruno@clisp.org>
48957
48958         * lib/quotearg.c: Include <wctype.h> early, before the definition of
48959         the iswprint macro. Needed on Solaris 2.5.1.
48960
48961 2007-03-12  Bruno Haible  <bruno@clisp.org>
48962
48963         * tests/test-printf-frexp.c (main): Declare x as volatile.
48964
48965 2007-03-12  Simon Josefsson  <simon@josefsson.org>
48966
48967         * doc/gnulib.texi (Build robot for gnulib): New section.
48968
48969 2007-03-12  Jim Meyering  <jim@meyering.net>
48970
48971         * build-aux/bootstrap: New file.
48972         * build-aux/bootstrap.conf: New file, from coreutils.
48973
48974 2007-03-11  Bruno Haible  <bruno@clisp.org>
48975
48976         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
48977
48978 2007-03-12  Simon Josefsson  <simon@josefsson.org>
48979
48980         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
48981         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
48982         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
48983
48984 2007-03-11  Bruno Haible  <bruno@clisp.org>
48985
48986         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
48987         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
48988
48989 2007-03-11  Bruno Haible  <bruno@clisp.org>
48990
48991         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
48992         formula. Needed for SunPRO C 5.0.
48993
48994 2007-03-11  Bruno Haible  <bruno@clisp.org>
48995
48996         * modules/long-options (Depends-on): Add getopt.
48997
48998 2007-03-11  Bruno Haible  <bruno@clisp.org>
48999
49000         * modules/modechange (Depends-on): Add stdbool.
49001
49002 2007-03-11  Bruno Haible  <bruno@clisp.org>
49003
49004         * modules/i-ring (Depends-on): Add stdbool.
49005
49006 2007-03-11  Bruno Haible  <bruno@clisp.org>
49007
49008         * modules/gc-des (Depends-on): Add stdbool.
49009
49010 2007-03-11  Bruno Haible  <bruno@clisp.org>
49011
49012         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
49013
49014 2007-03-11  Bruno Haible  <bruno@clisp.org>
49015
49016         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
49017
49018 2007-03-11  Bruno Haible  <bruno@clisp.org>
49019
49020         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
49021
49022 2007-03-11  Bruno Haible  <bruno@clisp.org>
49023
49024         * lib/vasnprintf.c (sprintf): Undefine.
49025
49026 2007-03-11  Bruno Haible  <bruno@clisp.org>
49027
49028         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
49029         initializers in SunPRO C and Compaq C compilers.
49030
49031 2007-03-11  Bruno Haible  <bruno@clisp.org>
49032
49033         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
49034         decrementing code ANSI C compliant.
49035
49036 2007-03-11  Bruno Haible  <bruno@clisp.org>
49037
49038         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
49039         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
49040
49041 2007-03-11  Bruno Haible  <bruno@clisp.org>
49042
49043         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
49044         <stdbool.h> substitute doesn't pass.
49045
49046 2007-03-11  Bruno Haible  <bruno@clisp.org>
49047
49048         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
49049
49050 2007-03-11  Bruno Haible  <bruno@clisp.org>
49051
49052         * gnulib-tool (func_create_megatestdir): Create also an autobuild
49053         script, for submission to autobuild.josefsson.org.
49054
49055 2007-03-10  Bruno Haible  <bruno@clisp.org>
49056
49057         * modules/canonicalize-lgpl-tests: New file.
49058         * tests/test-canonicalize-lgpl.sh: New file.
49059         * tests/test-canonicalize-lgpl.c: New file.
49060
49061         * modules/c-strcase-tests: New file.
49062         * tests/test-c-strcase.sh: New file.
49063         * tests/test-c-strcasecmp.c: New file.
49064         * tests/test-c-strncasecmp.c: New file.
49065
49066         * modules/atexit-tests: New file.
49067         * tests/test-atexit.sh: New file.
49068         * tests/test-atexit.c: New file.
49069
49070 2007-03-10  Bruno Haible  <bruno@clisp.org>
49071
49072         * tests/test-binary-io.sh: Use temporary filenames that are not so
49073         likely to clash with those of other tests (in a parallel make).
49074         * tests/test-binary-io.c: Likewise.
49075
49076 2007-03-10  Bruno Haible  <bruno@clisp.org>
49077
49078         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
49079         fallback; use #error instead.
49080         Suggested by Simon Josefsson.
49081
49082 2007-03-10  Bruno Haible  <bruno@clisp.org>
49083
49084         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
49085         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
49086         first and the last.
49087
49088 2007-03-10  Bruno Haible  <bruno@clisp.org>
49089
49090         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
49091
49092 2007-03-10  Bruno Haible  <bruno@clisp.org>
49093
49094         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
49095         "make distcheck".
49096         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
49097         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
49098         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
49099
49100 2007-03-10  Bruno Haible  <bruno@clisp.org>
49101
49102         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
49103         variable.
49104         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
49105         variable.
49106
49107 2007-03-09  Eric Blake  <ebb9@byu.net>
49108         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
49109
49110         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
49111         types are not being provided by gnulib.
49112         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
49113         types are supported.
49114
49115 2007-03-10  Bruno Haible  <bruno@clisp.org>
49116
49117         * lib/stdio_.h (__attribute__): New macro.
49118         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
49119         vsprintf): Specify __attribute__ __format__ for GCC.
49120         Suggested by Eric Blake.
49121
49122 2007-03-09  Bruno Haible  <bruno@clisp.org>
49123
49124         * modules/printf-posix-tests: New file.
49125         * tests/test-printf-posix.sh: New file.
49126         * tests/test-printf-posix.c: New file.
49127
49128         * modules/printf-posix: New file.
49129         * lib/printf.c: New file.
49130         * m4/printf-posix-rpl.m4: New file.
49131         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
49132         REPLACE_PRINTF.
49133         * lib/stdio_.h (printf): New declaration.
49134         (format, __format__, ____printf____, ____scanf____, ____strftime____,
49135         ____strfmon____): New macros.
49136         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
49137         REPLACE_PRINTF.
49138
49139 2007-03-09  Bruno Haible  <bruno@clisp.org>
49140
49141         * tests/test-vasnprintf-posix2.sh: New file.
49142         * tests/test-vasnprintf-posix2.c: New file.
49143         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
49144         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
49145         (Makefile.am): Activate test-vasnprintf-posix2.sh.
49146
49147         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
49148         a locale dependent decimal point, rather than always '.'.
49149
49150 2007-03-09  Eric Blake  <ebb9@byu.net>
49151
49152         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
49153         spite of platforms like Tandem/NSK that define it to -1.
49154
49155 2007-03-08  Bruno Haible  <bruno@clisp.org>
49156
49157         * modules/vprintf-posix-tests: New file.
49158         * tests/test-vprintf-posix.sh: New file.
49159         * tests/test-vprintf-posix.c: New file.
49160         * tests/test-printf-posix.h: New file.
49161
49162         * modules/vprintf-posix: New file.
49163         * lib/vprintf.c: New file.
49164         * m4/vprintf-posix.m4: New file.
49165         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
49166         REPLACE_VPRINTF.
49167         * lib/stdio_.h (vprintf): New declaration.
49168         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
49169         REPLACE_VPRINTF.
49170
49171 2007-03-08  Bruno Haible  <bruno@clisp.org>
49172
49173         * modules/fprintf-posix-tests: New file.
49174         * tests/test-fprintf-posix.sh: New file.
49175         * tests/test-fprintf-posix.c: New file.
49176
49177         * modules/fprintf-posix: New file.
49178         * lib/fprintf.c: New file.
49179         * m4/fprintf-posix.m4: New file.
49180         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
49181         REPLACE_FPRINTF.
49182         * lib/stdio_.h (fprintf): New declaration.
49183         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
49184         REPLACE_FPRINTF.
49185
49186 2007-03-08  Bruno Haible  <bruno@clisp.org>
49187
49188         * modules/vfprintf-posix-tests: New file.
49189         * tests/test-vfprintf-posix.sh: New file.
49190         * tests/test-vfprintf-posix.c: New file.
49191         * tests/test-fprintf-posix.h: New file.
49192         * tests/test-fprintf-posix.out: New file.
49193
49194         * modules/vfprintf-posix: New file.
49195         * lib/vfprintf.c: New file.
49196         * m4/vfprintf-posix.m4: New file.
49197         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
49198         REPLACE_VFPRINTF.
49199         * lib/stdio_.h (vfprintf): New declaration.
49200         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
49201         REPLACE_VFPRINTF.
49202
49203 2007-03-08  Bruno Haible  <bruno@clisp.org>
49204
49205         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
49206
49207 2007-03-08  Bruno Haible  <bruno@clisp.org>
49208
49209         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
49210         instead of 'expr' invocations.
49211         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49212         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49213         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49214         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49215         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49216         Suggested by Paul Eggert.
49217
49218 2007-03-08  Bruno Haible  <bruno@clisp.org>
49219
49220         * modules/fseterr-tests: New file.
49221         * tests/test-fseterr.c: New file.
49222
49223         * modules/fseterr: New file.
49224         * lib/fseterr.h: New file.
49225         * lib/fseterr.c: New file.
49226
49227 2007-03-08  Bruno Haible  <bruno@clisp.org>
49228
49229         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
49230         * lib/getopt_.h: Likewise.
49231         * lib/mbswidth.h: Likewise.
49232         * lib/setenv.h: Likewise.
49233         * lib/vasnprintf.h: Likewise.
49234         * lib/vasprintf.h: Likewise.
49235         * lib/verror.h: Likewise.
49236         * lib/xsetenv.h: Likewise.
49237         * lib/xvasprintf.h: Likewise.
49238
49239 2007-03-08  Jim Meyering  <jim@meyering.net>
49240
49241         * users.txt: Add parted.
49242
49243         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
49244
49245 2007-03-07  Bruno Haible  <bruno@clisp.org>
49246
49247         * m4/printf.m4: Make the shell script snippets copy&pastable.
49248
49249 2007-03-02  Bruno Haible  <bruno@clisp.org>
49250
49251         * lib/netinet_in_.h: New file.
49252         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
49253         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
49254         * modules/netinet_in (Files): Add lib/netinet_in_.h.
49255         (Depends-on): Add absolute-header.
49256         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
49257         into netinet/in.h.
49258
49259 2007-03-03  Bruno Haible  <bruno@clisp.org>
49260
49261         * lib/sys_select_.h: New file.
49262         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
49263         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
49264         * modules/sys_select (Files): Add lib/sys_select_.h.
49265         (Depends-on): Add absolute-header.
49266         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
49267         into sys/select.h.
49268
49269 2007-03-02  Bruno Haible  <bruno@clisp.org>
49270
49271         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
49272         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
49273         values.
49274         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
49275         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
49276         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
49277         * modules/sys_socket (Depends-on): Add absolute-header.
49278         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
49279         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
49280         (Include): Remove requirement of inclusion of <sys/types.h>.
49281
49282 2007-03-02  Bruno Haible  <bruno@clisp.org>
49283
49284         * lib/byteswap_.h (bswap_32): Fix formula.
49285
49286 2007-03-06  Bruno Haible  <bruno@clisp.org>
49287
49288         * modules/sprintf-posix-tests: New file.
49289         * tests/test-sprintf-posix.c: New file.
49290
49291         * modules/sprintf-posix: New file.
49292         * lib/sprintf.c: New file.
49293         * m4/sprintf-posix.m4: New file.
49294         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
49295         REPLACE_SPRINTF.
49296         * lib/stdio_.h (sprintf): New declaration.
49297         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
49298         REPLACE_SPRINTF.
49299
49300 2007-03-06  Bruno Haible  <bruno@clisp.org>
49301
49302         * modules/vsprintf-posix-tests: New file.
49303         * tests/test-vsprintf-posix.c: New file.
49304         * tests/test-sprintf-posix.h: New file.
49305
49306         * modules/vsprintf-posix: New file.
49307         * lib/vsprintf.c: New file.
49308         * m4/vsprintf-posix.m4: New file.
49309         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
49310         REPLACE_VSPRINTF.
49311         * lib/stdio_.h (vsprintf): New declaration.
49312         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
49313         REPLACE_VSPRINTF.
49314
49315 2007-03-06  Bruno Haible  <bruno@clisp.org>
49316
49317         * modules/vsnprintf (Depend-on): Remove minmax.
49318
49319 2007-03-06  Bruno Haible  <bruno@clisp.org>
49320
49321         * modules/snprintf-posix-tests: New file.
49322         * tests/test-snprintf-posix.c: New file.
49323
49324         * modules/snprintf-posix: New file.
49325         * m4/snprintf-posix.m4: New file.
49326         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
49327         gl_FUNC_SNPRINTF.
49328         (gl_FUNC_SNPRINTF): Invoke it.
49329         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
49330         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
49331         is set.
49332         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
49333
49334 2007-03-06  Bruno Haible  <bruno@clisp.org>
49335
49336         * modules/vsnprintf-posix-tests: New file.
49337         * tests/test-vsnprintf-posix.c: New file.
49338         * tests/test-snprintf-posix.h: New file.
49339
49340         * modules/vsnprintf-posix: New file.
49341         * m4/vsnprintf-posix.m4: New file.
49342         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
49343         gl_FUNC_VSNPRINTF.
49344         (gl_FUNC_VSNPRINTF): Invoke it.
49345         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
49346         * lib/stdio_.h (vsnprintf): Define as a replacement if
49347         REPLACE_VSNPRINTF is set.
49348         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
49349
49350 2007-03-06  Bruno Haible  <bruno@clisp.org>
49351
49352         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
49353         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
49354
49355 2007-03-06  Bruno Haible  <bruno@clisp.org>
49356
49357         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
49358         (asinl): Declare also if HAVE_DECL_ASINL is set.
49359         (atanl): Declare also if HAVE_DECL_ATANL is set.
49360         (ceill): Declare also if HAVE_DECL_CEILL is set.
49361         (cosl): Declare also if HAVE_DECL_COSL is set.
49362         (expl): Declare also if HAVE_DECL_EXPL is set.
49363         (floorl): Declare also if HAVE_DECL_FLOORL is set.
49364         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
49365         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
49366         (logl): Declare also if HAVE_DECL_LOGL is set.
49367         (sinl): Declare also if HAVE_DECL_SINL is set.
49368         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
49369         (tanl): Declare also if HAVE_DECL_TANL is set.
49370         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
49371         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
49372         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
49373         declaration of frexpl, ldexpl.
49374         * modules/printf-frexpl (Depends-on): Add math.
49375         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
49376
49377 2007-03-05  Bruno Haible  <bruno@clisp.org>
49378
49379         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
49380         frexpl and ldexpl are declared.
49381         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
49382
49383 2007-03-05  Bruno Haible  <bruno@clisp.org>
49384
49385         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
49386         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
49387
49388 2007-03-05  Bruno Haible  <bruno@clisp.org>
49389
49390         * lib/stdio_.h: Include <stddef.h>.
49391
49392 2007-03-05  Bruno Haible  <bruno@clisp.org>
49393
49394         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
49395
49396 2007-03-05  Bruno Haible  <bruno@clisp.org>
49397
49398         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
49399         NetBSD 4, from Ralf Wildenhues.
49400
49401 2007-03-04  Bruno Haible  <bruno@clisp.org>
49402
49403         * lib/vasprintf.h: Update #if logic for the case when the functions
49404         exist but are overridden.
49405
49406 2007-03-04  Bruno Haible  <bruno@clisp.org>
49407
49408         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
49409         implementations: glibc-2.4 and MacOS X 10.3.
49410         * tests/test-vasnprintf-posix.c (test_function): Test also the case
49411         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
49412         * tests/test-vasprintf-posix.c (test_function): Likewise.
49413
49414 2007-03-04  Bruno Haible  <bruno@clisp.org>
49415
49416         * modules/vasprintf-posix-tests: New file.
49417         * tests/test-vasprintf-posix.c: New file.
49418
49419         * modules/vasprintf-posix: New file.
49420         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
49421         defined.
49422         * m4/vasprintf-posix.m4: New file.
49423         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
49424         gl_FUNC_VASPRINTF.
49425         (gl_FUNC_VASPRINTF): Invoke it.
49426         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
49427         here.
49428         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
49429
49430 2007-03-04  Bruno Haible  <bruno@clisp.org>
49431
49432         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
49433         REPLACE_GETTIMEOFDAY.
49434         * modules/sys_time (Makefile.am): Likewise.
49435         * m4/sys_time_h.m4: Likewise.
49436         * m4/gettimeofday.m4: Likewise.
49437
49438 2007-03-04  Bruno Haible  <bruno@clisp.org>
49439
49440         * modules/vasnprintf-posix-tests: New file.
49441         * tests/test-vasnprintf-posix.c: New file.
49442
49443         * modules/vasnprintf-posix: New file.
49444         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
49445         printf-frexpl.h.
49446         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
49447         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
49448         REPLACE_VASNPRINTF is defined.
49449         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
49450         gl_FUNC_VASNPRINTF.
49451         (gl_FUNC_VASNPRINTF): Invoke it.
49452         * m4/vasnprintf-posix.m4: New file.
49453         * m4/printf.m4: New file.
49454
49455 2007-03-04  Bruno Haible  <bruno@clisp.org>
49456
49457         Compile progreloc.c only if --enable-relocatable is specified.
49458         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
49459         if --enable-relocatable was specified.
49460         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
49461         lib_SOURCES.
49462
49463 2007-03-04  Jim Meyering  <jim@meyering.net>
49464
49465         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
49466         Use it consistently, rather than enumerating errno constants.
49467
49468 2007-03-04  Bruno Haible  <bruno@clisp.org>
49469
49470         * modules/xvasprintf-tests: New file.
49471         * tests/test-xvasprintf.c: New file.
49472
49473         * modules/vasprintf-tests: New file.
49474         * tests/test-vasprintf.c: New file.
49475
49476         * modules/vasnprintf-tests: New file.
49477         * tests/test-vasnprintf.c: New file.
49478
49479         * modules/vsnprintf-tests: New file.
49480         * tests/test-vsnprintf.c: New file.
49481
49482         * modules/snprintf-tests: New file.
49483         * tests/test-snprintf.c: New file.
49484
49485 2007-03-04  Bruno Haible  <bruno@clisp.org>
49486
49487         Compile relocatable.c only if --enable-relocatable is specified.
49488         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
49489         gl_RELOCATABLE_LIBRARY.
49490         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
49491         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
49492         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
49493         gl_RELOCATABLE_LIBRARY.
49494         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
49495         (Makefile.am): Remove lib_SOURCES.
49496         * modules/relocatable-lib-lgpl (configure.ac): Invoke
49497         gl_RELOCATABLE_LIBRARY.
49498         (Makefile.am): Remove lib_SOURCES.
49499         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
49500         always.
49501         * modules/relocatable-prog-wrapper (configure.ac): Invoke
49502         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
49503
49504 2007-03-04  Bruno Haible  <bruno@clisp.org>
49505
49506         * modules/argmatch-tests: New file.
49507         * tests/test-argmatch.c: New file.
49508
49509         * tests/test-allocsa.c (main): Halve the number of loop runs.
49510
49511         * modules/alloca-opt-tests: New file.
49512         * tests/test-alloca-opt.c: New file.
49513
49514 2007-03-04  Jim Meyering  <jim@meyering.net>
49515
49516         Work around difference between Linux ACLs and Solaris 10 ZFS.
49517         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
49518         for EINVAL.
49519
49520 2007-03-03  Bruno Haible  <bruno@clisp.org>
49521
49522         * modules/relocatable-prog (Depends-on): Add back progreloc's
49523         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
49524
49525 2007-03-03  Bruno Haible  <bruno@clisp.org>
49526
49527         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
49528         * modules/relocatable-lib: New file.
49529
49530 2007-03-03  Bruno Haible  <bruno@clisp.org>
49531
49532         * modules/relocatable-prog: Renamed from modules/relocatable.
49533         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
49534
49535 2007-03-03  Bruno Haible  <bruno@clisp.org>
49536
49537         * modules/relocatable-script (Files): Add doc/relocatable.texi,
49538         m4/relocatable-lib.m4.
49539         (Depends-on): Remove 'relocatable'.
49540         (configure.ac): Add gl_RELOCATABLE_NOP.
49541
49542 2007-03-03  Bruno Haible  <bruno@clisp.org>
49543
49544         * modules/relocatable-prog-wrapper: New file.
49545         * modules/relocatable (Depends-on): Add it. Remove all other
49546         dependencies except progname.
49547         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
49548
49549         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
49550         (gl_FUNC_STRERROR): Nop.
49551         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
49552
49553         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
49554         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
49555
49556         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
49557         (gl_FUNC_READLINK): Update.
49558
49559         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
49560
49561 2007-03-03  Bruno Haible  <bruno@clisp.org>
49562
49563         * lib/xreadlink.c: Include <unistd.h> unconditionally.
49564         * modules/xreadlink (Depends-on): Add unistd.
49565         * modules/xreadlink-with-size (Depends-on): Likewise.
49566
49567 2007-03-03  Bruno Haible  <bruno@clisp.org>
49568
49569         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
49570         extracted from gt_FUNC_SETENV.
49571         (gt_FUNC_SETENV): Remove macro.
49572         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
49573         remove gt_FUNC_SETENV.
49574
49575 2007-03-03  Bruno Haible  <bruno@clisp.org>
49576
49577         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
49578         ENABLE_RELOCATABLE here.
49579         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
49580
49581 2007-03-03  Bruno Haible  <bruno@clisp.org>
49582
49583         * modules/rbtreehash-list-tests (Depends-on): Add progname.
49584         * tests/test-rbtreehash_list.c: Include progname.h.
49585         (main): Call set_program_name.
49586
49587         * modules/rbtree-oset-tests (Depends-on): Add progname.
49588         * tests/test-rbtree_oset.c: Include progname.h.
49589         (main): Call set_program_name.
49590
49591         * modules/rbtree-list-tests (Depends-on): Add progname.
49592         * tests/test-rbtree_list.c: Include progname.h.
49593         (main): Call set_program_name.
49594
49595         * modules/linked-list-tests (Depends-on): Add progname.
49596         * tests/test-linked_list.c: Include progname.h.
49597         (main): Call set_program_name.
49598
49599 2007-03-03  Bruno Haible  <bruno@clisp.org>
49600
49601         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
49602         All uses of __restrict changed to _Restrict_.
49603         * lib/glob_.h (__restrict): Remove macro.
49604
49605 2007-03-02  Bruno Haible  <bruno@clisp.org>
49606
49607         * modules/gettext (configure.ac): Require gettext infrastructure
49608         from version 0.16.1.
49609
49610 2007-03-02  Bruno Haible  <bruno@clisp.org>
49611
49612         * modules/linkedhash-list-tests (Depends-on): Add progname.
49613         * tests/test-linkedhash_list.c: Include progname.h.
49614         (main): Call set_program_name.
49615
49616         * modules/carray-list-tests (Depends-on): Add progname.
49617         * tests/test-carray_list.c: Include progname.h.
49618         (main): Call set_program_name.
49619
49620         * modules/avltreehash-list-tests (Depends-on): Add progname.
49621         * tests/test-avltreehash_list.c: Include progname.h.
49622         (main): Call set_program_name.
49623
49624         * modules/avltree-oset-tests (Depends-on): Add progname.
49625         * tests/test-avltree_oset.c: Include progname.h.
49626         (main): Call set_program_name.
49627
49628         * modules/avltree-list-tests (Depends-on): Add progname.
49629         * tests/test-avltree_list.c: Include progname.h.
49630         (main): Call set_program_name.
49631
49632         * modules/array-oset-tests (Depends-on): Add progname.
49633         * tests/test-array_oset.c: Include progname.h.
49634         (main): Call set_program_name.
49635
49636         * modules/array-list-tests (Depends-on): Add progname.
49637         * tests/test-array_list.c: Include progname.h.
49638         (main): Call set_program_name.
49639
49640         * modules/argp-tests (Depends-on): Add progname.
49641         * tests/test-argp.c: Include argp.h first. Include progname.h.
49642         (main): Call set_program_name.
49643
49644 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
49645
49646         * doc/gnulib-tool.texi (Initial import): Reword description of
49647         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
49648         limited effect even if defined after the first system include.
49649
49650 2007-03-01  Bruno Haible  <bruno@clisp.org>
49651
49652         * build-aux/config.libpath: Update to libtool-1.5.22.
49653         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49654
49655 2007-03-01  Bruno Haible  <bruno@clisp.org>
49656
49657         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
49658         foo_CFLAGS.
49659         Reported by Ralf Wildenhues.
49660
49661 2007-03-01  Bruno Haible  <bruno@clisp.org>
49662
49663         * build-aux/install-reloc: Remove object files left over by some
49664         compilers.
49665         Reported by Ralf Wildenhues.
49666
49667 2007-03-01  Bruno Haible  <bruno@clisp.org>
49668
49669         * build-aux/install-reloc: Break long lines.
49670
49671 2007-03-01  Bruno Haible  <bruno@clisp.org>
49672
49673         * doc/relocatable.texi: Document that it may not work on OpenBSD.
49674         Reported by Ralf Wildenhues.
49675
49676 2007-03-01  Bruno Haible  <bruno@clisp.org>
49677
49678         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
49679         include ordering constraints.
49680
49681 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
49682
49683         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
49684         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
49685         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
49686         as another example.
49687         * lib/time_.h: Fix misspelling.
49688         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
49689         Require gl_HEADER_TIME_H_DEFAULTS.
49690         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
49691         * m4/time_r.m4 (gl_TIME_R): Likewise.
49692         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
49693
49694 2007-03-01  Bruno Haible  <bruno@clisp.org>
49695
49696         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
49697         * m4/utimens.m4 (gl_UTIMENS): Likewise.
49698
49699 2007-03-01  Jim Meyering  <jim@meyering.net>
49700
49701         * modules/xreadlink (Maintainer): Add my name.
49702         * modules/xreadlink-with-size (Depends-on): Alphabetize.
49703
49704 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
49705             Bruno Haible  <bruno@clisp.org>
49706
49707         * build-aux/install-reloc: Compile also c-ctype.c.
49708         * build-aux/relocatable.sh.in: New file.
49709         * doc/relocatable.texi: New file.
49710         * doc/relocatable-maint.texi: New file.
49711         * doc/gnulib.texi: Include relocatable-maint.texi.
49712         * lib/progreloc.c: Include unistd.h unconditionally.
49713         * lib/relocwrapper.c: Include unistd.h unconditionally.
49714         Include c-ctype.h.
49715         (add_dotbin): Use c_tolower.
49716         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
49717         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
49718         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
49719         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
49720         to m4/relocatable-lib.m4.
49721         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
49722         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
49723         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
49724         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
49725         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
49726         * modules/relocatable: New file.
49727         * modules/relocatable-lib: New file.
49728         * modules/relocatable-script: New file.
49729
49730 2007-02-28  Bruno Haible  <bruno@clisp.org>
49731
49732         Import --enable-relocatable infrastructure.
49733         * build-aux/config.libpath: New file, from GNU gettext.
49734         * build-aux/install-reloc: New file, from GNU gettext.
49735         * build-aux/reloc-ldflags: New file, from GNU gettext.
49736         * lib/relocatable.h: New file, from GNU gettext.
49737         * lib/relocatable.c: New file, from GNU gettext.
49738         * lib/relocwrapper.c: New file, from GNU gettext.
49739         * m4/relocatable.m4: New file, from GNU gettext.
49740
49741 2007-02-28  Bruno Haible  <bruno@clisp.org>
49742
49743         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
49744
49745         * modules/xreadlink: New file, from GNU gettext with modifications.
49746         * lib/xreadlink.c: New file, from GNU gettext.
49747         * lib/xreadlink.h: Add comments.
49748         (xreadlink): New declaration.
49749
49750         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
49751         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
49752         lib/xreadlink-with-size.c.
49753         (configure.ac): Remove gl_XREADLINK invocation.
49754         (Makefile.am): Augment lib_SOURCES.
49755         * m4/xreadlink.m4: Remove file.
49756         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
49757         (xreadlink_with_size): Renamed from xreadink.
49758         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
49759         * modules/canonicalize (Depends-on): Replace xreadlink with
49760         xreadlink-with-size.
49761         * lib/canonicalize.c (canonicalize_filename_mode): Update.
49762
49763 2007-02-25  Jim Meyering  <jim@meyering.net>
49764
49765         * build-aux/announce-gen: When complaining about excess arguments,
49766         list them.
49767
49768 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
49769
49770         * README: Document signed integer overflow situation more
49771         accurately.
49772
49773 2007-02-25  Bruno Haible  <bruno@clisp.org>
49774
49775         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
49776         'a' or 'A' conversion.
49777
49778 2007-02-25  Bruno Haible  <bruno@clisp.org>
49779
49780         * modules/filename: Renamed from modules/pathname.
49781         (Files): Replace lib/pathname.h with lib/filename.h. Replace
49782         lib/concatpath.c with lib/concat-filename.c.
49783         (Makefile.am): Update.
49784         (Include): Replace pathname.h with filename.h.
49785         * lib/filename.h: Renamed from lib/pathname.h.
49786         (concatenated_filename): Renamed from concatenated_pathname.
49787         * lib/concat-filename.c: Renamed from lib/concatpath.c.
49788         (concatenated_filename): Renamed from concatenated_pathname.
49789         * lib/findprog.c: Include filename.h instead of pathname.h.
49790         (find_in_path): Update.
49791         * lib/javacomp.c: Include filename.h instead of pathname.h.
49792         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
49793         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
49794         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
49795         is_oldgcj_14_13_usable, is_javac_usable): Update.
49796         * lib/javaexec.c: Include filename.h instead of pathname.h.
49797         (execute_java_class): Update.
49798         * modules/findprog: Update.
49799         * modules/javacomp: Update.
49800         * modules/javaexec: Update.
49801         * MODULES.html.sh (File system functions): Add 'filename', remove
49802         'pathname'.
49803
49804 2007-02-25  Bruno Haible  <bruno@clisp.org>
49805
49806         * modules/printf-frexpl-tests: New file.
49807         * tests/test-printf-frexpl.c: New file.
49808
49809         * modules/printf-frexpl: New file.
49810         * lib/printf-frexpl.h: New file.
49811         * lib/printf-frexpl.c: New file.
49812         * m4/printf-frexpl.m4: New file.
49813
49814 2007-02-25  Bruno Haible  <bruno@clisp.org>
49815
49816         * modules/printf-frexp-tests: New file.
49817         * tests/test-printf-frexp.c: New file.
49818
49819         * modules/printf-frexp: New file.
49820         * lib/printf-frexp.h: New file.
49821         * lib/printf-frexp.c: New file.
49822         * m4/printf-frexp.m4: New file.
49823
49824 2007-02-25  Bruno Haible  <bruno@clisp.org>
49825
49826         Assume automake >= 1.10 for the tests.
49827         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
49828         * modules/arctwo-tests: Likewise.
49829         * modules/argp-tests: Likewise.
49830         * modules/avltree-list-tests: Likewise.
49831         * modules/avltree-oset-tests: Likewise.
49832         * modules/avltreehash-list-tests: Likewise.
49833         * modules/carray-list-tests: Likewise.
49834         * modules/crc-tests: Likewise.
49835         * modules/des-tests: Likewise.
49836         * modules/gc-arcfour-tests: Likewise.
49837         * modules/gc-arctwo-tests: Likewise.
49838         * modules/gc-des-tests: Likewise.
49839         * modules/gc-hmac-md5-tests: Likewise.
49840         * modules/gc-hmac-sha1-tests: Likewise.
49841         * modules/gc-md2-tests: Likewise.
49842         * modules/gc-md4-tests: Likewise.
49843         * modules/gc-md5-tests: Likewise.
49844         * modules/gc-pbkdf2-sha1-tests: Likewise.
49845         * modules/gc-rijndael-tests: Likewise.
49846         * modules/gc-sha1-tests: Likewise.
49847         * modules/gc-tests: Likewise.
49848         * modules/getaddrinfo-tests: Likewise.
49849         * modules/hmac-md5-tests: Likewise.
49850         * modules/hmac-sha1-tests: Likewise.
49851         * modules/linked-list-tests: Likewise.
49852         * modules/linkedhash-list-tests: Likewise.
49853         * modules/lock-tests: Likewise.
49854         * modules/md2-tests: Likewise.
49855         * modules/md4-tests: Likewise.
49856         * modules/md5-tests: Likewise.
49857         * modules/rbtree-list-tests: Likewise.
49858         * modules/rbtree-oset-tests: Likewise.
49859         * modules/rbtreehash-list-tests: Likewise.
49860         * modules/read-file-tests: Likewise.
49861         * modules/rijndael-tests: Likewise.
49862         * modules/stdint-tests: Likewise.
49863         * modules/tls-tests: Likewise.
49864
49865 2007-02-24  Bruno Haible  <bruno@clisp.org>
49866
49867         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
49868         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
49869         function; instead check whether isnan with a double argument links.
49870         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
49871         function; instead check whether isnan with a 'long double' argument
49872         links.
49873         Reported by Eric Blake <ebb9@byu.net>.
49874
49875 2007-02-24  Bruno Haible  <bruno@clisp.org>
49876
49877         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
49878         defined.
49879         * lib/isnanl.c: Remove all code. Just include isnan.c.
49880         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
49881
49882 2007-02-25  Jim Meyering  <jim@meyering.net>
49883
49884         Avoid conflicting types for 'unsetenv' on FreeBSD.
49885         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
49886         conflicting with FreeBSD's (5.0 and 6.1) function declaration
49887         in stdlib.h.
49888
49889 2007-02-24  Bruno Haible  <bruno@clisp.org>
49890
49891         * modules/isnanl-nolibm-tests: New file.
49892         * tests/test-isnanl.c: New file.
49893
49894         * modules/isnanl-nolibm: New file.
49895         * lib/isnanl.h: New file.
49896         * lib/isnanl.c: New file.
49897         * m4/isnanl.m4: New file.
49898
49899 2007-02-24  Bruno Haible  <bruno@clisp.org>
49900
49901         * modules/isnan-nolibm-tests: New file.
49902         * tests/test-isnan.c: New file.
49903
49904         * modules/isnan-nolibm: New file.
49905         * lib/isnan.h: New file.
49906         * lib/isnan.c: New file.
49907         * m4/isnan.m4: New file.
49908
49909 2007-02-24  Bruno Haible  <bruno@clisp.org>
49910
49911         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
49912         assume that an exponent fits in 20 bits.
49913
49914 2007-02-24  Jim Meyering  <jim@meyering.net>
49915
49916         * m4/regex.m4: Update the description of the configure-time option,
49917         --without-included-regex, to state accurately what the defaults are,
49918         and perhaps to give people an idea why using this option is risky.
49919
49920 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
49921
49922         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
49923         loops on small arguments.  This attempts to avoid the problem
49924         Bruno Haible reported for AIX 4.3.2 in
49925         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
49926
49927 2007-02-23  Bruno Haible  <bruno@clisp.org>
49928
49929         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
49930         Needed for help2man.
49931
49932 2007-02-23  Karl Berry  <karl@gnu.org>
49933
49934         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
49935         exists, foo.h should be cvs-ignored, not committed.
49936
49937 2007-02-23  Eric Blake  <ebb9@byu.net>
49938
49939         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
49940         * lib/stat-time.h (includes): Likewise.
49941         * lib/utimecmp.c (includes): Likewise.
49942         * lib/utimens.h (includes): Likewise.
49943         * lib/getdate.y (includes): Also include "timespec.h" for use
49944         internal to the module.
49945         * modules/utimens (Depends-on): Revert yesterday's patch.
49946         * modules/nanosleep (Depends-on): Add missing dependency.
49947
49948 2007-02-22  Bruno Haible  <bruno@clisp.org>
49949
49950         * lib/glob.c: Don't include getlogin_r.h.
49951
49952 2007-02-22  Jim Meyering  <jim@meyering.net>
49953
49954         * modules/utimens (Depends-on): Add timespec, required for
49955         utimens.h's inclusion of timespec.h.
49956
49957 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
49958
49959         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
49960         long unreadable paths in GNU/Linux.  Problem reported by Andreas
49961         Schwab in
49962         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
49963         I'll try to think of a better way to fix the Solaris problem.
49964
49965         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
49966         like glibc; on Solaris 10, it fails with errno == EINVAL.
49967         POSIX says the behavior is unspecified if the first argument is NULL,
49968         so play it safe and never pass NULL to the system getcwd.
49969
49970 2007-02-21  Jim Meyering  <jim@meyering.net>
49971
49972         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
49973         of gettimeofday.  It would conflict with the one now always
49974         provided via sys_time_.h.  Reported by Matthew Woehlke, as
49975         an IRIX 6.5 build failure.
49976
49977 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
49978
49979         Minor fixups to port to Solaris 10 with Sun C 5.8.
49980         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
49981         * modules/getcwd (Depends-on): Add dirfd.
49982         * lib/putenv.c (putenv): #undef it.
49983         (rpl_putenv): New decl.
49984         (malloc, free): Include <stdlib.h> rather than prototyping separately.
49985
49986 2007-02-20  Bruno Haible  <bruno@clisp.org>
49987
49988         * modules/stdio-tests: New file.
49989         * tests/test-stdio.c: New file.
49990
49991         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
49992         (Depends-on): Add stdio.
49993         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
49994         (Include): Use <stdio.h> instead of vsnprintf.h.
49995         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
49996         HAVE_DECL_VSNPRINTF.
49997         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
49998
49999         * modules/snprintf (Files): Remove lib/snprintf.h.
50000         (Depends-on): Add stdio.
50001         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
50002         (Include): Use <stdio.h> instead of snprintf.h.
50003         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
50004         HAVE_DECL_SNPRINTF.
50005         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
50006         * lib/getaddrinfo.c: Likewise.
50007
50008         * modules/stdio: New file.
50009         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
50010         * lib/snprintf.h: Remove file.
50011         * lib/vsnprintf.h: Remove file.
50012         * lib/.cppi-disable: Remove snprintf.h.
50013         * m4/stdio_h.m4: New file.
50014         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
50015
50016 2007-02-20  Jim Meyering  <jim@meyering.net>
50017
50018         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
50019         used by e.g., mingw.  From Bruno Haible.
50020
50021 2007-02-19  Bruno Haible  <bruno@clisp.org>
50022
50023         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
50024         warnings.
50025         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50026
50027 2007-02-19  Bruno Haible  <bruno@clisp.org>
50028
50029         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
50030         from mingw users.
50031
50032 2007-02-19  Bruno Haible  <bruno@clisp.org>
50033
50034         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
50035         warnings.
50036         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
50037
50038 2007-02-19  Jim Meyering  <jim@meyering.net>
50039
50040         Don't use FD after a successful "fdopendir (fd)".
50041         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
50042         Reset it by calling dirfd on the just-obtained DIR*.
50043
50044         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
50045         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
50046
50047 2007-02-18  Bruno Haible  <bruno@clisp.org>
50048
50049         * lib/readlink.c: Include <unistd.h>.
50050         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
50051         HAVE_READLINK.
50052         * modules/readlink (Depends-on): Add unistd.
50053         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50054         (Include): Add <unistd.h>.
50055
50056         * lib/getlogin_r.h: Remove file.
50057         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
50058         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
50059         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
50060         HAVE_DECL_GETLOGIN_R.
50061         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
50062         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50063         (Include): Use <unistd.h> instead of getlogin_r.h.
50064
50065         * lib/getcwd.h: Remove file.
50066         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
50067         * lib/xgetcwd.c: Likewise.
50068         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
50069         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
50070         * modules/getcwd (Files): Remove lib/getcwd.h.
50071         (Depends-on): Add unistd.
50072         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50073         (Include): Use <unistd.h> instad of getcwd.h.
50074
50075         * lib/ftruncate.c: Include <unistd.h> first.
50076         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
50077         Set HAVE_FTRUNCATE.
50078         * modules/ftruncate (Depends-on): Add unistd.
50079         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50080
50081         * lib/fchdir.c: Include <unistd.h> first.
50082         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
50083         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
50084         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
50085         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50086         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
50087
50088         * lib/dup2.c: Include <unistd.h> first.
50089         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
50090         HAVE_DUP2.
50091         * modules/dup2 (Depends-on): Add unistd.
50092         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50093
50094         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
50095         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
50096         REPLACE_CHOWN. Don't define chown as a macro here.
50097         * modules/chown (Depends-on): Add unistd.
50098         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50099
50100         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
50101         Add definition for GL_LINK_WARNING.
50102         (chown, dup2): New declarations.
50103         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
50104         link warning.
50105         (ftruncate): New declaration.
50106         (getcwd): New declaration, taken from old getcwd.h.
50107         (getlogin_r): New declaration, taken from old getlogin_r.h.
50108         (readlink): New declaration.
50109         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
50110         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
50111         (gl_PREREQ_UNISTD): Remove macro.
50112         (gl_UNISTD_MODULE_INDICATOR): New macro.
50113         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
50114         many new variables. Don't set UNISTD_H.
50115         * modules/unistd (Description): Change.
50116         (Depends-on): Add link-warning.
50117         (configure.ac): Update.
50118         (Makefile.am): Create unistd.h always. Substitute many new variables
50119         into it.
50120
50121 2007-02-18  Bruno Haible  <bruno@clisp.org>
50122
50123         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
50124         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
50125         HAVE_GETSUBOPT.
50126         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
50127         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
50128         * lib/getsubopt.h: Remove file.
50129         * modules/getsubopt (Files): Remove lib/getsubopt.h.
50130         (Depends-on): Add stdlib.
50131         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50132         (Includes): Use <stdlib.h> instead of getsubopt.h.
50133         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
50134         Set HAVE_GETSUBOPT.
50135         * lib/getsubopt.c: Don't include getsubopt.h.
50136
50137 2007-02-18  Bruno Haible  <bruno@clisp.org>
50138
50139         * modules/fchdir (Depends-on): Add dup2.
50140
50141 2007-02-18  Bruno Haible  <bruno@clisp.org>
50142
50143         * lib/stdlib_.h: Handle glibc's special invocation convention
50144         specially.
50145
50146 2007-02-18  Bruno Haible  <bruno@clisp.org>
50147
50148         * modules/stdlib-tests: New file.
50149         * tests/test-stdlib.c: New file.
50150
50151         * modules/mkstemp (Files): Remove lib/mkstemp.h.
50152         (Depends-on): Add stdlib.
50153         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50154         (Includes): Use <stdlib.h> instead of mkstemp.h.
50155         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
50156         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
50157         * lib/mkstemp.c: Don't include mkstemp.h.
50158         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
50159         * lib/stdlib--.h: Don't include mkstemp.h.
50160
50161         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
50162         (Depends-on): Add stdlib.
50163         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50164         (Includes): Use <stdlib.h> instead of mkdtemp.h.
50165         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
50166         HAVE_MKDTEMP.
50167         * lib/mkdtemp.c: Don't include mkdtemp.h.
50168         * lib/clean-temp.c: Don't include mkdtemp.h.
50169
50170         * modules/exit (Files): Remove lib/exit.h.
50171         (Depends-on): Add stdlib.
50172         (Makefile.am): Remove lib_SOURCES.
50173         (Include): Use <stdlib.h> instead of exit.h.
50174         * lib/argmatch.c: Don't include exit.h.
50175         * lib/execute.c: Likewise.
50176         * lib/pagealign_alloc.c: Likewise.
50177         * lib/pipe.c: Likewise.
50178         * lib/wait-process.c: Likewise.
50179         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
50180         * lib/exitfail.c: Likewise.
50181         * lib/savewd.c: Likewise.
50182         * lib/xsetenv.c: Likewise.
50183
50184         * modules/stdlib: New file.
50185         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
50186         and extra comments about mkstemp().
50187         * lib/exit.h: Remove file.
50188         * lib/mkdtemp.h: Remove file.
50189         * lib/mkstemp.h: Remove file.
50190         * m4/stdlib_h.m4: New file.
50191         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
50192
50193 2007-02-18  Bruno Haible  <bruno@clisp.org>
50194
50195         * modules/math-tests: New file.
50196         * tests/test-math.c: New file.
50197
50198         * modules/math: New file.
50199         * modules/mathl (Files): Remove lib/mathl.h.
50200         (Depends-on): Add math.
50201         (Makefile.am): Don't mention mathl.h.
50202         (Include): Use <math.h> instead of mathl.h.
50203         * lib/math_.h: New file.
50204         * lib/mathl.h: Remove file.
50205         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
50206         mathl.h.
50207         * lib/asinl.c: Likewise.
50208         * lib/atanl.c: Likewise.
50209         * lib/ceill.c: Likewise.
50210         * lib/cosl.c: Likewise.
50211         * lib/expl.c: Likewise.
50212         * lib/floorl.c: Likewise.
50213         * lib/frexpl.c: Likewise.
50214         * lib/ldexpl.c: Likewise.
50215         * lib/logl.c: Likewise.
50216         * lib/sincosl.c: Likewise.
50217         * lib/sinl.c: Likewise.
50218         * lib/sqrtl.c: Likewise.
50219         * lib/tanl.c: Likewise.
50220         * lib/trigl.c: Likewise.
50221         * m4/math_h.m4: New file.
50222         * MODULES.html.sh (Mathematics): Add math.
50223
50224 2007-02-17  Bruno Haible  <bruno@clisp.org>
50225
50226         * modules/wctype-tests: New file.
50227         * tests/test-wctype.c: New file.
50228
50229         * modules/wchar-tests: New file.
50230         * tests/test-wchar.c: New file.
50231
50232         * modules/unistd-tests: New file.
50233         * tests/test-unistd.c: New file.
50234
50235         * modules/time-tests: New file.
50236         * tests/test-time.c: New file.
50237
50238         * modules/sysexits-tests: New file.
50239         * tests/test-sysexits.c: New file.
50240
50241         * modules/sys_time-tests: New file.
50242         * tests/test-sys_time.c: New file.
50243
50244         * modules/sys_stat-tests: New file.
50245         * tests/test-sys_stat.c: New file.
50246
50247         * modules/sys_socket-tests: New file.
50248         * tests/test-sys_socket.c: New file.
50249
50250         * modules/sys_select-tests: New file.
50251         * tests/test-sys_select.c: New file.
50252
50253         * modules/string-tests: New file.
50254         * tests/test-string.c: New file.
50255
50256         * modules/stdbool-tests: New file.
50257         * tests/test-stdbool.c: New file.
50258
50259         * modules/netinet_in-tests: New file.
50260         * tests/test-netinet_in.c: New file.
50261
50262         * modules/inttypes-tests: New file.
50263         * tests/test-inttypes.c: New file.
50264
50265         * modules/fcntl-tests: New file.
50266         * tests/test-fcntl.c: New file.
50267
50268         * modules/byteswap-tests: New file.
50269         * tests/test-byteswap.c: New file.
50270
50271         * modules/arpa_inet-tests: New file.
50272         * tests/test-arpa_inet.c: New file.
50273
50274 2007-02-17  Bruno Haible  <bruno@clisp.org>
50275
50276         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
50277         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
50278         if the corresponding module is not enabled. Emit link warnings if
50279         the function is used nevertheless.
50280         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
50281         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
50282         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
50283         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
50284         * modules/inttypes (Depends-on): Add link-warning.
50285         (Makefile.am): Copy the contents of build-aux/link-warning.h into
50286         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
50287         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
50288         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
50289         * modules/imaxdiv (configure.ac): Likewise.
50290         * modules/strtoimax (configure.ac): Likewise.
50291         * modules/strtoumax (configure.ac): Likewise.
50292
50293 2007-02-17  Bruno Haible  <bruno@clisp.org>
50294
50295         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
50296         gl_STRING_MODULE_INDICATOR_DEFAULTS.
50297         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
50298         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
50299
50300 2007-02-17  Bruno Haible  <bruno@clisp.org>
50301
50302         * modules/link-warning: New file.
50303         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
50304         * lib/string_.h (GL_LINK_WARNING): Remove definition.
50305         * modules/string (Depends-on): Add link-warning.
50306         (Makefile.am): Copy the contents of build-aux/link-warning.h into
50307         string.h.
50308         * MODULES.html.sh (Support for building libraries and executables): Add
50309         link-warning.
50310
50311 2007-02-17  Bruno Haible  <bruno@clisp.org>
50312
50313         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
50314         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
50315         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
50316         long lines.
50317
50318 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
50319             Bruno Haible  <bruno@clisp.org>
50320
50321         * modules/tmpfile: New file.
50322         * lib/tmpfile.c: New file.
50323         * m4/tmpfile.m4: New file.
50324         * MODULES.html.sh (func_all_modules): New section "Input/output".
50325
50326 2007-02-15  Bruno Haible  <bruno@clisp.org>
50327
50328         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
50329         (supports_delete_on_close): New function.
50330         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
50331
50332 2007-02-14  Bruno Haible  <bruno@clisp.org>
50333
50334         * modules/mbspcasecmp-tests: New file.
50335         * tests/test-mbspcasecmp.sh: New file.
50336         * tests/test-mbspcasecmp.c: New file.
50337
50338         New module mbspcasecmp.
50339         * modules/mbspcasecmp: New file.
50340         * lib/mbspcasecmp.c: New file.
50341         * lib/string_.h (strncasecmp): Change warning message.
50342         (mbspcasecmp): New declaration.
50343         * m4/mbspcasecmp.m4: New file.
50344         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
50345         GNULIB_MBSPCASECMP.
50346         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
50347         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
50348
50349 2007-02-14  Bruno Haible  <bruno@clisp.org>
50350
50351         * modules/mbsncasecmp-tests: New file.
50352         * tests/test-mbsncasecmp.sh: New file.
50353         * tests/test-mbsncasecmp.c: New file.
50354
50355         New module mbsncasecmp.
50356         * modules/mbsncasecmp: New file.
50357         * lib/mbsncasecmp.c: New file.
50358         * lib/string_.h (mbsncasecmp): New declaration.
50359         * m4/mbsncasecmp.m4: New file.
50360         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
50361         GNULIB_MBSNCASECMP.
50362         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
50363         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
50364
50365 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
50366
50367         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
50368         Verify that it doesn't overlap with our flags.
50369         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
50370         do not have the desired effect in multibyte locales; instead, use
50371         mbscasecmp.
50372         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
50373         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
50374         we don't require GNU fnmatch ourselves (if our users require it, they
50375         should do so explicitly).
50376
50377         Fix regex code so it doesn't rely on strcasecmp.
50378         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
50379         Otherwise, include gnulib's langinfo.h.
50380         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
50381         undesirable behavior in non-C locales.  Instead, rely on localecharset.
50382         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
50383         * modules/regex (FILES): Remove m4/codeset.m4.
50384         (Depends-on): Add localcharset.  Remove strcase.
50385
50386 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50387
50388         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
50389         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
50390
50391 2007-02-13  Bruno Haible  <bruno@clisp.org>
50392
50393         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
50394         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50395
50396 2007-02-12  Bruno Haible  <bruno@clisp.org>
50397
50398         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
50399         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
50400         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
50401         time warning rather than a link error.
50402
50403 2007-02-12  Bruno Haible  <bruno@clisp.org>
50404
50405         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
50406         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
50407         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50408
50409 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
50410
50411         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
50412         args, not 2.
50413
50414 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
50415
50416         New module 'time', so that apps can include <time.h> as per
50417         POSIX and GNU instead of separate include files like time_r.h
50418         and timegm.h.  This implementation tries out a simpler approach
50419         for replacing decls in standard include files (as compared to
50420         the string module), somewhat as an experiment.
50421
50422         * config/srclist.txt: Comment out mktime.c for now.
50423         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
50424         since it doesn't apply any more.  Use generic wording instead.
50425         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
50426         'time'.
50427         * lib/time_.h, m4/time_h.m4, modules/time: New files.
50428         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
50429         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
50430         Don't include <sys/types.h>; no longer needed since we assume C89.
50431         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
50432         * lib/strftime.c: Likewise.
50433         * lib/time_r.c: Likewise.
50434         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
50435         * lib/nanosleep.c: Include <time.h> first, to check interface.
50436         * lib/strptime.c: Likewise.
50437         * lib/time_r.c: Likewise.
50438         * lib/timegm.c: Likewise.
50439         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
50440         needed.
50441         * lib/timegm.c: Don't include timegm.h; no longer needed.
50442         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
50443         time.h now handles any problems in that area.
50444         (struct timespec, nanosleep): Remove; time.h now arranges for these.
50445         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
50446         that time.h defines struct timespec.
50447         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
50448         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
50449         handles that.
50450         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
50451         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
50452         needed.  Set REPLACE_LOCALTIME.
50453         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
50454         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
50455         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
50456         nanosleep; time_h.m4 now does that.  Don't require
50457         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
50458         module handles this now.
50459         * modules/getdate (Depends-on): Remove timespec.  Add time.
50460         * modules/nanosleep (Depends-on): Likewise.
50461         * modules/stat-time (Depends-on): Likewise.
50462         * modules/nanosleep (Include): Include time.h, not timespec.h.
50463         * modules/strptime (Files): Remove lib/strptime.h.
50464         (Depends-on): Add extensions, time.
50465         (Include): Include time.h, not strptime.h.
50466         * modules/time_r (Files): Remove lib/time_r.h.
50467         (Depends-on): Add time.
50468         (Include): Include time.h, not time_r.h.
50469         * modules/timegm: Likewise.
50470         * modules/timespec (Description): Now does timespec-related decls
50471         of our own, instead of struct timespec itself.
50472         (Depends-on): Add time; remove extensions.
50473         (Maintainer): Add self.
50474         * modules/utimecmp (Depends-on): Add time; remove timespec.
50475         * modules/utimens (Depends-on): Likewise.
50476         * modules/xnanosleep (Depends-on): Likewise.
50477
50478 2007-02-11  Bruno Haible  <bruno@clisp.org>
50479
50480         * lib/c-strstr.c: Include allocsa.h.
50481         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
50482         * lib/c-strcasestr.c: Include allocsa.h.
50483         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
50484         * lib/strcasestr.c: Include allocsa.h.
50485         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
50486         * lib/mbsstr.c: Include allocsa.h.
50487         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
50488         allocsa/freesa instead of malloc/free.
50489         * lib/mbscasestr.c: Include allocsa.h.
50490         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
50491         allocsa/freesa instead of malloc/free.
50492         * modules/c-strstr (Depends-on): Add allocsa.
50493         * modules/c-strcasestr (Depends-on): Likewise.
50494         * modules/strcasestr (Depends-on): Likewise.
50495         * modules/mbsstr (Depends-on): Likewise.
50496         * modules/mbscasestr (Depends-on): Likewise.
50497
50498 2007-02-11  Bruno Haible  <bruno@clisp.org>
50499
50500         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
50501
50502         * modules/mbsspn-tests: New file.
50503         * tests/test-mbsspn.sh: New file.
50504         * tests/test-mbsspn.c: New file.
50505
50506 2007-02-11  Bruno Haible  <bruno@clisp.org>
50507
50508         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
50509
50510         * modules/mbspbrk-tests: New file.
50511         * tests/test-mbspbrk.sh: New file.
50512         * tests/test-mbspbrk.c: New file.
50513
50514 2007-02-11  Bruno Haible  <bruno@clisp.org>
50515
50516         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
50517         unneeded cast.
50518
50519         * modules/mbscspn-tests: New file.
50520         * tests/test-mbscspn.sh: New file.
50521         * tests/test-mbscspn.c: New file.
50522
50523 2007-02-11  Bruno Haible  <bruno@clisp.org>
50524
50525         * modules/mbscasecmp-tests: New file.
50526         * tests/test-mbscasecmp.sh: New file.
50527         * tests/test-mbscasecmp.c: New file.
50528
50529 2007-02-11  Bruno Haible  <bruno@clisp.org>
50530
50531         Ensure O(n) worst-case complexity of mbscasestr.
50532         * lib/mbscasestr.c: Include stdbool.h.
50533         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
50534         functions.
50535         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
50536         the bookkeeping indicates that it's worth it.
50537         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
50538
50539         * modules/mbscasestr-tests: New file.
50540         * tests/test-mbscasestr1.c: New file.
50541         * tests/test-mbscasestr2.sh: New file.
50542         * tests/test-mbscasestr2.c: New file.
50543         * tests/test-mbscasestr3.sh: New file.
50544         * tests/test-mbscasestr3.c: New file.
50545         * tests/test-mbscasestr4.sh: New file.
50546         * tests/test-mbscasestr4.c: New file.
50547         * m4/locale-tr.m4: New file.
50548
50549 2007-02-11  Bruno Haible  <bruno@clisp.org>
50550
50551         Ensure O(n) worst-case complexity of mbsstr.
50552         * lib/mbsstr.c: Include stdbool.h.
50553         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
50554         functions.
50555         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
50556         bookkeeping indicates that it's worth it.
50557         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
50558
50559         * modules/mbsstr-tests: New file.
50560         * tests/test-mbsstr1.c: New file.
50561         * tests/test-mbsstr2.sh: New file.
50562         * tests/test-mbsstr2.c: New file.
50563         * tests/test-mbsstr3.sh: New file.
50564         * tests/test-mbsstr3.c: New file.
50565         * m4/locale-fr.m4: New file.
50566
50567 2007-02-11  Bruno Haible  <bruno@clisp.org>
50568
50569         * lib/mbsrchr.c (mbsrchr): Fix bug.
50570
50571         * modules/mbsrchr-tests: New file.
50572         * tests/test-mbsrchr.sh: New file.
50573         * tests/test-mbsrchr.c: New file.
50574
50575 2007-02-11  Bruno Haible  <bruno@clisp.org>
50576
50577         * lib/mbschr.c (mbschr): Fix bug.
50578
50579         * modules/mbschr-tests: New file.
50580         * tests/test-mbschr.sh: New file.
50581         * tests/test-mbschr.c: New file.
50582         * m4/locale-zh.m4: New file.
50583
50584 2007-02-11  Bruno Haible  <bruno@clisp.org>
50585
50586         Support for copying multibyte string iterators.
50587         * lib/mbiter.h: Include <string.h>.
50588         (mbiter_multi_copy): New function.
50589         (mbi_copy): New macro.
50590         * lib/mbuiter.h: Include <string.h>.
50591         (mbuiter_multi_copy): New function.
50592         (mbui_copy): New macro.
50593
50594 2007-02-11  Bruno Haible  <bruno@clisp.org>
50595
50596         New module mbslen.
50597         * modules/mbslen: New file.
50598         * lib/mbslen.c: New file.
50599         * lib/string_.h (mbslen): New declaration.
50600         * m4/mbslen.m4: New file.
50601         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
50602         GNULIB_MBSLEN.
50603         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
50604         * MODULES.html.sh (Internationalization functions): Add mbslen.
50605
50606 2007-02-11  Bruno Haible  <bruno@clisp.org>
50607
50608         Ensure O(n) worst-case complexity of strcasestr substitute.
50609         * lib/strcasestr.c: Include stdbool.h.
50610         (knuth_morris_pratt): New function.
50611         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
50612         bookkeeping indicates that it's worth it.
50613         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
50614
50615         * modules/strcasestr-tests: New file.
50616         * tests/test-strcasestr.c: New file.
50617
50618 2007-02-11  Bruno Haible  <bruno@clisp.org>
50619
50620         Ensure O(n) worst-case complexity of c_strcasestr.
50621         * lib/c-strcasestr.c: Include stdbool.h, string.h.
50622         (knuth_morris_pratt): New function.
50623         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
50624         the bookkeeping indicates that it's worth it.
50625         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
50626
50627         * modules/c-strcasestr-tests: New file.
50628         * tests/test-c-strcasestr.c: New file.
50629
50630 2007-02-11  Bruno Haible  <bruno@clisp.org>
50631
50632         Ensure O(n) worst-case complexity of c_strstr.
50633         * lib/c-strstr.c: Include stdbool.h, string.h.
50634         (knuth_morris_pratt): New function.
50635         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
50636         bookkeeping indicates that it's worth it.
50637         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
50638
50639         * lib/c-strstr.c: Complete rewrite for maintainability.
50640
50641         * modules/c-strstr-tests: New file.
50642         * tests/test-c-strstr.c: New file.
50643
50644 2007-02-11  Bruno Haible  <bruno@clisp.org>
50645
50646         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
50647         5.2.1 and earlier, whereby \055 was treated just like the range
50648         delimiter '-'.
50649         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
50650
50651 2007-02-08  Bruno Haible  <bruno@clisp.org>
50652
50653         * modules/regex (Depends-on): Add stdbool.
50654         Reported by Dalibor Topic <robilad@kaffe.org>.
50655
50656 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
50657
50658         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
50659         Prefer returning from main to exiting from it.
50660         Remove unnecessary parens after sizeof.
50661
50662 2007-02-05  Bruno Haible  <bruno@clisp.org>
50663
50664         New module mbssep.
50665         * modules/mbssep: New file.
50666         * lib/mbssep.c: New file.
50667         * lib/string_.h (strsep): Add a conditional link warning.
50668         (mbssep): New declaration.
50669         * m4/mbssep.m4: New file.
50670         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
50671         GNULIB_MBSSEP.
50672         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
50673         * MODULES.html.sh (Internationalization functions): Add mbssep.
50674
50675 2007-02-05  Bruno Haible  <bruno@clisp.org>
50676
50677         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
50678         Optimize search in case of 1 delimiter.
50679
50680 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
50681
50682         * lib/acl.h: Include sys/types.h before sys/acl.h.
50683
50684 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
50685
50686         Merge upstream fix for glibc bugzilla #3957:
50687
50688         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
50689
50690         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
50691         bit for RE_HAT_LISTS_NOT_NEWLINE.
50692         (build_charclass_op): Remove bogus comment.
50693
50694 2007-02-05  Simon Josefsson  <simon@josefsson.org>
50695
50696         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
50697
50698 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
50699
50700         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
50701         * lib/memmem.c [!defined _LIBC]: Include config.h.
50702
50703 2007-02-04  Bruno Haible  <bruno@clisp.org>
50704
50705         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
50706         warning message.
50707
50708 2007-02-04  Bruno Haible  <bruno@clisp.org>
50709
50710         New module mbstok_r.
50711         * modules/mbstok_r: New file.
50712         * lib/mbstok_r.c: New file.
50713         * lib/string_.h (strtok_r): Change argument names to match the
50714         comments. Add a conditional link warning.
50715         (mbstok_r): New declaration.
50716         * m4/mbstok_r.m4: New file.
50717         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
50718         GNULIB_MBSTOK_R.
50719         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
50720         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
50721
50722 2007-02-04  Bruno Haible  <bruno@clisp.org>
50723
50724         New module mbsspn.
50725         * modules/mbsspn: New file.
50726         * lib/mbsspn.c: New file.
50727         * lib/string_.h (strspn): Add a conditional link warning.
50728         (mbsspn): New declaration.
50729         * m4/mbsspn.m4: New file.
50730         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
50731         GNULIB_MBSSPN.
50732         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
50733         * MODULES.html.sh (Internationalization functions): Add mbsspn.
50734
50735 2007-02-04  Bruno Haible  <bruno@clisp.org>
50736
50737         New module mbspbrk.
50738         * modules/mbspbrk: New file.
50739         * lib/mbspbrk.c: New file.
50740         * lib/string_.h (strpbrk): Add a conditional link warning.
50741         (mbspbrk): New declaration.
50742         * m4/mbspbrk.m4: New file.
50743         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
50744         GNULIB_MBSPBRK.
50745         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
50746         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
50747
50748 2007-02-04  Bruno Haible  <bruno@clisp.org>
50749
50750         New module mbscspn.
50751         * modules/mbscspn: New file.
50752         * lib/mbscspn.c: New file.
50753         * lib/string_.h (strcspn): Add a conditional link warning.
50754         (mbscspn): New declaration.
50755         * m4/mbscspn.m4: New file.
50756         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
50757         GNULIB_MBSCSPN.
50758         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
50759         * MODULES.html.sh (Internationalization functions): Add mbscspn.
50760
50761 2007-02-04  Bruno Haible  <bruno@clisp.org>
50762
50763         New module mbscasestr, reduced goal of strcasestr.
50764         * modules/mbscasestr: New file.
50765         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
50766         (mbscasestr): Renamed from strcasestr.
50767         * lib/strcasestr.c: Don't include mbuiter.h.
50768         (strcasestr): Remove support for multibyte locales.
50769         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
50770         Change the conditional link warning.
50771         (mbscasestr): New declaration.
50772         * m4/mbscasestr.m4: New file.
50773         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
50774         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
50775         REPLACE_STRCASESTR.
50776         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
50777         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
50778         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
50779         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
50780         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
50781         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
50782         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
50783         (Depends-on): Remove mbuiter.
50784         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
50785
50786 2007-02-04  Bruno Haible  <bruno@clisp.org>
50787
50788         Simplify handling of strncasecmp.
50789         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
50790         the conditional link warning.
50791         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
50792         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
50793         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
50794         * modules/strcase (configure.ac): Don't invoke
50795         gl_STRING_MODULE_INDICATOR.
50796         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
50797
50798 2007-02-04  Bruno Haible  <bruno@clisp.org>
50799
50800         New module mbscasecmp, reduced goal of strcasecmp.
50801         * modules/mbscasecmp: New file.
50802         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
50803         (mbscasecmp): Renamed from strcasecmp.
50804         * lib/strcasecmp.c: Don't include mbuiter.h.
50805         (strcasecmp): Remove support for multibyte locales.
50806         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
50807         Change the conditional link warning.
50808         (mbscasecmp): New declaration.
50809         * m4/mbscasecmp.m4: New file.
50810         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
50811         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
50812         REPLACE_STRCASECMP.
50813         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
50814         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
50815         GNULIB_MBSCASECMP.
50816         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
50817         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
50818         * modules/strcase (Files): Remove m4/mbrtowc.m4.
50819         (Depends-on): Remove mbuiter.
50820         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
50821
50822 2007-02-04  Bruno Haible  <bruno@clisp.org>
50823
50824         New module mbsstr. Remove module strstr.
50825         * modules/mbsstr: New file.
50826         * modules/strstr: Remove file.
50827         * lib/mbsstr.c: Renamed from lib/strstr.c.
50828         (mbsstr): Renamed from strstr.
50829         * lib/string_.h (strstr): Remove declaration. Change the conditional
50830         link warning.
50831         (mbsstr): New declaration.
50832         * m4/mbsstr.m4: New file.
50833         * m4/strstr.m4: Remove file.
50834         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
50835         REPLACE_STRSTR.
50836         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
50837         Don't initialize GNULIB_STRSTR.
50838         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
50839         substitute GNULIB_STRSTR and REPLACE_STRSTR.
50840         * MODULES.html.sh (Internationalization functions): Add mbsstr.
50841         (Support for systems lacking ANSI C 89): Remove strstr.
50842
50843 2007-02-04  Bruno Haible  <bruno@clisp.org>
50844
50845         New module mbsrchr.
50846         * modules/mbsrchr: New file.
50847         * lib/mbsrchr.c: New file.
50848         * lib/string_.h (strrchr): Add a conditional link warning.
50849         (mbsrchr): New declaration.
50850         * m4/mbsrchr.m4: New file.
50851         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
50852         GNULIB_MBSRCHR.
50853         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
50854         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
50855
50856 2007-02-04  Bruno Haible  <bruno@clisp.org>
50857
50858         New module mbschr.
50859         * modules/mbschr: New file.
50860         * lib/mbschr.c: New file.
50861         * lib/string_.h (strchr): Add a conditional link warning.
50862         (mbschr): New declaration.
50863         * m4/mbschr.m4: New file.
50864         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
50865         GNULIB_MBSCHR.
50866         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
50867         * MODULES.html.sh (Internationalization functions): Add mbschr.
50868
50869 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
50870
50871         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
50872
50873         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
50874
50875 2007-02-04  Bruno Haible  <bruno@clisp.org>
50876
50877         New module description section 'configure.ac-early'.
50878         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
50879         (func_get_autoconf_early_snippet): New function.
50880         (func_import, func_create_testdir): Use it. Remove special cases for
50881         modules 'extensions' and 'lock'.
50882         * modules/extensions (configure.ac-early): Require
50883         gl_USE_SYSTEM_EXTENSIONS.
50884         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
50885
50886 2007-02-04  Bruno Haible  <bruno@clisp.org>
50887
50888         Make use of gcj-4.3's -fsource and -ftarget option.
50889         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
50890         and if so try the options -fsource and -ftarget.
50891         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
50892         source_version, ftarget_option, target_version arguments.
50893         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
50894         (is_envjavac_oldgcj_14_14_usable): Renamed from
50895         is_envjavac_gcj_14_14_usable.
50896         (is_envjavac_oldgcj_14_13_usable): Renamed from
50897         is_envjavac_gcj_14_13_usable.
50898         (is_gcj_present): Update.
50899         (is_gcj_43, is_gcj43_usable): New functions.
50900         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
50901         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
50902         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
50903         try the options -fsource and -ftarget.
50904
50905 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
50906
50907         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
50908         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
50909         larger value.
50910
50911 2007-02-03  Jim Meyering  <jim@meyering.net>
50912
50913         Give tools a better chance to allocate space for very large buffers.
50914         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
50915
50916         Make pwd and readlink work also when run with an unreadable parent dir
50917         on systems with openat support.
50918         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
50919         provided getcwd function, even when we have openat support.
50920         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
50921
50922 2007-02-02  Bruno Haible  <bruno@clisp.org>
50923
50924         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
50925         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
50926         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
50927         portability problems if one of these functions is only used on specific
50928         platforms.
50929         Reported by Paul Eggert.
50930
50931 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
50932
50933         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
50934         is causing more trouble than it's curing.
50935         * lib/regex_internal.h (__mempcpy): Remove.
50936         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
50937         (and make the code a tad smaller to boot).
50938         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
50939
50940 2007-02-02  Jim Meyering  <jim@meyering.net>
50941
50942         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
50943         section, not in the Makefile.am: one.
50944
50945 2007-02-02  Eric Blake  <ebb9@byu.net>
50946
50947         * lib/strchrnul.c: Always include config.h first.
50948
50949         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
50950         gnulib strstr is not necessary here.
50951
50952 2007-02-02  Simon Josefsson  <simon@josefsson.org>
50953
50954         * m4/socklen.m4: Fix typo.
50955
50956 2007-02-02  Eric Blake  <ebb9@byu.net>
50957
50958         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
50959         * modules/netinet_in (Makefile.am): Likewise.
50960
50961 2007-02-01  Bruno Haible  <bruno@clisp.org>
50962
50963         * lib/string_.h (GL_LINK_WARNING): New macro.
50964         (strcasecmp, strstr, strcasestr): If provided by the system,
50965         conditionally define as a macro that leads to a warning instead of to
50966         an error.
50967         (strncasecmp): Conditionally define as a macro that leads to a warning.
50968
50969 2007-02-01  Karl Berry  <karl@gnu.org>
50970
50971         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
50972
50973 2007-02-01  Bruno Haible  <bruno@clisp.org>
50974
50975         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
50976         renamings.
50977
50978 2007-02-01  Eric Blake  <ebb9@byu.net>
50979
50980         * modules/regex (Depends-on): Revert dependence on mempcpy.
50981         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
50982         module's definition of mempcpy.
50983         Reported by Paul Eggert.
50984
50985 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
50986
50987         * lib/string_.h: If the gnulib module XYZ is not present, undefine
50988         the symbol XYZ before redefining it.  This fixes a problem with
50989         programs that don't use XYZ, when compiled on systems that define
50990         XYZ to something else.
50991
50992 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
50993
50994         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
50995         occurs when "mkdir -m foo" creates a setgid directory that is (1)
50996         writeable to group or other and (2) is intended to have a special
50997         mode bit that is set or cleared.  In such a case, the directory
50998         should be neither group- nor other-writeable until the special
50999         mode bits are right.
51000
51001 2007-01-31  Eric Blake  <ebb9@byu.net>
51002
51003         * modules/mountlist (Depends-on): Add strstr.
51004
51005         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
51006         bug.
51007         * modules/string (Makefile.am): Remove redundant replacement.
51008         * modules/regex (Depends-on): Add mempcpy.
51009
51010 2007-01-31  Bruno Haible  <bruno@clisp.org>
51011
51012         New module description field 'Link'.
51013         * gnulib-tool (func_usage): Document --extract-link-directive.
51014         (sed_extract_prog): Recognize 'Link' directive.
51015         (func_get_link_directive): New function.
51016         (func_import): Show summary of link directives.
51017         Handle --extract-link-directive option.
51018         * modules/acl (Link): New section.
51019         * modules/clock-time (Link): New section.
51020         * modules/euidaccess (Link): New section.
51021         * modules/gettext (Link): New section.
51022         * modules/iconv (Link): New section.
51023         * modules/lock (Link): New section.
51024         * modules/nanosleep (Link): New section.
51025         * modules/readline (Link): New section.
51026
51027 2007-01-27  Bruno Haible  <bruno@clisp.org>
51028
51029         Enforce the use of gnulib modules for unportable <string.h> functions.
51030         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
51031         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
51032         (gl_HEADER_STRING_H_BODY): Require it.
51033         * lib/string_.h: If the gnulib module XYZ is not present, redefine
51034         the symbol XYZ to one that gives a link error.
51035         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
51036         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
51037         * modules/mempcpy (configure.ac): Likewise.
51038         * modules/memrchr (configure.ac): Likewise.
51039         * modules/stpcpy (configure.ac): Likewise.
51040         * modules/stpncpy (configure.ac): Likewise.
51041         * modules/strcase (configure.ac): Likewise.
51042         * modules/strcasestr (configure.ac): Likewise.
51043         * modules/strchrnul (configure.ac): Likewise.
51044         * modules/strdup (configure.ac): Likewise.
51045         * modules/strndup (configure.ac): Likewise.
51046         * modules/strnlen (configure.ac): Likewise.
51047         * modules/strpbrk (configure.ac): Likewise.
51048         * modules/strsep (configure.ac): Likewise.
51049         * modules/strstr (configure.ac): Likewise.
51050         * modules/strtok_r (configure.ac): Likewise.
51051
51052 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
51053
51054         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
51055
51056 2007-01-30  Jim Meyering  <jim@meyering.net>
51057
51058         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
51059
51060 2007-01-29  Bruno Haible  <bruno@clisp.org>
51061
51062         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
51063         * lib/execute.c: Likewise.
51064         * lib/pipe.c: Likewise.
51065         * lib/printf-args.h: Likewise.
51066         * lib/printf-args.c: Likewise.
51067         * lib/printf-parse.c: Likewise.
51068         * lib/vasnprintf.c: Likewise.
51069
51070 2007-01-29  Eric Blake  <ebb9@byu.net>
51071
51072         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
51073         declaration.
51074
51075 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
51076
51077         * lib/strptime.h (strptime): Use 'restrict' for args where
51078         POSIX requires this.
51079         * lib/strptime.c (strptime): Likewise.
51080         Change license notice from LGPL to GPL, since gnulib-tool will
51081         change this as needed.
51082         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
51083         defined.
51084         Include "strptime.h" first, to check interface.
51085         Do not #undef _LIBC and _NL_CURRENT.
51086         Do not include <stdlib.h>; no longer needed.
51087         Include "time_r.h" and declare ptime_locale_status
51088         only if _LIBC is not defined.
51089         (__P): Remove unused macro.
51090         (match_string): Bring back glibc version, but use it only if _LIBC
51091         is defined.
51092         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
51093         Remove unnecessary assertion and abort() call.
51094         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
51095         * m4/strptime.m4: Fix serial number comment.
51096         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
51097         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
51098         (Depends-on): Add time_r.
51099
51100 2007-01-29  Bruno Haible  <bruno@clisp.org>
51101
51102         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51103         strptime.
51104         * modules/strptime (Depends-on): Add stdbool.
51105         * lib/strptime.h: Include <time.h> always. Add comments.
51106
51107 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51108
51109         * modules/strptime: New file.
51110         * lib/strptime.h: New file.
51111         * lib/strptime.c: New file.
51112         * m4/strptime.m4: New file.
51113
51114 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
51115
51116         * MODULES.html.sh: New module mpsort.
51117         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
51118
51119         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
51120         a circularity problem with HP-UX ia64 reported by Bob Proulx in
51121         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
51122         All uses changed.
51123         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
51124         All uses changed.
51125         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
51126         to _Restrict_.
51127         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
51128         the parameter matches the prototype.
51129
51130 2007-01-28  Jim Meyering  <jim@meyering.net>
51131
51132         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
51133         sys/time.h here, reverting that part of the previous patch:
51134         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
51135
51136 2007-01-28  Bruno Haible  <bruno@clisp.org>
51137
51138         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
51139         value of $(SYS_TIME_H).
51140         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
51141         remove it conditionally, too. [added by Jim Meyering]
51142         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
51143         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
51144         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
51145         GETTIMEOFDAY_REPLACEMENT to 1.
51146
51147 2007-01-28  Bruno Haible  <bruno@clisp.org>
51148
51149         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
51150         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
51151         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
51152         Set UNISTD_H instead of UNISTD_H2.
51153         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
51154
51155 2007-01-28  Bruno Haible  <bruno@clisp.org>
51156
51157         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
51158         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
51159
51160 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51161
51162         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
51163         (func_create_testdir): Ensure C locale for `grep' and `tr'
51164         character ranges.
51165         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
51166         ACLOCAL_AMFLAGS parsing state machine.
51167
51168 2007-01-27  Bruno Haible  <bruno@clisp.org>
51169
51170         * modules/unistr/base: Update.
51171
51172 2007-01-27  Bruno Haible  <bruno@clisp.org>
51173
51174         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
51175         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
51176         * modules/unistr/u32-mbtouc-unsafe: Renamed from
51177         modules/unistr/u32-mbtouc.
51178         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
51179         * lib/unistr.h: Update.
51180         * lib/linebreak.c: Update.
51181         * modules/unistr/u32-mbtouc: Renamed from
51182         modules/unistr/u32-mbtouc-safe.
51183         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
51184         * lib/unistr.h: Update.
51185         * lib/unistr/u32-to-u8.c: Update.
51186         * lib/unistr/u32-to-u16.c: Update.
51187
51188 2007-01-27  Bruno Haible  <bruno@clisp.org>
51189
51190         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
51191         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
51192         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
51193         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
51194         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
51195         * modules/unistr/u16-mbtouc-unsafe: Renamed from
51196         modules/unistr/u16-mbtouc.
51197         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
51198         * lib/unistr.h: Update.
51199         * lib/linebreak.c: Update.
51200         * modules/linebreak: Update.
51201         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
51202         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
51203         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
51204         * modules/unistr/u16-mbtouc: Renamed from
51205         modules/unistr/u16-mbtouc-safe.
51206         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
51207         * lib/unistr.h: Update.
51208         * lib/unistr/u16-to-u8.c: Update.
51209         * modules/unistr/u16-to-u8: Update.
51210         * lib/unistr/u16-to-u32.c: Update.
51211         * modules/unistr/u16-to-u32: Update.
51212
51213 2007-01-27  Bruno Haible  <bruno@clisp.org>
51214
51215         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
51216         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
51217         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
51218         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
51219         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
51220         * modules/unistr/u8-mbtouc-unsafe: Renamed from
51221         modules/unistr/u8-mbtouc.
51222         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
51223         * lib/unistr.h: Update.
51224         * lib/striconveh.c: Update.
51225         * modules/striconveh: Update.
51226         * lib/linebreak.c: Update.
51227         * modules/linebreak: Update.
51228         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
51229         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
51230         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
51231         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
51232         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
51233         * lib/unistr.h: Update.
51234         * lib/striconveh.c: Update.
51235         * modules/striconveh: Update.
51236         * lib/unistr/u8-to-u16.c: Update.
51237         * modules/unistr/u8-to-u16: Update.
51238         * lib/unistr/u8-to-u32.c: Update.
51239         * modules/unistr/u8-to-u32: Update.
51240
51241 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51242
51243         Sync from Libtool.
51244         * lib/argz.c: Do not include strings.h nor memory.h, include
51245         string.h unconditionally.  Patch by Simon Josefsson.
51246
51247 2007-01-27  Bruno Haible  <bruno@clisp.org>
51248
51249         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
51250         from gl_HEADER_STRING_H_BODY.
51251         (gl_HEADER_STRING_H_BODY): Require it.
51252         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
51253         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
51254         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
51255         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
51256         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
51257         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
51258         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51259         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
51260         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
51261         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
51262         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
51263         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
51264         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
51265         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
51266         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
51267
51268 2007-01-27  Bruno Haible  <bruno@clisp.org>
51269
51270         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
51271         check_PROGRAMS into noinst_PROGRAMS.
51272         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
51273         check_PROGRAMS in this case.
51274         (func_import): Set for_test to false.
51275         (func_create_testdir): Set for_test to true.
51276
51277 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
51278             Bruno Haible  <bruno@clisp.org>
51279
51280         * modules/strcasestr (Files): Remove lib/strcasestr.h.
51281         (Depends-on): Add string.
51282         (Includes): Use <string.h> instead of strcasestr.h.
51283         * modules/string (Makefile.am): Also substitute the value of
51284         REPLACE_STRCASESTR.
51285         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
51286         assume strcasestr is declared in <string.h> not <strings.h>. Also
51287         set REPLACE_STRCASESTR.
51288         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
51289         REPLACE_STRCASESTR.
51290         * lib/strcasestr.h: Remove file.
51291         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
51292         * lib/string_.h (strcasestr): New declaration.
51293
51294 2007-01-27  Bruno Haible  <bruno@clisp.org>
51295
51296         * lib/string_.h: Use 'extern'.
51297
51298 2007-01-27  Jim Meyering  <jim@meyering.net>
51299
51300         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
51301         of set-but-not-used local, "q".
51302
51303         * lib/mempcpy.c: Include <config.h> before <string.h>.
51304         This fixes a compilation error on HP-UX, due to the system's
51305         "restrict"-using mempcpy prototype.
51306
51307 2007-01-26  Bruno Haible  <bruno@clisp.org>
51308
51309         Small optimization.
51310         * lib/javacomp.c: Include c-strstr.h.
51311          (is_envjavac_gcj): Use c_strstr instead of strstr.
51312         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
51313
51314 2007-01-26  Bruno Haible  <bruno@clisp.org>
51315
51316         * MODULES.html.sh (Unicode string functions): Add the new modules.
51317
51318         * modules/uniconv/u32-strconv-to-locale: New file.
51319         * lib/uniconv/u32-strconv-to-locale.c: New file.
51320
51321         * modules/uniconv/u16-strconv-to-locale: New file.
51322         * lib/uniconv/u16-strconv-to-locale.c: New file.
51323
51324         * modules/uniconv/u8-strconv-to-locale: New file.
51325         * lib/uniconv/u8-strconv-to-locale.c: New file.
51326
51327         * modules/uniconv/u32-strconv-from-locale: New file.
51328         * lib/uniconv/u32-strconv-from-locale.c: New file.
51329
51330         * modules/uniconv/u16-strconv-from-locale: New file.
51331         * lib/uniconv/u16-strconv-from-locale.c: New file.
51332
51333         * modules/uniconv/u8-strconv-from-locale: New file.
51334         * lib/uniconv/u8-strconv-from-locale.c: New file.
51335
51336         * modules/uniconv/u32-strconv-to-enc: New file.
51337         * lib/uniconv/u32-strconv-to-enc.c: New file.
51338         * modules/uniconv/u32-strconv-to-enc-tests: New file.
51339         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
51340
51341         * modules/uniconv/u16-strconv-to-enc: New file.
51342         * lib/uniconv/u16-strconv-to-enc.c: New file.
51343         * lib/uniconv/u-strconv-to-enc.h: New file.
51344         * modules/uniconv/u16-strconv-to-enc-tests: New file.
51345         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
51346
51347         * modules/uniconv/u8-strconv-to-enc: New file.
51348         * lib/uniconv/u8-strconv-to-enc.c: New file.
51349         * modules/uniconv/u8-strconv-to-enc-tests: New file.
51350         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
51351
51352         * modules/uniconv/u32-strconv-from-enc: New file.
51353         * lib/uniconv/u32-strconv-from-enc.c: New file.
51354         * modules/uniconv/u32-strconv-from-enc-tests: New file.
51355         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
51356
51357         * modules/uniconv/u16-strconv-from-enc: New file.
51358         * lib/uniconv/u16-strconv-from-enc.c: New file.
51359         * modules/uniconv/u16-strconv-from-enc-tests: New file.
51360         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
51361
51362         * modules/uniconv/u8-strconv-from-enc: New file.
51363         * lib/uniconv/u8-strconv-from-enc.c: New file.
51364         * lib/uniconv/u-strconv-from-enc.h: New file.
51365         * modules/uniconv/u8-strconv-from-enc-tests: New file.
51366         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
51367
51368         * modules/uniconv/u32-conv-from-enc: New file.
51369         * lib/uniconv/u32-conv-from-enc.c: New file.
51370         * modules/uniconv/u32-conv-from-enc-tests: New file.
51371         * tests/uniconv/test-u32-conv-from-enc.c: New file.
51372
51373         * modules/uniconv/u16-conv-from-enc: New file.
51374         * lib/uniconv/u16-conv-from-enc.c: New file.
51375         * lib/uniconv/u-conv-from-enc.h: New file.
51376         * modules/uniconv/u16-conv-from-enc-tests: New file.
51377         * tests/uniconv/test-u16-conv-from-enc.c: New file.
51378
51379         * modules/uniconv/u8-conv-from-enc: New file.
51380         * lib/uniconv/u8-conv-from-enc.c: New file.
51381         * modules/uniconv/u8-conv-from-enc-tests: New file.
51382         * tests/uniconv/test-u8-conv-from-enc.c: New file.
51383
51384         * modules/uniconv/base: New file.
51385         * lib/uniconv.h: New file.
51386
51387 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
51388
51389         * doc/gnulib-tool.texi (Initial import): Update to match current
51390         behavior with strdup module.
51391         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
51392         * lib/memmem.h: Remove; all uses removed.  This is now done
51393         by <string.h>.
51394         * lib/mempcpy.h: Likewise.
51395         * lib/memrchr.h: Likewise.
51396         * lib/stpcpy.h: Likewise.
51397         * lib/stpncpy.h: Likewise.
51398         * lib/strcase.h: Likewise.
51399         * lib/strchrnul.h: Likewise.
51400         * lib/strdup.h: Likewise.
51401         * lib/strndup.h: Likewise.
51402         * lib/strnlen.h: Likewise.
51403         * lib/strpbrk.h: Likewise.
51404         * lib/strsep.h: Likewise.
51405         * lib/strstr.h: Likewise.
51406         * lib/strtok_r.h: Likewise.
51407         * lib/string_.h: New file.
51408         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
51409         Rely on <string.h> instead.
51410         * lib/canon-host.c: Likewise.
51411         * lib/chdir-long.c: Likewise.
51412         * lib/concatpath.c: Likewise.
51413         * lib/exclude.c: Likewise.
51414         * lib/fchdir.c: Likewise.
51415         * lib/getaddrinfo.c: Likewise.
51416         * lib/getcwd.c: Likewise.
51417         * lib/getsubopt.c: Likewise.
51418         * lib/glob.c: Likewise.
51419         * lib/hard-locale.c: Likewise.
51420         * lib/iconvme.c: Likewise.
51421         * lib/javacomp.c: Likewise.
51422         * lib/mempcpy.c: Likewise.
51423         * lib/memrchr.c: Likewise.
51424         * lib/regex_internal.h: Likewise.
51425         * lib/stpncpy.c: Likewise.
51426         * lib/strcasecmp.c: Likewise.
51427         * lib/strchrnul.c: Likewise.
51428         * lib/strdup.c: Likewise.
51429         * lib/striconv.c: Likewise.
51430         * lib/striconveh.c: Likewise.
51431         * lib/striconveha.c: Likewise.
51432         * lib/strncasecmp.c: Likewise.
51433         * lib/strndup.c: Likewise.
51434         * lib/strnlen.c: Likewise.
51435         * lib/strsep.c: Likewise.
51436         * lib/strstr.c: Likewise.
51437         * lib/strtok_r.c: Likewise.
51438         * lib/userspec.c: Likewise.
51439         * lib/w32spawn.h: Likewise.
51440         * lib/xstrndup.c: Likewise.
51441         * lib/mountlist.c (strstr): Remove decl.
51442         * m4/string_h.m4: New file.
51443         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
51444         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
51445         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
51446         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
51447         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
51448         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
51449         Set REPLACE_STRCASECMP if necessary.
51450         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
51451         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
51452         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
51453         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
51454         HAVE_DECL_STRDUP if necessary.
51455         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
51456         since gl_FUNC_STRNDUP does that now.
51457         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
51458         Check for decl here...
51459         (gl_PREREQ_STRNLEN): ... not here.
51460         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
51461         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
51462         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
51463         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
51464         necessary.
51465         * modules/string: New file.
51466         * modules/memmem (Files): Remove special-purpose include file.
51467         (Depends-on): Add string.
51468         (Include): Include <string.h>, not the removed file.
51469         * modules/mempcpy: Likewise.
51470         * modules/memrchr: Likewise.
51471         * modules/stpcpy: Likewise.
51472         * modules/stpncpy: Likewise.
51473         * modules/strcase: Likewise.
51474         * modules/strchrnul: Likewise.
51475         * modules/strdup: Likewise.
51476         * modules/strndup: Likewise.
51477         * modules/strnlen: Likewise.
51478         * modules/strpbrk: Likewise.
51479         * modules/strsep: Likewise.
51480         * modules/strstr: Likewise.
51481         * modules/strtok_r: Likewise.
51482         * tests/test-dirname.c: Don't include "strdup.h", since
51483         <string.h> now suffices.
51484         * tests/test-memmem.c: Don't include "memmem.h", since
51485         <string.h> now suffices.
51486
51487 2007-01-25  Bruno Haible  <bruno@clisp.org>
51488
51489         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
51490         *resultp is 0.
51491
51492         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
51493         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
51494         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
51495         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
51496
51497         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
51498         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
51499         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
51500         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
51501         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
51502         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
51503
51504 2007-01-24  Bruno Haible  <bruno@clisp.org>
51505
51506         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
51507         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
51508         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
51509         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
51510         gl_FUNC_FTS_CORE.
51511         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
51512         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
51513         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
51514         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
51515         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
51516         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
51517         gl_FUNC_FCHOWNAT.
51518         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
51519         gl_FUNC_STRFTIME.
51520         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
51521         Reported by Ralf Wildenhues.
51522
51523 2007-01-24  Bruno Haible  <bruno@clisp.org>
51524
51525         Drop AC_REQUIRE calls that are redundant with the module dependencies.
51526         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
51527         gl_GETADDRINFO.
51528         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
51529         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
51530         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
51531
51532 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
51533
51534         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
51535         Don't use 'exit'; just return from 'main'.
51536         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
51537
51538         * lib/fnmatch_.h: Readjust white space and comments to match
51539         glibc, to avoid spurious diffs.
51540
51541 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
51542
51543         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
51544         2004-12-01 change by Jakub Jelinek, since this code won't compile
51545         if !LIBC.  Problem reported by Bob Proulx.
51546
51547 2007-01-23  Bruno Haible  <bruno@clisp.org>
51548
51549         * lib/striconveh.c: Include c-strcaseeq.h.
51550         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
51551         * modules/striconveh (Depends-on): Add c-strcaseeq.
51552
51553 2007-01-23  Bruno Haible  <bruno@clisp.org>
51554
51555         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
51556
51557         * modules/c-strcaseeq: New file.
51558         * lib/c-strcaseeq.h: New file.
51559
51560         * modules/streq: New file.
51561         * lib/streq.h: New file.
51562
51563 2007-01-23  Bruno Haible  <bruno@clisp.org>
51564
51565         * modules/striconveha-tests: New file.
51566         * tests/test-striconveha.c: New file.
51567
51568         * lib/striconveha.h: Include <stdbool.h>.
51569         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
51570         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
51571         (mem_iconveha_notranslit): Renamed from mem_iconveha.
51572         (mem_iconveha): New function.
51573         (str_iconveha_notranslit): Renamed from str_iconveha.
51574         (str_iconveha): New function.
51575         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
51576         c-strcase.
51577
51578 2007-01-23  Bruno Haible  <bruno@clisp.org>
51579
51580         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
51581         encodings without forgiving before trying any encoding with handler.
51582         (str_iconveha): Try all encodings without forgiving before trying any
51583         encoding with handler.
51584
51585 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
51586
51587         Import the following changes from libc.
51588
51589         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
51590
51591         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
51592
51593         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
51594
51595         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
51596         normal_bracket label.
51597
51598         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
51599
51600         [BZ #361]
51601         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
51602         to normal_bracket after fetching the next character.
51603
51604 2007-01-22  Bruno Haible  <bruno@clisp.org>
51605
51606         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
51607         argument.
51608         * lib/striconveh.c (iconv_carefully_1): New function.
51609         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
51610         argument.
51611         (str_cd_iconveh): Update.
51612         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
51613         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
51614         * tests/test-striconveh.c (MAGIC): New macro.
51615         (new_offsets): New function.
51616         (main): Test call with and without offsets.
51617
51618 2007-01-22  Bruno Haible  <bruno@clisp.org>
51619
51620         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
51621         * modules/sys_select (Makefile.am): Likewise.
51622         * modules/sys_socket (Makefile.am): Likewise.
51623         * modules/sys_time (Makefile.am): Likewise.
51624
51625 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
51626
51627         * modules/gettimeofday (License): Change from GPL to LGPL, since
51628         gettimeofday is a library function.
51629
51630 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51631
51632         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
51633
51634 2007-01-21  Bruno Haible  <bruno@clisp.org>
51635
51636         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
51637
51638 2007-01-21  Bruno Haible  <bruno@clisp.org>
51639
51640         * modules/striconveha: New file.
51641         * lib/striconveha.h: New file.
51642         * lib/striconveha.c: New file.
51643         * MODULES.html.sh (Internationalization functions): Add striconveha.
51644         * lib/striconv.c (str_iconv): Optimize the case of an empty input
51645         string.
51646         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
51647
51648 2007-01-21  Bruno Haible  <bruno@clisp.org>
51649
51650         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
51651         * lib/striconveh.c (str_iconveh): Likewise.
51652
51653 2007-01-21  Bruno Haible  <bruno@clisp.org>
51654
51655         * lib/striconveh.h (mem_iconveh): New declaration.
51656         * lib/striconveh.c (mem_iconveh): New function.
51657         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
51658
51659 2007-01-21  Bruno Haible  <bruno@clisp.org>
51660
51661         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
51662
51663         * lib/striconveh.h (mem_cd_iconveh): Change specification.
51664         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
51665         original result buffer.
51666         (str_cd_iconveh): Update.
51667         * tests/test-striconveh.c (main): Update.
51668
51669         * lib/striconv.h (mem_cd_iconv): Change specification.
51670         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
51671         result buffer.
51672         (str_cd_iconv): Update.
51673         * tests/test-striconv.c (main): Update.
51674
51675 2007-01-21  Bruno Haible  <bruno@clisp.org>
51676
51677         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
51678
51679 2007-01-20  Jim Meyering  <jim@meyering.net>
51680
51681         * lib/userspec.c (parse_with_separator): If a user or group string
51682         starts with "+", skip the corresponding name-to-ID look-up, since
51683         such a look-up must fail: user and group names may not include "+".
51684
51685 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
51686
51687         * lib/poll.c: Include sys/time.h and time.h unconditionally,
51688         since we now assume the sys_time module.
51689         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
51690         check for sys/time.h; no longer needed.
51691         * modules/poll (Depends-on): Depend on sys_time.
51692
51693 2007-01-18  Bruno Haible  <bruno@clisp.org>
51694
51695         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
51696         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
51697
51698         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
51699         gettimeofday.
51700
51701         * tests/test-gettimeofday.c: Include <time.h>.
51702         (dummy): Remove variable.
51703
51704         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
51705         gl_HEADER_SYS_TIME_H.
51706         (gl_HEADER_SYS_TIME_H): New macro.
51707
51708         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
51709         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
51710         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
51711         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
51712         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
51713         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
51714         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
51715         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
51716         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
51717         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
51718         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
51719
51720         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
51721         last change; it caused a compilation error when cross-compiling to
51722         Cygwin.
51723
51724 2007-01-18  Jim Meyering  <jim@meyering.net>
51725
51726         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
51727         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
51728         than the race-prone "test -d sys || mkdir sys".
51729         (configure.ac): Use AC_PROG_MKDIR_P.
51730         * modules/sys_select: Likewise.
51731         * modules/sys_socket: Likewise.
51732         * modules/sys_time: Likewise.
51733
51734 2007-01-18  Eric Blake  <ebb9@byu.net>
51735
51736         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
51737         replace gettimeofday.
51738         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
51739         name, to avoid infinite recursion.
51740
51741 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
51742
51743         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
51744         module sys_time.
51745         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
51746         assume timespec.h defines struct timeval.
51747         * lib/settime.c: Likewise.
51748         * lib/utimens.c: Likewise.
51749         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
51750         since we now assume the gettimeofday module.
51751         * lib/tempname.c (__gen_tempname): Likewise.
51752         * lib/gettimeofday.h: Remove.
51753         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
51754         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
51755         Include <time.h>, for 'time()'.
51756         (localtime_buffer_addr): Also use this workaround if
51757         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
51758         to simplify the uses.  All uses changed.
51759         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
51760         that #undef is inside {}, and 'const' follows type name consistently.
51761         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
51762         (gettimeofday): Do not use the maximum possible value for
51763         tv->tv_usec, since that might break usages other than ls.c.
51764         Instead, we'll leave ls.c alone.  This undoes today's patch
51765         by Bruno.  Add a compile-time warning for 1s-clock resolution;
51766         we've never observed the problem but might as well keep the
51767         canary.
51768         * lib/nanosleep.c: Include timespec.h first, for interface check.
51769         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
51770         now assume the sys_time module.
51771         * lib/tempname.c: Likewise.
51772         * lib/timespec.h: Likewise.
51773         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
51774         needed.
51775         * lib/strftime.c: Likewise.
51776         * lib/timespec.h: Likewise.
51777         * lib/posixtm.c: Include posixtm.h first, for interface check.
51778         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
51779         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
51780         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
51781         * lib/sys_time_.h: New file.
51782         * lib/timespec.h (struct timespec): Use long int, not long.
51783         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
51784         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
51785         Remove obsolescent call to AC_HEADER_TIME.
51786         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
51787         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
51788         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
51789         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
51790         Likewise.
51791         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
51792         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
51793         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
51794         into the sys_time module.  Check for gettimeofday just once.
51795         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
51796         for gettimeofday signature to just check the signature.  Merely
51797         compile it, since linking doesn't test signature.  Improve test for
51798         whether gettimeofday.o is actually needed.
51799         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
51800         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
51801         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
51802         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
51803         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
51804         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
51805         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
51806         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
51807         than worrying about sys/time.h.
51808         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
51809         Don't bother worrying about TIME_WITH_SYS_TIME.
51810         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
51811         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
51812         * m4/sys_time_h.m4: New file.
51813         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
51814         Don't include sys/time.h.  Return from main rather than exiting.
51815         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
51816         all uses changed.
51817         * modules/gethrxtime (Depends-on): Add sys_time.
51818         * modules/gettime (Depends-on): Likewise.
51819         * modules/gettimeofday (Depends-on): Likewise.
51820         * modules/nanosleep (Depends-on): Likewise.
51821         * modules/settime (Depends-on): Likewise.
51822         * modules/tempname (Depends-on): Likewise.
51823         * modules/utimens (Depends-on): Likewise.
51824         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
51825         (Include:) Change back to <sys/time.h>.
51826         (Maintainer:) Add self.
51827         * modules/sys_time: New file.
51828         * modules/tempname (Depends-on): Add gettimeofday.
51829         * tests/test-gettimeofday.c: Include <sys/time.h>
51830         rather than gettimeofday.h.
51831
51832 2007-01-17  Bruno Haible  <bruno@clisp.org>
51833
51834         * gnulib-tool (func_get_license): Revert last patch. Instead, let
51835         the license default to GPL.
51836         (func_create_testdir): Don't complain if a module is LGPL and its
51837         tests module depends on GPLed modules.
51838
51839 2007-01-17  Bruno Haible  <bruno@clisp.org>
51840
51841         * lib/gettimeofday.c (gettimeofday): Add code for the case
51842         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
51843         maximum possible value for tv->tv_usec, rather than the minimum one.
51844
51845 2005-10-08  Martin Lambers  <marlam@marlam.de>
51846 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
51847 2007-01-16  Bruno Haible  <bruno@clisp.org>
51848
51849         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
51850         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
51851         gl_FUNC_GETTIMEOFDAY.
51852         (Include): Add gettimeofday.h.
51853         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
51854         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
51855         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
51856         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
51857         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
51858         * lib/gettimeofday.h: New file.
51859         * lib/gettimeofday.c: Include <sys/timeb.h>.
51860         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
51861         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
51862         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
51863         fall back on time().
51864
51865         * tests/test-gettimeofday.c: New file.
51866         * modules/gettimeofday-tests: New file.
51867
51868 2007-01-16  Eric Blake  <ebb9@byu.net>
51869
51870         * modules/fnmatch (Depends-on): Depend on wchar.
51871         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
51872         * m4/fnmatch.m4: Likewise.
51873         * modules/mbchar (Makefile.am): Assume <wchar.h>.
51874         * m4/mbchar.m4: Likewise.
51875         * modules/mbswidth (Depends-on): Depend on wchar.
51876         * lib/mbswidth.c: Assume <wchar.h>.
51877         * m4/mbswidth.m4: Likewise.
51878         * modules/quotearg (Depends-on): Depend on wchar.
51879         * lib/quotearg.c: Assume <wchar.h>.
51880         * m4/quotearg.m4: Likewise.
51881         * modules/regex (Depends-on): Depend on wchar.
51882         * lib/regex_internal.h: Assume <wchar.h>.
51883         * m4/regex.m4: Likewise.
51884         * modules/stdint (Depends-on): Depend on wchar.
51885         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
51886         * m4/stdint.m4: Likewise.
51887         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
51888         * modules/strftime (Depends-on): Depend on wchar.
51889         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
51890         * modules/strtol (Depends-on): Depend on wchar.
51891         * lib/strtol.c: Assume <wchar.h>.
51892         * modules/wcwidth (Depends-on): Depend on wchar.
51893         * lib/wcwidth.h: Assume <wchar.h>.
51894         * m4/wcwidth.m4: Likewise.
51895
51896 2007-01-16  Bruno Haible  <bruno@clisp.org>
51897
51898         * modules/csharpexec-script: New, created from...
51899         * modules/csharpexec: ... this.
51900
51901 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
51902
51903         * modules/javaexec-script: New, created from...
51904         * modules/javaexec: ... this.
51905
51906 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51907
51908         * modules/poll (Dependencies): Add sys_select.
51909
51910 2007-01-15  Jim Meyering  <jim@meyering.net>
51911
51912         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
51913         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
51914         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
51915         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
51916
51917 2007-01-15  Bruno Haible  <bruno@clisp.org>
51918
51919         * modules/striconveh: New file.
51920         * lib/striconveh.h: New file.
51921         * lib/striconveh.c: New file.
51922         * MODULES.html.sh (Internationalization functions): Add striconveh.
51923
51924         * modules/striconveh-tests: New file.
51925         * tests/test-striconveh.c: New file.
51926
51927 2007-01-15  Bruno Haible  <bruno@clisp.org>
51928
51929         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
51930         not from GNU libiconv or GNU libc.
51931
51932 2007-01-15  Bruno Haible  <bruno@clisp.org>
51933
51934         * doc/gnulib-intro.texi (Copyright): Explain the different license
51935         terms for module descriptions, autoconf macros, tests, documentation.
51936
51937 2007-01-14  Bruno Haible  <bruno@clisp.org>
51938
51939         * modules/striconv-tests: New file.
51940         * tests/test-striconv.c: New file.
51941
51942 2007-01-14  Bruno Haible  <bruno@clisp.org>
51943
51944         * modules/iconv-tests: New file.
51945         * tests/test-iconv.c: New file.
51946
51947 2007-01-14  Bruno Haible  <bruno@clisp.org>
51948
51949         * gnulib-tool (func_get_license): For test modules, use the license of
51950         the main module.
51951
51952 2007-01-14  Bruno Haible  <bruno@clisp.org>
51953
51954         * modules/iconv (Include): Clarify that <iconv.h> can only be included
51955         if iconv is found to exist.
51956
51957 2007-01-14  Bruno Haible  <bruno@clisp.org>
51958
51959         * modules/c-ctype-tests: New file.
51960         * tests/test-c-ctype.c: New file.
51961
51962 2007-01-14  Bruno Haible  <bruno@clisp.org>
51963
51964         * modules/binary-io-tests: New file.
51965         * tests/test-binary-io.sh: New file.
51966         * tests/test-binary-io.c: New file.
51967
51968 2007-01-14  Bruno Haible  <bruno@clisp.org>
51969
51970         * modules/array-oset-tests: New file.
51971         * tests/test-array_oset.c: New file.
51972
51973 2007-01-14  Bruno Haible  <bruno@clisp.org>
51974
51975         * modules/array-list-tests: New file.
51976         * tests/test-array_list.c: New file.
51977
51978 2007-01-14  Bruno Haible  <bruno@clisp.org>
51979
51980         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
51981         and make.
51982         Reported by Simon Josefsson in
51983         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
51984
51985 2007-01-14  Bruno Haible  <bruno@clisp.org>
51986
51987         * modules/allocsa-tests: New file.
51988         * tests/test-allocsa.c: New file.
51989
51990 2007-01-14  Bruno Haible  <bruno@clisp.org>
51991
51992         * modules/fchdir (Depends-on): Add absolute-header.
51993         * modules/unistd (Depends-on): Likewise.
51994
51995 2006-12-30  Bruno Haible  <bruno@clisp.org>
51996
51997         * modules/fchdir: New file.
51998         * modules/unistd (Files): Add lib/unistd_.h.
51999         (Makefile.am): Generate unistd.h from unistd_.h.
52000         * lib/fchdir.c: New file.
52001         * lib/dirent_.h: New file.
52002         * lib/unistd_.h: New file.
52003         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
52004         * m4/fchdir.m4: New file.
52005         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
52006         (gl_HEADER_UNISTD): Invoke it.
52007         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
52008         function.
52009         * lib/backupfile.c (opendir, closedir): Undefine.
52010         * lib/chown.c (open, close): Undefine.
52011         * lib/clean-temp.c (open, close): Undefine.
52012         * lib/copy-file.c (open, close): Undefine.
52013         * lib/execute.c (open, close): Undefine.
52014         * lib/fsusage.c (open, close): Undefine.
52015         * lib/gc-gnulib.c (open, close): Undefine.
52016         * lib/getcwd.c (opendir, closedir): Undefine.
52017         * lib/glob.c (opendir, closedir): Undefine.
52018         * lib/javacomp.c (open, close): Undefine.
52019         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
52020         * lib/openat-proc.c (open, close): Undefine.
52021         * lib/pagealign_alloc.c (open, close): Undefine.
52022         * lib/pipe.c (open, close): Undefine.
52023         * lib/progreloc.c (open, close): Undefine.
52024         * lib/savedir.c (opendir, closedir): Undefine.
52025         * lib/utime.c (open, close): Undefine.
52026         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
52027
52028 2007-01-10  Bruno Haible  <bruno@clisp.org>
52029
52030         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
52031
52032 2007-01-12  Eric Blake  <ebb9@byu.net>
52033
52034         Provide a robust <wchar.h>.  Further simplifications are now
52035         possible in other modules, but not included here.
52036         * modules/wchar: New module.
52037         * m4/wchar.m4: New file.
52038         * lib/wchar_.h: Likewise.
52039         * modules/mbchar (Depends-on): Depend on wchar, as the first use
52040         of the new module.
52041         * MODULES.html.sh (Extended multibyte and wide character utilities):
52042         New section.
52043
52044 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
52045
52046         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
52047         to a reasonable default for memory allocation.
52048         (xreadlink): Don't allocate a huge buffer, to work around a buggy
52049         file system that reports garbage st_size values for symlinks.
52050         Problem reported by Liyang Hu.
52051
52052 2007-01-11  Simon Josefsson  <simon@josefsson.org>
52053
52054         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
52055         Emacs .#* auto-save files).
52056
52057 2007-01-11  Bruno Haible  <bruno@clisp.org>
52058
52059         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
52060         directory.
52061
52062 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
52063
52064         Use @...@ consistently in lib/wctype_.h.
52065         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
52066         on it being set to 1 or 0.
52067         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
52068         go back to AC_SUBSTing it.
52069         * modules/wctype (Makefile.am): Undo previous change.
52070
52071 2007-01-10  Eric Blake  <ebb9@byu.net>
52072
52073         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
52074         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
52075         * modules/wctype (Makefile.am): Likewise.
52076         Reported by Chris McGuire.
52077
52078 2007-01-10  Jim Meyering  <jim@meyering.net>
52079
52080         fts.c: a small readability/maintainability improvement
52081         * lib/fts.c (fts_read): Make this code slightly more readable and
52082         maintainable by hoisting the "sp->fts_cur = p" assignments to
52083         immediately follow the statements that set P.  Derived from
52084         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
52085
52086 2007-01-10  Eric Blake  <ebb9@byu.net>
52087
52088         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
52089         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
52090         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
52091         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
52092         Reported by Chris McGuire.
52093
52094 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52095
52096         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
52097         in sed script.
52098
52099 2007-01-09  Bruno Haible  <bruno@clisp.org>
52100
52101         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
52102         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
52103         variables.
52104         (func_module): Use them.
52105
52106 2007-01-09  Bruno Haible  <bruno@clisp.org>
52107
52108         * modules/unistr/base: New file.
52109         * lib/unistr.h: New file.
52110
52111         * modules/unistr/u8-to-u16: New file.
52112         * lib/unistr/u8-to-u16.c: New file.
52113
52114         * modules/unistr/u8-to-u32: New file.
52115         * lib/unistr/u8-to-u32.c: New file.
52116
52117         * modules/unistr/u16-to-u8: New file.
52118         * lib/unistr/u16-to-u8.c: New file.
52119
52120         * modules/unistr/u16-to-u32: New file.
52121         * lib/unistr/u16-to-u32.c: New file.
52122
52123         * modules/unistr/u32-to-u8: New file.
52124         * lib/unistr/u32-to-u8.c: New file.
52125
52126         * modules/unistr/u32-to-u16: New file.
52127         * lib/unistr/u32-to-u16.c: New file.
52128
52129         * modules/unistr/u8-check: New file.
52130         * modules/unistr/u16-check: New file.
52131         * modules/unistr/u32-check: New file.
52132         * lib/unistr/u8-check.c: New file.
52133         * lib/unistr/u16-check.c: New file.
52134         * lib/unistr/u32-check.c: New file.
52135
52136         * modules/unistr/u8-chr: New file.
52137         * modules/unistr/u16-chr: New file.
52138         * modules/unistr/u32-chr: New file.
52139         * lib/unistr/u8-chr.c: New file.
52140         * lib/unistr/u16-chr.c: New file.
52141         * lib/unistr/u32-chr.c: New file.
52142
52143         * modules/unistr/u8-cmp: New file.
52144         * modules/unistr/u16-cmp: New file.
52145         * modules/unistr/u32-cmp: New file.
52146         * lib/unistr/u8-cmp.c: New file.
52147         * lib/unistr/u16-cmp.c: New file.
52148         * lib/unistr/u32-cmp.c: New file.
52149
52150         * modules/unistr/u8-cpy: New file.
52151         * modules/unistr/u16-cpy: New file.
52152         * modules/unistr/u32-cpy: New file.
52153         * lib/unistr/u8-cpy.c: New file.
52154         * lib/unistr/u16-cpy.c: New file.
52155         * lib/unistr/u32-cpy.c: New file.
52156         * lib/unistr/u-cpy.h: New file.
52157
52158         * modules/unistr/u8-cpy-alloc: New file.
52159         * modules/unistr/u16-cpy-alloc: New file.
52160         * modules/unistr/u32-cpy-alloc: New file.
52161         * lib/unistr/u8-cpy-alloc.c: New file.
52162         * lib/unistr/u16-cpy-alloc.c: New file.
52163         * lib/unistr/u32-cpy-alloc.c: New file.
52164         * lib/unistr/u-cpy-alloc.h: New file.
52165
52166         * modules/unistr/u8-endswith: New file.
52167         * modules/unistr/u16-endswith: New file.
52168         * modules/unistr/u32-endswith: New file.
52169         * lib/unistr/u8-endswith.c: New file.
52170         * lib/unistr/u16-endswith.c: New file.
52171         * lib/unistr/u32-endswith.c: New file.
52172         * lib/unistr/u-endswith.h: New file.
52173
52174         * modules/unistr/u8-mblen: New file.
52175         * modules/unistr/u16-mblen: New file.
52176         * modules/unistr/u32-mblen: New file.
52177         * lib/unistr/u8-mblen.c: New file.
52178         * lib/unistr/u16-mblen.c: New file.
52179         * lib/unistr/u32-mblen.c: New file.
52180
52181         * modules/unistr/u8-mbtouc: New file.
52182         * modules/unistr/u16-mbtouc: New file.
52183         * modules/unistr/u32-mbtouc: New file.
52184         * lib/unistr/u8-mbtouc.c: New file.
52185         * lib/unistr/u16-mbtouc.c: New file.
52186         * lib/unistr/u32-mbtouc.c: New file.
52187
52188         * modules/unistr/u8-mbtouc-safe: New file.
52189         * modules/unistr/u16-mbtouc-safe: New file.
52190         * modules/unistr/u32-mbtouc-safe: New file.
52191         * lib/unistr/u8-mbtouc-safe.c: New file.
52192         * lib/unistr/u16-mbtouc-safe.c: New file.
52193         * lib/unistr/u32-mbtouc-safe.c: New file.
52194
52195         * modules/unistr/u8-move: New file.
52196         * modules/unistr/u16-move: New file.
52197         * modules/unistr/u32-move: New file.
52198         * lib/unistr/u8-move.c: New file.
52199         * lib/unistr/u16-move.c: New file.
52200         * lib/unistr/u32-move.c: New file.
52201         * lib/unistr/u-move.h: New file.
52202
52203         * modules/unistr/u8-next: New file.
52204         * modules/unistr/u16-next: New file.
52205         * modules/unistr/u32-next: New file.
52206         * lib/unistr/u8-next.c: New file.
52207         * lib/unistr/u16-next.c: New file.
52208         * lib/unistr/u32-next.c: New file.
52209
52210         * modules/unistr/u8-prev: New file.
52211         * modules/unistr/u16-prev: New file.
52212         * modules/unistr/u32-prev: New file.
52213         * lib/unistr/u8-prev.c: New file.
52214         * lib/unistr/u16-prev.c: New file.
52215         * lib/unistr/u32-prev.c: New file.
52216
52217         * modules/unistr/u8-set: New file.
52218         * modules/unistr/u16-set: New file.
52219         * modules/unistr/u32-set: New file.
52220         * lib/unistr/u8-set.c: New file.
52221         * lib/unistr/u16-set.c: New file.
52222         * lib/unistr/u32-set.c: New file.
52223         * lib/unistr/u-set.h: New file.
52224
52225         * modules/unistr/u8-startswith: New file.
52226         * modules/unistr/u16-startswith: New file.
52227         * modules/unistr/u32-startswith: New file.
52228         * lib/unistr/u8-startswith.c: New file.
52229         * lib/unistr/u16-startswith.c: New file.
52230         * lib/unistr/u32-startswith.c: New file.
52231         * lib/unistr/u-startswith.h: New file.
52232
52233         * modules/unistr/u8-stpcpy: New file.
52234         * modules/unistr/u16-stpcpy: New file.
52235         * modules/unistr/u32-stpcpy: New file.
52236         * lib/unistr/u8-stpcpy.c: New file.
52237         * lib/unistr/u16-stpcpy.c: New file.
52238         * lib/unistr/u32-stpcpy.c: New file.
52239         * lib/unistr/u-stpcpy.h: New file.
52240
52241         * modules/unistr/u8-stpncpy: New file.
52242         * modules/unistr/u16-stpncpy: New file.
52243         * modules/unistr/u32-stpncpy: New file.
52244         * lib/unistr/u8-stpncpy.c: New file.
52245         * lib/unistr/u16-stpncpy.c: New file.
52246         * lib/unistr/u32-stpncpy.c: New file.
52247         * lib/unistr/u-stpncpy.h: New file.
52248
52249         * modules/unistr/u8-strcat: New file.
52250         * modules/unistr/u16-strcat: New file.
52251         * modules/unistr/u32-strcat: New file.
52252         * lib/unistr/u8-strcat.c: New file.
52253         * lib/unistr/u16-strcat.c: New file.
52254         * lib/unistr/u32-strcat.c: New file.
52255         * lib/unistr/u-strcat.h: New file.
52256
52257         * modules/unistr/u8-strchr: New file.
52258         * modules/unistr/u16-strchr: New file.
52259         * modules/unistr/u32-strchr: New file.
52260         * lib/unistr/u8-strchr.c: New file.
52261         * lib/unistr/u16-strchr.c: New file.
52262         * lib/unistr/u32-strchr.c: New file.
52263
52264         * modules/unistr/u8-strcmp: New file.
52265         * modules/unistr/u16-strcmp: New file.
52266         * modules/unistr/u32-strcmp: New file.
52267         * lib/unistr/u8-strcmp.c: New file.
52268         * lib/unistr/u16-strcmp.c: New file.
52269         * lib/unistr/u32-strcmp.c: New file.
52270
52271         * modules/unistr/u8-strcpy: New file.
52272         * modules/unistr/u16-strcpy: New file.
52273         * modules/unistr/u32-strcpy: New file.
52274         * lib/unistr/u8-strcpy.c: New file.
52275         * lib/unistr/u16-strcpy.c: New file.
52276         * lib/unistr/u32-strcpy.c: New file.
52277         * lib/unistr/u-strcpy.h: New file.
52278
52279         * modules/unistr/u8-strcspn: New file.
52280         * modules/unistr/u16-strcspn: New file.
52281         * modules/unistr/u32-strcspn: New file.
52282         * lib/unistr/u8-strcspn.c: New file.
52283         * lib/unistr/u16-strcspn.c: New file.
52284         * lib/unistr/u32-strcspn.c: New file.
52285         * lib/unistr/u-strcspn.h: New file.
52286
52287         * modules/unistr/u8-strdup: New file.
52288         * modules/unistr/u16-strdup: New file.
52289         * modules/unistr/u32-strdup: New file.
52290         * lib/unistr/u8-strdup.c: New file.
52291         * lib/unistr/u16-strdup.c: New file.
52292         * lib/unistr/u32-strdup.c: New file.
52293         * lib/unistr/u-strdup.h: New file.
52294
52295         * modules/unistr/u8-strlen: New file.
52296         * modules/unistr/u16-strlen: New file.
52297         * modules/unistr/u32-strlen: New file.
52298         * lib/unistr/u8-strlen.c: New file.
52299         * lib/unistr/u16-strlen.c: New file.
52300         * lib/unistr/u32-strlen.c: New file.
52301         * lib/unistr/u-strlen.h: New file.
52302
52303         * modules/unistr/u8-strmblen: New file.
52304         * modules/unistr/u16-strmblen: New file.
52305         * modules/unistr/u32-strmblen: New file.
52306         * lib/unistr/u8-strmblen.c: New file.
52307         * lib/unistr/u16-strmblen.c: New file.
52308         * lib/unistr/u32-strmblen.c: New file.
52309
52310         * modules/unistr/u8-strmbtouc: New file.
52311         * modules/unistr/u16-strmbtouc: New file.
52312         * modules/unistr/u32-strmbtouc: New file.
52313         * lib/unistr/u8-strmbtouc.c: New file.
52314         * lib/unistr/u16-strmbtouc.c: New file.
52315         * lib/unistr/u32-strmbtouc.c: New file.
52316
52317         * modules/unistr/u8-strncat: New file.
52318         * modules/unistr/u16-strncat: New file.
52319         * modules/unistr/u32-strncat: New file.
52320         * lib/unistr/u8-strncat.c: New file.
52321         * lib/unistr/u16-strncat.c: New file.
52322         * lib/unistr/u32-strncat.c: New file.
52323         * lib/unistr/u-strncat.h: New file.
52324
52325         * modules/unistr/u8-strncmp: New file.
52326         * modules/unistr/u16-strncmp: New file.
52327         * modules/unistr/u32-strncmp: New file.
52328         * lib/unistr/u8-strncmp.c: New file.
52329         * lib/unistr/u16-strncmp.c: New file.
52330         * lib/unistr/u32-strncmp.c: New file.
52331
52332         * modules/unistr/u8-strncpy: New file.
52333         * modules/unistr/u16-strncpy: New file.
52334         * modules/unistr/u32-strncpy: New file.
52335         * lib/unistr/u8-strncpy.c: New file.
52336         * lib/unistr/u16-strncpy.c: New file.
52337         * lib/unistr/u32-strncpy.c: New file.
52338         * lib/unistr/u-strncpy.h: New file.
52339
52340         * modules/unistr/u8-strnlen: New file.
52341         * modules/unistr/u16-strnlen: New file.
52342         * modules/unistr/u32-strnlen: New file.
52343         * lib/unistr/u8-strnlen.c: New file.
52344         * lib/unistr/u16-strnlen.c: New file.
52345         * lib/unistr/u32-strnlen.c: New file.
52346         * lib/unistr/u-strnlen.h: New file.
52347
52348         * modules/unistr/u8-strpbrk: New file.
52349         * modules/unistr/u16-strpbrk: New file.
52350         * modules/unistr/u32-strpbrk: New file.
52351         * lib/unistr/u8-strpbrk.c: New file.
52352         * lib/unistr/u16-strpbrk.c: New file.
52353         * lib/unistr/u32-strpbrk.c: New file.
52354         * lib/unistr/u-strpbrk.h: New file.
52355
52356         * modules/unistr/u8-strrchr: New file.
52357         * modules/unistr/u16-strrchr: New file.
52358         * modules/unistr/u32-strrchr: New file.
52359         * lib/unistr/u8-strrchr.c: New file.
52360         * lib/unistr/u16-strrchr.c: New file.
52361         * lib/unistr/u32-strrchr.c: New file.
52362
52363         * modules/unistr/u8-strspn: New file.
52364         * modules/unistr/u16-strspn: New file.
52365         * modules/unistr/u32-strspn: New file.
52366         * lib/unistr/u8-strspn.c: New file.
52367         * lib/unistr/u16-strspn.c: New file.
52368         * lib/unistr/u32-strspn.c: New file.
52369         * lib/unistr/u-strspn.h: New file.
52370
52371         * modules/unistr/u8-strstr: New file.
52372         * modules/unistr/u16-strstr: New file.
52373         * modules/unistr/u32-strstr: New file.
52374         * lib/unistr/u8-strstr.c: New file.
52375         * lib/unistr/u16-strstr.c: New file.
52376         * lib/unistr/u32-strstr.c: New file.
52377         * lib/unistr/u-strstr.h: New file.
52378
52379         * modules/unistr/u8-strtok: New file.
52380         * modules/unistr/u16-strtok: New file.
52381         * modules/unistr/u32-strtok: New file.
52382         * lib/unistr/u8-strtok.c: New file.
52383         * lib/unistr/u16-strtok.c: New file.
52384         * lib/unistr/u32-strtok.c: New file.
52385         * lib/unistr/u-strtok.h: New file.
52386
52387         * modules/unistr/u8-uctomb: New file.
52388         * modules/unistr/u16-uctomb: New file.
52389         * modules/unistr/u32-uctomb: New file.
52390         * lib/unistr/u8-uctomb.c: New file.
52391         * lib/unistr/u16-uctomb.c: New file.
52392         * lib/unistr/u32-uctomb.c: New file.
52393
52394         * MODULES.html.sh (Unicode string functions): Add the new modules.
52395
52396 2007-01-08  Bruno Haible  <bruno@clisp.org>
52397
52398         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
52399         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
52400         subdirectories.
52401
52402 2007-01-08  Karl Berry  <karl@gnu.org>
52403
52404         * doc/error.texi: mention that main() fns must set program_name
52405         when progname is used.
52406
52407 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
52408
52409         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
52410         WCTYPE_H is empty, for the benefit of builds from non-distclean
52411         directories.  Problem reported by Eric Blake in
52412         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
52413
52414 2007-01-08  Bruno Haible  <bruno@clisp.org>
52415
52416         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
52417         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
52418         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
52419         PROVIDE_CANONICALIZE_FILENAME_MODE.
52420         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
52421
52422 2007-01-08  Bruno Haible  <bruno@clisp.org>
52423
52424         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
52425         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
52426         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
52427         * lib/fts.c: Likewise.
52428         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
52429
52430 2006-12-25  Bruno Haible  <bruno@clisp.org>
52431
52432         * modules/utf8-ucs4-safe: New file.
52433         * lib/utf8-ucs4-safe.h: New file.
52434         * lib/unistr/utf8-ucs4-safe.c: New file.
52435
52436         * modules/utf16-ucs4-safe: New file.
52437         * lib/utf16-ucs4-safe.h: New file.
52438         * lib/unistr/utf16-ucs4-safe.c: New file.
52439
52440         * MODULES.html.sh (Unicode string functions): Add the new modules.
52441
52442 2007-01-08  Bruno Haible  <bruno@clisp.org>
52443
52444         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
52445         (Depends-on): Add unitypes.
52446         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
52447         (u8_mbtouc_aux): Move out to separate file.
52448         (u8_mbtouc): Use ucs4_t, uint8_t types.
52449         * lib/unistr/utf8-ucs4.c: New file.
52450
52451         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
52452         (Depends-on): Add unitypes.
52453         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
52454         (u16_mbtouc_aux): Move out to separate file.
52455         (u16_mbtouc): Use ucs4_t, uint16_t types.
52456         * lib/unistr/utf16-ucs4.c: New file.
52457
52458         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
52459         (Depends-on): Add unitypes.
52460         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
52461         (u8_uctomb_aux): Move out to separate file.
52462         (u8_uctomb): Use ucs4_t, uint8_t types.
52463         * lib/unistr/ucs4-utf8.c: New file.
52464
52465         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
52466         (Depends-on): Add unitypes.
52467         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
52468         (u16_uctomb_aux): Move out to separate file.
52469         (u16_uctomb): Use ucs4_t, uint16_t types.
52470         * lib/unistr/ucs4-utf16.c: New file.
52471
52472 2006-12-25  Bruno Haible  <bruno@clisp.org>
52473
52474         * modules/unitypes: New file.
52475         * lib/unitypes.h: New file.
52476         * MODULES.html.sh (func_all_modules): New section "Unicode string
52477         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
52478         this section. Add unitypes.
52479
52480 2007-01-08  Bruno Haible  <bruno@clisp.org>
52481
52482         Avoid variable names that conflict with those from libtool.
52483         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
52484         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
52485         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
52486         library_names_spec to acl_library_names_spec, hardcode_* to
52487         acl_hardcode_*.
52488         Reported by Ralf Wildenhues.
52489
52490 2007-01-08  Bruno Haible  <bruno@clisp.org>
52491
52492         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
52493         definition.
52494         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
52495         definition.
52496         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
52497         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
52498         definition.
52499         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
52500         definition.
52501         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
52502         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
52503         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
52504         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
52505         definition.
52506         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
52507         definition.
52508         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
52509         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
52510         GC_USE_<algorithm>.
52511         * lib/gc-libgcrypt.c: Likewise.
52512         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
52513         * modules/gc-arctwo (configure.ac): Likewise.
52514         * modules/gc-des (configure.ac): Likewise.
52515         * modules/gc-hmac-md5 (configure.ac): Likewise.
52516         * modules/gc-hmac-sha1 (configure.ac): Likewise.
52517         * modules/gc-md2 (configure.ac): Likewise.
52518         * modules/gc-md4 (configure.ac): Likewise.
52519         * modules/gc-md5 (configure.ac): Likewise.
52520         * modules/gc-random (configure.ac): Likewise.
52521         * modules/gc-rijndael (configure.ac): Likewise.
52522         * modules/gc-sha1 (configure.ac): Likewise.
52523
52524 2007-01-08  Bruno Haible  <bruno@clisp.org>
52525
52526         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
52527         macro definition.
52528         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
52529         definition.
52530         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
52531         definition.
52532         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
52533         * modules/fcntl-safer (configure.ac): Likewise.
52534         * modules/fopen-safer (configure.ac): Likewise.
52535         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
52536         GNULIB_FWRITEERROR macro definition.
52537
52538 2007-01-08  Bruno Haible  <bruno@clisp.org>
52539
52540         * m4/gnulib-common.m4: New file.
52541         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
52542         (func_get_filelist): Add m4/gnulib-common.m4.
52543
52544 2007-01-08  Bruno Haible  <bruno@clisp.org>
52545
52546         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
52547         command.
52548
52549 2007-01-08  Jim Meyering  <jim@meyering.net>
52550
52551         Use a more robust test for a "can't happen" condition.
52552         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
52553         narrowed the st_size value.  Presuming the "can't happen" condition
52554         is true, that narrowing could conceivably convert an invalid st_size
52555         value into a valid one.  Instead, use a change based on Matthew
52556         Woehlke's original patch.
52557
52558         Slight readability improvement: use an assert-like macro
52559         in place of literal "abort ()" uses.
52560         * lib/fts.c (fts_assert): Define.
52561         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
52562         Use this macro instead of a bare 'abort'.
52563
52564 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
52565
52566         Don't worry about using IRIX 5.3's wctype.h broken definitions;
52567         simply work around them.
52568         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
52569         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
52570         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
52571         declaring.
52572         Don't bother to define as macros, since the standard doesn't require it.
52573         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
52574         longer worry about IRIX 5.3.
52575         (HAVE_WCTYPE_CTMP_BUG): Remove.
52576
52577 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
52578
52579         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
52580         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
52581         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
52582         Problems reported by Georg Schwarz for IRIX 5.3.
52583
52584         * gnulib-tool (autoconf_minversion): Take the maximum version number
52585         found, not the minimum.  Problem reported by James Youngman.
52586
52587 2007-01-03  Karl Berry  <karl@gnu.org>
52588
52589         * doc/error.texi: new file, explaining interaction with progname.
52590         * doc/gnulib.texi: include it.  Update copyright.
52591
52592 2007-01-03  Simon Josefsson  <simon@josefsson.org>
52593
52594         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
52595         AC_CANONICAL_HOST, to improve autobuild outputs.
52596
52597 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
52598             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
52599
52600         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
52601         sockets, server sockets, and other file descriptors.  Count errors
52602         to compute the return value.  Reorder the code a bit to be easier
52603         to follow.  Don't set event bits that were not requested (except
52604         POLLERR and POLLHUP).
52605
52606 2007-01-01  Bruno Haible  <bruno@clisp.org>
52607
52608         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
52609
52610 2007-01-03  Jim Meyering  <jim@meyering.net>
52611
52612         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
52613
52614 2007-01-02  Bruno Haible  <bruno@clisp.org>
52615
52616         * modules/settime (Include): Require timespec.h.
52617         * modules/nanosleep (Include): Likewise.
52618
52619 2007-01-01  Bruno Haible  <bruno@clisp.org>
52620
52621         * gnulib-tool (func_emit_copyright_notice): Bump year.
52622         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
52623
52624 2007-01-01  Bruno Haible  <bruno@clisp.org>
52625
52626         Improve support for OpenBSD.
52627         * build-aux/config.rpath (libname_spec): Export.
52628         (library_names_spec): New variable. Export.
52629         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
52630         library_names_spec from the config.rpath output. Locate shared library
52631         through the name pattern in library_names_spec.
52632
52633 2007-01-01  Eric Blake  <ebb9@byu.net>
52634
52635         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
52636
52637 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
52638
52639         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
52640         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
52641         assume the C locale, and avoid an "eval" that could cause trouble.
52642         Problem with SORT reported by Bob Proulx.
52643
52644         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
52645         Define.  Trivial patch from Henning Nielsen Lund, originally
52646         sent to bug-grep@gnu.org today.
52647
52648 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
52649
52650         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
52651         struct stat.  Problem reported by Henning Nielsen Lund.
52652         * lib/acl.c: Include acl.h first, to check interface.  Don't
52653         bother to include sys/types.h and sys/stat.h again.
52654
52655 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
52656
52657         Import the following change from libc; problem reported by
52658         Sven Verdoolaege.
52659
52660         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
52661
52662         [BZ #1373]
52663         * lib/argp.h: Remove __NTH for __argp_usage inline function.
52664
52665 2006-12-28  Jim Meyering  <jim@meyering.net>
52666
52667         * build-aux/announce-gen: Do not assume that the package
52668         builds any of tar.gz, tar.bz2, and .xdelta files.
52669         Suggestion from Simon Josefsson.
52670
52671 2006-12-28  Simon Josefsson  <simon@josefsson.org>
52672
52673         * modules/announce-gen: New file.
52674
52675 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
52676
52677         * lib/mbchar.h: Just include <wctype.h>; the wctype module
52678         handles its gotchas now.
52679         * lib/mbswidth.c: Likewise.
52680         * lib/wcwidth.h: Likewise.
52681         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
52682         and iswcntrl; the wctype module does this stuff now.
52683         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
52684         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
52685         * modules/mbchar (Depends-on): Add wctype.
52686         * modules/mbswidth (Depends-on): Likewise.
52687         * modules/wcwidth (Depends-on): Likewise.
52688
52689 2006-12-27  Eric Blake  <ebb9@byu.net>
52690
52691         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
52692         module uses more than what <wctype.h> is required to provide.
52693
52694 2006-12-26  Eric Blake  <ebb9@byu.net>
52695
52696         * gnulib-tool (sed_extract_prog): Avoid space-tab.
52697
52698 2006-12-26  Eric Blake  <ebb9@byu.net>
52699
52700         * modules/absolute-header: New module.
52701         * modules/fcntl (Depends-on): Depend on it.
52702         * modules/inttypes (Depends-on): Likewise.
52703         * modules/stdint (Depends-on): Likewise.
52704         * modules/sys_stat (Depends-on): Likewise.
52705         * modules/wctype (Depends-on): Likewise.
52706         * MODULES.html.sh (Support for building libraries and
52707         executables): Document it.
52708
52709 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
52710
52711         * gnulib-tool (SED): Remove, undoing previous change.
52712         The problem was that it broke coreutils on Solaris, because
52713         "sed --posix" leaked into a makefile.
52714         (sed): New alias, if 'alias' and GNU sed.
52715
52716 2006-12-24  Jim Meyering  <jim@meyering.net>
52717
52718         Work around an fchownat bug in glibc-2.4:
52719         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
52720         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
52721         in spite of the -P option.
52722         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
52723         New macros.
52724         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
52725         * modules/openat (Files): Add lib/fchownat.c.
52726         * lib/openat.c (fchownat): Don't define here.  Move to...
52727         * lib/fchownat.c: ...this new file.
52728
52729 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
52730
52731         Fix bug reported by Bruno Haible in
52732         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
52733         where quotearg.c didn't compile on Mac OS X 10.2 because it
52734         lacks <wchar.h> and wint_t.
52735         * lib/wctype_.h (__wctype_wint_t): New type.
52736         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
52737         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
52738         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
52739         Arg is now of type __wctype_wint_t, not wint_t.
52740         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
52741         substitute HAVE_WINT_T.
52742         * modules/wctype (Files): Add m4/wint_t.m4.
52743         (wctype.h): Substitute HAVE_WINT_T.
52744
52745 2006-12-23  Bruno Haible  <bruno@clisp.org>
52746
52747         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
52748
52749 2006-12-23  Bruno Haible  <bruno@clisp.org>
52750
52751         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
52752         S_ISLNK.
52753         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
52754         mingw.
52755
52756 2006-12-22  Bruno Haible  <bruno@clisp.org>
52757
52758         * lib/copy-file.c: Include acl.h.
52759         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
52760         Close the file descriptors only after being done with copy_acl.
52761         * modules/copy-file (Depends-on): Add acl.
52762
52763 2006-12-22  Bruno Haible  <bruno@clisp.org>
52764
52765         * gnulib-tool (SED): New variable.
52766         Use $SED instead of sed everywhere.
52767
52768 2006-12-22  Bruno Haible  <bruno@clisp.org>
52769
52770         * modules/no-c++: New file.
52771         * m4/no-c++.m4: New file.
52772         * MODULES.html.sh (Support for building libraries and executables):
52773         Add no-c++.
52774
52775 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
52776
52777         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
52778         Include <limits.h>, and use its INT_MAX to rewrite the
52779         j loop so that it does not overflow 'int'.  Problem reported by
52780         Ralf Wildenhues in
52781         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
52782         Play it safe by shifting left by 1 rather than multiplying by 2,
52783         as GCC is less likely to optimize this away when the value
52784         is signed (when it assumes overflow leads to undefined behavior).
52785         Also, don't assume time_t uses two's complement.
52786
52787 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
52788
52789         * MODULES.html.sh: New module wctype.
52790         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
52791         * lib/fnmatch.c: Don't bother to include <wchar.h> before
52792         <wctype.h>, since the new wctype module should fix this.
52793         * lib/quotearg.c: Include <wctype.h> unconditionally, since
52794         the wctype module should arrange for it.
52795         * lib/regex_internal.h: Likewise.
52796         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
52797         since the wctype module should handle this now.
52798         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
52799         * modules/fnmatch (Depends-on): Add wctype.
52800         * modules/quotearg (Depends-on): Likewise.
52801         * modules/regex (Depends-on): Likewise.
52802
52803 2006-12-19  Bruno Haible  <bruno@clisp.org>
52804
52805         * lib/strdup.h [C++]: Wrap definitions in extern "C".
52806         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
52807
52808 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52809
52810         * modules/savewd (Depends-on): Fix dependency on fcntl.
52811
52812 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
52813
52814         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
52815         conforms to C99, rather than relying on the user's environment
52816         setting of STDINT_H.
52817
52818 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
52819         and Eric Blake  <ebb9@byu.net>
52820
52821         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
52822         This is more consistent with the other defines here.
52823         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
52824         Port to z/OS.  Problem reported by Paul Gilmartin.
52825         Change local vars to use gl_ prefix rather than ac_.
52826         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
52827         with other defines.
52828         * modules/double-slash-root: New module.
52829         * modules/dirname (Files): Remove m4/double-slash-root.m4.
52830         (Depends-on): Add double-slash-root.
52831         * MODULES.html.sh (File system functions): Mention new module.
52832
52833 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
52834
52835         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
52836         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
52837         This is for the benefit of gzip, which doesn't do i18n.
52838
52839 2006-12-12  Jim Meyering  <jim@meyering.net>
52840
52841         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
52842         Reported by Andreas Schwab <schwab@suse.de>.
52843
52844 2006-12-12  Bruno Haible  <bruno@clisp.org>
52845
52846         Merge these changes.
52847         2006-09-05  Bruno Haible  <bruno@clisp.org>
52848         * lib/iconvme.c (iconv_string): No need to save and restore errno when
52849         iconv_alloc succeeded.
52850         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
52851         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
52852         test for " && dest " at the end - dest is always != NULL there. Call
52853         iconv with 4xNULL arguments initially, to reset the state. Call iconv
52854         with 2xNULL arguments, also to flush the state storage. Handle the
52855         IRIX iconv behaviour. Realloc the final result, to throw away unused
52856         memory.
52857
52858 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
52859
52860         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
52861         and fchmodat unconditionally, since glibc 2.4 has them.
52862         Problem reported by Arkadiusz Miskiewicz.
52863
52864 2006-12-10  Bruno Haible  <bruno@clisp.org>
52865
52866         * gnulib-tool (func_import): Show the include files only for those
52867         modules that are copied and specified.
52868         Reported by Karl Berry.
52869
52870 2006-12-08  Jim Meyering  <jim@meyering.net>
52871
52872         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
52873         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
52874
52875         * build-aux/announce-gen: Add two new options, both optional:
52876         --bootstrap-tools=TOOL_LIST
52877               a comma-separated list of tools, e.g.,
52878               autoconf,automake,bison,gnulib
52879         --gnulib-snapshot-date=DATE
52880               if gnulib is in the bootstrap tool list,
52881               then report this as the snapshot date.
52882               If not specified, use the current date/time.
52883               If you specify a date here, be sure it's UTC.
52884
52885 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52886
52887         * tests/test-argp-2.sh: Fix test to match actual output.
52888         (func_compare): Fix sed script to be portable.
52889
52890 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
52891
52892         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
52893         workaround for this case.  It is not autoconfigured now; offhand
52894         it's hard to see how to autoconfigure it.
52895
52896 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
52897
52898         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
52899         a directory that is about to be chowned.  Such a directory's
52900         initial file permissions should permit the owner only and this
52901         should not be changed until after the chown, since the group and
52902         other bits would be incorrect if they granted permission before
52903         the chown.
52904
52905         Fix porting problem for iswctype reported by Georg Schwarz in:
52906         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
52907         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
52908         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
52909         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
52910         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
52911
52912 2006-12-03  Jim Meyering  <jim@meyering.net>
52913
52914         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
52915         p->fts_statp may not yet be defined.
52916         (fts_read): Instead, set it in the caller, once p->fts_statp is
52917         sure to be defined, and corresponds to a top-level directory.
52918         This bug made du -x fail.  Here's the coreutils test case:
52919         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
52920         Reported by Mike Frysinger.
52921
52922 2006-12-01  Jim Meyering  <jim@meyering.net>
52923
52924         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
52925         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
52926         Reported by Simon Josefsson.
52927
52928 2006-11-30  Jim Meyering  <jim@meyering.net>
52929
52930         * m4/warning.m4: Use the all-permissive copyright notice
52931         recommended by RMS (rather than LGPL).
52932         * m4/vararrays.m4: Likewise.
52933         * m4/flexmember.m4: Likewise.
52934
52935 2006-11-29  Bruno Haible  <bruno@clisp.org>
52936
52937         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
52938         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
52939         using +=.
52940         Reported by Simon Josefsson <simon@josefsson.org>.
52941
52942 2006-11-28  James Youngman <jay@gnu.org>
52943
52944         * README: Advise users that they might find the bug-gnulib@gnu.org
52945         and autotools-announce@gnu.org mailing lists useful.
52946
52947 2006-11-28  Bruno Haible  <bruno@clisp.org>
52948
52949         * m4/ptrdiff_max.m4: Remove file.
52950
52951 2006-11-21  Bruno Haible  <bruno@clisp.org>
52952
52953         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
52954         _AC_COMPUTE_INT.
52955         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
52956         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
52957         _AC_COMPUTE_INT.
52958         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
52959         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
52960         _AC_COMPUTE_INT.
52961         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
52962
52963 2006-11-28  Jim Meyering  <jim@meyering.net>
52964
52965         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
52966         warning from "gcc -Wshadow" about shadowing the builtin.
52967
52968 2006-11-27  Bruno Haible  <bruno@clisp.org>
52969
52970         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
52971         _AC_COMPUTE_INT.
52972         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
52973
52974 2006-11-27  Bruno Haible  <bruno@clisp.org>
52975             Paul Eggert  <eggert@cs.ucla.edu>
52976
52977         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
52978
52979 2006-11-26  Bruno Haible  <bruno@clisp.org>
52980
52981         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
52982         noinst_LTLIBRARIES.
52983
52984 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
52985             Bruno Haible  <bruno@clisp.org>
52986
52987         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
52988         if compiling with "gcc -ansi".
52989
52990 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
52991
52992         Fix some incompatibilities with gcc -ansi -pedantic.
52993         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
52994         if compiling pedantically with GCC, unless it's C99 or later.
52995         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
52996         it mishandles gcc -ansi -pedantic as well.
52997         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
52998         if gcc -pedantic.
52999         * lib/regexec.c (check_node_accept_bytes): Don't use auto
53000         initializers for struct if -pedantic, unless it's C99 or later.
53001
53002 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
53003
53004         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
53005         Don't close an fd more than once. Identical atimes indicate
53006         success, not failure.
53007
53008 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
53009
53010         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
53011
53012 2006-11-23  Jim Meyering  <jim@meyering.net>
53013
53014         * build-aux/announce-gen: New file.  From coreutils.
53015
53016 2006-11-22  Jim Meyering  <jim@meyering.net>
53017
53018         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
53019         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
53020         (fts_read): Use a temporary to narrow the overused st_size member
53021         before using it in a switch statement.  Reported by Matthew Woehlke.
53022
53023         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
53024         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
53025
53026 2006-11-20  Bruno Haible  <bruno@clisp.org>
53027
53028         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
53029         changequote instead of pairs of brackets.
53030         Reported by Andreas Schwab <schwab@suse.de>.
53031
53032 2006-11-21  Jim Meyering  <jim@meyering.net>
53033
53034         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
53035         so as to remain compatible with older compilers.
53036         Patch from Michael Deutschmann.
53037
53038 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
53039
53040         * MODULES.html.sh (File system functions): Add openat.
53041
53042         * lib/openat.h (rpl_fstatat): New macro, if
53043         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
53044         (fstatat): Define to rpl_fstatat under the same conditions,
53045         unless COMPILING_FSTATAT.
53046         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
53047         seems to have the bug.
53048         * lib/fstatat.c: New file.
53049         * modules/openat (Files): Add it.
53050
53051 2006-11-20  Bruno Haible  <bruno@clisp.org>
53052
53053         * Makefile: New file.
53054
53055 2006-11-20  Jim Meyering  <jim@meyering.net>
53056
53057         The beginnings of syntax-related checks for gnulib.
53058         * lib/Makefile: New file.
53059         * lib/t-idcache: New script.  Ensure that the two halves of
53060         idcache.c stay in sync.
53061
53062         * lib/idcache.c: Adjust comments in user- and group- portions to
53063         be more accurate, and to be consistent with one another.
53064
53065 2006-11-20  Jim Meyering  <jim@meyering.net>
53066
53067         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
53068         continue using the flexible array member (thus, this module performs
53069         half as many malloc calls), with the addition that...
53070         (getgroup, getuser): Consistently record a non-match via an empty
53071         "name" string, and map an empty string match to a NULL return value.
53072         * modules/idcache (Depends-on): Re-add flexmember.
53073
53074         * lib/idcache.c (getuser): Remove all uses of the register keyword.
53075         (getuidbyname, getgroup, getgidbyname): Likewise.
53076
53077         Use cleaner syntax: NULL rather than 0.
53078         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
53079
53080 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
53081
53082         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
53083         It mishandled the case where the group was missing.
53084         Problem reported by Greg Schafer.
53085         * modules/idcache: Likewise.
53086
53087 2006-11-18  Jim Meyering  <jim@meyering.net>
53088
53089         * check-module (%exempt_header): Add exception for some
53090         conditionally-included headers.
53091
53092         * modules/i-ring (Depends-on): Add verify.
53093         (License): Change to LGPL.
53094
53095 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
53096
53097         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
53098         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
53099         and inttostr.h.  Use snprintf rather than uinttostr, so that
53100         LGPLed code doesn't depend on GPLed.
53101
53102 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
53103
53104         * modules/inline (License): Change from GPL to LGPL.
53105
53106 2006-11-17  Jim Meyering  <jim@meyering.net>
53107
53108         * modules/d-type (License): Switch to LGPL.
53109
53110 2006-11-15  Bruno Haible  <bruno@clisp.org>
53111
53112         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
53113
53114 2006-11-15  Eric Blake  <ebb9@byu.net>
53115
53116         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
53117         the module dependency.
53118
53119 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53120             Bruno Haible  <bruno@clisp.org>
53121
53122         * gnulib-tool (func_create_testdir): Add license consistency check.
53123
53124 2006-11-15  Eric Blake  <ebb9@byu.net>
53125
53126         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
53127         random "(cached)" in configure output.
53128
53129 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53130
53131         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
53132         test for conforming inttypes.h is both announced and cached.
53133
53134         * MODULES.html.sh (seen_modules, seen_files): New variables.
53135         (func_module): Rewrite to use a few less gnulib-tool and sed
53136         invocations.  Avoid a couple of quadratic algorithms for ...
53137         (missed_modules, missed_files): ... these, with ...
53138         (func_append, func_tmpdir): ... these new functions, from
53139         gnulib-tool.  Analogously, install traps for cleanup.
53140
53141         * tests/test-gc.c (main): Remove unused variables.
53142         * tests/test-read-file.c: Include stdlib.h, for 'free'.
53143
53144 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
53145
53146         * modules/inttostr (License): Change to LGPL.
53147
53148 2006-11-14  Eric Blake  <ebb9@byu.net>
53149
53150         * modules/tempname (License): Change to LGPL.
53151
53152 2006-11-14  Eric Blake  <ebb9@byu.net>
53153
53154         * doc/functions.texi (Function Portability): *printf functions on
53155         Cygwin now understand all POSIX size specifiers.
53156
53157 2006-11-14  Bruno Haible  <bruno@clisp.org>
53158
53159         * modules/c-ctype (License): Change to LGPL.
53160
53161 2006-11-12  Bruno Haible  <bruno@clisp.org>
53162
53163         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
53164         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
53165         for GNOME libraries, for which the include files are installed in
53166         subdirectories of $prefix/include.
53167
53168 2006-11-12  Bruno Haible  <bruno@clisp.org>
53169
53170         * m4/lib-link.m4: Require at least autoconf-2.54.
53171         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
53172         name to underscores for the --with option.
53173
53174 2006-11-13  Bruno Haible  <bruno@clisp.org>
53175
53176         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
53177         the tests directory.
53178         Reported by Ralf Wildenhues.
53179
53180 2006-11-13  Bruno Haible  <bruno@clisp.org>
53181
53182         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
53183         (func_emit_initmacro_end): Undo the override here.
53184         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
53185         Works around the famous automake error in coreutils.
53186
53187 2006-11-13  Eric Blake  <ebb9@byu.net>
53188
53189         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
53190         element, not its node.
53191
53192 2006-11-12  Bruno Haible  <bruno@clisp.org>
53193
53194         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
53195         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
53196
53197 2006-11-12  Bruno Haible  <bruno@clisp.org>
53198
53199         * gnulib-tool: New option --local-symlink.
53200         (func_usage): Document it.
53201         (lsymbolic): New variable.
53202         (func_import, func_create_testdir): If --symlink was not specified,
53203         test whether --local-symlink was specified and the file comes from
53204         the local_gnulib_dir.
53205
53206 2006-11-12  Bruno Haible  <bruno@clisp.org>
53207
53208         * gnulib-tool (func_ln): New function.
53209         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
53210
53211 2006-11-12  Bruno Haible  <bruno@clisp.org>
53212
53213         Finish support for source files in subdirectories.
53214         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
53215         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
53216         AUTOMAKE_OPTIONS.
53217         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
53218
53219 2006-11-12  Bruno Haible  <bruno@clisp.org>
53220
53221         * gnulib-tool (func_get_automake_snippet): Synthesize also an
53222         EXTRA_lib_SOURCES augmentation.
53223         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
53224
53225 2006-11-12  Jim Meyering  <jim@meyering.net>
53226
53227         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
53228         file descriptors.  This also averts a failure on systems with
53229         native openat support when a traversed directory lacks "x" access.
53230         * lib/fts_.h: Include "i-ring.h"
53231         (struct FTS) [fts_fd_ring]: New member.
53232         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
53233         (FCHDIR): Add parentheses.
53234         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
53235         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
53236         When descending, rather than simply closing the previous
53237         fts_cwd_fd value, push that file descriptor onto the ring.
53238         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
53239         (fts_open): Initialize the new fd_ring member.
53240         (fts_close): Clear the ring.
53241         (fts_safe_changedir): When possible, use our new fd_ring to skip
53242         the diropen and fstat and dev/ino comparison that would normally
53243         accompany a virtual `chdir ("..")'.
53244
53245         * modules/fts (Depends-on): Add i-ring.
53246         * modules/i-ring: New module.
53247         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
53248         * m4/i-ring.m4: New file.
53249
53250 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53251
53252         * gnulib-tool (func_create_testdir): Fix replacement of
53253         `build-aux' in configure.ac.  Run autotools in gltests
53254         subdirectory.
53255         (func_create_testdir, func_create_megatestdir, test): There is
53256         no need for '--force' in most autotool invocations in a new
53257         tree.  Actually fail the whole test if any of the tools, or the
53258         configure or make stages fail.
53259
53260         Sync from Automake.
53261         * build-aux/gnupload: Revert last change.  Add pointer to upload
53262         instructions of the GNU Maintenance Instructions.
53263         Suggestion by Karl Berry.
53264
53265 2006-11-10  Jim Meyering  <jim@meyering.net>
53266
53267         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
53268
53269 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
53270
53271         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
53272         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
53273         (bind_textdomain_codeset) [! ENABLE_NLS]:
53274         Evaluate all the arguments.  That way, callers get compatible behavior
53275         if the arguments have side effects.  Also, it avoids some GCC
53276         diagnostics in some cases; Joel E. Denny reported problems when Bison
53277         was configured with --enable-gcc-warnigs.
53278
53279 2006-11-10  Jim Meyering  <jim@meyering.net>
53280
53281         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
53282         relevant options in CFLAGS (like -O, -fno-inline) are taken into
53283         account.
53284
53285 2006-11-10  Jim Meyering  <jim@meyering.net>
53286
53287         * modules/inline: New file/module.
53288         * modules/xalloc (Files): Remove m4/inline.m4.
53289         (Depends-on): Add inline, instead.
53290         * modules/oset: Likewise.
53291         * modules/list: Likewise.
53292
53293 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
53294
53295         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
53296         Problem reported by Matthew Woehlke.
53297
53298 2006-11-09  Bruno Haible  <bruno@clisp.org>
53299
53300         * lib/tempname.c (gen_tempname): Remove variant that invokes
53301         __gen_tempname.
53302         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
53303         __gen_tempname.
53304
53305 2006-11-08  Bruno Haible  <bruno@clisp.org>
53306
53307         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
53308         to 'yes' instead of 'cross-compiling'.
53309
53310 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
53311
53312         * lib/quotearg.h (quotearg_free): New decl.
53313         * lib/quotearg.c (quotearg_free): New function.
53314         (slot0, nslots, slotvec0, slotvec):
53315         Now file-scope so that quotearg_free can get at them.
53316
53317 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53318
53319         Sync from Automake.
53320         * build-aux/gnupload: Add missing 'gnu' to example URL.
53321         Report by Karl Berry.
53322
53323 2006-11-08  Bruno Haible  <bruno@clisp.org>
53324
53325         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
53326         Suggested by Paul Eggert.
53327
53328 2006-11-08  Jim Meyering  <jim@meyering.net>
53329
53330         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
53331         It's already included if !_LIBC.
53332         (fts_safe_changedir): Add a comment.
53333
53334 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
53335
53336         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
53337         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
53338         Matthew Woehlke.
53339
53340         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
53341         definitions up, to avoid colliding with change below.
53342         (static_inline) [HAVE_INLINE]: New macro.
53343         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
53344         Provide extern decls when !HAVE_INLINE.  Do not define unless
53345         static_inline is defined, either by us or by xmalloc.c.  Use
53346         static_inline rather than static inline.
53347         (XCALLOC): Optimize sizeof(T) = 1 case.
53348         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
53349
53350 2006-11-07  Bruno Haible  <bruno@clisp.org>
53351
53352         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
53353         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
53354         AC_C_INLINE.
53355         * modules/xalloc (Files): Add m4/inline.m4.
53356
53357 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53358
53359         * README: Fix typo.
53360         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
53361         (Miscellanous Notes): ...from this.
53362
53363 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
53364
53365         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
53366         Mention that offsetof should be used instead of sizeof.
53367         From Bruno Haible.
53368
53369 2006-11-07  Bruno Haible  <bruno@clisp.org>
53370
53371         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
53372
53373 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
53374
53375         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
53376         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
53377         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
53378         (gl_tree_add_before, gl_tree_add_after):
53379         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
53380         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
53381         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
53382         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
53383         (gl_linked_add_after, gl_linked_add_at): Likewise.
53384         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
53385         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
53386         (gl_tree_add_before, gl_tree_add_after): Likewise.
53387         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
53388         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
53389         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
53390
53391 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53392
53393         * lib/gl_oset.h: Use C comment style, not C++ comment style.
53394
53395 2006-11-06  Bruno Haible  <bruno@clisp.org>
53396
53397         * m4/inline.m4: New file.
53398         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
53399         * modules/list (Files): Add m4/inline.m4.
53400         * modules/oset (Files): Likewise.
53401
53402 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
53403
53404         * lib/idcache.c: Include <stddef.h>, for offsetof.
53405         (struct userid.name): Change from char * to a flexible array member.
53406         All uses changed.
53407         * modules/idcache (Depends-on): Add flexmember.
53408
53409         * MODULES.html.sh (Core language properties): New module flexmember.
53410         * modules/flexmember, m4/flexmember.m4: New files.
53411
53412         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
53413         inline functions that are identical with the old xnmalloc_inline,
53414         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
53415         that we can avoid some unnecessary integer multiplications and
53416         divisions in the common case where the element size is known at
53417         compile time.
53418         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
53419         needed.
53420         (xnboundedmalloc): Remove.
53421         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
53422         arguments, for consistency with rest of this header.
53423         (xcharalloc): Rewrite using XNMALLOC.
53424         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
53425         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
53426         versions have been moved to lib/xalloc.h and renamed to be the
53427         non-*_inline versions.
53428         (xmalloc, xrealloc): Implement without reference to the xnmalloc
53429         and xnrealloc functions, since those functions are now inline and
53430         now call us.
53431         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
53432         renaming described above.
53433         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
53434         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
53435         captures the dependency in AC_C_INLINE.
53436
53437         New module canonicalize-lgpl, proposed by Charles Wilson in
53438         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
53439         with a few small changes afterwards.
53440         * MODULES.html.sh (File system functions): New module
53441         canonicalize-lgpl.
53442         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
53443         and canonicalize_file_name.
53444         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
53445         * modules/canonicalize-lgpl: New files.
53446
53447 2006-11-05  Bruno Haible  <bruno@clisp.org>
53448
53449         * gnulib-tool (func_import, func_create_testdir): Create directories
53450         also for files in subdirectories of lib/.
53451
53452 2006-11-05  Bruno Haible  <bruno@clisp.org>
53453
53454         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
53455         ANSI C compliant.
53456
53457 2006-11-03  Bruno Haible  <bruno@clisp.org>
53458
53459         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
53460         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
53461         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
53462         (xnboundedmalloc): New inline function.
53463         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
53464         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
53465         xmalloc.
53466         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
53467         xmalloc.
53468         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
53469         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
53470         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
53471         xmalloc.
53472         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
53473         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
53474         xmalloc.
53475         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
53476         gl_tree_add_after): Use XMALLOC instead of xmalloc.
53477         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
53478         xmalloc.
53479         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
53480         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
53481         gl_tree_add_after): Use XMALLOC instead of xmalloc.
53482         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
53483         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
53484         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
53485         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
53486
53487 2006-11-03  Bruno Haible  <bruno@clisp.org>
53488
53489         * lib/c-ctype.h [C++]: Define functions without name mangling.
53490         * lib/fwriteerror.h [C++]: Likewise.
53491         * lib/gcd.h [C++]: Likewise.
53492         * lib/linebreak.h [C++]: Likewise.
53493
53494 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
53495
53496         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
53497         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
53498         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
53499         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
53500         Check for functions and headers just once.
53501         Check for declaration of canonicalize_file_name.
53502         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
53503
53504 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
53505
53506         * gnulib-tool (func_import): Fix typo in actioncmd.
53507
53508 2006-11-02  Bruno Haible  <bruno@clisp.org>
53509
53510         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
53511         newline sequence in the Makefile.am snippet as a space, like "make"
53512         does.
53513         Reported by Roger Persson <perrog@gmail.com>.
53514
53515 2006-11-01  Bruno Haible  <bruno@clisp.org>
53516
53517         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
53518         already declared in <string.h>.
53519         * lib/strcase.h (strncasecmp): Don't declare it if yes.
53520
53521 2006-11-01  Bruno Haible  <bruno@clisp.org>
53522
53523         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
53524         * lib/strcase.h: Include <string.h>.
53525         (strcasecmp): Define to rpl_strcasecmp here.
53526
53527 2006-11-01  Bruno Haible  <bruno@clisp.org>
53528
53529         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
53530
53531 2006-11-01  Eric Blake  <ebb9@byu.net>
53532
53533         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
53534
53535         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
53536
53537 2006-10-29  Bruno Haible  <bruno@clisp.org>
53538
53539         Make it compile in C++ mode.
53540         * lib/full-write.c (full_rw): Add a cast.
53541
53542 2006-11-01  Bruno Haible  <bruno@clisp.org>
53543
53544         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
53545         be POSIX compliant.
53546         Reported by Roger Persson <perrog@gmail.com>.
53547
53548 2006-11-01  Eric Blake  <ebb9@byu.net>
53549
53550         * lib/getopt_.h: Fix comments.
53551
53552 2006-10-31  Eric Blake  <ebb9@byu.net>
53553
53554         * modules/tmpdir (Depends-on): Add sys_stat.
53555         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
53556         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
53557         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
53558         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
53559         tempname.
53560
53561 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
53562
53563         Avoid some C++ diagnostics reported by Bruno Haible.
53564         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
53565         xmalloc.
53566         (quotearg_alloc): Use xcharalloc rather than xmalloc.
53567         (struct slotvec): Move to top level.
53568         (quotearg_n_options): Rewrite to avoid xmalloc.
53569         * lib/xalloc.h (xcharalloc): New function.
53570         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
53571         [defined __cplusplus]: Add function template that provides result
53572         type propagation.  This part of the change is from Bruno Haible.
53573
53574 2006-10-29  Bruno Haible  <bruno@clisp.org>
53575
53576         Make it compile in C++ mode.
53577         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
53578         * lib/strnlen1.c (strnlen1): Cast memchr result.
53579         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
53580         * lib/clean-temp.c (string_equals, string_hash): Add casts.
53581         (create_temp_dir): Rename local variable 'template'.
53582         (compile_csharp_using_sscli): Add cast.
53583         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
53584         * lib/findprog.c (find_in_path): Likewise.
53585         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
53586         * lib/wait-process.c (register_slave_subprocess): Likewise.
53587
53588 2006-10-22  Bruno Haible  <bruno@clisp.org>
53589
53590         * modules/tsearch: New file.
53591         * lib/tsearch.h: New file.
53592         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
53593         * m4/tsearch.m4: New file.
53594         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
53595
53596 2006-10-29  Eric Blake  <ebb9@byu.net>
53597
53598         * lib/arcfour.c: Assume config.h.
53599         * lib/arctwo.c: Likewise.
53600         * lib/base64.c: Likewise.
53601         * lib/check-version.c: Likewise.
53602         * lib/crc.c: Likewise.
53603         * lib/des.c: Likewise.
53604         * lib/gc-gnulib.c: Likewise.
53605         * lib/gc-libgcrypt.c: Likewise.
53606         * lib/gc-pbkdf2-sha1.c: Likewise.
53607         * lib/getaddrinfo.c: Likewise.
53608         * lib/getdelim.c: Likewise.
53609         * lib/getline.c: Likewise.
53610         * lib/hmac-md5.c: Likewise.
53611         * lib/hmac-sha1.c: Likewise.
53612         * lib/iconvme.c: Likewise.
53613         * lib/md2.c: Likewise.
53614         * lib/md4.c: Likewise.
53615         * lib/memxor.c: Likewise.
53616         * lib/read-file.c: Likewise.
53617         * lib/readline.c: Likewise.
53618         * lib/rijndael-alg-fst.c: Likewise.
53619         * lib/rijndael-api-fst.c: Likewise.
53620         * lib/xgetdomainname.c: Likewise.
53621
53622 2006-10-28  Eric Blake  <ebb9@byu.net>
53623
53624         * lib/xstrndup.c: Assume config.h.
53625
53626 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
53627
53628         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
53629         stat-macros.h is now for our own macros, whereas stat_h is for
53630         macros in the <sys/stat.h> name space.
53631         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
53632         (STAT_MACROS_H): Remove.
53633         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
53634         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
53635         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
53636         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
53637         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
53638         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
53639         Move these macros to ...
53640         * lib/stat_.h: here.  Don't include stat-macros.h.
53641         * lib/canonicalize.c: Don't include stat-macros.h.
53642         * lib/chown.c: Likewise.
53643         * lib/euidaccess.c: Likewise.
53644         * lib/file-type.c: Likewise.
53645         * lib/filemode.c: Likewise.
53646         * lib/glob.c: Likewise.
53647         * lib/isapipe.c: Likewise.
53648         * lib/lchown.c: Likewise.
53649         * lib/lstat.c: Likewise.
53650         * lib/mkdir-p.c: Likewise.
53651         * lib/rmdir.c: Likewise.
53652         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
53653         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
53654         unless mkdir isn't declared, to speed up 'configure'.
53655         Always create sys/stat.h, since it's unlikely any real sys/stat.h
53656         would define all the S_* symbols.
53657         * modules/canonicalize (Depends-on):
53658         Depend on sys_stat, not stat-macros.
53659         * modules/chown: Likewise.
53660         * modules/euidaccess: Likewise.
53661         * modules/filemode: Likewise.
53662         * modules/file-type: Likewise.
53663         * modules/glob: Likewise.
53664         * modules/isapipe: Likewise.
53665         * modules/lchown: Likewise.
53666         * modules/lstat: Likewise.
53667         * modules/mkancesdirs: Likewise.
53668         * modules/rmdir: Likewise.
53669         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
53670         * modules/modechange: Likewise.
53671         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
53672         (configure.ac): Remove gl_STAT_MACROS.
53673         * modules/sys_stat (Depends-on): Remove stat-macros.
53674
53675 2006-10-27  Bruno Haible  <bruno@clisp.org>
53676
53677         * m4/signed.m4: Remove file.
53678         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
53679         invocation.
53680         * modules/vasnprintf (Files): Remove m4/signed.m4.
53681
53682 2006-10-27  Bruno Haible  <bruno@clisp.org>
53683
53684         Update to GNU gettext 0.16.
53685         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
53686         m4/inttypes-h.m4, m4/signed.m4.
53687         * m4/gettext.m4: Update to GNU gettext 0.16.
53688         * m4/intl.m4: New file, from GNU gettext.
53689         * m4/intldir.m4: New file, from GNU gettext.
53690         * config/srclist.txt: Update
53691
53692 2006-10-27  Eric Blake  <ebb9@byu.net>
53693
53694         * MODULES.html.sh: Document tempname.
53695         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
53696         dependencies.
53697         (Files): Move lib/tempname.c...
53698         * modules/tempname: ...to this new module.
53699         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
53700         (gl_PREREQ_TEMPNAME): Move...
53701         * m4/tempname.m4: ...to this new file.
53702         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
53703         * modules/sys_stat (Depends-on): Add stat-macros.
53704         * lib/stat_.h (includes): Pick up stat macros.
53705         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
53706         if stat macros are broken.
53707         * lib/tempname.c (includes): No need to include "stat-macros.h".
53708         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
53709         (direxists, __path_search) [!_LIBC]: Don't compile these in
53710         gnulib; the tmpdir module covers that.
53711         * lib/tempname.h: New file.
53712
53713 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
53714
53715         * COPYING: Explain how gnulib-tool converts licence headers.
53716         Almost all wording by Eric Blake.
53717
53718 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
53719
53720         * lib/mbchar.h (is_basic_table): Make read-only.
53721         * lib/mbchar.c (is_basic_table): Likewise.
53722         Reported by John Darrington.
53723
53724 2006-10-25  Bruno Haible  <bruno@clisp.org>
53725
53726         * lib/progname.h (set_program_name): Undefine before defining.
53727
53728 2006-10-25  Bruno Haible  <bruno@clisp.org>
53729
53730         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
53731         false for non-gcc C++ compilers.
53732         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
53733
53734 2006-10-24  Bruno Haible  <bruno@clisp.org>
53735
53736         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
53737         iconv implementations like Irix iconv.
53738
53739 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
53740
53741         * modules/vararrays: New file.
53742         * m4/vararrays.m4: New file, taken from diffutils.
53743         * MODULES.html.sh: New module vararrays.
53744
53745 2006-10-24  Karl Berry  <karl@gnu.org>
53746
53747         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
53748         Don't call GNU Unix.
53749
53750 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53751
53752         * users.txt: Add Libtool.
53753
53754         Sync from Libtool:
53755
53756         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
53757
53758         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
53759         to gnulib's policy of including config.h unconditionally.
53760
53761 2006-10-24  Bruno Haible  <bruno@clisp.org>
53762
53763         * modules/wcwidth (Files): Add m4/wint_t.m4.
53764         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
53765         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
53766
53767 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
53768
53769         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
53770         to pacify GCC with some -W flags enabled.  Problem reported by
53771         Bruno Haible.
53772
53773 2006-10-24  Jim Meyering  <jim@meyering.net>
53774
53775         * MODULES.html.sh: Remove uinttostr.  It's not a module.
53776         Reported by Karl Berry.
53777
53778 2006-10-23  Bruno Haible  <bruno@clisp.org>
53779
53780         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
53781
53782 2006-10-24  Bruno Haible  <bruno@clisp.org>
53783
53784         * lib/gl_list.h: Use C comment style, not C++ comment style.
53785
53786 2006-10-23  Eric Blake  <ebb9@byu.net>
53787
53788         * lib/getaddrinfo.c (includes): Add missing include.
53789
53790 2006-10-23  Bruno Haible  <bruno@clisp.org>
53791             Paul Eggert  <eggert@cs.ucla.edu>
53792
53793         Ability to rename obstack_free.
53794         * lib/obstack.h (__obstack_free): New macro. Declare instead of
53795         obstack_free.
53796         (obstack_free): Invoke the __obstack_free macro.
53797         * lib/obstack.c (obstack_free): Use __obstack_free macro.
53798
53799 2006-10-23  Bruno Haible  <bruno@clisp.org>
53800             Paul Eggert  <eggert@cs.ucla.edu>
53801
53802         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
53803         __argc, __argv from the declaration. (They are defined as macros on
53804         mingw.)
53805
53806 2006-10-22  Bruno Haible  <bruno@clisp.org>
53807
53808         * doc/gnulib-intro.texi: New file.
53809         * doc/gnulib.texi: Include it.
53810
53811 2006-10-21  Bruno Haible  <bruno@clisp.org>
53812
53813         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
53814         "Introduction", "Miscellanous Notes", "Particular Modules".
53815
53816 2006-10-21  Bruno Haible  <bruno@clisp.org>
53817
53818         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
53819         Change mostlyclean-local rule to avoid sh syntax error from bash
53820         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
53821
53822 2006-10-23  Jim Meyering  <jim@meyering.net>
53823
53824         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
53825         in place of snprintf.
53826
53827         * modules/inttostr (Files): Add lib/uinttostr.c.
53828         * lib/uinttostr.c (inttostr): New file/function.
53829         * lib/inttostr.h (uinttostr): Declare.
53830         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
53831         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
53832         Add uinttostr.
53833         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
53834
53835 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
53836
53837         * lib/canonicalize.c (ELOOP): Define if not already defined.
53838         Problem reported by Bruno Haible in
53839         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
53840
53841 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
53842
53843         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
53844         Problem reported by Perry Smith and Ville Laurikari.
53845
53846         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
53847         uses.
53848
53849 2006-10-19  Bruno Haible  <bruno@clisp.org>
53850
53851         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
53852         for mingw.
53853
53854 2006-10-19  Bruno Haible  <bruno@clisp.org>
53855
53856         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
53857         Needed for mingw.
53858
53859 2006-10-19  Bruno Haible  <bruno@clisp.org>
53860
53861         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
53862
53863 2006-10-19  Bruno Haible  <bruno@clisp.org>
53864
53865         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
53866         it.
53867
53868 2006-10-19  Bruno Haible  <bruno@clisp.org>
53869
53870         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
53871         invocation.
53872
53873 2006-10-19  Bruno Haible  <bruno@clisp.org>
53874
53875         * gnulib-tool (func_create_testdir): Don't include ftruncate and
53876         mountlist by default.
53877
53878 2006-10-16  Bruno Haible  <bruno@clisp.org>
53879
53880         * lib/c-strstr.c: Include c-strstr.h.
53881
53882 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
53883
53884         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
53885         in a slash.
53886
53887 2006-10-18  Bruno Haible  <bruno@clisp.org>
53888
53889         * lib/lock.h [C++]: Wrap definitions in extern "C".
53890
53891 2006-10-18  Bruno Haible  <bruno@clisp.org>
53892
53893         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
53894         gl_LIBOBJS list.
53895
53896 2006-10-18  Bruno Haible  <bruno@clisp.org>
53897
53898         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
53899
53900 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
53901
53902         * lib/xstrtol.h: Include gettext.h.
53903         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
53904         Problem reported by Eric Blake.
53905         * modules/xstrtol (Depends-on): Add gettext-h.
53906
53907 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
53908
53909         * lib/strftime.c (advance): New macro.
53910         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
53911         incomplete type, so you can't add 0 to it.  Problem and patch
53912         reported by Eelco Dolstra for dietlibc.
53913
53914 2006-10-18  Jim Meyering  <jim@meyering.net>
53915
53916         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
53917         type for a local, and rename it: s/up/user_proc/.
53918
53919 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
53920
53921         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
53922         READ_UTMP_USER_PROCESS.
53923         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
53924
53925 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
53926
53927         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
53928         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
53929
53930 2006-10-17  Eric Blake  <ebb9@byu.net>
53931
53932         * lib/sigprocmask.c (sigprocmask): Fix typo.
53933
53934         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
53935
53936         * modules/clean-temp (Makefile.am): Don't add to make output...
53937         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
53938         config.h.
53939
53940 2006-10-17  Bruno Haible  <bruno@clisp.org>
53941
53942         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
53943         differently if DEFAULT_TEXT_DOMAIN is set.
53944
53945 2006-10-16  Bruno Haible  <bruno@clisp.org>
53946
53947         * lib/clean-temp.c: Include fwriteerror.h.
53948
53949 2006-10-16  Bruno Haible  <bruno@clisp.org>
53950
53951         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
53952
53953 2006-10-16  Bruno Haible  <bruno@clisp.org>
53954
53955         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
53956         * lib/sigprocmask.h: Include <sys/types.h>.
53957         (sigset_t): Use the system's definition if present.
53958
53959 2006-10-17  Eric Blake  <ebb9@byu.net>
53960
53961         * lib/xvasprintf.c (includes): Assume config.h.
53962         * lib/xasprintf.c (includes): Likewise.
53963
53964 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
53965
53966         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
53967         at least as wide as intmax_t.
53968
53969 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
53970
53971         (Imported from Automake.)
53972         * build-aux/gnupload: Update to version 1.1 of directive file.
53973
53974 2006-10-16  Eric Blake  <ebb9@byu.net>
53975
53976         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
53977         match Automake 1.10a.
53978
53979 2006-10-14  Bruno Haible  <bruno@clisp.org>
53980
53981         * modules/sigprocmask: New file.
53982         * lib/sigprocmask.h: New file.
53983         * lib/sigprocmask.c: New file.
53984         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
53985         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
53986         request sigprocmask.o.
53987         (gl_PREREQ_SIGPROCMASK): New macro.
53988         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
53989         (Depends-on): Add sigprocmask.
53990         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
53991         gt_SIGNALBLOCKING. Test for 'raise' only once.
53992         * lib/fatal-signal.c: Include sigprocmask.h.
53993         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
53994         unblock_fatal_signals): Define always.
53995         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53996         sigprocmask.
53997
53998 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
53999
54000         Sync from Automake.
54001         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
54002         which incorrectly sets the mode of an existing destination
54003         directory.  In some cases the unpatched install-sh could do the
54004         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
54005         system.  We hope this is rare in practice, but it's clearly worth
54006         fixing.  Problem reported by Alex Unleashed in
54007         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
54008         Also, don't bother to check for -m bugs unless we're using -m;
54009         suggested by Stepan Kasal.
54010
54011 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54012
54013         Sync from Automake.
54014         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
54015         `-c' flag, so they appear at the same position as in %FASTDEP%
54016         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
54017         which ignores unknown options only after the first non-option.
54018         Bug report against M4 by Nelson H. F. Beebe.
54019
54020 2006-10-13  Jim Meyering  <jim@meyering.net>
54021
54022         Fix a bug in yesterday's change.
54023         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
54024         p->fts_statp->st_dev would be used uninitialized.
54025         Ensures that we always call fts_stat on the very first entry.
54026         Miklos Szeredi reported that find -xdev stopped working.
54027
54028 2006-10-12  Bruno Haible  <bruno@clisp.org>
54029
54030         * gnulib-tool (func_get_automake_snippet): Append an automatically
54031         computed EXTRA_DIST augmentation.
54032         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
54033         * modules/alloca-opt (Makefile.am): Likewise.
54034         * modules/allocsa (Makefile.am): Likewise.
54035         * modules/arcfour (Makefile.am): Likewise.
54036         * modules/arctwo (Makefile.am): Likewise.
54037         * modules/argmatch (Makefile.am): Likewise.
54038         * modules/argz (Makefile.am): Likewise.
54039         * modules/atexit (Makefile.am): Likewise.
54040         * modules/backupfile (Makefile.am): Likewise.
54041         * modules/byteswap (Makefile.am): Likewise.
54042         * modules/c-strtod (Makefile.am): Likewise.
54043         * modules/c-strtold (Makefile.am): Likewise.
54044         * modules/calloc (Makefile.am): Likewise.
54045         * modules/canon-host (Makefile.am): Likewise.
54046         * modules/canonicalize (Makefile.am): Likewise.
54047         * modules/chdir-long (Makefile.am): Likewise.
54048         * modules/chdir-safer (Makefile.am): Likewise.
54049         * modules/check-version (Makefile.am): Likewise.
54050         * modules/chown (Makefile.am): Likewise.
54051         * modules/cloexec (Makefile.am): Likewise.
54052         * modules/close-stream (Makefile.am): Likewise.
54053         * modules/closeout (Makefile.am): Likewise.
54054         * modules/crc (Makefile.am): Likewise.
54055         * modules/csharpexec (Makefile.am): Likewise.
54056         * modules/cycle-check (Makefile.am): Likewise.
54057         * modules/des (Makefile.am): Likewise.
54058         * modules/dev-ino (Makefile.am): Likewise.
54059         * modules/dirfd (Makefile.am): Likewise.
54060         * modules/dirname (Makefile.am): Likewise.
54061         * modules/dup2 (Makefile.am): Likewise.
54062         * modules/eealloc (Makefile.am): Likewise.
54063         * modules/error (Makefile.am): Likewise.
54064         * modules/euidaccess (Makefile.am): Likewise.
54065         * modules/exclude (Makefile.am): Likewise.
54066         * modules/exitfail (Makefile.am): Likewise.
54067         * modules/fcntl-safer (Makefile.am): Likewise.
54068         * modules/fcntl (Makefile.am): Likewise.
54069         * modules/file-type (Makefile.am): Likewise.
54070         * modules/fileblocks (Makefile.am): Likewise.
54071         * modules/filemode (Makefile.am): Likewise.
54072         * modules/filenamecat (Makefile.am): Likewise.
54073         * modules/fnmatch (Makefile.am): Likewise.
54074         * modules/fopen-safer (Makefile.am): Likewise.
54075         * modules/fpending (Makefile.am): Likewise.
54076         * modules/fprintftime (Makefile.am): Likewise.
54077         * modules/free (Makefile.am): Likewise.
54078         * modules/fsusage (Makefile.am): Likewise.
54079         * modules/ftruncate (Makefile.am): Likewise.
54080         * modules/fts (Makefile.am): Likewise.
54081         * modules/gc-arcfour (Makefile.am): Likewise.
54082         * modules/gc-des (Makefile.am): Likewise.
54083         * modules/gc-hmac-md5 (Makefile.am): Likewise.
54084         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
54085         * modules/gc-md4 (Makefile.am): Likewise.
54086         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
54087         * modules/gc-sha1 (Makefile.am): Likewise.
54088         * modules/gc (Makefile.am): Likewise.
54089         * modules/getaddrinfo (Makefile.am): Likewise.
54090         * modules/getcwd (Makefile.am): Likewise.
54091         * modules/getdelim (Makefile.am): Likewise.
54092         * modules/getdomainname (Makefile.am): Likewise.
54093         * modules/getgroups (Makefile.am): Likewise.
54094         * modules/gethostname (Makefile.am): Likewise.
54095         * modules/gethrxtime (Makefile.am): Likewise.
54096         * modules/getline (Makefile.am): Likewise.
54097         * modules/getloadavg (Makefile.am): Likewise.
54098         * modules/getlogin_r (Makefile.am): Likewise.
54099         * modules/getndelim2 (Makefile.am): Likewise.
54100         * modules/getopt (Makefile.am): Likewise.
54101         * modules/getpagesize (Makefile.am): Likewise.
54102         * modules/getpass-gnu (Makefile.am): Likewise.
54103         * modules/getpass (Makefile.am): Likewise.
54104         * modules/getsubopt (Makefile.am): Likewise.
54105         * modules/gettime (Makefile.am): Likewise.
54106         * modules/gettimeofday (Makefile.am): Likewise.
54107         * modules/getugroups (Makefile.am): Likewise.
54108         * modules/getusershell (Makefile.am): Likewise.
54109         * modules/glob (Makefile.am): Likewise.
54110         * modules/group-member (Makefile.am): Likewise.
54111         * modules/hard-locale (Makefile.am): Likewise.
54112         * modules/hash (Makefile.am): Likewise.
54113         * modules/hmac-md5 (Makefile.am): Likewise.
54114         * modules/hmac-sha1 (Makefile.am): Likewise.
54115         * modules/human (Makefile.am): Likewise.
54116         * modules/idcache (Makefile.am): Likewise.
54117         * modules/imaxabs (Makefile.am): Likewise.
54118         * modules/imaxdiv (Makefile.am): Likewise.
54119         * modules/inet_ntop (Makefile.am): Likewise.
54120         * modules/inet_pton (Makefile.am): Likewise.
54121         * modules/intprops (Makefile.am): Likewise.
54122         * modules/inttostr (Makefile.am): Likewise.
54123         * modules/inttypes (Makefile.am): Likewise.
54124         * modules/isapipe (Makefile.am): Likewise.
54125         * modules/javaversion (Makefile.am): Likewise.
54126         * modules/lchmod (Makefile.am): Likewise.
54127         * modules/lchown (Makefile.am): Likewise.
54128         * modules/localcharset (Makefile.am): Likewise.
54129         * modules/long-options (Makefile.am): Likewise.
54130         * modules/lstat (Makefile.am): Likewise.
54131         * modules/malloc (Makefile.am): Likewise.
54132         * modules/mathl (Makefile.am): Likewise.
54133         * modules/mbchar (Makefile.am): Likewise.
54134         * modules/md2 (Makefile.am): Likewise.
54135         * modules/md4 (Makefile.am): Likewise.
54136         * modules/md5 (Makefile.am): Likewise.
54137         * modules/memcasecmp (Makefile.am): Likewise.
54138         * modules/memchr (Makefile.am): Likewise.
54139         * modules/memcmp (Makefile.am): Likewise.
54140         * modules/memcoll (Makefile.am): Likewise.
54141         * modules/memcpy (Makefile.am): Likewise.
54142         * modules/memmem (Makefile.am): Likewise.
54143         * modules/memmove (Makefile.am): Likewise.
54144         * modules/mempcpy (Makefile.am): Likewise.
54145         * modules/memrchr (Makefile.am): Likewise.
54146         * modules/memset (Makefile.am): Likewise.
54147         * modules/memxor (Makefile.am): Likewise.
54148         * modules/mkancesdirs (Makefile.am): Likewise.
54149         * modules/mkdir-p (Makefile.am): Likewise.
54150         * modules/mkdir (Makefile.am): Likewise.
54151         * modules/mkdtemp (Makefile.am): Likewise.
54152         * modules/mkstemp (Makefile.am): Likewise.
54153         * modules/mktime (Makefile.am): Likewise.
54154         * modules/modechange (Makefile.am): Likewise.
54155         * modules/mountlist (Makefile.am): Likewise.
54156         * modules/nanosleep (Makefile.am): Likewise.
54157         * modules/obstack (Makefile.am): Likewise.
54158         * modules/openat (Makefile.am): Likewise.
54159         * modules/pagealign_alloc (Makefile.am): Likewise.
54160         * modules/pathmax (Makefile.am): Likewise.
54161         * modules/physmem (Makefile.am): Likewise.
54162         * modules/poll (Makefile.am): Likewise.
54163         * modules/posixtm (Makefile.am): Likewise.
54164         * modules/posixver (Makefile.am): Likewise.
54165         * modules/putenv (Makefile.am): Likewise.
54166         * modules/quote (Makefile.am): Likewise.
54167         * modules/quotearg (Makefile.am): Likewise.
54168         * modules/raise (Makefile.am): Likewise.
54169         * modules/read-file (Makefile.am): Likewise.
54170         * modules/readline (Makefile.am): Likewise.
54171         * modules/readlink (Makefile.am): Likewise.
54172         * modules/readtokens (Makefile.am): Likewise.
54173         * modules/readutmp (Makefile.am): Likewise.
54174         * modules/realloc (Makefile.am): Likewise.
54175         * modules/regex (Makefile.am): Likewise.
54176         * modules/rename-dest-slash (Makefile.am): Likewise.
54177         * modules/rename (Makefile.am): Likewise.
54178         * modules/rijndael (Makefile.am): Likewise.
54179         * modules/rmdir (Makefile.am): Likewise.
54180         * modules/rpmatch (Makefile.am): Likewise.
54181         * modules/safe-read (Makefile.am): Likewise.
54182         * modules/safe-write (Makefile.am): Likewise.
54183         * modules/same-inode (Makefile.am): Likewise.
54184         * modules/same (Makefile.am): Likewise.
54185         * modules/save-cwd (Makefile.am): Likewise.
54186         * modules/savedir (Makefile.am): Likewise.
54187         * modules/setenv (Makefile.am): Likewise.
54188         * modules/settime (Makefile.am): Likewise.
54189         * modules/sha1 (Makefile.am): Likewise.
54190         * modules/sig2str (Makefile.am): Likewise.
54191         * modules/snprintf (Makefile.am): Likewise.
54192         * modules/stat-macros (Makefile.am): Likewise.
54193         * modules/stat-time (Makefile.am): Likewise.
54194         * modules/stdbool (Makefile.am): Likewise.
54195         * modules/stdint (Makefile.am): Likewise.
54196         * modules/stdlib-safer (Makefile.am): Likewise.
54197         * modules/stpcpy (Makefile.am): Likewise.
54198         * modules/stpncpy (Makefile.am): Likewise.
54199         * modules/strcase (Makefile.am): Likewise.
54200         * modules/strcasestr (Makefile.am): Likewise.
54201         * modules/strchrnul (Makefile.am): Likewise.
54202         * modules/strcspn (Makefile.am): Likewise.
54203         * modules/strdup (Makefile.am): Likewise.
54204         * modules/strerror (Makefile.am): Likewise.
54205         * modules/strftime (Makefile.am): Likewise.
54206         * modules/strndup (Makefile.am): Likewise.
54207         * modules/strnlen (Makefile.am): Likewise.
54208         * modules/strpbrk (Makefile.am): Likewise.
54209         * modules/strsep (Makefile.am): Likewise.
54210         * modules/strstr (Makefile.am): Likewise.
54211         * modules/strtod (Makefile.am): Likewise.
54212         * modules/strtoimax (Makefile.am): Likewise.
54213         * modules/strtok_r (Makefile.am): Likewise.
54214         * modules/strtol (Makefile.am): Likewise.
54215         * modules/strtoll (Makefile.am): Likewise.
54216         * modules/strtoul (Makefile.am): Likewise.
54217         * modules/strtoull (Makefile.am): Likewise.
54218         * modules/strtoumax (Makefile.am): Likewise.
54219         * modules/strverscmp (Makefile.am): Likewise.
54220         * modules/sys_socket (Makefile.am): Likewise.
54221         * modules/sys_stat (Makefile.am): Likewise.
54222         * modules/sysexits (Makefile.am): Likewise.
54223         * modules/time_r (Makefile.am): Likewise.
54224         * modules/timegm (Makefile.am): Likewise.
54225         * modules/timespec (Makefile.am): Likewise.
54226         * modules/tmpfile-safer (Makefile.am): Likewise.
54227         * modules/trim (Makefile.am): Likewise.
54228         * modules/unistd-safer (Makefile.am): Likewise.
54229         * modules/unlinkdir (Makefile.am): Likewise.
54230         * modules/unlocked-io (Makefile.am): Likewise.
54231         * modules/userspec (Makefile.am): Likewise.
54232         * modules/utime (Makefile.am): Likewise.
54233         * modules/utimecmp (Makefile.am): Likewise.
54234         * modules/utimens (Makefile.am): Likewise.
54235         * modules/vasnprintf (Makefile.am): Likewise.
54236         * modules/vasprintf (Makefile.am): Likewise.
54237         * modules/vsnprintf (Makefile.am): Likewise.
54238         * modules/xalloc (Makefile.am): Likewise.
54239         * modules/xgetcwd (Makefile.am): Likewise.
54240         * modules/xnanosleep (Makefile.am): Likewise.
54241         * modules/xreadlink (Makefile.am): Likewise.
54242         * modules/xstrtod (Makefile.am): Likewise.
54243         * modules/xstrtol (Makefile.am): Likewise.
54244         * modules/xstrtold (Makefile.am): Likewise.
54245         * modules/yesno (Makefile.am): Likewise.
54246         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
54247
54248 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
54249
54250         * modules/error (Makefile.am): Distribute files through
54251         EXTRA_DIST, not lib_SOURCES.
54252
54253 2006-10-12  Eric Blake  <ebb9@byu.net>
54254
54255         * modules/error (Makefile.am): Distribute files in /lib.
54256         * modules/obstack (Makefile.am): Likewise.
54257
54258 2006-10-12  Bruno Haible  <bruno@clisp.org>
54259
54260         * modules/acl (Makefile.am): Distribute all files in lib/ through
54261         EXTRA_DIST.
54262         * modules/arcfour (Makefile.am): Likewise.
54263         * modules/arctwo (Makefile.am): Likewise.
54264         * modules/argmatch (Makefile.am): Likewise.
54265         * modules/argz (Makefile.am): Likewise.
54266         * modules/atexit (Makefile.am): Likewise.
54267         * modules/backupfile (Makefile.am): Likewise.
54268         * modules/c-strtod (Makefile.am): Likewise.
54269         * modules/c-strtold (Makefile.am): Likewise.
54270         * modules/calloc (Makefile.am): Likewise.
54271         * modules/canon-host (Makefile.am): Likewise.
54272         * modules/canonicalize (Makefile.am): Likewise.
54273         * modules/chdir-long (Makefile.am): Likewise.
54274         * modules/chdir-safer (Makefile.am): Likewise.
54275         * modules/check-version (Makefile.am): Likewise.
54276         * modules/chown (Makefile.am): Likewise.
54277         * modules/cloexec (Makefile.am): Likewise.
54278         * modules/close-stream (Makefile.am): Likewise.
54279         * modules/closeout (Makefile.am): Likewise.
54280         * modules/crc (Makefile.am): Likewise.
54281         * modules/cycle-check (Makefile.am): Likewise.
54282         * modules/des (Makefile.am): Likewise.
54283         * modules/dirfd (Makefile.am): Likewise.
54284         * modules/dirname (Makefile.am): Likewise.
54285         * modules/dup2 (Makefile.am): Likewise.
54286         * modules/euidaccess (Makefile.am): Likewise.
54287         * modules/exclude (Makefile.am): Likewise.
54288         * modules/exitfail (Makefile.am): Likewise.
54289         * modules/fcntl-safer (Makefile.am): Likewise.
54290         * modules/file-type (Makefile.am): Likewise.
54291         * modules/fileblocks (Makefile.am): Likewise.
54292         * modules/filemode (Makefile.am): Likewise.
54293         * modules/filenamecat (Makefile.am): Likewise.
54294         * modules/fnmatch (Makefile.am): Likewise.
54295         * modules/fopen-safer (Makefile.am): Likewise.
54296         * modules/fpending (Makefile.am): Likewise.
54297         * modules/fprintftime (Makefile.am): Likewise.
54298         * modules/free (Makefile.am): Likewise.
54299         * modules/fsusage (Makefile.am): Likewise.
54300         * modules/ftruncate (Makefile.am): Likewise.
54301         * modules/fts (Makefile.am): Likewise.
54302         * modules/gc (Makefile.am): Likewise.
54303         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
54304         * modules/getaddrinfo (Makefile.am): Likewise.
54305         * modules/getcwd (Makefile.am): Likewise.
54306         * modules/getdelim (Makefile.am): Likewise.
54307         * modules/getdomainname (Makefile.am): Likewise.
54308         * modules/getgroups (Makefile.am): Likewise.
54309         * modules/gethostname (Makefile.am): Likewise.
54310         * modules/gethrxtime (Makefile.am): Likewise.
54311         * modules/getline (Makefile.am): Likewise.
54312         * modules/getloadavg (Makefile.am): Likewise.
54313         * modules/getlogin_r (Makefile.am): Likewise.
54314         * modules/getopt (Makefile.am): Likewise.
54315         * modules/getpass (Makefile.am): Likewise.
54316         * modules/getpass-gnu (Makefile.am): Likewise.
54317         * modules/getsubopt (Makefile.am): Likewise.
54318         * modules/gettime (Makefile.am): Likewise.
54319         * modules/gettimeofday (Makefile.am): Likewise.
54320         * modules/getugroups (Makefile.am): Likewise.
54321         * modules/getusershell (Makefile.am): Likewise.
54322         * modules/glob (Makefile.am): Likewise.
54323         * modules/group-member (Makefile.am): Likewise.
54324         * modules/hard-locale (Makefile.am): Likewise.
54325         * modules/hash (Makefile.am): Likewise.
54326         * modules/hmac-md5 (Makefile.am): Likewise.
54327         * modules/hmac-sha1 (Makefile.am): Likewise.
54328         * modules/human (Makefile.am): Likewise.
54329         * modules/idcache (Makefile.am): Likewise.
54330         * modules/imaxabs (Makefile.am): Likewise.
54331         * modules/imaxdiv (Makefile.am): Likewise.
54332         * modules/inet_ntop (Makefile.am): Likewise.
54333         * modules/inet_pton (Makefile.am): Likewise.
54334         * modules/inttostr (Makefile.am): Likewise.
54335         * modules/isapipe (Makefile.am): Likewise.
54336         * modules/lchown (Makefile.am): Likewise.
54337         * modules/long-options (Makefile.am): Likewise.
54338         * modules/lstat (Makefile.am): Likewise.
54339         * modules/malloc (Makefile.am): Likewise.
54340         * modules/mathl (Makefile.am): Likewise.
54341         * modules/mbchar (Makefile.am): Likewise.
54342         * modules/md2 (Makefile.am): Likewise.
54343         * modules/md4 (Makefile.am): Likewise.
54344         * modules/md5 (Makefile.am): Likewise.
54345         * modules/memcasecmp (Makefile.am): Likewise.
54346         * modules/memchr (Makefile.am): Likewise.
54347         * modules/memcmp (Makefile.am): Likewise.
54348         * modules/memcoll (Makefile.am): Likewise.
54349         * modules/memcpy (Makefile.am): Likewise.
54350         * modules/memmem (Makefile.am): Likewise.
54351         * modules/memmove (Makefile.am): Likewise.
54352         * modules/mempcpy (Makefile.am): Likewise.
54353         * modules/memrchr (Makefile.am): Likewise.
54354         * modules/memset (Makefile.am): Likewise.
54355         * modules/memxor (Makefile.am): Likewise.
54356         * modules/mkancesdirs (Makefile.am): Likewise.
54357         * modules/mkdir (Makefile.am): Likewise.
54358         * modules/mkdir-p (Makefile.am): Likewise.
54359         * modules/mkdtemp (Makefile.am): Likewise.
54360         * modules/mkstemp (Makefile.am): Likewise.
54361         * modules/mktime (Makefile.am): Likewise.
54362         * modules/modechange (Makefile.am): Likewise.
54363         * modules/mountlist (Makefile.am): Likewise.
54364         * modules/nanosleep (Makefile.am): Likewise.
54365         * modules/openat (Makefile.am): Likewise.
54366         * modules/pagealign_alloc (Makefile.am): Likewise.
54367         * modules/physmem (Makefile.am): Likewise.
54368         * modules/poll (Makefile.am): Likewise.
54369         * modules/posixtm (Makefile.am): Likewise.
54370         * modules/posixver (Makefile.am): Likewise.
54371         * modules/putenv (Makefile.am): Likewise.
54372         * modules/quote (Makefile.am): Likewise.
54373         * modules/quotearg (Makefile.am): Likewise.
54374         * modules/raise (Makefile.am): Likewise.
54375         * modules/read-file (Makefile.am): Likewise.
54376         * modules/readline (Makefile.am): Likewise.
54377         * modules/readlink (Makefile.am): Likewise.
54378         * modules/readtokens (Makefile.am): Likewise.
54379         * modules/readutmp (Makefile.am): Likewise.
54380         * modules/realloc (Makefile.am): Likewise.
54381         * modules/regex (Makefile.am): Likewise.
54382         * modules/rename (Makefile.am): Likewise.
54383         * modules/rename-dest-slash (Makefile.am): Likewise.
54384         * modules/rijndael (Makefile.am): Likewise.
54385         * modules/rmdir (Makefile.am): Likewise.
54386         * modules/rpmatch (Makefile.am): Likewise.
54387         * modules/safe-read (Makefile.am): Likewise.
54388         * modules/safe-write (Makefile.am): Likewise.
54389         * modules/same (Makefile.am): Likewise.
54390         * modules/save-cwd (Makefile.am): Likewise.
54391         * modules/savedir (Makefile.am): Likewise.
54392         * modules/setenv (Makefile.am): Likewise.
54393         * modules/settime (Makefile.am): Likewise.
54394         * modules/sha1 (Makefile.am): Likewise.
54395         * modules/sig2str (Makefile.am): Likewise.
54396         * modules/snprintf (Makefile.am): Likewise.
54397         * modules/stdlib-safer (Makefile.am): Likewise.
54398         * modules/stpcpy (Makefile.am): Likewise.
54399         * modules/stpncpy (Makefile.am): Likewise.
54400         * modules/strcase (Makefile.am): Likewise.
54401         * modules/strcasestr (Makefile.am): Likewise.
54402         * modules/strchrnul (Makefile.am): Likewise.
54403         * modules/strcspn (Makefile.am): Likewise.
54404         * modules/strdup (Makefile.am): Likewise.
54405         * modules/strerror (Makefile.am): Likewise.
54406         * modules/strftime (Makefile.am): Likewise.
54407         * modules/strndup (Makefile.am): Likewise.
54408         * modules/strnlen (Makefile.am): Likewise.
54409         * modules/strpbrk (Makefile.am): Likewise.
54410         * modules/strsep (Makefile.am): Likewise.
54411         * modules/strstr (Makefile.am): Likewise.
54412         * modules/strtod (Makefile.am): Likewise.
54413         * modules/strtoimax (Makefile.am): Likewise.
54414         * modules/strtok_r (Makefile.am): Likewise.
54415         * modules/strtol (Makefile.am): Likewise.
54416         * modules/strtoll (Makefile.am): Likewise.
54417         * modules/strtoul (Makefile.am): Likewise.
54418         * modules/strtoull (Makefile.am): Likewise.
54419         * modules/strtoumax (Makefile.am): Likewise.
54420         * modules/strverscmp (Makefile.am): Likewise.
54421         * modules/time_r (Makefile.am): Likewise.
54422         * modules/timegm (Makefile.am): Likewise.
54423         * modules/tmpfile-safer (Makefile.am): Likewise.
54424         * modules/unistd-safer (Makefile.am): Likewise.
54425         * modules/unlinkdir (Makefile.am): Likewise.
54426         * modules/userspec (Makefile.am): Likewise.
54427         * modules/utime (Makefile.am): Likewise.
54428         * modules/utimecmp (Makefile.am): Likewise.
54429         * modules/utimens (Makefile.am): Likewise.
54430         * modules/vasnprintf (Makefile.am): Likewise.
54431         * modules/vasprintf (Makefile.am): Likewise.
54432         * modules/vsnprintf (Makefile.am): Likewise.
54433         * modules/xalloc (Makefile.am): Likewise.
54434         * modules/xgetcwd (Makefile.am): Likewise.
54435         * modules/xnanosleep (Makefile.am): Likewise.
54436         * modules/xreadlink (Makefile.am): Likewise.
54437         * modules/xstrtod (Makefile.am): Likewise.
54438         * modules/xstrtol (Makefile.am): Likewise.
54439         * modules/xstrtold (Makefile.am): Likewise.
54440         * modules/yesno (Makefile.am): Likewise.
54441
54442 2006-10-12  Jim Meyering  <jim@meyering.net>
54443
54444         * m4/getloadavg.m4: Revert the change below.
54445
54446         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
54447         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
54448         fail with a symlink, which is what coreutils' ./bootstrap now
54449         creates by default.
54450
54451 2006-10-12  Bruno Haible  <bruno@clisp.org>
54452
54453         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
54454         mingw.
54455         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
54456         MSVC and mingw explicitly.
54457
54458 2006-10-11  Simon Josefsson  <jas@extundo.com>
54459             Bruno Haible  <bruno@clisp.org>
54460
54461         Add support for multiple gnulib-tool invocations in the scope of a
54462         single configure.ac file.
54463         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
54464         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
54465         with the same contents as the _LIBADD variable.
54466         (func_emit_initmacro_start, func_emit_initmacro_end,
54467         func_emit_initmacro_done): New functions.
54468         (func_import, func_create_testdir): Invoke them. Allow the identifiers
54469         gl_LIBOBJS and gl_LTLIBOBJS.
54470
54471 2006-10-11  Bruno Haible  <bruno@clisp.org>
54472
54473         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
54474         (func_create_testdir): Don't create po/Makefile.am, don't invoke
54475         autoreconf. Instead, invoke autopoint explicitly but move back the
54476         *.m4 files from gnulib.
54477
54478 2006-10-11  Bruno Haible  <bruno@clisp.org>
54479
54480         * gnulib-tool (func_usage): Make module names after --create-testdir
54481         optional.
54482         (func_create_testdir): If no module was specified, use nearly all
54483         modules.
54484
54485 2006-10-12  Jim Meyering  <jim@meyering.net>
54486
54487         Big performance improvement for fts-based tools that use FTS_NOSTAT.
54488         Avoid spurious inode-mismatch problems on non-POSIX file systems.
54489         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
54490         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
54491         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
54492         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
54493         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
54494         (fts_set_stat_required): New function.
54495         (fts_open): Defer the calls to fts_stat, if possible or requested.
54496         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
54497         into fts_stat itself.
54498         (fts_read): Perform any required (deferred) fts_stat call.
54499         (fts_build): Likewise, for the directory we're about to open and read.
54500         In the readdir loop, carefully decide whether each entry will require
54501         an eventual call to fts_stat, using dirent.d_type info if available.
54502         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
54503         a command line argument into this function.  Update all callers.
54504         Map a return value of FTS_DOT to FTS_D for a command line argument.
54505         * modules/fts (Depends-on): Add d-type.  Alphabetize.
54506         Thanks to Miklos Szeredi for his tenacity and for the initial
54507         bug report about "find" failing on a FUSE-based file system.
54508
54509         * lib/fts.c (fts_open): Use consistent indentation.
54510
54511 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
54512
54513         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
54514         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
54515         reported by Jim Meyering.  All uses of cache variables renamed
54516         to match Autoconf's.
54517         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
54518         the other one.
54519
54520         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
54521         Fix misspelling in diagnostic.
54522
54523 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
54524
54525         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
54526         defined.  Problem reported by Matthew Woehlke.
54527
54528         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
54529         Add support for Tandem NonStop R series.
54530         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
54531         Use new macro.
54532
54533         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
54534         (has_trailing_slash): Omit size arg; all callers changed.
54535         Omit 'inline', since it doesn't help performance and we'd
54536         need to configure it.
54537         Don't count //, ///, etc. as having a trailing slash.
54538         As a side effect, this removes a C99ism reported by Matthew Woehlke.
54539         (rpl_rename_dest_slash): On failure, use rename's errno rather
54540         than (in some cases) an incorrect or junk errno.
54541         Simplify code by removing need to compute length; this does
54542         cause it to make two passes instead of one over the file name,
54543         but it's worth it.
54544
54545         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
54546         change, since Autoconf's version may no longer be appropriate now
54547         that we are using CVS Autoconf's version.  Add support for Tandem.
54548
54549 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
54550             Bruno Haible  <bruno@clisp.org>
54551
54552         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
54553         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
54554         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
54555         gl_AC_TYPE_LONG_LONG.
54556
54557         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
54558         instead of HAVE_LONG_LONG.
54559         * lib/printf-args.c (printf_fetchargs): Likewise.
54560         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
54561         * lib/vasnprintf.c (VASNPRINTF): Likewise.
54562         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
54563         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
54564         gl_AC_TYPE_LONG_LONG.
54565
54566 2006-10-11  Bruno Haible  <bruno@clisp.org>
54567
54568         * m4/longlong.m4: Add comments.
54569         * m4/ulonglong.m4: Likewise.
54570
54571 2006-10-10  Bruno Haible  <bruno@clisp.org>
54572
54573         Make it possible to #define stpcpy, strdup to aliases.
54574         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
54575         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
54576
54577 2006-10-10  Bruno Haible  <bruno@clisp.org>
54578
54579         Make it possible to #define gcd to an alias.
54580         * lib/gcd.c: Include config.h.
54581
54582 2006-10-10  Bruno Haible  <bruno@clisp.org>
54583
54584         Make it possible to #define c_isascii to an alias.
54585         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
54586         defined. Undefine the macros before defining them, to avoid gcc
54587         warnings.
54588         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
54589         define NO_C_CTYPE_MACROS early.
54590
54591 2006-10-10  Bruno Haible  <bruno@clisp.org>
54592
54593         Make it possible to #define set_program_name to an alias.
54594         * lib/progname.c: Don't undefine set_program_name; instead, undefine
54595         ENABLE_RELOCATABLE early.
54596
54597 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
54598
54599         Port to Tandem NSK OSS, which has 64-bit signed int but at most
54600         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
54601         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
54602         More generally, don't assume that 64-bit signed int is available
54603         if unsigned int is, and vice versa.
54604         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
54605         unsigned symbols, not on their signed counterparts.
54606         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
54607         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
54608         (UINT64_C, UINTMAX_C):
54609         Likewise.
54610         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
54611         unsigned counterparts.
54612         (Have_long_long, Unsigned): New macros.
54613         (Int): Renamed from INT.
54614         (strtoimax): Use the new macros.
54615         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
54616         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
54617         * modules/inttypes (inttypes.h): Substitute
54618         HAVE_UNSIGNED_LONG_LONG_INT.
54619         * modules/stdint (stdint.h): Likewise.
54620         (Files): Add m4/ulonglong.m4.
54621
54622 2006-10-10  Bruno Haible  <bruno@clisp.org>
54623
54624         Fix a gcc -Wshadow warning.
54625         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
54626         to 'bucket'.
54627         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
54628         gl_linked_indexof_from_to): Likewise.
54629         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
54630         Likewise.
54631         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
54632         Likewise.
54633         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
54634         Reported by Eric Blake.
54635
54636 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
54637
54638         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
54639         for NetBSD.  Problem reported by Bruno Haible.
54640
54641 2006-10-09  Jim Meyering  <jim@meyering.net>
54642
54643         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
54644         Patch from Bruno Haible.
54645
54646 2006-10-09  Jim Meyering  <jim@meyering.net>
54647
54648         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
54649         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
54650         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
54651
54652 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
54653
54654         Don't include <config.h> twice; this doesn't work in some cases,
54655         e.g., when config.h has "#define intmax_t long long int" and
54656         we include <config.h>, <inttypes.h>, <config.h> in that order.
54657         Problem reported by Matthew Woehlke in:
54658         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
54659         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
54660         * lib/fts-cycle.c: Don't include config.h.
54661         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
54662         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
54663         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
54664         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
54665         inttypes.h.
54666         * lib/xstrtoumax.c: Likewise.
54667         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
54668         __strtol and the like, so that this module is more like its siblings.
54669         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
54670         Remove; no longer needed now that we assume gnulib inttypes.h.
54671
54672 2006-10-08  Bruno Haible  <bruno@clisp.org>
54673
54674         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
54675         option.
54676
54677 2006-10-07  Jim Meyering  <jim@meyering.net>
54678
54679         * modules/inttypes (inttypes.h): Revert what seems to have been
54680         an inadvertent part of today's change: use "|", not "/" in the
54681         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
54682
54683 2006-10-07  Bruno Haible  <bruno@clisp.org>
54684
54685         * modules/sublist: New file.
54686
54687 2006-10-07  Bruno Haible  <bruno@clisp.org>
54688
54689         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
54690         * modules/argz (argz.h): Likewise.
54691         * modules/arpa_inet (arpa/inet.h): Likewise.
54692         * modules/byteswap (byteswap.h): Likewise.
54693         * modules/configmake (configmake.h): Likewise.
54694         * modules/fcntl (fcntl.h): Likewise.
54695         * modules/fnmatch (fnmatch.h): Likewise.
54696         * modules/getopt (getopt.h): Likewise.
54697         * modules/glob (glob.h): Likewise.
54698         * modules/inttypes (inttypes.h): Likewise.
54699         * modules/netinet_in (netinet/in.h): Likewise.
54700         * modules/poll (poll.h): Likewise.
54701         * modules/stdbool (stdbool.h): Likewise.
54702         * modules/stdint (stdint.h): Likewise.
54703         * modules/sys_select (sys/select.h): Likewise.
54704         * modules/sys_socket (sys/socket.h): Likewise.
54705         * modules/sys_stat (sys/stat.h): Likewise.
54706         * modules/sysexits (sysexits.h): Likewise.
54707         * modules/unistd (unistd.h): Likewise.
54708         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54709         Add a "DO NOT EDIT" comment to the generated file.
54710         (func_import): Likewise for gnulib-comp.m4.
54711
54712 2006-10-07  Bruno Haible  <bruno@clisp.org>
54713
54714         * lib/gl_sublist.h: New file.
54715         * lib/gl_sublist.c: New file.
54716
54717 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
54718
54719         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
54720         name (relative to the original working directory) and the file
54721         name component (relative to the temporary working directory).  All
54722         callers changed.
54723         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
54724         * lib/mkdir-p.c (make_dir_parents): Likewise.
54725         * lib/mkdir-p.h (make_dir_parents): Likewise.
54726
54727 2006-10-06  Eric Blake  <ebb9@byu.net>
54728
54729         Define several macros for use by the clean-temp module.
54730         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
54731         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
54732         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
54733
54734         * lib/clean-temp.h (close_stream_temp): New declaration.
54735         * lib/clean-temp.c (includes): Pull in headers according to what
54736         other modules are in use.
54737         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
54738
54739 2006-10-06  Bruno Haible  <bruno@clisp.org>
54740
54741         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
54742         instead of fopen, fwriteerror.
54743
54744 2006-10-06  Bruno Haible  <bruno@clisp.org>
54745
54746         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
54747         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
54748         int.
54749         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
54750         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
54751         Return an error indicator.
54752         Suggested by Eric Blake.
54753
54754 2006-10-06  Bruno Haible  <bruno@clisp.org>
54755
54756         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
54757         Reported by Eric Blake.
54758
54759 2006-10-06  Bruno Haible  <bruno@clisp.org>
54760
54761         * modules/closeout (Description): Mention stderr too.
54762
54763 2006-10-06  Bruno Haible  <bruno@clisp.org>
54764         and Paul Eggert  <eggert@cs.ucla.edu>
54765
54766         * lib/closeout.c (close_stdout): Also close stderr.
54767         * lib/closeout.h: Update comment.
54768
54769 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
54770
54771         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
54772         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
54773         * lib/dirchownmod.c: Include lchown.h.
54774         * lib/lchown.c: Don't include files that lchown.h now includes.
54775         Don't declare chown, since lchown.h now does that.
54776         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
54777         (lchown): Define to rpl_chown if lchown is declared but
54778         does not exist.  Declare using a prototype if lchown is not
54779         declared.  Add a copyright notice.
54780         * lib/mkstemp.h: Include <unistd.h>.
54781         * lib/openat.c: Include lchown.h.
54782
54783         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
54784         we now test for that separately.
54785         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
54786         rather than O_NOFOLLOW, when testing whether it's possible to
54787         avoid a race condition reliably.
54788         * lib/savewd.c (savewd_chdir): Likewise.
54789
54790         Remove macros that are no longer needed now that stdint.h is
54791         reliable.
54792         * lib/fsusage.c (UINTMAX_MAX): Remove.
54793         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
54794         * lib/utimecmp.c (SIZE_MAX): Remove.
54795
54796         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
54797
54798         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
54799         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
54800         O_NOATIME works.
54801
54802 2006-10-05  Bruno Haible  <bruno@clisp.org>
54803
54804         * lib/gl_list.h (gl_sortedlist_search_from_to,
54805         gl_sortedlist_indexof_from_to): New declarations.
54806         (gl_list_implementation): New fields sortedlist_search_from_to,
54807         sortedlist_indexof_from_to.
54808         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
54809         inline functions.
54810         * lib/gl_list.c (gl_sortedlist_search_from_to,
54811         gl_sortedlist_indexof_from_to): New functions.
54812         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
54813         function.
54814         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
54815         (gl_array_sortedlist_search_from_to): New function.
54816         (gl_array_list_implementation): Update.
54817         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
54818         function.
54819         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
54820         (gl_carray_sortedlist_search_from_to): New function.
54821         (gl_carray_list_implementation): Update.
54822         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
54823         gl_linked_sortedlist_indexof_from_to): New functions.
54824         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
54825         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
54826         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
54827         gl_tree_sortedlist_indexof_from_to): New functions.
54828         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
54829         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
54830         Update.
54831         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
54832         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
54833         Update.
54834
54835 2006-10-05  Bruno Haible  <bruno@clisp.org>
54836
54837         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
54838         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
54839         (struct gl_list_implementation): Add fields search_from_to,
54840         indexof_from_to. Remove fields search, indexof.
54841         (gl_list_search): Use the search_from_to method.
54842         (gl_list_search_from, gl_list_search_from_to): New functions.
54843         (gl_list_indexof): Use the indexof_from_to method.
54844         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
54845         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
54846         (gl_list_search_from, gl_list_search_from_to): New functions.
54847         (gl_list_indexof): Use the indexof_from_to method.
54848         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
54849         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
54850         gl_array_indexof. Add start_index, end_index arguments.
54851         (gl_array_search_from_to): Renamed from gl_array_search. Add
54852         start_index, end_index arguments.
54853         (gl_array_remove, gl_array_list_implementation): Update.
54854         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
54855         gl_carray_indexof. Add start_index, end_index arguments.
54856         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
54857         start_index, end_index arguments.
54858         (gl_carray_remove, gl_carray_list_implementation): Update.
54859         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
54860         gl_linked_search. Add start_index, end_index arguments.
54861         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
54862         start_index, end_index arguments.
54863         (gl_linked_remove): Update.
54864         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
54865         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
54866         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
54867         field to 'size_t'.
54868         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
54869         gl_tree_search. Add start_index, end_index arguments.
54870         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
54871         start_index, end_index arguments.
54872         (gl_tree_remove): Update.
54873         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
54874         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
54875         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
54876         function.
54877         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
54878         gl_tree_search. Add start_index, end_index arguments.
54879         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
54880         start_index, end_index arguments.
54881         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
54882         Update.
54883         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
54884
54885 2006-10-05  Bruno Haible  <bruno@clisp.org>
54886
54887         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
54888
54889         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
54890         fwriteerror_temp): New declarations.
54891         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
54892         (descriptors): New variable.
54893         (cleanup): First, close the descriptors.
54894         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
54895         fclose_temp, fwriteerror_temp): New functions.
54896
54897 2006-10-04  Jim Meyering  <jim@meyering.net>
54898
54899         * lib/fts.c (fts_open): Tiny comment change.
54900
54901 2006-10-04  Bruno Haible  <bruno@clisp.org>
54902
54903         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
54904         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
54905         gl_LOCK_BODY.
54906         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
54907         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
54908         gl_LOCK_EARLY_BODY.
54909         (gl_LOCK): Require gl_LOCK_BODY.
54910
54911 2006-10-04  Bruno Haible  <bruno@clisp.org>
54912
54913         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
54914         (gl_oset_search_atleast): New declaration.
54915         (struct gl_oset_implementation): Add field 'search_atleast'.
54916         (gl_oset_search_atleast): New inline function.
54917         * lib/gl_oset.c (gl_oset_search_atleast): New function.
54918         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
54919         (gl_array_oset_implementation): Update.
54920         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
54921         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
54922         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
54923
54924 2006-10-04  Bruno Haible  <bruno@clisp.org>
54925
54926         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
54927
54928 2006-10-03  Bruno Haible  <bruno@clisp.org>
54929
54930         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
54931         from gl_avltreehash_list_implementation.
54932
54933 2006-10-03  Bruno Haible  <bruno@clisp.org>
54934
54935         * lib/gl_oset.c (gl_oset_add): Fix return type.
54936
54937 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
54938
54939         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
54940
54941 2006-10-02  Eric Blake  <ebb9@byu.net>
54942
54943         * modules/strnlen (Depends-on): Add extensions.
54944
54945 2006-10-02  Eric Blake  <ebb9@byu.net>
54946
54947         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
54948         definition in 2.60+.
54949
54950 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
54951
54952         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
54953         checks.
54954
54955 2006-10-02  Bruno Haible  <bruno@clisp.org>
54956
54957         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
54958         to the AUTOMAKE_OPTIONS.
54959         Reported by Jim Meyering.
54960
54961 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
54962
54963         Work around bug in Solaris 10 /proc file system:
54964         /proc/self/fd/NNN/.. isn't the parent directory of
54965         the directory whose file descriptor is NNN.  This needs to
54966         be worked around at run time, not compile time, since a
54967         program might be built on Solaris 8, where things work, and
54968         run on Solaris 10.
54969         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
54970         to use the following interface instead:
54971         (OPENAT_BUFFER_SIZE): New macro.
54972         (openat_proc_name): New function.
54973         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
54974         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
54975         Likewise.
54976         * lib/openat-proc.c: New file.
54977         * modules/openat (Files): Add lib/openat-proc.c.
54978         (Depends-on): Add same-inode, stdbool.
54979         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
54980
54981 2006-09-29  Bruno Haible  <bruno@clisp.org>
54982
54983         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
54984         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
54985         argument. Set stdout_closed before testing for ferror, not after.
54986         (fwriteerror, fwriteerror_no_ebadf): New functions.
54987
54988 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54989
54990         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
54991
54992 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
54993
54994         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
54995         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
54996
54997 2006-09-28  Jim Meyering  <jim@meyering.net>
54998
54999         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
55000         Include <unistd.h>.
55001
55002 2006-09-28  Bruno Haible  <bruno@clisp.org>
55003
55004         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
55005         * modules/linkedhash-list (Depends-on): Likewise.
55006         * modules/rbtreehash-list (Depends-on): Likewise.
55007
55008 2006-09-28  Bruno Haible  <bruno@clisp.org>
55009
55010         * lib/strndup.h: Simplify the redefinition of strndup.
55011         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
55012         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
55013
55014 2006-09-28  Bruno Haible  <bruno@clisp.org>
55015
55016         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
55017         * lib/gl_linkedhash_list.c: Likewise.
55018         * lib/gl_rbtreehash_list.c: Likewise.
55019
55020 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
55021
55022         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
55023         getaddrinfo.
55024
55025         * lib/__fpending.h: Don't include <stdio_ext.h> unless
55026         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
55027         it causes <stdio_ext.h> to cause a compile-time error.
55028         Problem reported by Nelson H. F. Beebe.
55029         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
55030         of HAVE_DECL___PENDING.
55031
55032         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
55033         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
55034         declaration.
55035
55036 2006-09-27  Jim Meyering  <jim@meyering.net>
55037
55038         This file could end up with a definition for a function
55039         named __strndup, rather than rpl_strndup on a system with
55040         incomplete weak_alias support.
55041         * lib/strndup.c (strndup): Rename from __strndup.
55042         Remove #defines that used to map __strndup to strndup.
55043         Don't use K&R prototypes.
55044         Remove LIBC-related code, since this file is not sync'd with glibc.
55045         * lib/strndup.h: Revamp, accordingly.
55046         * m4/strndup.m4: Modernize.
55047
55048 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
55049
55050         * modules/savewd (Depends-on): Add 'raise'.
55051         * lib/savewd.c: Include <signal.h>, for 'raise'.
55052
55053 2006-09-26  Jim Meyering  <jim@meyering.net>
55054
55055         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
55056         when we detect Darwin 8.7.0's acl_get_file bug.
55057         Rearrange to perform the new (below) run-test while $LIBS
55058         contains any acl-related library.  Set USE_ACL at the end.
55059         (gl_ACL_GET_FILE): New function.
55060
55061 2006-09-26  Eric Blake  <ebb9@byu.net>
55062
55063         * lib/verror.c: Include <config.h> unconditionally.
55064
55065 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
55066
55067         * modules/clock-time (Maintainer): Add self.
55068         * modules/getlogin_r (Depends-on): Add extensions.
55069
55070 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55071
55072         * modules/clock-time: New module.
55073         * modules/nanosleep (Depends-on): Add clock-time.
55074         * modules/gethrxtime (Depends-on): Likewise.
55075         * modules/gettime (Depends-on): Likewise.
55076         * modules/settime (Depends-on): Likewise.
55077
55078         * modules/fts-lgpl: Depend on openat.
55079         * modules/mkancesdirs: Depend on savewd.
55080         * modules/mkdir-p: Likewise.
55081
55082 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55083
55084         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
55085
55086         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
55087         `gl_have_arbitrary_file_name_length_limit' to
55088         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
55089         actually works between configure runs.
55090
55091 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55092             Bruno Haible  <bruno@clisp.org>
55093
55094         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
55095
55096 2006-09-25  Jim Meyering  <jim@meyering.net>
55097
55098         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
55099         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
55100
55101 2006-09-25  Eric Blake  <ebb9@byu.net>
55102
55103         * gnulib-tool (func_import, func_create_testdir): Fix typos in
55104         exec's in 2006-09-18 patch when shuffling fds.
55105
55106 2006-09-25  Bruno Haible  <bruno@clisp.org>
55107
55108         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
55109         Reported by Jim Meyering.
55110
55111 2006-09-24  Jim Meyering  <jim@meyering.net>
55112
55113         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
55114         compare a pointer against a literal "0".  That caused failures with
55115         at least HP-UX's hpcc.
55116
55117 2006-09-22  Simon Josefsson  <jas@extundo.com>
55118
55119         * modules/gc-sha1:
55120         * modules/gc-md4:
55121         * modules/gc-hmac-sha1:
55122         * modules/gc-hmac-md5:
55123         * modules/gc-des:
55124         * modules/gc-arcfour: Distribute more files.
55125
55126 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55127
55128         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
55129         (gl_linked_iterator_from_to): Initialize struct completely.
55130         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
55131         (gl_tree_iterator_from_to): Likewise
55132         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
55133         * lib/gl_array_list.c [lint] (gl_array_iterator)
55134         (gl_array_iterator_from_to): Likewise.
55135         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
55136         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
55137         (gl_carray_iterator_from_to): Likewise.
55138
55139         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
55140         * lib/md4.c (md4_process_block): Remove unused variable.
55141         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
55142         parentheses for clarity.
55143
55144 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55145
55146         * modules/bison-i18n (Depends-on): Add gettext.
55147
55148 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55149
55150         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
55151         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
55152         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
55153         also add missing comma that caused broken test.
55154         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
55155         stdlib.h, for `abort'.
55156         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
55157         variables.
55158         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
55159         include unistd.h if present, for `rmdir'.
55160         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
55161         variables.
55162         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
55163         in the process include standard headers for prototypes.
55164         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
55165         gets declared on GNU/Linux.
55166         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
55167         unistd.h, for `rmdir'.
55168         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
55169
55170         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
55171         always true.
55172         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
55173
55174         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
55175
55176 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55177
55178         * gnulib-tool (func_version): Create output all at once.  This
55179         may help avoid triggering unnecessary SIGPIPEs, and at any
55180         rate it doesn't hurt.
55181
55182 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55183             Bruno Haible  <bruno@clisp.org>
55184
55185         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
55186         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
55187         * m4/signed.m4 (bh_C_SIGNED): Likewise.
55188
55189         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
55190         (gl_FUNC_VASPRINTF): Invoke it.
55191
55192 2006-09-22  Bruno Haible  <bruno@clisp.org>
55193
55194         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
55195         getloadavg.c as first argument.
55196
55197 2006-09-22  Bruno Haible  <bruno@clisp.org>
55198
55199         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
55200         at the beginning of the gl_INIT macro.
55201         * modules/getloadavg (configure.ac): Pass $gl_source_base to
55202         gl_GETLOADAVG.
55203
55204 2006-09-22  Bruno Haible  <bruno@clisp.org>
55205
55206         * gnulib-tool (func_create_megatestdir): Don't include the config-h
55207         module.
55208         Suggested by Ralf Wildenhues.
55209
55210 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
55211
55212         Import this patch from libc:
55213
55214         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
55215
55216         * lib/regex_internal.c (re_string_reconstruct): Handle
55217         offset < pstr->valid_raw_len && pstr->offsets_needed case.
55218         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
55219         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
55220         re_string_context_at.
55221
55222         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
55223         now requires it.
55224         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
55225         gl_REGEX now does it for us.
55226         (gl_REGEX): Add test taken from
55227         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
55228
55229         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
55230         Check that large offsets work.  Modernize Autoconf usages.
55231         Prefer "yes" to mean a good thing rather than a bad.
55232         Don't put "#define mkstemp" in config.h, as this might interfere
55233         with standard system headers that "#define mkstemp mkstemp64".
55234
55235         * modules/mkstemp (Depends-on): Add extensions, so that
55236         mkstemp is visible on some platforms.
55237         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
55238         (Include): Change to "mkstemp.h" from <stdlib.h>.
55239         (Files): Add mkstemp.h.
55240
55241         * lib/mkstemp.h: New file, since some standard headers
55242         #define mkstemp.
55243         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
55244         Include "mkstemp.h".
55245         Make the _LIBC code resemble glibc original more,
55246         e.g., use K&R style.
55247         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
55248         (mkstemp): Remove, since mkstemp.h does this for us.
55249         * lib/stdlib--.h: Include mkstemp.h.
55250
55251         Import this patch from libc:
55252
55253         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
55254
55255         * lib/tempname.c (__gen_tempname): Change attempts_min
55256         into a macro.  Use preprocessor to decide how to initialize
55257         attempts [Coverity CID 67].
55258
55259 2006-09-20  Bruno Haible  <bruno@clisp.org>
55260
55261         * lib/mkdtemp.c: Import from libc.
55262         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
55263                 * sysdeps/posix/tempname.c (__gen_tempname): Change
55264                 attempts_min into a macro.  Use preprocessor to decide how to
55265                 initialize attempts [Coverity CID 67].
55266         2001-11-27  Paul Eggert  <eggert@twinsun.com>
55267                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
55268                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
55269
55270 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55271
55272         * gnulib-tool (func_exit): New function, to allow to pass the
55273         exit status portably through the trap.  Use everywhere.
55274         (--help, --version): Signal a write error.
55275         (trap): catch SIGPIPE, for write errors.
55276         Exit at the end of the trap, with the correct exit status.
55277
55278 2006-09-19  Karl Berry  <karl@gnu.org>
55279
55280         * doc/gnulib.texi: note about the license texinfo files.
55281
55282 2006-09-19  Eric Blake  <ebb9@byu.net>
55283
55284         * gnulib-tool: Avoid space-tab.
55285
55286 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
55287
55288         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
55289         that prevented coreutils 6.1 from building.  Problem reported
55290         by Petter Reinholdtsen.
55291
55292 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
55293
55294         * gnulib-tool (avoidlist): Fix typo that broke options like
55295         --avoid=lock that are used by coreutils bootstrap.
55296
55297 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
55298
55299         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
55300         more systematically.
55301
55302 2006-09-18  Jim Meyering  <jim@meyering.net>
55303
55304         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
55305
55306 2006-09-18  Bruno Haible  <bruno@clisp.org>
55307
55308         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
55309
55310 2006-09-18  Bruno Haible  <bruno@clisp.org>
55311
55312         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
55313         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
55314         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
55315         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
55316         * m4/gettext.m4: Require autoconf >= 2.52.
55317         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
55318         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
55319         of gl_cv_header_inttypes_h.
55320
55321 2006-09-18  Bruno Haible  <bruno@clisp.org>
55322
55323         * lib/javaversion.c: Include configmake.h.
55324
55325 2006-09-18  Bruno Haible  <bruno@clisp.org>
55326
55327         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
55328         avoid that the while loops be executed in a subshell.
55329
55330 2006-09-18  Bruno Haible  <bruno@clisp.org>
55331
55332         * MODULES.html.sh (func_module): Break long lines.
55333         Suggested by Bruce Korb <bkorb@gnu.org>.
55334
55335 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55336
55337         Speed up by a factor of 1.12.
55338         * gnulib-tool (nl): New variable.
55339         (func_import): Rewrite include directive extraction to only read each
55340         directive once.
55341
55342 2006-09-17  Bruno Haible  <bruno@clisp.org>
55343
55344         * modules/javaversion (Makefile.am): Remove DEFS setting.
55345         (Depends-on): Add configmake, for PKGDATADIR definition.
55346
55347 2006-09-17  Bruno Haible  <bruno@clisp.org>
55348
55349         * gnulib-tool (func_create_testdir): Rewrite all files at once.
55350
55351 2006-09-17  Bruno Haible  <bruno@clisp.org>
55352
55353         * gnulib-tool (func_append): New function, stolen from libtool.m4.
55354         (func_modules_transitive_closure, func_modules_add_dummy,
55355         func_modules_to_filelist, func_import, func_create_testdir,
55356         func_create_megatestdir, ...): Use it wherever possible.
55357         Suggested by Ralf Wildenhues.
55358
55359 2006-09-16  Karl Berry  <karl@gnu.org>
55360
55361         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
55362         to avoid sectioning errors.
55363         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
55364         [ifinfo]: blank line after @center-ed titles.
55365         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
55366         Spell FSF address consistently with others.
55367         (These changes approved by rms.)
55368
55369 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55370
55371         Speed up by a factor of 1.61.
55372         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
55373         already checked module names again.
55374
55375 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55376
55377         Speed up by a factor of 1.13.
55378         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
55379         for new_files, and the input to func_add_or_update.
55380
55381 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55382
55383         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
55384         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
55385
55386 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
55387
55388         * modules/mkancesdirs (Depends-on): Add fcntl.
55389         * modules/savewd: New file.
55390         * MODULES.html.sh (File system functions): Add savewd.
55391
55392         * modules/configmake (Makefile.am): Add support for the
55393         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
55394
55395 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
55396
55397         * m4/savewd.m4: New file.
55398
55399 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
55400
55401         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
55402         (dirchownmod): New arg FD.  All callers changed.
55403         Use FD rather than opening the directory ourself, as opening is
55404         now the caller's responsibility.
55405         * lib/dirchownmod.h: Likewise.
55406         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
55407         hosts that require <sys/types.h> before <sys/stat.h>.  Include
55408         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
55409         (test_dir): Remove.
55410         (mkancesdirs): Return length of prefix of FILE that has already
55411         been made, or -2 if there is a child doing the work.  Redo
55412         algorithm so that it is O(N) rather than O(N**2).  Optimize away
55413         ".", and treat ".." specially since it might stray back into
55414         already-created areas.  Use a subprocess if necessary.  New arg
55415         WD; all users changed.  MAKE_DIR function should now return 1
55416         if it creates a directory that is not readable.  Return -2 if
55417         a child process is spun off.
55418         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
55419         Adjust signature to match code.
55420         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
55421         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
55422         all users changed.
55423         * lib/savewd.c, lib/savewd.h: New files.
55424
55425 2006-09-15  Jim Meyering  <jim@meyering.net>
55426
55427         * modules/rename-dest-slash: New module.
55428         * MODULES.html.sh (posix_compat): Add it here.
55429
55430         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
55431
55432 2006-09-15  Jim Meyering  <jim@meyering.net>
55433
55434         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
55435         file.
55436
55437         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
55438
55439 2006-09-15  Jim Meyering  <jim@meyering.net>
55440
55441         * lib/rename-dest-slash.c (has_trailing_slash): Use
55442         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
55443         (rpl_rename_dest_slash): Perform the cheaper trailing slash
55444         test before testing whether SRC is a directory.
55445         Suggestions from Bruno Haible.
55446
55447         Avoid a warning about an unused variable.
55448         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
55449         into the #ifdef block where it's used.
55450
55451         * lib/rename-dest-slash.c: New file.
55452
55453 2006-09-14  Bruno Haible  <bruno@clisp.org>
55454
55455         * lib/allocsa.c: Include <config.h> unconditionally.
55456         * lib/asnprintf.c: Likewise.
55457         * lib/asprintf.c: Likewise.
55458         * lib/c-strcasecmp.c: Likewise.
55459         * lib/c-strcasestr.c: Likewise.
55460         * lib/c-strncasecmp.c: Likewise.
55461         * lib/c-strstr.c: Likewise.
55462         * lib/classpath.c: Likewise.
55463         * lib/clean-temp.c: Likewise.
55464         * lib/concatpath.c: Likewise.
55465         * lib/copy-file.c: Likewise.
55466         * lib/csharpcomp.c: Likewise.
55467         * lib/csharpexec.c: Likewise.
55468         * lib/execute.c: Likewise.
55469         * lib/fatal-signal.c: Likewise.
55470         * lib/findprog.c: Likewise.
55471         * lib/fwriteerror.c: Likewise.
55472         * lib/gl_array_list.c: Likewise.
55473         * lib/gl_array_oset.c: Likewise.
55474         * lib/gl_avltree_list.c: Likewise.
55475         * lib/gl_avltree_oset.c: Likewise.
55476         * lib/gl_avltreehash_list.c: Likewise.
55477         * lib/gl_carray_list.c: Likewise.
55478         * lib/gl_linked_list.c: Likewise.
55479         * lib/gl_linkedhash_list.c: Likewise.
55480         * lib/gl_list.c: Likewise.
55481         * lib/gl_oset.c: Likewise.
55482         * lib/gl_rbtree_list.c: Likewise.
55483         * lib/gl_rbtree_oset.c: Likewise.
55484         * lib/gl_rbtreehash_list.c: Likewise.
55485         * lib/imaxabs.c: Likewise.
55486         * lib/imaxdiv.c: Likewise.
55487         * lib/javacomp.c: Likewise.
55488         * lib/javaexec.c: Likewise.
55489         * lib/javaversion.c: Likewise.
55490         * lib/linebreak.c: Likewise.
55491         * lib/localcharset.c: Likewise.
55492         * lib/lock.c: Likewise.
55493         * lib/mbchar.c: Likewise.
55494         * lib/mbswidth.c: Likewise.
55495         * lib/mkdtemp.c: Likewise.
55496         * lib/pipe.c: Likewise.
55497         * lib/printf-args.c: Likewise.
55498         * lib/printf-parse.c: Likewise.
55499         * lib/progname.c: Likewise.
55500         * lib/progreloc.c: Likewise.
55501         * lib/readlink.c: Likewise.
55502         * lib/sh-quote.c: Likewise.
55503         * lib/stpcpy.c: Likewise.
55504         * lib/stpncpy.c: Likewise.
55505         * lib/strcasecmp.c: Likewise.
55506         * lib/strcasestr.c: Likewise.
55507         * lib/strcspn.c: Likewise.
55508         * lib/striconv.c: Likewise.
55509         * lib/strncasecmp.c: Likewise.
55510         * lib/strnlen1.c: Likewise.
55511         * lib/strstr.c: Likewise.
55512         * lib/strtok_r.c: Likewise.
55513         * lib/tls.c: Likewise.
55514         * lib/tmpdir.c: Likewise.
55515         * lib/unicodeio.c: Likewise.
55516         * lib/unsetenv.c: Likewise.
55517         * lib/vasnprintf.c: Likewise.
55518         * lib/vasprintf.c: Likewise.
55519         * lib/wait-process.c: Likewise.
55520         * lib/xallocsa.c: Likewise.
55521         * lib/xsetenv.c: Likewise.
55522         * lib/xstriconv.c: Likewise.
55523
55524 2006-09-13  Simon Josefsson  <jas@extundo.com>
55525
55526         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
55527         that internally, suggested by Ralf Wildenhues
55528         <Ralf.Wildenhues@gmx.de>.
55529
55530 2006-09-13  Simon Josefsson  <jas@extundo.com>
55531
55532         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
55533         @LIBOBJS@.
55534         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55535
55536 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
55537
55538         * lib/_fpending.c: Include <config.h> unconditionally, since we no
55539         longer worry about uses that don't define HAVE_CONFIG_H.
55540         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
55541         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
55542         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
55543         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
55544         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
55545         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
55546         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
55547         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
55548         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
55549         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
55550         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
55551         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
55552         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
55553         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
55554         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
55555         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
55556         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
55557         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
55558         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
55559         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
55560         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
55561         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
55562         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
55563         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
55564         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
55565         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
55566         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
55567         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
55568         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
55569         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
55570         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
55571         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
55572         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
55573         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
55574         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
55575         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
55576         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
55577         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
55578         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
55579         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
55580         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
55581         Likewise.
55582
55583 2006-09-13  Eric Blake  <ebb9@byu.net>
55584
55585         * lib/getopt.c: Fix typo in last commit.
55586
55587 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
55588
55589         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
55590         dgettext.
55591
55592 2006-09-12  Jim Meyering  <jim@meyering.net>
55593
55594         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
55595         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
55596         Reported by Nelson H. F. Beebe.
55597
55598 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
55599
55600         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
55601         program_invocation_name and program_invocation_short_name are
55602         initialized.
55603         * lib/argp-namefrob.h: Move declarations of program_invocation_name
55604         and program_invocation_short_name to argp.h, so they are visible
55605         to user programs.
55606         * lib/argp.h: Likewise
55607
55608 2006-09-10  Bruno Haible  <bruno@clisp.org>
55609
55610         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
55611         m4/inttypes_h.m4, m4/uintmax_t.m4.
55612
55613 2006-09-10  Bruno Haible  <bruno@clisp.org>
55614
55615         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
55616         gl_AC_TYPE_UINTMAX_T.
55617
55618 2006-09-10  Bruno Haible  <bruno@clisp.org>
55619
55620         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
55621
55622 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
55623
55624         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
55625         convention.  Text proposed by Bruno Haible.
55626         (struct argp_option): Document the use of N_() wrappers.
55627
55628         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
55629         '\v', and translate the two parts separately, instead of feeding
55630         the whole string to gettext.  This allows to exclude
55631         '\v' from the strings visible to the translator by writing doc
55632         strings as N_("..") "\v" N_("..").
55633
55634 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
55635
55636         * config/srclist.txt: Undo latest change; the bug was fixed.
55637
55638 2006-09-09  Bruno Haible  <bruno@clisp.org>
55639
55640         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
55641         assignments if building a library without libtool.
55642         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
55643         in func_emit_lib_Makefile_am.
55644         (func_import): When building a static library libfoo.a, arrange to
55645         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
55646         (func_create_testdir): Likewise.
55647         * modules/gc (configure.ac, Makefile.am): If building statically,
55648         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
55649         * modules/iconvme (configure.ac, Makefile.am): Likewise.
55650         * modules/striconv (configure.ac, Makefile.am): Likewise.
55651         Based on a suggestion by Ralf Wildenhues.
55652
55653 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
55654
55655         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
55656         Check for unistd.h too, since Autoconf doesn't assume POSIX.
55657         Also:
55658
55659         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
55660         Add year_2050_test to catch glibc bug 2821
55661         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
55662
55663         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
55664         Prefer #ifdef to #if.
55665
55666         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
55667         Return from 'main' instead of calling 'exit'.
55668
55669 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
55670
55671         * lib/mktime.c (guess_time_tm): Fix bug where mktime
55672         returned the maximum time_t value rather than (time_t) -1.
55673         Problem originally reported by William Bardwell
55674         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
55675
55676         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
55677         Moved to here ...
55678         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
55679         ... from here.
55680
55681 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
55682
55683         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
55684         2821 is fixed.
55685
55686 2006-09-08  Jim Meyering  <jim@meyering.net>
55687
55688         Don't make generated files read-only.  That would bother too many
55689         people.  However, do retain the ability to work when targets are
55690         read-only: remove the destination and temporary files before writing
55691         them (when generated via sed or echo), or by using the -f option for
55692         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
55693         * modules/alloca-opt, modules/argz, modules/arpa_inet:
55694         * modules/byteswap, modules/configmake, modules/fcntl:
55695         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
55696         * modules/localcharset, modules/netinet_in, modules/poll:
55697         * modules/stdbool, modules/stdint, modules/sys_select:
55698         * modules/sys_socket, modules/sys_stat, modules/sysexits:
55699
55700 2006-09-08  Jim Meyering  <jim@meyering.net>
55701
55702         Avoid new build failure on FreeBSD 6.0.
55703         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
55704         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
55705         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
55706
55707 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55708
55709         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
55710
55711 2006-09-07  Jim Meyering  <jim@meyering.net>
55712
55713         Fix global typo in last change: use chmod u-w, not chmod u-x.
55714         Spotted by Paul Eggert and Bruce Korb.
55715         * modules/alloca-opt, modules/argz, modules/arpa_inet:
55716         * modules/byteswap, modules/configmake, modules/fcntl:
55717         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
55718         * modules/localcharset, modules/netinet_in, modules/poll:
55719         * modules/stdbool, modules/stdint, modules/sys_select:
55720         * modules/sys_socket, modules/sys_stat, modules/sysexits:
55721
55722 2006-09-06  Jim Meyering  <jim@meyering.net>
55723
55724         Make generated files be read-only.
55725         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
55726         Ensure that each generated file is now read-only.
55727         * modules/argz: Likewise.
55728         * modules/arpa_inet: Likewise.
55729         * modules/byteswap: Likewise.
55730         * modules/configmake: Likewise.
55731         * modules/fcntl: Likewise.
55732         * modules/fnmatch: Likewise.
55733         * modules/getopt: Likewise.
55734         * modules/glob: Likewise.
55735         * modules/inttypes: Likewise.
55736         * modules/netinet_in: Likewise.
55737         * modules/poll: Likewise.
55738         * modules/stdbool: Likewise.
55739         * modules/stdint: Likewise.
55740         * modules/sys_select: Likewise.
55741         * modules/sys_socket: Likewise.
55742         * modules/sys_stat: Likewise.
55743         * modules/sysexits: Likewise.
55744         * modules/localcharset: Same as above, but continue using temporary
55745         file named "t-$@" (why different?) rather than the "$@-t" used
55746         everywhere else.
55747
55748         * modules/sysexits (Makefile.am): Replace literal occurrences
55749         of "sysexit.h" more readable, and more consistent, "$@".
55750
55751 2006-09-06  Bruno Haible  <bruno@clisp.org>
55752
55753         * modules/striconv: New file.
55754         * modules/xstriconv: New file.
55755         * MODULES.html.sh (Internationalization functions): Add striconv,
55756         xstriconv.
55757
55758 2006-09-06  Bruno Haible  <bruno@clisp.org>
55759
55760         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
55761         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
55762         not using libtool correctly.
55763
55764 2006-09-06  Bruno Haible  <bruno@clisp.org>
55765
55766         * lib/striconv.h: New file.
55767         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
55768         iconvstring.c.
55769         * lib/xstriconv.h: New file.
55770         * lib/xstriconv.c: New file.
55771
55772 2006-09-06  Bruno Haible  <bruno@clisp.org>
55773
55774         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
55775         lib_..._LDFLAGS.
55776
55777 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55778
55779         * lib/argz_.h: Sync from Libtool.
55780
55781         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
55782                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
55783
55784         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
55785
55786 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
55787
55788         * modules/trim: New file.
55789
55790 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
55791
55792         * lib/trim.h: New file.
55793         * lib/trim.c: New file.
55794
55795 2006-09-05  Bruno Haible  <bruno@clisp.org>
55796
55797         * MODULES.html.sh (String handling): Add trim.
55798
55799 2006-09-04  Karl Berry  <karl@gnu.org>
55800
55801         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
55802         until next release.
55803
55804 2006-09-03  Bruno Haible  <bruno@clisp.org>
55805
55806         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
55807         correctly.
55808
55809 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
55810
55811         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
55812         not gl_GETLOADAVG.  Omit unneeded semicolons.
55813         Problems reported by Ralf Wildenhues in
55814         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
55815         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
55816         at the end, which is the usual gnulib style.
55817
55818         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
55819         of doing all the work ourselves.
55820         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
55821         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
55822
55823 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
55824
55825         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
55826         Problem reported by Ralf Wildenhues in
55827         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
55828
55829         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
55830         HAVE_STRUCT_STATFS_F_FSTYPENAME.
55831
55832 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
55833
55834         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
55835         yesterday's patch by changing test -n to test -z.
55836
55837 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
55838
55839         * modules/getloadavg (Files): Add m4/getloadavg.m4.
55840         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
55841         the former is now obsolescent.
55842
55843         * modules/chdir-long (Depends-on): Add fcntl.
55844
55845 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
55846
55847         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
55848         obsolescent, and programs should use gnulib instead.
55849         * m4/getloadavg.m4: New file, with contents taken from Autoconf
55850         but with prefixes changed.
55851
55852 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
55853
55854         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
55855         or stdbool.h, because they might not exist while configuring.
55856
55857         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
55858         Don't include unistd.h or limits.h; not needed, since chdir-long.h
55859         does that for us.
55860         (O_DIRECTORY): Remove.
55861
55862 2006-08-31  Eric Blake  <ebb9@byu.net>
55863
55864         * gnulib-tool: Don't let emacs change spaces to TAB.
55865
55866 2006-08-31  Bruno Haible  <bruno@clisp.org>
55867
55868         * gnulib-tool: When calling func_import more than once, do it in a
55869         subshell.
55870         Reported by Eric Blake <ebb9@byu.net>.
55871
55872 2006-08-31  Bruno Haible  <bruno@clisp.org>
55873
55874         * gnulib-tool (nl): Remove variable.
55875         (sed_transform_lib_file): Use more robust test for config-h module.
55876         (func_import): Fix typo in 2006-08-25 patch.
55877
55878 2006-08-31  Bruno Haible  <bruno@clisp.org>
55879
55880         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
55881         specified, augment Makefile.am variables instead of assigning them.
55882
55883 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
55884
55885         Work around a bug in both the Linux and SunOS 64-bit kernels:
55886         nanosleep mishandles sleeps for longer than 2**31 seconds.
55887         Problem reported by Frank v Waveren in
55888         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
55889         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
55890         Check for nanosleep bug.
55891         (LIB_NANOSLEEP): Append clock_gettime library if needed.
55892
55893 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
55894
55895         Work around a bug in both the Linux and SunOS 64-bit kernels:
55896         nanosleep mishandles sleeps for longer than 2**31 seconds.
55897         Problem reported by Frank v Waveren in
55898         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
55899         * lib/nanosleep.c (BILLION): New constant.
55900         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
55901         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
55902         implementation.
55903
55904 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
55905
55906         * modules/nanosleep (Depends-on): Add gettime.
55907
55908 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
55909         and Simon Josefsson  <jas@extundo.com>
55910         and Oskar Liljeblad  <oskar@osk.mine.nu>
55911
55912         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
55913         * gnulib-tool (func_import): New license type 'unmodifiable license
55914         text'.
55915         * modules/fdl: Use it.  Longer description.
55916         * module/gpl, module/lgpl: New files.
55917
55918 2006-08-30  Jim Meyering  <jim@meyering.net>
55919
55920         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
55921         shadowing the parameter.
55922
55923 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55924
55925         Sync from Libtool:
55926
55927         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55928
55929         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
55930         sharing with gnulib.  Report by Eric Blake.
55931
55932 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
55933
55934         * modules/isapipe: New file.
55935         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
55936
55937 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
55938
55939         * modules/configmake (Makefile.am): Add a comment, and omit
55940         the CONFIGMAKE_ prefix from generated macro names.  Suggested
55941         by Bruno Haible.
55942
55943 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
55944
55945         * m4/isapipe.m4: New file.
55946
55947 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
55948
55949         * lib/isapipe.c, lib/isapipe.h: New files.
55950
55951 2006-08-29  Jim Meyering  <jim@meyering.net>
55952
55953         * modules/configmake (Makefile.am): Make configmake.h depend on
55954         Makefile.  Otherwise, a stale configmake.h could hang around.
55955
55956 2006-08-29  Eric Blake  <ebb9@byu.net>
55957
55958         * lib/error.c (error_at_line, print_errno_message): Match libc, after
55959         resolution of upstream bug 3044.
55960
55961 2006-08-29  Bruno Haible  <bruno@clisp.org>
55962
55963         * modules/localcharset (Depends-on): Add configmake.
55964         (Makefile.am): Remove setting of LIBDIR through DEFS.
55965
55966 2006-08-29  Bruno Haible  <bruno@clisp.org>
55967
55968         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
55969         defined.
55970
55971 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
55972
55973         * modules/fcntl: New file.
55974         * modules/chdir-safer (Depends-on): Add fcntl.
55975         * modules/fts: Likewise.
55976         * modules/mkdir-p: Likewise.
55977
55978         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
55979         This undoes the most recent change, since we're now addressing the
55980         problem in a different way.
55981
55982         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
55983         into output, since the output might be called Makefile.am even
55984         if $makefile_name is something different.
55985         (func_import): Use $makefile_am rather than
55986         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
55987         empty.
55988
55989         * modules/inttypes (Files): Add m4/inttypes-h.m4.
55990
55991 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
55992
55993         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
55994         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
55995         recent change to stdint.m4, since we're now addressing the problem in a
55996         different way.
55997
55998 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
55999
56000         * m4/fcntl_h.m4: New file.
56001
56002 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
56003
56004         * lib/fcntl_.h: New file.
56005         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
56006         the fcntl module.
56007         * lib/dirchownmod.c: Likewise.
56008         * lib/fts.c: Likewise.
56009
56010         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
56011         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
56012         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
56013         just before including <inttypes.h>, to avoid circular inclusion.
56014
56015 2006-08-28  Jim Meyering  <jim@meyering.net>
56016
56017         * doc/visibility.texi: Actually read and correct the grammar of the
56018         sentence affected by yesterday's change.
56019
56020 2006-08-28  Eric Blake  <ebb9@byu.net>
56021
56022         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
56023         needs wrapper.
56024
56025 2006-08-28  Eric Blake  <ebb9@byu.net>
56026
56027         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
56028
56029 2006-08-28  Eric Blake  <ebb9@byu.net>
56030
56031         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
56032
56033 2006-08-28  Bruno Haible  <bruno@clisp.org>
56034
56035         * modules/c-strstr: New file, from GNU gettext.
56036         * MODULES.html.sh (String handling): Add c-strstr.
56037
56038 2006-08-28  Bruno Haible  <bruno@clisp.org>
56039
56040         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
56041         macros.
56042         Reported by Eric Blake.
56043
56044 2006-08-28  Bruno Haible  <bruno@clisp.org>
56045
56046         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
56047         (VASNPRINTF): Return a string of length > INT_MAX without failing.
56048         * lib/vasprintf.c: Include errno.h, limits.h.
56049         (EOVERFLOW): New fallback definition.
56050         (vasprintf): Test here whether the string length is > INT_MAX.
56051         * lib/vsnprintf.c: Include errno.h, limits.h.
56052         (EOVERFLOW): New fallback definition.
56053         (vsnprintf): Fix bug when generated string was too long for the buffer.
56054         Test here whether the string length is > INT_MAX.
56055
56056 2006-08-28  Bruno Haible  <bruno@clisp.org>
56057
56058         * lib/inttypes_.h (SCNX*): Remove definitions.
56059         Reported by Eric Blake.
56060
56061 2006-08-28  Bruno Haible  <bruno@clisp.org>
56062
56063         * lib/c-strstr.h: New file, from GNU gettext.
56064         * lib/c-strstr.c: New file, from GNU gettext.
56065
56066 2006-08-28  Bruno Haible  <bruno@clisp.org>
56067
56068         * gnulib-tool: Reorder some statements.
56069
56070 2006-08-28  Bruno Haible  <bruno@clisp.org>
56071
56072         * gnulib-tool: New option --makefile-name.
56073         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
56074         $makefile_name.
56075         (func_import): Write $makefile_name to the cache file, and read it from
56076         there unless explicitly specified. Use $makefile_name as file name
56077         instead of Makefile.am. Adjust the recommendations accordingly.
56078
56079 2006-08-28  Bruno Haible  <bruno@clisp.org>
56080
56081         * gnulib-tool (func_verify_module): Check against misapplying patch.
56082
56083 2006-08-28  Bruno Haible  <bruno@clisp.org>
56084
56085         * gnulib-tool (func_relativize, func_relconcat): New functions.
56086         Give an error if --local-dir is given with --update.
56087         Remove trailing slashes from $local_gnulib_dir.
56088         (func_import): Store the relativized $local_gnulib_dir in
56089         gnulib-cache.m4, and read it from there if not specified explicitly.
56090
56091 2006-08-28  Bruno Haible  <bruno@clisp.org>
56092
56093         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
56094         is the current directory. Respect also $local_gnulib_dir.
56095
56096 2006-08-28  Bruno Haible  <bruno@clisp.org>
56097             Simon Josefsson  <jas@extundo.com>
56098
56099         BeOS portability.
56100         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
56101
56102 2006-08-27  Jim Meyering  <jim@meyering.net>
56103
56104         * doc/visibility.texi: Remove duplicate word: "pointer".
56105
56106 2006-08-26  Bruno Haible  <bruno@clisp.org>
56107
56108         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
56109         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
56110         (Makefile.am): Create inttypes.h from inttypes_.h.
56111         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
56112
56113         * modules/imaxabs: New file.
56114
56115         * modules/imaxdiv: New file.
56116
56117 2006-08-26  Bruno Haible  <bruno@clisp.org>
56118
56119         * m4/inttypes.m4: New file.
56120         * m4/_inttypes_h.m4: Remove file.
56121         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
56122         PRI_MACROS_BROKEN.
56123         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
56124
56125         * m4/imaxabs.m4: New file.
56126
56127         * m4/imaxdiv.m4: New file.
56128
56129 2006-08-26  Bruno Haible  <bruno@clisp.org>
56130
56131         * lib/inttypes_.h: New file.
56132         * lib/inttypes.h: Remove file.
56133         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
56134
56135         * lib/imaxabs.c: New file.
56136
56137         * lib/imaxdiv.c: New file.
56138
56139 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56140
56141         New config-h module, so that "make" output needn't be cluttered
56142         by -DHAVE_CONFIG_H.
56143         * MODULES.html.sh (Support for building libraries and executables):
56144         Add config-h.
56145         * modules/config-h: New file.
56146         * gnulib-tool (nl, sed_transform_lib_file): New vars.
56147         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
56148         the config-h module is used.
56149
56150         New configmake module, so that "make" output needn't be cluttered
56151         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
56152         * MODULES.html.sh (Support for building libraries and executables):
56153         Add configmake.
56154         * modules/configmake: New file.
56155
56156 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56157
56158         * m4/config-h.m4: New file.
56159
56160 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
56161
56162         * config/srclist.txt: Add elisp-comp.
56163
56164 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
56165
56166         * MODULES.html.sh (Support for building libraries and executables):
56167         Add elisp-comp.
56168         * build-aux/elisp-comp: New file.
56169         * modules/elisp-comp: New file.
56170
56171 2006-08-24  Bruno Haible  <bruno@clisp.org>
56172
56173         * gnulib-tool (func_create_testdir): Use non-default values of
56174         sourcebase and m4base.
56175
56176 2006-08-24  Bruno Haible  <bruno@clisp.org>
56177
56178         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
56179         HTML structure.
56180
56181 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
56182
56183         * modules/openat (Depends-on): Add lchown.
56184
56185 2006-08-23  Bruno Haible  <bruno@clisp.org>
56186
56187         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
56188         of gl_LOCK_EARLY instead of gl_LOCK.
56189
56190 2006-08-23  Bruno Haible  <bruno@clisp.org>
56191
56192         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
56193         on OSF/1 to no.
56194         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
56195
56196 2006-08-23  Bruno Haible  <bruno@clisp.org>
56197
56198         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
56199         as unusable.
56200
56201         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
56202         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
56203         (gl_LOCK): New macro.
56204
56205 2006-08-22  Simon Josefsson  <jas@extundo.com>
56206
56207         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
56208         to md5 module.
56209
56210 2006-08-22  Simon Josefsson  <jas@extundo.com>
56211
56212         * MODULES.html.sh: Add "Support for maintaining and release
56213         projects".
56214
56215         * build-aux/gnupload: New file, from coreutils.
56216
56217 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
56218
56219         Avoid the need for AC_LIBSOURCES in m4 macros.
56220         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
56221         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
56222         * modules/check-version (EXTRA_DIST): Add check-version.h.
56223         * modules/crc (EXTRA_DIST): Add crc.h.
56224         * modules/des (EXTRA_DIST): Add des.h.
56225         * modules/gc (EXTRA_DIST): Add gc.h.
56226         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
56227         * modules/getline (EXTRA_DIST): Add getline.h.
56228         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
56229         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
56230         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
56231         * modules/md2 (EXTRA_DIST): Add md2.h.
56232         * modules/md4 (EXTRA_DIST): Add md4.h.
56233         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
56234         * modules/read-file (EXTRA_DIST): Add read-file.h.
56235         * modules/readline (EXTRA_DIST): Add readline.h.
56236         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
56237         rijndael-api-fst.h.
56238
56239 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
56240
56241         * m4/rijndael.m4 (gl_ARCFOUR):
56242         * m4/arctwo.m4 (gl_ARCTWO):
56243         * m4/check-version.m4 (gl_CHECK_VERSION):
56244         * m4/crc.m4 (gl_CRC):
56245         * m4/des.m4 (gl_DES):
56246         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
56247         * m4/gc.m4 (gl_GC):
56248         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
56249         * m4/getline.m4 (gl_FUNC_GETLINE):
56250         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
56251         * m4/hmac-md5.m4 (gl_HMAC_MD5):
56252         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
56253         * m4/md2.m4 (gl_MD2):
56254         * m4/md4.m4 (gl_MD4):
56255         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
56256         * m4/read-file.m4 (gl_FUNC_READ_FILE):
56257         * m4/readline.m4 (gl_FUNC_READLINE):
56258         * m4/rijndael.m4 (gl_RIJNDAEL):
56259         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
56260         to get the necessary .h files and whatnot.
56261
56262 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
56263
56264         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
56265         gnulib rather than the other way around.
56266         * config/srclistvars.sh (COREUTILS): Remove.
56267
56268 2006-08-22  Jim Meyering  <jim@meyering.net>
56269
56270         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
56271
56272         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
56273
56274 2006-08-22  Eric Blake  <ebb9@byu.net>
56275
56276         * modules/regexprops-generic: New file.
56277         * MODULES.html.sh (Support for building documentation): List it.
56278
56279 2006-08-22  Eric Blake  <ebb9@byu.net>
56280
56281         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
56282         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
56283         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
56284         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
56285
56286 2006-08-22  Bruno Haible  <bruno@clisp.org>
56287
56288         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
56289         and lib_LTLIBRARIES like the other lib_* variables.
56290
56291 2006-08-22  Bruno Haible  <bruno@clisp.org>
56292
56293         * build-aux/x-to-1.in: New file, from GNU gettext.
56294
56295 2006-08-22  Bruno Haible  <bruno@clisp.org>
56296
56297         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
56298         <utmpx.h> exists.
56299
56300 2006-08-22  Bruno Haible  <bruno@clisp.org>
56301
56302         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
56303         <utmpx.h> exists.
56304
56305 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
56306
56307         BeOS portability.
56308         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
56309         exist.
56310         Problem reported by Bruno Haible.
56311
56312 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
56313
56314         Avoid the need for AC_LIBSOURCES in m4 macros.
56315         * modules/acl (EXTRA_DIST): Add acl.h.
56316         * modules/argmatch (Files): Add m4/argmatch.m4.
56317         (configure.ac): Add gl_ARGMATCH.
56318         (EXTRA_DIST): Renamed from lib_SOURCES, for
56319         consistency with the other modules.  Remove argmatch.c.
56320         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
56321         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
56322         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
56323         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
56324         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
56325         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
56326         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
56327         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
56328         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
56329         * modules/closeout (EXTRA_DIST): Add closeout.h.
56330         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
56331         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
56332         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
56333         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
56334         dirname.h; remove basename.c and stripslash.c.
56335         * modules/exclude (EXTRA_DIST): Add exclude.h.
56336         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
56337         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
56338         * modules/file-type (EXTRA_DIST): Add file-type.h.
56339         * modules/filemode (EXTRA_DIST): Add filemode.h.
56340         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
56341         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
56342         * modules/fpending (EXTRA_DIST): Add __fpending.h.
56343         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
56344         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
56345         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
56346         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
56347         * modules/getdate (EXTRA_DIST): Add getdate.c.
56348         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
56349         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
56350         * modules/getpass (EXTRA_DIST): Add getpass.h.
56351         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
56352         * modules/group-member (EXTRA_DIST): Add group-member.h.
56353         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
56354         * modules/hash (EXTRA_DIST): Add hash.h.
56355         * modules/human (EXTRA_DIST): Add human.h.
56356         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
56357         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
56358         * modules/lchown (EXTRA_DIST): Add lchown.h.
56359         * modules/long-options (EXTRA_DIST): Add long-options.h.
56360         * modules/lstat (EXTRA_DIST): Add lstat.h.
56361         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
56362         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
56363         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
56364         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
56365         * modules/memxor (EXTRA_DIST): Add memxor.h.
56366         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
56367         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
56368         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
56369         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
56370         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
56371         * modules/physmem (EXTRA_DIST): Add physmem.h.
56372         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
56373         * modules/posixver (EXTRA_DIST): Add posixver.h.
56374         * modules/quote (EXTRA_DIST): Add quote.h.
56375         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
56376         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
56377         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
56378         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
56379         regex_internal.h regexec.c.
56380         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
56381         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
56382         * modules/same (EXTRA_DIST): Add same.h.
56383         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
56384         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
56385         * modules/savedir (EXTRA_DIST): Add savedir.h.
56386         * modules/sha1 (EXTRA_DIST): Add sha1.h.
56387         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
56388         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
56389         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
56390         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
56391         * modules/strdup (EXTRA_DIST): Add strdup.h.
56392         * modules/strftime (EXTRA_DIST): Add strftime.h.
56393         * modules/strndup (EXTRA_DIST): Add strndup.h.
56394         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
56395         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
56396         * modules/time_r (EXTRA_DIST): Add time_r.h.
56397         * modules/timespec (EXTRA_DIST): Add timespec.h.
56398         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
56399         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
56400         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
56401         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
56402         * modules/userspec (EXTRA_DIST): Add userspec.h.
56403         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
56404         * modules/utimens (EXTRA_DIST): Add utimens.h.
56405         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
56406         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
56407         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
56408         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
56409         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
56410         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
56411         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
56412         * modules/yesno (EXTRA_DIST): Add yesno.h.
56413
56414 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
56415
56416         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
56417
56418         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
56419         * m4/dev-ino.m4, same-inode.m4: Remove.
56420
56421         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
56422         * m4/acl.m4 (AC_FUNC_ACL):
56423         * m4/backupfile.m4 (gl_BACKUPFILE):
56424         * m4/c-strtod.m4 (gl_C99_STRTOLD):
56425         * m4/canon-host.m4 (gl_CANON_HOST):
56426         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
56427         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
56428         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
56429         * m4/cloexec.m4 (gl_CLOEXEC):
56430         * m4/close-stream.m4 (gl_CLOSE_STREAM):
56431         * m4/closeout.m4 (gl_CLOSEOUT):
56432         * m4/dirfd.m4 (gl_FUNC_DIRFD):
56433         * m4/dirname.m4 (gl_DIRNAME):
56434         * m4/exclude.m4 (gl_EXCLUDE):
56435         * m4/exitfail.m4 (gl_EXITFAIL):
56436         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
56437         * m4/file-type.m4 (gl_FILE_TYPE):
56438         * m4/filemode.m4 (gl_FILEMODE):
56439         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
56440         * m4/fpending.m4 (gl_FUNC_FPENDING):
56441         * m4/fprintftime.m4 (gl_FPRINTFTIME):
56442         * m4/fts.m4 (gl_FUNC_FTS):
56443         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
56444         * m4/getdate.m4 (gl_GETDATE):
56445         * m4/gethrxtime.m4 (gl_GETHRXTIME):
56446         * m4/getpagesize.m4 (gl_GETPAGESIZE):
56447         * m4/getpass.m4 (gl_FUNC_GETPASS):
56448         * m4/gettime.m4 (gl_GETTIME):
56449         * m4/getugroups.m4 (gl_GETUGROUPS):
56450         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
56451         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
56452         * m4/hard-locale.m4 (gl_HARD_LOCALE):
56453         * m4/hash.m4 (gl_HASH):
56454         * m4/idcache.m4 (gl_IDCACHE):
56455         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
56456         * m4/lchown.m4 (gl_FUNC_LCHOWN):
56457         * m4/long-options.m4 (gl_LONG_OPTIONS):
56458         * m4/lstat.m4 (gl_FUNC_LSTAT):
56459         * m4/md5.m4 (gl_MD5):
56460         * m4/memcasecmp.m4 (gl_MEMCASECMP):
56461         * m4/memcoll.m4 (gl_MEMCOLL):
56462         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
56463         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
56464         * m4/memxor.m4 (gl_MEMXOR):
56465         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
56466         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
56467         * m4/modechange.m4 (gl_MODECHANGE):
56468         * m4/mountlist.m4 (gl_MOUNTLIST):
56469         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
56470         * m4/openat.m4 (gl_FUNC_OPENAT):
56471         * m4/pathmax.m4 (gl_PATHMAX):
56472         * m4/physmem.m4 (gl_PHYSMEM):
56473         * m4/posixtm.m4 (gl_POSIXTM):
56474         * m4/posixver.m4 (gl_POSIXVER):
56475         * m4/quote.m4 (gl_QUOTE):
56476         * m4/quotearg.m4 (gl_QUOTEARG):
56477         * m4/readtokens.m4 (gl_READTOKENS):
56478         * m4/readutmp.m4 (gl_READUTMP):
56479         * m4/regex.m4 (gl_REGEX):
56480         * m4/safe-read.m4 (gl_SAFE_READ):
56481         * m4/safe-write.m4 (gl_SAFE_WRITE):
56482         * m4/same.m4 (gl_SAME):
56483         * m4/save-cwd.m4 (gl_SAVE_CWD):
56484         * m4/savedir.m4 (gl_SAVEDIR):
56485         * m4/settime.m4 (gl_SETTIME):
56486         * m4/sha1.m4 (gl_SHA1):
56487         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
56488         * m4/stat-macros.m4 (gl_STAT_MACROS):
56489         * m4/stat-time.m4 (gl_STAT_TIME):
56490         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
56491         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
56492         * m4/strdup.m4 (gl_FUNC_STRDUP):
56493         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
56494         * m4/strndup.m4 (gl_FUNC_STRNDUP):
56495         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
56496         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
56497         * m4/time_r.m4 (gl_TIME_R):
56498         * m4/timespec.m4 (gl_TIMESPEC):
56499         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
56500         * m4/unlinkdir.m4 (gl_UNLINKDIR):
56501         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
56502         * m4/userspec.m4 (gl_USERSPEC):
56503         * m4/utimecmp.m4 (gl_UTIMECMP):
56504         * m4/utimens.m4 (gl_UTIMENS):
56505         * m4/xalloc.m4 (gl_XALLOC):
56506         * m4/xgetcwd.m4 (gl_XGETCWD):
56507         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
56508         * m4/xreadlink.m4 (gl_XREADLINK):
56509         * m4/xstrtod.m4 (gl_XSTRTOD):
56510         * m4/yesno.m4 (gl_YESNO):
56511         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
56512         to get the necessary .h files and whatnot.
56513
56514 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
56515             Bruno Haible  <bruno@clisp.org>
56516
56517         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
56518         /bin/sh understanding of '!' conditional negation.
56519
56520 2006-08-21  Jim Meyering  <jim@meyering.net>
56521
56522         * modules/openat (Depends-on): Really alphabetize.
56523
56524         * modules/acl (Depends-on): Add error and quote.
56525
56526         * check-module (find_included_lib_files): Add at-func.c to the
56527         ok-to-include-more-than-once white list.
56528
56529         * modules/openat (Depends-on): Add lstat.  Alphabetize.
56530
56531 2006-08-21  Bruno Haible  <bruno@clisp.org>
56532
56533         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
56534         Emit a pkgdata_DATA variable only if some snippets add contents to it.
56535         Reported by Martin Lambers <marlam@marlam.de>.
56536
56537 2006-08-21  Bruno Haible  <bruno@clisp.org>
56538
56539         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
56540         specify an installation location, don't emit a noinst_LIBRARIES or
56541         noinst_LTLIBRARIES assignment.
56542
56543 2006-08-21  Bruno Haible  <bruno@clisp.org>
56544
56545         BeOS portability.
56546         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
56547         BeOS has mbrtowc() but no <wctype.h>.
56548
56549 2006-08-21  Bruno Haible  <bruno@clisp.org>
56550
56551         BeOS portability.
56552         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
56553         exist.
56554
56555 2006-08-21  Bruno Haible  <bruno@clisp.org>
56556
56557         BeOS portability.
56558         * lib/mbchar.h: Include <wctype.h> only if it exists.
56559
56560 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
56561
56562         Remove files that are no longer needed by their respective modules.
56563         * m4/obstack.m4: Remove.
56564         * m4/strerror_r.m4: Remove.
56565         * m4/uint32_t.m4: Remove.
56566         * m4/uintptr_t.m4: Remove.
56567         * m4/ullong_max.m4: Remove.
56568         * m4/xstrtoimax.m4: Remove.
56569         * m4/xstrtoumax.m4: Remove.
56570
56571         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
56572         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
56573         dependencies now capture this.
56574
56575         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
56576         Do not use AC_LIBSOURCES, since gnulib modules now do this.
56577         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
56578         * m4/human.m4 (gl_HUMAN): Likewise.
56579         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
56580         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
56581
56582         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
56583
56584         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
56585         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
56586         stdint.
56587         * m4/human.m4 (gl_HUMAN): Likewise.
56588         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
56589         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
56590         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
56591         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
56592         * m4/xstrtol (gl_XSTRTOL): Likewise.
56593
56594         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
56595         AC_TYPE_LONG_LONG_INT.
56596         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
56597         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
56598         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
56599         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
56600
56601         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
56602         on stdbool.
56603
56604         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
56605         (gl_PREREQ_XSTRTOUL): Remove.
56606
56607         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
56608
56609         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
56610         mode.
56611
56612 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
56613
56614         Add and change modules to make it easier for coreutils to use
56615         gnulib-tool.
56616         * modules/backupfile (Files): Remove m4/d-ino.m4.
56617         (Depends-on): Add d-ino.
56618         * modules/cycle-check (Depends-on): Add stdint.
56619         (lib_SOURCES): Add cycle-check.h.
56620         * modules/d-ino: New module.
56621         * modules/d-type: New module.
56622         * modules/error (Files): Remove m4/strerror_r.m4.
56623         * modules/filemode (Files): Add m4/st_dm_mode.m4.
56624         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
56625         m4/inttypes_h.m4, m4/uintmax_t.m4.
56626         (Depends-on): Add stdint.
56627         (lib_SOURCES): Add fsusage.h.
56628         * modules/getcwd (Files): Remove d-ino.m4.
56629         (Depends-on): Add d-ino.
56630         * modules/getndelim2 (Depends-on): Add stdint.
56631         * modules/glob (Files): Remove m4/d-type.m4.
56632         (Depends-on): Add d-type.
56633         * modules/host-os: New module.
56634         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
56635         m4/inttypes_h.m4, m4/uintmax_t.m4.
56636         * Depends-on: Add stdint.
56637         (lib_SOURCES): Add human.h.
56638         * modules/inttostr (Files): Remove m4/intmax_t.m4,
56639         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
56640         m4/uintmax_t.m4, m4/ulonglong.m4.
56641         (Depends-on): Add stdint.
56642         (EXTRA_DIST): Add inttostr.h.
56643         * modules/lchmod: New module.
56644         * modules/link-follow: New module.
56645         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
56646         (Depends-on): Add lchmod.
56647         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
56648         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
56649         (Depends-on): Add stdint.
56650         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
56651         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
56652         (Depends-on): Add stdint.
56653         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
56654         * modules/perl: New module.
56655         * modules/regex (Depends-on): Add stdint.
56656         * modules/rmdir-errno: New module.
56657         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
56658         m4/intmax_t.m4.
56659         (Depends-on): Add stdint.
56660         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
56661         m4/uintmax_t.m4.
56662         (Depends-on): Add stdint.
56663         * modules/unlink-busy: New module.
56664         * modules/utimecmp (Depends-on): Add stdint.
56665         * modules/uptime: New module.
56666         * modules/winsz-ioctl: New module.
56667         * modules/winsz-termios: New module.
56668         * modules/xnanosleep (Depends-on): Add nanosleep.
56669         * modules/ullong_max: Remove.
56670         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
56671         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
56672         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
56673         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
56674         (Depends-on): Add inttypes.
56675         (lib_SOURCES): Add xstrtol.h.
56676         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
56677         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
56678         * MODULES.html.sh: Move 'assert' into the assert section.
56679         Move 'dummy' into the linking section.
56680         Remove ullong_max.
56681         Add section for compatibility checks for POSIX:2001 functions,
56682         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
56683         winsz-ioctl, and winsz-termios into it.
56684         Add lchmod.
56685         Add top-level Misc section and put host-os, perl, and uptime
56686         into it.
56687
56688 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
56689
56690         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
56691         now assume the stdint module.  Do not include inttypes.h.
56692         * lib/fsusage.h: Likewise.
56693         * lib/getndelim2.c: Likewise.
56694         * lib/human.h: Likewise.
56695         * lib/inttostr.h: Likewise.
56696         * lib/obstack.c: Likewise.
56697         * lib/regex_internal.h: Likewise.
56698         * lib/tempname.c: Likewise.
56699         * lib/utimecmp.c: Likewise.
56700         * lib/xstrtol.h: Likewise.
56701
56702         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
56703
56704         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
56705         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
56706         * lib/xtime.h: Likewise.
56707
56708 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
56709
56710         * modules/openat (Files): Add lib/fchmodat.c.
56711         Fixes problem reported by Jay Youngman.
56712
56713 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
56714
56715         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
56716         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
56717
56718 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
56719             Bruno Haible  <bruno@clisp.org>
56720
56721         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
56722         and is a script that invokes bison. Tighten the code. Add comments.
56723
56724 2006-08-18  Jim Meyering  <jim@meyering.net>
56725
56726         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
56727         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
56728         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
56729         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
56730
56731 2006-08-18  Bruno Haible  <bruno@clisp.org>
56732
56733         * modules/bison-i18n: New file.
56734         * MODULES.html.sh (Internationalization functions): Add it.
56735
56736 2006-08-18  Bruno Haible  <bruno@clisp.org>
56737
56738         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
56739         sys/statvfs.h. When getmntinfo was found, check its declaration and
56740         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
56741
56742 2006-08-18  Bruno Haible  <bruno@clisp.org>
56743
56744         * m4/bison-i18n.m4: New file, from bison.
56745
56746 2006-08-18  Bruno Haible  <bruno@clisp.org>
56747
56748         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
56749         (ME_DUMMY): Treat "kernfs" as a dummy.
56750         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
56751
56752 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
56753
56754         Update from coreutils.
56755
56756         2006-08-15  Jim Meyering  <jim@meyering.net>
56757
56758         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
56759
56760         2006-01-17  Jim Meyering  <jim@meyering.net>
56761
56762         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
56763
56764         2006-01-11  Jim Meyering  <jim@meyering.net>
56765
56766         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
56767         Check for the lchmod function.
56768
56769 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
56770
56771         Update from coreutils.
56772
56773         * lib/__fpending.h: Add copyright notice.
56774         * lib/fprintftime.h: Likewise.
56775         * lib/savedir.c: Use (C) in copyright notice.
56776         * lib/savedir.h: Likewise.
56777
56778         2006-08-15  Jim Meyering  <jim@meyering.net>
56779
56780         * lib/at-func.c: New file, with the logic of all emulated at-functions.
56781         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
56782         in support of the EXPECTED_ERRNO macro.
56783         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
56784         definitions.  Instead, define the appropriate symbols and include
56785         "at-func.c".
56786         * lib/mkdirat.c (mkdirat): Likewise.
56787         * lib/fchmodat.c (fchmodat): Likewise.
56788         (ENOSYS): Remove definition.
56789         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
56790         it.  Don't include "unistd--.h" -- it wasn't ever used.
56791
56792         2006-01-17  Jim Meyering  <jim@meyering.net>
56793
56794         Rewrite fts.c not to change the current working directory,
56795         by using openat, fstatat, fdopendir, etc..
56796
56797         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
56798         (HAVE_OPENAT_SUPPORT): Define.
56799         [_LIBC] (fchdir): Don't undef or define; no longer used.
56800         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
56801         Now, this `function' always succeeds, and consumes its file descriptor
56802         parameter -- so callers must not close such FDs.  Update callers.
56803         (diropen_fd, opendirat, cwd_advance_fd): New functions.
56804         (diropen): Add parameter, SP.  Adjust all callers.
56805         Implement using diropen_fd, rather than open.
56806         (fts_open): Initialize new member, fts_cwd_fd.
56807         Remove fts_rft-setting code.
56808         (fts_close): Close fts_cwd_fd, if necessary.
56809         (__opendir2): Define in terms of opendir or opendirat,
56810         depending on whether the FST_NOCHDIR flag is set.
56811         (fts_build): Since fts_safe_changedir consumes its FD, and since
56812         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
56813         and close the dup'd file descriptor upon failure.
56814         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
56815         (fts_safe_changedir): Tweak semantics to reflect that this function
56816         now calls cwd_advance_fd and hence consumes its FD argument.
56817         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
56818         [struct FTS] (fts_rft): Remove now-unused member.
56819         [struct FTS] (fts_cycle.state): Improve comment.
56820
56821         * lib/openat.c (openat_needs_fchdir): New function.
56822         * lib/openat.h (openat_needs_fchdir): Declare it.
56823
56824 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
56825
56826         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
56827         Problem and fix reported by Pádraig Brady in
56828         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
56829
56830 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
56831
56832         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
56833
56834 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
56835
56836         * lib/memcoll.c (memcoll): Optimize for the common case where the
56837         arguments are bytewise equal.
56838
56839 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
56840
56841         * doc/regexprops-generic.texi: Add a copyright notice.
56842
56843 2006-08-15  Bruno Haible  <bruno@clisp.org>
56844
56845         * modules/tmpdir (License): Change to LGPL.
56846
56847 2006-08-15  Bruno Haible  <bruno@clisp.org>
56848
56849         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
56850         module.
56851
56852 2006-08-14  Simon Josefsson  <jas@extundo.com>
56853
56854         * config/srclist.txt: Add gnupload.
56855
56856 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
56857
56858         Change copyright notice from LGPL 2 to GPL 2, since that's the
56859         standard form used in the gnulib repository.
56860         * tests/test-lock.c: Likewise.
56861         * tests/test-stdint.c: Likewise.
56862         * tests/test-tls.c: Likewise.
56863
56864         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
56865         prelude-manager.  User shorter URLs for GNU projects, without '?'.
56866         Add copyright notice.
56867
56868         * check-module: Add copyright notice.  Output a copyright
56869         notice if "--version" is specified.
56870         * modules/COPYING: New file.
56871         * tests/test-getaddrinfo.c: Add copyright notice.
56872         * tests/test-verify.c: Likewise.
56873
56874 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
56875
56876         Change copyright notice from LGPL 2 to GPL 2, since that's the
56877         standard form used in the gnulib repository.
56878         * lib/lock.c: LGPL -> GPL.
56879         * lib/lock.h: Likewise.
56880         * lib/strnlen1.c: Likewise.
56881         * lib/strnlen1.h: Likewise.
56882         * lib/tls.c: Likewise.
56883         * lib/tls.h: Likewise.
56884         * lib/tmpdir.c: Likewise.
56885
56886         * lib/TODO: Remove; this belongs only in coreutils.
56887
56888 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
56889
56890         Add copyright notices to long-enough files that lack them, since
56891         otherwise the files aren't clearly free.  Use the same notice that
56892         getdate.texi already uses.
56893         * doc/alloca-opt.texi: Add copyright notice.
56894         * doc/alloca.texi: Likewise.
56895         * doc/ctime.texi: Likewise.
56896         * doc/functions.texi: Likewise.
56897         * doc/gcd.texi: Likewise.
56898         * doc/gnulib-tool.texi: Likewise.
56899         * doc/inet_ntoa.texi: Likewise.
56900         * doc/visibility.texi: Likewise.
56901
56902         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
56903         * doc/quote.texi: Add copyright notice.
56904
56905         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
56906         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
56907         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
56908         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
56909         is now obsolete, and give a pointer to the Sun list.
56910         Add copyright notice.
56911
56912 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
56913
56914         * config/srclistvars.sh: Add copyright notice.
56915
56916 2006-08-14  Eric Blake  <ebb9@byu.net>
56917
56918         Import the following change from libc:
56919
56920         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
56921
56922         Upstream bug 2997.
56923         * lib/misc/error.c: Add space between program name and message if file
56924         name is missing.
56925
56926 2006-08-12  Karl Berry  <karl@gnu.org>
56927
56928         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
56929         remove, these originate in gnulib now.
56930
56931 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56932
56933         * doc/Makefile (standards.info standards.html standards.dvi):
56934         Also depend on make-stds.texi.
56935
56936 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
56937
56938         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
56939         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
56940
56941         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
56942         in wchar_t.  Problem reported by Eric Blake.
56943
56944         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
56945         LEN is smaller than SIZE.  Suggested by Bruno Haible.
56946         Also, help the compiler to keep LEN in a register.
56947
56948 2006-08-11  Eric Blake  <ebb9@byu.net>
56949
56950         * users.txt: Sort.  Add tar.
56951
56952 2006-08-11  Bruno Haible  <bruno@clisp.org>
56953
56954         * users.txt: New file.
56955
56956 2006-08-11  Bruno Haible  <bruno@clisp.org>
56957
56958         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
56959         before <wchar.h>. Needed for OSF/1 and BSD/OS.
56960
56961 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
56962
56963         * modules/snprintf (Depends-on): Remove minmax.
56964         (Maintainer): Add self and Bruno.
56965
56966 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
56967
56968         * lib/.cppi-disable: Add snprintf.h, socket_.h.
56969         * lib/snprintf.c: Include <errno.h> and <limits.h>.
56970         (EOVERFLOW): Define if the system does not.
56971         Do not include "minmax.h"; it wasn't used.
56972         (snprintf): Don't assume size_t promotes to an unsigned type.
56973         Fix bug when generated string was too long for the buffer: the
56974         buffer's contents are supposed to be the initial prefix of the
56975         output.  Don't assume vasnprintf returns EOVERFLOW if the size
56976         exceeds INT_MAX; do the check ourselves.
56977
56978         Import the following changes from libc:
56979
56980         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
56981
56982         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
56983         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
56984         set wc to the byte which couldn't be converted.
56985         (re_string_reconstruct): Don't clear valid_raw_len before calling
56986         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
56987         tip_context using re_string_context_at.
56988
56989         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
56990
56991         * lib/posix/regex.h: g++ still cannot handled [restrict].
56992
56993         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
56994
56995         * lib/posix/regex.h: Remove special handling for VMS.
56996
56997 2006-08-10  Jim Meyering  <jim@meyering.net>
56998
56999         * modules/same-inode: New module.
57000         * modules/dev-ino: New module.
57001         * modules/cycle-check: Depend on these modules, rather than simply
57002         including their .h files.
57003         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
57004         required via m4/cycle-check.m4.
57005         * modules/same: Depend on new same-inode module, rather than
57006         including same-inode.h.
57007         * modules/chdir-safer: New file.
57008
57009         * modules/chown (Depends-on): Add stat-macros.
57010
57011 2006-08-10  Jim Meyering  <jim@meyering.net>
57012
57013         * m4/cycle-check.m4: New file.
57014         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
57015         * m4/dev-ino.m4, m4/same-inode.m4: New files.
57016
57017 2006-08-10  Eric Blake  <ebb9@byu.net>
57018
57019         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
57020         in from original proposal.
57021
57022 2006-08-10  Eric Blake  <ebb9@byu.net>
57023         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
57024
57025         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
57026         namespace.
57027
57028 2006-08-10  Bruno Haible  <bruno@clisp.org>
57029
57030         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
57031         as well.
57032
57033 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57034
57035         Sync from coreutils.
57036
57037         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
57038
57039         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
57040         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
57041
57042 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57043
57044         * modules/restrict: Remove; no longer needed now that we assume
57045         Autoconf 2.59 or later.
57046         * MODULES.html.sh: Remove 'restrict'.
57047         * modules/argp (Depends-on): Remove 'restrict'.
57048         * modules/base64 (Depends-on): Likewise.
57049         * modules/gc (Depends-on): Likewise.
57050         * modules/getaddrinfo (Depends-on): Likewise.
57051         * modules/glob (Depends-on): Likewise.
57052         * modules/inet_ntop (Depends-on): Likewise.
57053         * modules/inet_pton (Depends-on): Likewise.
57054         * modules/memxor (Depends-on): Likewise.
57055         * modules/regex (Depends-on): Likewise.
57056         * modules/strtok_r (Depends-on): Likewise.
57057         * modules/time_r (Depends-on): Likewise.
57058
57059 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57060
57061         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
57062         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
57063         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
57064         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
57065         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
57066         * m4/memxor.m4 (gl_MEMXOR): Likewise.
57067         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
57068         gl_C_RESTRICT replaced by AC_C_RESTRICT.
57069
57070         Merge from coreutils.
57071         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
57072         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
57073         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
57074         * m4/time_r.m4 (gl_TIME_R): Likewise.
57075
57076 2006-08-09  Karl Berry  <karl@gnu.org>
57077
57078         * config/srclist.txt: no more gettext-tools, per Bruno.
57079
57080 2006-08-08  Eric Blake  <ebb9@byu.net>
57081
57082         * modules/verror: New module.
57083         * MODULES.html.sh: Document it.
57084
57085 2006-08-08  Eric Blake  <ebb9@byu.net>
57086
57087         * lib/verror.h, lib/verror.c: New files.
57088
57089 2006-08-08  Eric Blake  <ebb9@byu.net>
57090
57091         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
57092         verror_at_line output complies with GNU Coding Standards even when
57093         file is NULL.
57094
57095 2006-08-07  Bruno Haible  <bruno@clisp.org>
57096
57097         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
57098         versions of AIX.
57099         Reported by Ralf Wildenhues.
57100
57101 2006-08-07  Bruno Haible  <bruno@clisp.org>
57102
57103         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
57104         in an AC_DEFUN. Needed so that the autoconf snippets can use
57105         AC_REQUIRE.
57106
57107 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57108
57109         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57110         Initialize pkgdata_DATA.
57111         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
57112         overriding it.
57113
57114 2006-08-06  Eric Blake  <ebb9@byu.net>
57115
57116         * lib/error.h: Fold in some upstream changes from glibc.
57117         * lib/error.c: Likewise.
57118
57119 2006-08-04  Bruno Haible  <bruno@clisp.org>
57120
57121         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57122         Make the mostlyclean-local rule depend on mostlyclean-generic.
57123         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
57124
57125 2006-07-31  Bruno Haible  <bruno@clisp.org>
57126
57127         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
57128         <stdlib.h>, <string.h>.
57129
57130 2006-07-30  Bruno Haible  <bruno@clisp.org>
57131
57132         * modules/readlink (License): Change to LGPL.
57133
57134 2006-07-30  Bruno Haible  <bruno@clisp.org>
57135
57136         * modules/javaversion (Makefile.am): Distribute javaversion.java and
57137         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
57138         set PKGDATADIR to point to it.
57139
57140 2006-07-30  Bruno Haible  <bruno@clisp.org>
57141
57142         * modules/csharpexec (configure.ac): Comment out macro invocation.
57143         * modules/javaexec (configure.ac): Likewise.
57144         * modules/javacomp-script (configure.ac): Likewise.
57145
57146         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
57147
57148 2006-07-30  Bruno Haible  <bruno@clisp.org>
57149
57150         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
57151         linked-list.
57152
57153 2006-07-30  Bruno Haible  <bruno@clisp.org>
57154
57155         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
57156
57157 2006-07-30  Bruno Haible  <bruno@clisp.org>
57158
57159         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57160         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
57161         get removed.
57162
57163 2006-07-29  Bruno Haible  <bruno@clisp.org>
57164
57165         Make it possible for gnulib-tool to work with locally modified or
57166         augmented gnulib repositories.
57167         * gnulib-tool (func_usage): Document --local-dir option.
57168         (local_gnulib_dir): New variable.
57169         Handle --local-dir option.
57170         (func_lookup_file): New function.
57171         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
57172         (func_get_description, func_get_filelist, func_get_description,
57173         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
57174         func_get_automake_snippet, func_get_include_directive,
57175         func_get_license, func_get_maintainer): Use func_lookup_file.
57176         (func_import, func_create_testdir): Use func_lookup_file.
57177
57178 2006-07-29  Bruno Haible  <bruno@clisp.org>
57179
57180         * modules/setenv (Depends-on): Add unistd.
57181
57182 2006-07-29  Bruno Haible  <bruno@clisp.org>
57183
57184         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
57185
57186 2006-07-29  Bruno Haible  <bruno@clisp.org>
57187
57188         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
57189
57190 2006-07-29  Bruno Haible  <bruno@clisp.org>
57191
57192         * gnulib-tool (import, update): If there is no Makefile.am, look at
57193         aclocal.m4, instead of bailing out.
57194
57195 2006-07-29  Bruno Haible  <bruno@clisp.org>
57196
57197         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
57198         Categorize the options by when they are useful.
57199
57200 2006-07-29  Bruno Haible  <bruno@clisp.org>
57201
57202         * gnulib-tool (func_usage): Document option --no-libtool.
57203         Handle option --no-libtool.
57204         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
57205         for changed semantics of $libtool variable.
57206         (func_import): Likewise. If libtool is not used, show this through
57207         an option --no-libtool.
57208         (func_create_testdir): Update.
57209
57210 2006-07-29  Bruno Haible  <bruno@clisp.org>
57211
57212         * gnulib-tool (func_import): Extend error message about missing
57213         --doc-base.
57214
57215 2006-07-29  Bruno Haible  <bruno@clisp.org>
57216
57217         * gnulib-tool (func_import): Don't create the $docbase directory if
57218         there is no file to store there.
57219
57220 2006-07-29  Bruno Haible  <bruno@clisp.org>
57221
57222         * gnulib-tool (autoconf_minversion): If a --dir option is given and
57223         relevant, look for configure.ac there, not in the current directory.
57224         Also use a simple search for AC_PREREQ, not "autoconf --trace".
57225
57226 2006-07-29  Bruno Haible  <bruno@clisp.org>
57227
57228         * gnulib-tool (SORT): New variable.
57229         (func_usage): Undocument --assume-autoconf option.
57230         Remove --assume-autoconf option handling.
57231         (autoconf_minversion): Determine from the contents of configure.ac.
57232         (func_import): Remove autoconf_minversion handling.
57233         Suggested by Eric Blake.
57234
57235 2006-07-29  Bruno Haible  <bruno@clisp.org>
57236
57237         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
57238
57239 2006-07-29  Bruno Haible  <bruno@clisp.org>
57240
57241         * config/srclist.txt (*setenv.[ch]): Remove rules.
57242
57243 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57244
57245         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
57246
57247 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57248
57249         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
57250         arpa/inet.h.
57251
57252 2006-07-28  Simon Josefsson  <jas@extundo.com>
57253
57254         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
57255         * modules/inet_pton (Depends-on): Likewise.
57256
57257 2006-07-28  Simon Josefsson  <jas@extundo.com>
57258
57259         * m4/netinet_in_h.m4: New file.
57260
57261 2006-07-28  Simon Josefsson  <jas@extundo.com>
57262
57263         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
57264         #include's.
57265
57266 2006-07-28  Simon Josefsson  <jas@extundo.com>
57267
57268         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
57269         #include's.
57270
57271 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
57272
57273         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
57274         setgid on directories only if they set these bits.
57275         * lib/modechange.h: Remove obsolete comment about masks.
57276
57277 2006-07-28  Eric Blake  <ebb9@byu.net>
57278
57279         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
57280         macro expansion.
57281
57282 2006-07-28  Bruno Haible  <bruno@clisp.org>
57283
57284         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
57285
57286 2006-07-28  Bruno Haible  <bruno@clisp.org>
57287
57288         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
57289
57290 2006-07-28  Bruno Haible  <bruno@clisp.org>
57291
57292         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
57293         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
57294         Define fallbacks.
57295         Avoids link error on FreeBSD 4.x.
57296         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57297
57298         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
57299         encoding.
57300         * lib/mbswidth.c (iswcntrl): Likewise.
57301
57302 2006-07-27  Bruno Haible  <bruno@clisp.org>
57303
57304         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
57305         test.
57306
57307 2006-07-27  Bruno Haible  <bruno@clisp.org>
57308
57309         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
57310         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
57311         defined.
57312
57313 2006-07-26  Eric Blake  <ebb9@byu.net>
57314
57315         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
57316
57317 2006-07-26  Eric Blake  <ebb9@byu.net>
57318
57319         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
57320         like mingw that lack mkstemp.
57321         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
57322         avoid compilation warning on mingw.
57323
57324 2006-07-26  Bruno Haible  <bruno@clisp.org>
57325
57326         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
57327         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
57328         INT_FAST*_MIN, INTPTR_MIN.
57329
57330 2006-07-25  Bruno Haible  <bruno@clisp.org>
57331
57332         * modules/version-etc (Depends-on): Add stdarg.
57333
57334 2006-07-25  Bruno Haible  <bruno@clisp.org>
57335
57336         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
57337         complex commands.
57338
57339 2006-07-25  Bruno Haible  <bruno@clisp.org>
57340
57341         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
57342         defined in <stdarg.h> or config.h.
57343
57344 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
57345
57346         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
57347         (gl_STDIO_SAFER): Remove.
57348
57349 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
57350
57351         * MODULES.html.sh (File stream based Input/Output):
57352         Add fopen-safer, tmpfile-safer; remove stdio-safer.
57353         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
57354         * modules/fopen-safer, modules/tmpfile-safer: New files.
57355         * modules/stdio-safer: Remove.
57356
57357 2006-07-24  Bruno Haible  <bruno@clisp.org>
57358
57359         * modules/tmpdir: New file.
57360         * MODULES.html.sh (File system functions): Add it.
57361
57362 2006-07-24  Bruno Haible  <bruno@clisp.org>
57363
57364         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
57365         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
57366
57367 2006-07-24  Bruno Haible  <bruno@clisp.org>
57368
57369         * modules/clean-temp: New file.
57370
57371 2006-07-24  Bruno Haible  <bruno@clisp.org>
57372
57373         * m4/tmpdir.m4: New file, from GNU gettext.
57374
57375 2006-07-24  Bruno Haible  <bruno@clisp.org>
57376
57377         * lib/tmpdir.h: New file, from GNU gettext.
57378         * lib/tmpdir.c: New file, from GNU gettext.
57379
57380 2006-07-24  Bruno Haible  <bruno@clisp.org>
57381
57382         * lib/clean-temp.h: New file, from GNU gettext.
57383         * lib/clean-temp.c: New file, from GNU gettext.
57384
57385 2006-07-23  Eric Blake  <ebb9@byu.net>
57386
57387         * modules/stdio-safer (Files): Add tmpfile-safer.c.
57388         (Depends-on): Add binary-io.
57389
57390 2006-07-23  Eric Blake  <ebb9@byu.net>
57391
57392         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
57393
57394 2006-07-23  Eric Blake  <ebb9@byu.net>
57395
57396         * lib/tmpfile-safer.c: New file.
57397         * lib/stdio-safer.h (fopen_safer): Add prototype.
57398         * lib/stdio--.h (tmpfile): Make safer.
57399
57400 2006-07-23  Bruno Haible  <bruno@clisp.org>
57401
57402         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
57403         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
57404         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
57405         gl_linked_remove_at): Use it.
57406
57407 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57408         and Simon Josefsson <jas@extundo.com>
57409
57410         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
57411
57412         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
57413
57414 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
57415
57416         * modules/close-stream: New file.
57417         * modules/closeout (Description): Make it clear that it exits
57418         with a diagnostic on error.
57419         (Depends-on): Add close-stream.  Remove fpending, stdbool.
57420         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
57421
57422 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
57423
57424         * m4/close-stream.m4: New file.
57425
57426 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
57427
57428         * lib/close-stream.c, lib/close-stream.h: New files.
57429
57430 2006-07-22  Bruno Haible  <bruno@clisp.org>
57431
57432         Merge from GNU gettext 0.15.
57433
57434         2006-05-01  Bruno Haible  <bruno@clisp.org>
57435
57436                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
57437
57438         2006-07-22  Bruno Haible  <bruno@clisp.org>
57439
57440                 * modules/javaversion: New file.
57441                 * MODULES.html.sh (Java): Add javaversion.
57442
57443         2006-03-12  Bruno Haible  <bruno@clisp.org>
57444
57445                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
57446
57447         2005-12-04  Bruno Haible  <bruno@clisp.org>
57448
57449                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
57450                 (untested).
57451
57452         2006-06-21  Bruno Haible  <bruno@clisp.org>
57453
57454                 Avoid warnings from recent versions of mcs.
57455                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
57456                 -o, -L, -r any more. Use options documented since mcs-1.0
57457                 instead. Similarly for -g.
57458
57459         2005-12-04  Bruno Haible  <bruno@clisp.org>
57460
57461                 * build-aux/csharpcomp.sh.in: Suffix for resources is
57462                 .resources, not .resource.
57463
57464         2005-07-09  Bruno Haible  <bruno@clisp.org>
57465
57466                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
57467                 add a .dll suffix.
57468                 Reported by Mark Junker <mjscod@gmx.de>.
57469
57470         2006-07-22  Bruno Haible  <bruno@clisp.org>
57471
57472                 * modules/gettext: Upgrade to gettext-0.15.
57473                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
57474                 m4/visibility.m4.
57475                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
57476
57477 2006-07-22  Bruno Haible  <bruno@clisp.org>
57478
57479         Merge from GNU gettext 0.15.
57480
57481         2006-03-25  Bruno Haible  <bruno@clisp.org>
57482
57483                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
57484
57485         2006-07-21  Bruno Haible  <bruno@clisp.org>
57486
57487                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
57488                 "1.1".
57489
57490         2006-05-09  Bruno Haible  <bruno@clisp.org>
57491
57492                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
57493                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
57494                 for the conftestver execution.
57495
57496         2006-05-01  Bruno Haible  <bruno@clisp.org>
57497
57498                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
57499                 optional target-version argument. Verify that the compiler
57500                 groks source of the specified source-version, or add -source
57501                 option as necessary. Verify that the compiler produces
57502                 bytecode in the specified target-version, or add -target and
57503                 -source options as necessary. Make the result of the test
57504                 available as variable CONF_JAVAC. Also log error output in
57505                 config.log.
57506
57507         2006-03-11  Bruno Haible  <bruno@clisp.org>
57508
57509                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
57510
57511         2006-05-09  Bruno Haible  <bruno@clisp.org>
57512
57513                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
57514                 CLASSPATH_SEPARATOR to a semicolon.
57515
57516         2006-03-12  Bruno Haible  <bruno@clisp.org>
57517
57518                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
57519                 available as variable CONF_JAVA, for subsequent autoconf
57520                 tests. Also log error output in config.log.
57521
57522         2006-07-19  Bruno Haible  <bruno@clisp.org>
57523
57524                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
57525                 that getline works on glibc2 systems. Needed to avoid trouble
57526                 in relocatable.c.
57527                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
57528
57529         2005-12-04  Bruno Haible  <bruno@clisp.org>
57530
57531                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
57532                 launcher (untested).
57533
57534         2005-12-04  Bruno Haible  <bruno@clisp.org>
57535
57536                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
57537
57538         2006-07-22  Bruno Haible  <bruno@clisp.org>
57539
57540                 * gettext.m4: Update from GNU gettext-0.15.
57541                 * nls.m4: Likewise.
57542                 * po.m4: Likewise.
57543                 * inttypes-pri.m4: Likewise.
57544                 * inttypes-h.m4: Renamed from inttypes.m4.
57545                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
57546
57547 2006-07-22  Bruno Haible  <bruno@clisp.org>
57548
57549         Merge from GNU gettext 0.15.
57550
57551         2005-07-05  Bruno Haible  <bruno@clisp.org>
57552
57553                 * printf-args.c (printf_fetchargs): Work around broken
57554                 definition of wint_t on mingw.
57555
57556         2005-02-12  Bruno Haible  <bruno@clisp.org>
57557
57558                 * xallocsa.h: Add extern "C" for C++.
57559
57560         2006-05-17  Bruno Haible  <bruno@clisp.org>
57561
57562                 Cygwin portability.
57563                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
57564
57565         2006-04-30  Bruno Haible  <bruno@clisp.org>
57566
57567                 * progreloc.c: Include <mach-o/dyld.h> if available.
57568                 (find_executable): Use _NSGetExecutablePath when possible.
57569
57570         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
57571
57572                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
57573                 function.
57574
57575         2005-12-29  Bruno Haible  <bruno@clisp.org>
57576
57577                 * progreloc.c (set_program_name_and_installdir): Fix
57578                 compilation error.
57579
57580         2005-12-04  Bruno Haible  <bruno@clisp.org>
57581
57582                 Cygwin portability.
57583                 * progreloc.c: Include <windows.h> also on Cygwin.
57584                 (find_executable): Add support for Cygwin.
57585                 (set_program_name_and_installdir): Handle also platforms with
57586                 nonempty EXEEXT.
57587
57588         2006-07-11  Bruno Haible  <bruno@clisp.org>
57589
57590                 * javacomp.c: Fix a comment.
57591                 Reported by Jim Meyering.
57592
57593         2006-04-30  Bruno Haible  <bruno@clisp.org>
57594
57595                 * javacomp.h (compile_java_class): Add source_version,
57596                 target_version arguments.
57597                 * javacomp.c: Rewritten to choose only a compiler that
57598                 respects the specified source_version and target_version.
57599
57600         2006-06-27  Bruno Haible  <bruno@clisp.org>
57601
57602                 Assume correct S_ISDIR macro.
57603                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
57604
57605         2006-07-22  Bruno Haible  <bruno@clisp.org>
57606
57607                 * javaversion.h: New file, from GNU gettext.
57608                 * javaversion.c: New file, from GNU gettext.
57609                 * javaversion.java: New file, from GNU gettext.
57610                 * javaversion.class: New file, from GNU gettext.
57611
57612         2006-05-17  Bruno Haible  <bruno@clisp.org>
57613
57614                 Cygwin portability.
57615                 * javaexec.c (execute_java_class): Test for jview program
57616                 also on Cygwin.
57617
57618         2006-04-09  Bruno Haible  <bruno@clisp.org>
57619
57620                 * fatal-signal.c: Don't include string.h.
57621                 (at_fatal_signal): Use a copying loop instead of memcpy.
57622
57623         2005-12-04  Bruno Haible  <bruno@clisp.org>
57624
57625                 * csharpexec.c: Add support for 'clix' launcher (untested).
57626                 (execute_csharp_using_sscli): New function.
57627                 (execute_csharp_program): Call it.
57628
57629         2006-06-21  Bruno Haible  <bruno@clisp.org>
57630
57631                 Avoid warnings from recent versions of mcs.
57632                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
57633                 -o, -L, -r any more. Use options documented since mcs-1.0
57634                 instead. Similarly for -g.
57635
57636         2005-07-09  Bruno Haible  <bruno@clisp.org>
57637
57638                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
57639                 add a .dll suffix.
57640                 Reported by Mark Junker <mjscod@gmx.de>.
57641
57642         2006-06-17  Bruno Haible  <bruno@clisp.org>
57643
57644                 * config.charset: Update for NetBSD 3.0.
57645
57646         2006-05-17  Bruno Haible  <bruno@clisp.org>
57647
57648                 Cygwin portability.
57649                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
57650
57651         2006-05-16  Bruno Haible  <bruno@clisp.org>
57652
57653                 * localcharset.c [CYGWIN]: Include <windows.h>.
57654                 (get_charset_aliases): For Cygwin, return the same CPxxx
57655                 aliases list as under WIN32.
57656                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
57657                 the environment variables. Fall back to GetACP().
57658
57659         2006-04-05  Bruno Haible  <bruno@clisp.org>
57660
57661                 * config.charset: Update Juan Manuel Guerrero's address.
57662
57663         2005-02-12  Bruno Haible  <bruno@clisp.org>
57664
57665                 * allocsa.h: Add extern "C" for C++.
57666
57667         2005-02-10  Bruno Haible  <bruno@clisp.org>
57668
57669                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
57670                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
57671
57672         2006-07-22  Bruno Haible  <bruno@clisp.org>
57673
57674                 * gettext.h: Update to GNU gettext-0.15.
57675
57676 2006-07-22  Bruno Haible  <bruno@clisp.org>
57677
57678         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
57679         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
57680         lib-prefix.m4, longdouble.m4, ssize_t.m4.
57681
57682 2006-07-21  Eric Blake  <ebb9@byu.net>
57683
57684         * modules/stdlib-safer: New file.
57685         * MODULES.html.sh (File stream based Input/Output): Add
57686         stdlib-safer.
57687
57688 2006-07-21  Eric Blake  <ebb9@byu.net>
57689
57690         * lib/stdlib-safer.h: New file from coreutils, required by
57691         stdlib--.h.
57692
57693 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
57694
57695         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
57696
57697 2006-07-20  Bruno Haible  <bruno@clisp.org>
57698
57699         * gnulib-tool: Recognize new option --assume-autoconf.
57700         (autoconf_minversion): New variable.
57701         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
57702
57703 2006-07-20  Bruno Haible  <bruno@clisp.org>
57704
57705         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
57706
57707 2006-07-19  Derek R. Price  <derek@ximbiot.com>
57708
57709         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
57710         Reindent and repaginate.
57711
57712 2006-07-19  Derek Price  <derek@ximbiot.com>
57713
57714         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
57715         Correct grammar.
57716
57717 2006-07-17  Bruno Haible  <bruno@clisp.org>
57718
57719         * modules/list: New file.
57720         * modules/array-list: New file.
57721         * modules/carray-list, modules/carray-list-tests: New files.
57722         * modules/linked-list, modules/linked-list-tests: New files.
57723         * modules/avltree-list, modules/avltree-list-tests: New files.
57724         * modules/rbtree-list, modules/rbtree-list-tests: New files.
57725         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
57726         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
57727         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
57728         * modules/oset: New file.
57729         * modules/array-oset: New file.
57730         * modules/avltree-oset, modules/avltree-oset-tests: New files.
57731         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
57732         * tests/test-carray_list.c: New file.
57733         * tests/test-linked_list.c: New file.
57734         * tests/test-avltree_list.c: New file.
57735         * tests/test-rbtree_list.c: New file.
57736         * tests/test-linkedhash_list.c: New file.
57737         * tests/test-avltreehash_list.c: New file.
57738         * tests/test-rbtreehash_list.c: New file.
57739         * tests/test-avltree_oset.c: New file.
57740         * tests/test-rbtree_oset.c: New file.
57741         * MODULES.html.sh (Container data structures): New section.
57742
57743 2006-07-17  Bruno Haible  <bruno@clisp.org>
57744
57745         * m4/gl_list.m4: New file.
57746
57747 2006-07-17  Bruno Haible  <bruno@clisp.org>
57748
57749         * lib/gl_list.h: New file.
57750         * lib/gl_list.c: New file.
57751         * lib/gl_array_list.h: New file.
57752         * lib/gl_array_list.c: New file.
57753         * lib/gl_carray_list.h: New file.
57754         * lib/gl_carray_list.c: New file.
57755         * lib/gl_linked_list.h: New file.
57756         * lib/gl_linked_list.c: New file.
57757         * lib/gl_anylinked_list1.h: New file.
57758         * lib/gl_anylinked_list2.h: New file.
57759         * lib/gl_avltree_list.h: New file.
57760         * lib/gl_avltree_list.c: New file.
57761         * lib/gl_anyavltree_list1.h: New file.
57762         * lib/gl_anyavltree_list2.h: New file.
57763         * lib/gl_rbtree_list.h: New file.
57764         * lib/gl_rbtree_list.c: New file.
57765         * lib/gl_anyrbtree_list1.h: New file.
57766         * lib/gl_anyrbtree_list2.h: New file.
57767         * lib/gl_anytree_list1.h: New file.
57768         * lib/gl_anytree_list2.h: New file.
57769         * lib/gl_linkedhash_list.h: New file.
57770         * lib/gl_linkedhash_list.c: New file.
57771         * lib/gl_anyhash_list1.h: New file.
57772         * lib/gl_anyhash_list2.h: New file.
57773         * lib/gl_avltreehash_list.h: New file.
57774         * lib/gl_avltreehash_list.c: New file.
57775         * lib/gl_rbtreehash_list.h: New file.
57776         * lib/gl_rbtreehash_list.c: New file.
57777         * lib/gl_anytreehash_list1.h: New file.
57778         * lib/gl_anytreehash_list2.h: New file.
57779
57780         * lib/gl_oset.h: New file.
57781         * lib/gl_oset.c: New file.
57782         * lib/gl_array_oset.h: New file.
57783         * lib/gl_array_oset.c: New file.
57784         * lib/gl_avltree_oset.h: New file.
57785         * lib/gl_avltree_oset.c: New file.
57786         * lib/gl_rbtree_oset.h: New file.
57787         * lib/gl_rbtree_oset.c: New file.
57788         * lib/gl_anytree_oset.h: New file.
57789
57790 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
57791
57792         * m4/mkancesdirs.m4: New file.
57793         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
57794         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
57795         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
57796         it.
57797
57798 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
57799
57800         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
57801         * lib/mkancesdirs.h: New files.
57802         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
57803         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
57804         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
57805         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
57806         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
57807         callers changed.  Revamp internals significantly, by not
57808         attempting to create directories that are temporarily more
57809         permissive than the final results.  Do not attempt to use
57810         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
57811         This removes some race conditions, fixes some bugs, and simplifies
57812         things.  Use new dirchownmod function to do owner and mode changes.
57813         * lib/mkdir-p.h: Likewise.
57814         * lib/modechange.c (octal_to_mode): New function.
57815         (struct mode_change): New member mentioned.
57816         (make_node_op_equals): New arg mentioned.  All callers changed.
57817         (mode_compile): Keep track of which mode bits the user has explicitly
57818         mentioned.
57819         (mode_adjust): New arg DIR, so that we implement the X op correctly.
57820         New arg PMODE_BITS, to keep track of which mode bits the user
57821         mentioned; it treats S_ISUID and S_ISGID speciall.
57822         All callers changed.
57823         * lib/modechange.h: Likewise.
57824
57825 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
57826
57827         * MODULES.html.sh: Add mkancestors.
57828         * modules/mkancesdirs: New module.
57829         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
57830         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
57831         The chdir-safer and afs files are now orphans; I'll remove them
57832         unless someone speaks up.
57833         Add lib/dirchownmod.c, lib/dirchownmod.h.
57834         (Depends-on): Remove alloca, chown, save-cwd, dirname.
57835         Add lchown, mkancesdirs.
57836         (Maintainer): Add self.
57837
57838 2006-07-15  Karl Berry  <karl@gnu.org>
57839
57840         * gnulib-tool: help message wording/arrangement.
57841
57842 2006-07-14  Simon Josefsson  <jas@extundo.com>
57843
57844         * doc/gnulib.texi (Libtool and Windows): New section.
57845
57846 2006-07-12  Simon Josefsson  <jas@extundo.com>
57847
57848         * modules/gendocs (License): Fix license, approved by Karl.
57849
57850 2006-07-12  Eric Blake  <ebb9@byu.net>
57851
57852         * MODULES.html.sh: Add gendocs.
57853
57854 2006-07-11  Eric Blake  <ebb9@byu.net>
57855
57856         * modules/fdl: New module, to install doc/fdl.texi.
57857         * MODULES.html.sh: Add new section for documentation modules.
57858         * gnulib-tool: Avoid space-tab.
57859         (--doc-base): New option, to manage files from doc.
57860
57861 2006-07-11  Eric Blake  <ebb9@byu.net>
57862
57863         * m4/absolute-header.m4: Fix comments to match recent change.
57864
57865 2006-07-11  Eric Blake  <ebb9@byu.net>
57866
57867         * gnulib-tool: List --doc-base before --tests-base.
57868
57869 2006-07-11  Derek R. Price  <derek@ximbiot.com>
57870
57871         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
57872
57873 2006-07-11  Bruno Haible  <bruno@clisp.org>
57874
57875         * README: Mention where to put documentation.
57876
57877 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57878
57879         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
57880
57881 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
57882
57883         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
57884         to stdint.m4.
57885
57886 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
57887
57888         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
57889         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
57890         "no/such/file/stdint.h" when there is no such file, so that
57891         the resulting C code can be parsed by dodgy compilers.
57892         Problems reported by Bob Proulx.
57893
57894 2006-07-10  Derek R. Price  <derek@ximbiot.com>
57895
57896         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
57897         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
57898         macros into the GNU _D_EXACT_NAMLEN.
57899         * lib/savedir.c:  Likewise.
57900         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
57901
57902 2006-07-10  Derek R. Price  <derek@ximbiot.com>
57903         and Paul Eggert  <eggert@cs.ucla.edu>
57904
57905         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
57906         * m4/savedir.m4:
57907         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
57908         macros into the GNU _D_EXACT_NAMLEN.
57909
57910 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
57911
57912         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
57913         around the absolute name, to work around a problem with the HP-UX
57914         11.23 native C compiler, reported by Bob Proulx.
57915
57916 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
57917
57918         * doc/maintain.texi, make-stds.texi: Sync from
57919         <http://savannah.gnu.org/projects/gnustandards>.
57920
57921 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
57922
57923         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
57924
57925 2006-07-09  Jim Meyering  <jim@meyering.net>
57926
57927         * m4/glob.m4: Remove a doubled word in a comment.
57928
57929 2006-07-09  Jim Meyering  <jim@meyering.net>
57930
57931         * lib/argp-pv.c: Remove a doubled word in a comment.
57932         * lib/check-version.c (check_version): Likewise.
57933         * lib/javacomp.c (compile_java_class): Likewise.
57934
57935 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
57936
57937         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
57938         for the benefit of people using Autoconf 2.60.  If you want to
57939         support older Autoconf versions you can copy m4/onceonly_2_57.m4
57940         (or m4/onceonly.m4, if pre-2.57) manually.
57941
57942 2006-07-08  Jim Meyering  <jim@meyering.net>
57943
57944         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
57945         comment.
57946         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
57947         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
57948         comment.
57949
57950 2006-07-08  Jim Meyering  <jim@meyering.net>
57951
57952         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
57953
57954 2006-07-07  Simon Josefsson  <jas@extundo.com>
57955
57956         * tests/test-crc.c: Change expected crc value, the test vector
57957         were probably computed using the old broken crc.c?
57958
57959 2006-07-06  Simon Josefsson  <jas@extundo.com>
57960
57961         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
57962         now the canonical place for the M4 file).
57963
57964         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
57965         from the sys_socket dependency now.
57966
57967         * modules/inet_pton (Files): Ditto.
57968
57969         * modules/inet_ntop (Files): Ditto.
57970
57971 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
57972
57973         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
57974         not gl_PREREQ_GETUSERSHELL.
57975
57976 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57977
57978         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
57979         with only one argument, for Autoconf 2.60.
57980         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
57981         expand to nothing, so add a shell command to avoid syntax error.
57982         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
57983
57984 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57985
57986         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
57987
57988 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
57989
57990         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
57991         no longer needed.  Check for isblank decl.
57992         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
57993         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
57994         of existence.
57995
57996 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
57997
57998         * lib/getloadavg.c: Use __VMS, not VMS.
57999         * lib/getopt.c: Likewise.
58000         * lib/getpagesize.h: Likewise.
58001         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
58002         and probably does not work.
58003
58004 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
58005
58006         * lib/.cppi-disable: Add wcwidth.
58007         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
58008         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
58009         (ISGRAPH): Remove.  All uses changed to isgraph.
58010         (FOLD) [!defined _LIBC]: Remove special case.
58011         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
58012         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
58013         HAVE_ISBLANK.
58014         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
58015         case.
58016
58017 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
58018
58019         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
58020         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
58021         brackets.  Other minor changes to suppress some compiler
58022         warnings.
58023
58024 2006-07-06  Derek R. Price  <derek@ximbiot.com>
58025         and Paul Eggert  <eggert@cs.ucla.edu>
58026
58027         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
58028         of invoking obsolescent AC_HEADER_DIRENT macro.
58029         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
58030         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
58031         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
58032         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
58033         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
58034         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
58035         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
58036         * m4/readdir.m4: Remove; no longer needed.
58037
58038 2006-07-06  Derek R. Price  <derek@ximbiot.com>
58039         and Paul Eggert  <eggert@cs.ucla.edu>
58040
58041         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
58042         Don't worry about this obsolete case any more.
58043         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
58044         directories.
58045         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
58046         worry about this obsolete case any more.
58047         * lib/fts.c: Likewise.
58048         * lib/getcwd.c: Likewise.
58049         * lib/glob.h: Likewise.
58050         * lib/savedir.c: Likewise.
58051
58052 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
58053
58054         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
58055         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
58056         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
58057         needed.
58058         All uses removed.
58059         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
58060         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
58061         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
58062         needed.
58063         * m4/getdate.m4 (gl_GETDATE): Likewise.
58064         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
58065         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
58066         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
58067         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
58068         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
58069         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
58070         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
58071         needed.
58072
58073 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
58074
58075         * lib/memcasecmp.c: Include <limits.h>.
58076         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
58077         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
58078         Don't assume isdigit succeeds only on '0' through '9'.
58079
58080 2006-07-05  Eric Blake  <ebb9@byu.net>
58081
58082         * modules/getaddrinfo (Depends-on): Add snprintf.
58083
58084 2006-07-05  Eric Blake  <ebb9@byu.net>
58085
58086         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
58087         to avoid 'header present but could not be compiled' on cygwin.
58088
58089 2006-07-05  Eric Blake  <ebb9@byu.net>
58090
58091         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
58092         missing from netdb.h.
58093         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
58094
58095 2006-07-05  Derek R. Price  <derek@ximbiot.com>
58096
58097         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
58098         no longer needed.
58099         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
58100         * m4/getdate.m4 (gl_GETDATE): Likewise.
58101         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
58102         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
58103         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
58104         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
58105         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
58106
58107 2006-07-05  Derek R. Price  <derek@ximbiot.com>
58108
58109         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
58110         All uses of is_space replaced by isspace.
58111         * lib/exit.h: Don't talk about STDC_HEADERS.
58112         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
58113         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
58114         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
58115         replaced by isprint etc.
58116         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
58117         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
58118         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
58119         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
58120         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
58121         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
58122
58123 2006-07-05  Bruno Haible  <bruno@clisp.org>
58124
58125         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
58126         the function exists, before testing against AIX.
58127         Reported by Martin Lambers <marlam@marlam.de>.
58128
58129 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
58130
58131         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
58132         From Mark D. Baushke.
58133
58134 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
58135
58136         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
58137         to the absolute name, not just one, to bypass Sun C 5.8's
58138         "warning: #include of /usr/include/... may be non-portable".
58139
58140 2006-07-04  Eric Blake  <ebb9@byu.net>
58141
58142         * modules/dirname-tests: New test module.
58143         * tests/test-dirname.c: New file, replacing dirname.c
58144         TEST_DIRNAME section that was recently deleted.
58145
58146 2006-07-04  Bruno Haible  <bruno@clisp.org>
58147
58148         Assume ANSI C header files and <ctype.h> functions.
58149         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
58150         (mbsnwidth): Use isprint, iscntrl instead.
58151
58152 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
58153
58154         Merge from coreutils.
58155         * MODULES.html.sh: Add xstrtold.
58156         * modules/xstrtold: New file.
58157         * modules/cycle-check (Files): Add lib/same-inode.h.
58158         * modules/dirname (Files): Add m4/double-slash-root.m4.
58159         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
58160         * modules/mkdir-p (Files): Add lib/same-inode.h.
58161         * modules/same (Files): Add lib/same-inode.h.
58162
58163 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
58164
58165         * m4/absolute-header.m4: Renamed from full-header-path.m4.
58166         This is to keep the terminology clean; POSIX talks about
58167         "absolute pathnames", not "full pathnames", but the GNU
58168         Coding Standards say to use "path" for something else;
58169         so use "absolute" to keep both sides happy.
58170         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
58171         Set gl_absolute_header, not gl_full_header_path.
58172         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
58173         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
58174         All uses changed.
58175
58176         Merge from coreutils.
58177
58178         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
58179
58180         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
58181         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
58182         want to require the building of c-strtod.o.
58183         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
58184         needs -lm directly.
58185         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
58186
58187         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
58188
58189         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
58190         --as-needed option if available.  Problem reported by Albert Chin in
58191         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
58192         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
58193         cc merely issues a bunch of annoying warnings for --as-needed
58194         (this problem was reported by Bob Proulx).  Also, try linking with
58195         -lm to detect a bug in binutils 2.16 (this problem was reported
58196         by Ralf Wildenhues).
58197
58198         2006-06-18  Jim Meyering  <jim@meyering.net>
58199
58200         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
58201         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
58202         macro.
58203         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
58204         also check for glibc-2.4's abort-inducing bug.
58205
58206         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
58207         Low-probability clean-up should be to use rmdir to get rid of
58208         the just-created directory, not unlink.
58209
58210         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
58211         configure fail, and request a bug report to inform us about it.
58212         Add a comment that, barring reports to the contrary, in 2007 we'll
58213         assume ftruncate is universally available.
58214
58215         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
58216
58217         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
58218
58219         2006-03-12  Jim Meyering  <jim@meyering.net>
58220
58221         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
58222         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
58223         * m4/same.m4 (gl_SAME): Likewise.
58224         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
58225
58226         2006-03-11  Eric Blake  <ebb9@byu.net>
58227
58228         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
58229         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
58230         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
58231         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
58232
58233 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
58234
58235         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
58236         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
58237         reported by Mark D. Baushke, one in
58238         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
58239
58240         Merge from coreutils.
58241
58242         * lib/.cppi-disable: Add stdint_.h.
58243         * lib/.cvsignore: Add stdint.h.
58244
58245         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
58246
58247         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
58248         both double and long double versions.
58249         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
58250         * lib/xstrtold.c: New file.
58251         * lib/xstrtod.h (xstrtold): New decl.
58252
58253         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
58254
58255         * lib/filemode.c (setst): Remove.
58256         (strmode): Rewrite to avoid setst.  This makes the code shorter,
58257         (arguably) clearer, and the generated code is a bit smaller on my
58258         Debian GNU/Linux stable x86 host.
58259
58260         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
58261
58262         * lib/filemode.c: Include "filemode.h" first, to test the interface.
58263         Assume that filemode.h includes sys/types.h and sys/stat.h.
58264         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
58265         (ftypelet): Reorder to put common cases first, for efficiency.
58266         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
58267         to do 'M'.
58268         (strmode): Renamed from mode_string, and now stores 12 bytes instead
58269         of 10, for compatibility with FreeBSD.  All callers changed.
58270         (filemodestring): Now stores 12 bytes instead of 10, and sets file
58271         types that can't be deduced solely from st_mode.  First arg is now a
58272         const pointer.
58273         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
58274         (strmode): Renamed from mode_string.
58275         (filemodestring): New decl.
58276         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
58277         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
58278         needed.
58279         (S_ISPORT, S_ISWHT): New macros, if not already defined.
58280
58281         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
58282
58283         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
58284         fsusage.h now does that.  Include fsusage.h first, to test interface.
58285         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
58286         at most one method (the old code could have generated decls that
58287         didn't conform to C89, not that this was ever exercised).
58288         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
58289
58290         2006-03-19  Jim Meyering  <jim@meyering.net>
58291
58292         Work even in a chroot where d_ino values for entries in "/"
58293         don't match the stat.st_ino values for the same names.
58294         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
58295         number, iterate through all entries again, using lstat instead.
58296         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
58297         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
58298
58299         * lib/getcwd.c (__getcwd): Clarify a comment.
58300         Use memcpy in place of a call to strcpy.
58301
58302         2006-03-12  Jim Meyering  <jim@meyering.net>
58303
58304         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
58305         matches that of the current directory (which we're about to chdir ".."
58306         out of), then save the dev-ino of the parent, instead.
58307
58308         * lib/same-inode.h (SAME_INODE): New file/macro.
58309         * lib/chdir-safer.c (SAME_INODE): Remove definition.
58310         Include "same-inode.h", instead.
58311         * lib/same.c: Likewise.
58312         * lib/cycle-check.h: Include "same-inode.h".
58313         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
58314         * lib/cycle-check.c (SAME_INODE): Remove definition.
58315         * lib/root-dev-ino.h: Include "same-inode.h".
58316
58317         2006-03-11  Eric Blake  <ebb9@byu.net>
58318
58319         * lib/same.c (same_name): s/base_name/last_component/
58320         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
58321         * lib/filenamecat.c (file_name_concat): Likewise.
58322
58323         2006-03-11  Eric Blake  <ebb9@byu.net>,
58324                     Paul Eggert  <eggert@cs.ucla.edu>
58325
58326         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
58327         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
58328         drive prefix.
58329         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
58330         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
58331         (last_component): New method.
58332         * lib/dirname.c (dir_len): Determine when drive letters need a
58333         subsequent slash.  Preserve // when it is special.
58334         (dir_name): Don't append dot when drive letter is absolute.
58335         [TEST_DIRNAME]: Move into a full-blown gnulib test.
58336         * lib/basename.c (base_name): New semantics - malloc the result.
58337         Preserve // when it is special.  Preserve relative files that look
58338         like drive letters.
58339         (base_len): Preserve // when it is special.
58340         (last_component): New method, similar to old base_name semantics.
58341         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
58342         base_name.  Strip redundant slashes from ///.
58343
58344 2006-07-03  Jim Meyering  <jim@meyering.net>
58345
58346         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
58347         macro is used before the first cycle_check call.
58348
58349 2006-07-03  Eric Blake  <ebb9@byu.net>
58350
58351         * modules/dirname (Depends-on): Add xstrndup.
58352
58353 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
58354
58355         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
58356         test cases, so that config.log is a bit easier to follow.
58357
58358 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
58359
58360         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
58361         both are 64 bits, since this seems to be the tradition, and this
58362         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
58363         we ever run into a host that prefers long long to long in this
58364         case, we'll need another configure-time test.  Problem reported by
58365         Jim Meyering.
58366
58367 2006-07-02  Eric Blake  <ebb9@byu.net>
58368
58369         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
58370
58371 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
58372
58373         * modules/inttypes (Depends-on): No longer depends on stdint.
58374         * modules/stdint (Description): Say more about assumptions.
58375         Say that the fast types might differ.  Say macros are used.
58376         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
58377         (Makefile.am): Revise list of substituted symbols to match
58378         new stdint.m4.
58379         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
58380         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
58381         * tests/test-stdint.c (verify_same_types)
58382         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
58383         the code conforms to C99/C89.
58384         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
58385         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
58386
58387 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
58388
58389         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
58390         but fix a bug, by requiring at least 64 bits.
58391         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
58392         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
58393         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
58394         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
58395
58396         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
58397         changes.  Make 2.59 a prerequisite.  Check and substitute for
58398         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
58399         inttypes.h.  Do not use special include files; just use the
58400         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
58401         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
58402         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
58403         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
58404         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
58405         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
58406         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
58407         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
58408         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
58409         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
58410         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
58411         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
58412         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
58413         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
58414         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
58415         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
58416         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
58417         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
58418         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
58419         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
58420         WINT_MAX.  Check for C99 conformance more strictly, by detecting
58421         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
58422         not check for things that C99 does not require, e.g., int8_t.  If
58423         a test isn't needed unless <stdint.h> isn't working, and is
58424         unlikely to be needed for any other reason, then don't do it
58425         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
58426         size_t, since we assume C89 freestanding at least.  Do not check
58427         for sig_atomic_t, wchar_t, or wint_t, since the code now does
58428         the right thing even if the types are not defined.  Instead use:
58429         (gl_STDINT_TYPE_PROPERTIES): New macro.
58430         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
58431         testing whether <sys/types.h> clashes, as Autoconf does this for
58432         us now.  All uses removed.
58433         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
58434         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
58435         (gl_CHECK_TYPE_SAME):
58436         Remove; no longer needed.
58437         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
58438         exists, since we'll return 0 anyway in that case.
58439         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
58440
58441 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
58442
58443         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
58444         possible collision with system files.
58445         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
58446         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
58447         WCHAR_MIN and WCHAR_MAX in this case.
58448         (<stddef.h>): Do not include; no longer needed.
58449         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
58450         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
58451         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
58452         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
58453         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
58454         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
58455         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
58456         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
58457         !defined(__c99))]: Include in this case too, since it's harmless
58458         now.
58459         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
58460         dangerous to do so.
58461         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
58462         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
58463         (_STDINT_MIN, _STDINT_MAX): New macros.
58464         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
58465         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
58466         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
58467         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
58468         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
58469         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
58470         macros, not typedefs; this simplifies things quite a bit.
58471         Use long int for all types narrower than int64_t.
58472         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
58473         Define in terms of long long int or int64_t or long int,
58474         not int64_t or int32_t.  This saves some compile-time testing.
58475         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
58476         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
58477         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
58478         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
58479         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
58480         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
58481         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
58482         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
58483         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
58484         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
58485         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
58486         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
58487         undef any previous version and define our own version, for
58488         simplicity and consistency with the new macros for types.
58489         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
58490         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
58491         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
58492         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
58493         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
58494         @WINT_T_SUFFIX@ to keep things simple here.
58495         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
58496         Simplify by assuming typical 8/16/32/64 host, since we're
58497         already doing that elsewhere anyway.
58498         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
58499         and assume long long int is 64 bits if available.  This
58500         speeds up 'configure'.
58501
58502 2006-07-01  Eric Blake  <ebb9@byu.net>
58503
58504         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
58505         Reported by Andreas Buening.
58506
58507 2006-07-01  Eric Blake  <ebb9@byu.net>
58508
58509         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
58510
58511 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
58512
58513         * lib/getaddrinfo.c: fixed typo
58514
58515 2006-06-29  Jim Meyering  <jim@meyering.net>
58516
58517         * modules/strftime (Maintainer): Add my name, since with the
58518         FPRINTFTIME changes strftime.c has forked from glibc.
58519
58520 2006-06-29  Eric Blake  <ebb9@byu.net>
58521
58522         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
58523
58524 2006-06-29  Eric Blake  <ebb9@byu.net>
58525
58526         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
58527
58528 2006-06-29  Eric Blake  <ebb9@byu.net>
58529
58530         * lib/stat_.h: New file.
58531
58532 2006-06-29  Eric Blake  <ebb9@byu.net>
58533
58534         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
58535         unused static function.
58536
58537 2006-06-29  Eric Blake  <ebb9@byu.net>
58538
58539         * doc/functions.texi (Function Portability): Document missing lstat
58540         on mingw.
58541
58542 2006-06-29  Eric Blake  <ebb9@byu.net>
58543
58544         * MODULES.html.sh: Add sys_stat.
58545         * modules/sys_stat: New module.
58546         * modules/mkstemp (Depends-on): Add sys_stat.
58547
58548 2006-06-29  Derek R. Price  <derek@ximbiot.com>
58549
58550         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
58551
58552 2006-06-29  Derek R. Price  <derek@ximbiot.com>
58553
58554         * m4/c-bs-a.m4: Removed.
58555
58556 2006-06-29  Derek R. Price  <derek@ximbiot.com>
58557
58558         * lib/strftime.c: Assume strftime() exists.
58559
58560 2006-06-29  Derek Price  <derek@ximbiot.com>
58561
58562         * modules/c-bs-a: Removed - \a is C89.
58563         * MODULES.html.sh: Remove c-bs-a.
58564
58565 2006-06-29  Bruno Haible  <bruno@clisp.org>
58566
58567         * modules/wcwidth (License): Change to LGPL.
58568
58569 2006-06-28  Simon Josefsson  <jas@extundo.com>
58570
58571         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
58572         on _WIN32.
58573
58574         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
58575         getnameinfo.
58576
58577 2006-06-28  Simon Josefsson  <jas@extundo.com>
58578
58579         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
58580
58581 2006-06-28  Simon Josefsson  <jas@extundo.com>
58582
58583         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
58584         functions there.  It will succeed on Windows XP, but on Windows
58585         2000 and (presumably) earlier, it will fail, and use the internal
58586         re-implementation.
58587         (use_win32_p): New function.
58588         (getaddrinfo): Use strtoul on servname, to support numeric ports.
58589         Support AI_NUMERICSERV to disable getservbyname.
58590         (getnameinfo): New function, only supports
58591         NI_NUMERICHOST|NI_NUMERICSERV for now.
58592
58593         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
58594         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
58595         getnameinfo.
58596
58597 2006-06-28  Eric Blake  <ebb9@byu.net>
58598
58599         * modules/wcwidth: New file.
58600         * modules/mbchar (Depends-on): Add wcwidth.
58601         * modules/mbswidth (Depends-on): Add wcwidth.
58602         * MODULES.html.sh: Add wcwidth.
58603
58604 2006-06-28  Eric Blake  <ebb9@byu.net>
58605
58606         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
58607         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
58608
58609 2006-06-28  Eric Blake  <ebb9@byu.net>
58610
58611         * lib/xvasprintf.h: Fix comments.
58612
58613 2006-06-28  Eric Blake  <ebb9@byu.net>
58614
58615         * lib/mbchar.h (wcwidth): Include wcwidth.h.
58616         * lib/mbswidth.c (wcwidth): Move from here...
58617         * lib/wcwidth.h: ...to this new file.
58618
58619 2006-06-28  Derek R. Price  <derek@ximbiot.com>
58620
58621         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
58622
58623         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
58624         it's obsolete.
58625         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
58626
58627 2006-06-28  Derek R. Price  <derek@ximbiot.com>
58628
58629         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
58630         Autoconf 2.60 says this stuff was obsolete.
58631
58632 2006-06-28  Bruno Haible  <bruno@clisp.org>
58633
58634         * modules/wcwidth (Files): Add m4/wchar_t.m4.
58635
58636 2006-06-28  Bruno Haible  <bruno@clisp.org>
58637
58638         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
58639         gt_TYPE_WCHAR_T.
58640
58641 2006-06-28  Bruno Haible  <bruno@clisp.org>
58642
58643         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
58644         declaration for wcwidth.
58645         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
58646
58647 2006-06-28  Bruno Haible  <bruno@clisp.org>
58648
58649         * lib/mkdtemp.c [MINGW]: Include <io.h>.
58650         (mkdir): Define using _mkdir.
58651
58652 2006-06-28  Bruno Haible  <bruno@clisp.org>
58653
58654         * lib/getaddrinfo.h: Fix POSIX URL.
58655         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
58656         _WIN32.
58657         (use_win32_p): Make static.
58658         (getaddrinfo): Reject service name if it is empty or does not consist
58659         solely of decimal digits, or if its value is > 65535.
58660         (getnameinfo): Remove useless casts.
58661
58662 2006-06-27  Simon Josefsson  <jas@extundo.com>
58663
58664         * modules/sys_select: New file, suggested by Bruno Haible, Paul
58665         Eggert and Martin Lambers.
58666
58667 2006-06-27  Simon Josefsson  <jas@extundo.com>
58668
58669         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
58670         Eggert and Martin Lambers.
58671
58672 2006-06-27  Bruno Haible  <bruno@clisp.org>
58673
58674         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
58675         result to 0, not to empty.
58676         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
58677
58678 2006-06-27  Bruno Haible  <bruno@clisp.org>
58679
58680         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
58681
58682 2006-06-26  Simon Josefsson  <jas@extundo.com>
58683
58684         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
58685         present.
58686
58687 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
58688
58689         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
58690         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
58691         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
58692
58693 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
58694
58695         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
58696
58697 2006-06-26  Bruno Haible  <bruno@clisp.org>
58698
58699         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
58700
58701 2006-06-26  Bruno Haible  <bruno@clisp.org>
58702
58703         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
58704
58705 2006-06-26  Bruno Haible  <bruno@clisp.org>
58706
58707         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
58708         SGI C compiler in pre-C99 mode.
58709         Suggested by Mark D. Baushke and Larry Jones.
58710
58711 2006-06-26  Bruno Haible  <bruno@clisp.org>
58712
58713         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
58714         WCHAR_MAX.
58715         Reported by Mark D. Baushke and Larry Jones.
58716
58717 2006-06-26  Bruno Haible  <bruno@clisp.org>
58718
58719         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
58720         in pre-C99 mode.
58721         Suggested by Mark D. Baushke and Larry Jones.
58722
58723 2006-06-23  Simon Josefsson  <jas@extundo.com>
58724             Bruno Haible  <bruno@clisp.org>
58725
58726         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
58727         Emit mostlyclean-local rule.
58728         (func_emit_tests_Makefile_am): Likewise.
58729         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
58730
58731 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
58732
58733         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
58734
58735 2006-06-23  Bruno Haible  <bruno@clisp.org>
58736
58737         * tests/test-stdint.c: Update to match ISO C 99 Technical
58738         Corrigendum 1.
58739
58740 2006-06-23  Bruno Haible  <bruno@clisp.org>
58741
58742         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
58743
58744 2006-06-23  Bruno Haible  <bruno@clisp.org>
58745
58746         * lib/stdint_.h: Treat IRIX like OpenBSD.
58747
58748 2006-06-23  Bruno Haible  <bruno@clisp.org>
58749
58750         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
58751         ISO C 99 Technical Corrigendum 1.
58752
58753 2006-06-22  Simon Josefsson  <jas@extundo.com>
58754
58755         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
58756         MinGW.
58757
58758 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
58759
58760         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
58761         needed.  Some compiler complained about some of them.  Problem reported
58762         by Larry Jones in
58763         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
58764
58765 2006-06-21  Simon Josefsson  <jas@extundo.com>
58766
58767         * tests/test-getaddrinfo.c: New file.
58768
58769         * modules/getaddrinfo-tests: New file.
58770
58771         * MODULES.html.sh: Add inet_pton.
58772
58773         * modules/inet_pton: New file.
58774
58775 2006-06-21  Simon Josefsson  <jas@extundo.com>
58776
58777         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
58778         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
58779         of using the (limited) gnulib implementation on Windows XP.
58780
58781         * m4/inet_pton.m4: New file.
58782
58783 2006-06-21  Simon Josefsson  <jas@extundo.com>
58784
58785         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
58786         variable.
58787
58788         * lib/socket_.h: Don't define WINVER.
58789
58790         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
58791         slightly modified to work in gnulib.
58792
58793 2006-06-21  Simon Josefsson  <jas@extundo.com>
58794
58795         * doc/gnulib.texi (Windows sockets): Add.
58796
58797 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
58798
58799         * lib/read-file.c (fread_file): Start with buffer allocation of
58800         0 bytes rather than 1 byte; this simplifies the code.
58801         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
58802         code to free buffer and save/restore errno.
58803         (internal_read_file): Remove unused local.
58804
58805 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
58806
58807         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
58808         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
58809         Problem reported by Denis Excoffier in
58810         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
58811
58812 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58813
58814         * modules/sys_socket, modules/socklen: Include sys/types since
58815         FreeBSD 4.x's sys/socket.h needs it.
58816
58817 2006-06-19  Simon Josefsson  <jas@extundo.com>
58818
58819         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
58820
58821 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
58822
58823         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
58824
58825 2006-06-19  Bruno Haible  <bruno@clisp.org>
58826
58827         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
58828         and FULL_PATH_INTTYPES_H in angle brackets.
58829         Reported by Mark D. Baushke <mdb@gnu.org>.
58830
58831 2006-06-17  Eric Blake  <ebb9@byu.net>
58832
58833         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
58834         errno.
58835
58836 2006-06-17  Bruno Haible  <bruno@clisp.org>
58837
58838         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
58839         <sys/inttypes.h>.
58840
58841 2006-06-17  Bruno Haible  <bruno@clisp.org>
58842
58843         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
58844         whether errno is declared. Assume <errno.h> declares errno.
58845
58846 2006-06-17  Bruno Haible  <bruno@clisp.org>
58847
58848         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
58849
58850 2006-06-17  Bruno Haible  <bruno@clisp.org>
58851
58852         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
58853         problem on Solaris 2.5.1.
58854
58855 2006-06-16  Eric Blake  <ebb9@byu.net>
58856
58857         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
58858         * lib/unicodeio.c [!defined errno]: Likewise.
58859         * lib/strtol.c [!defined errno]: Likewise.
58860         * lib/strtod.c [!defined errno]: Likewise.
58861
58862 2006-06-15  Eric Blake  <ebb9@byu.net>
58863
58864         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
58865
58866 2006-06-15  Eric Blake  <ebb9@byu.net>
58867
58868         * config/srclist.txt (ssize_t.m4): Lose sync.
58869
58870 2006-06-15  Bruno Haible  <bruno@clisp.org>
58871
58872         * modules/stdint (Files): Include m4/full-header-path.m4,
58873         m4/size_max.m4, m4/wchar_t.m4.
58874         (Makefile.am): Many more substitutions.
58875         * modules/stdint-tests: New file.
58876         * tests/test-stdint.c: New file.
58877
58878 2006-06-15  Bruno Haible  <bruno@clisp.org>
58879
58880         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
58881         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
58882         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
58883         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
58884         gl_CHECK_TYPE_SAME): New macros.
58885
58886 2006-06-15  Bruno Haible  <bruno@clisp.org>
58887
58888         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
58889
58890 2006-06-15  Bruno Haible  <bruno@clisp.org>
58891
58892         * lib/stdint_.h: Rewritten to be fully auto-configured.
58893         Fixes bug on HP-UX/IA64.
58894
58895 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
58896
58897         * lib/getdate.y (__attribute__): Don't define if already defined.
58898         Problem reported by Larry Jones.
58899         * lib/utimens.c (__attribute__): Likewise.
58900
58901 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
58902
58903         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
58904         reported by Andreas Schwab.
58905
58906 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58907             Bruno Haible  <bruno@clisp.org>
58908
58909         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
58910         check for the declaration of strnlen and a run test that exposes the
58911         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
58912         rpl_strndup.
58913
58914 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58915             Bruno Haible  <bruno@clisp.org>
58916
58917         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
58918
58919 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58920
58921         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
58922         compile test, for Tru64 4.0D.
58923
58924 2006-05-28  Karl Berry  <karl@gnu.org>
58925
58926         * config/srclist.txt (printf-args.c): lose sync.
58927
58928 2006-05-26  Martin Lambers  <marlam@marlam.de>
58929
58930         * lib/getpass.c: Updates the test for the native W32 API, and adds
58931         missing includes, thus fixing compilation warnings.
58932
58933 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
58934
58935         * lib/exclude.c (exclude_fnmatch): New function.
58936         (excluded_file_name): Call exclude_fnmatch.
58937         * lib/exclude.h (excluded_file_name): New prototype
58938
58939 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
58940
58941         * lib/tempname.c (small_open, large_open): New macros.
58942         (__open, __open64) [!_LIBC]: Remove.
58943         (__gen_tempname): Use small_open and large_open instead of __open
58944         and __open64.  This fixes a portability bug on HP-UX 11.11i
58945         reported by Simon Wing-Tang in
58946         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
58947
58948 2006-05-24  Bruno Haible  <bruno@clisp.org>
58949
58950         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
58951         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
58952         Reported by Thorsten Maerz <torte@netztorte.de> via
58953         Aaron Stone <aaron@serendipity.cx>.
58954
58955 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
58956
58957         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
58958         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
58959         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
58960         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
58961         not really conditional on the cache.
58962         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
58963
58964 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
58965
58966         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
58967         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
58968         (my_usleep): Don't mishandle maximum value.
58969
58970 2006-05-19  Jim Meyering  <jim@meyering.net>
58971
58972         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
58973
58974 2006-05-17  Bruno Haible  <bruno@clisp.org>
58975
58976         Cygwin portability.
58977         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
58978
58979 2006-05-17  Bruno Haible  <bruno@clisp.org>
58980
58981         * lib/stdint_.h: Fix recognition of Cygwin.
58982
58983 2006-05-15  Bruno Haible  <bruno@clisp.org>
58984
58985         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
58986         on libtool patch by Ralf Wildenhues.
58987
58988 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
58989
58990         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
58991         test for C99 conformance; (bool) 0.5 is an integer constant
58992         expression, but (bool) -0.5 is not.  Problem reported by Fedor
58993         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
58994
58995 2006-05-11  Simon Josefsson  <jas@extundo.com>
58996
58997         * m4/xvasprintf.m4: Fix obvious typo.
58998
58999 2006-05-11  Jim Meyering  <jim@meyering.net>
59000
59001         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
59002         James Lemley.
59003
59004 2006-05-10  Simon Josefsson  <jas@extundo.com>
59005
59006         * lib/md4.c: Typo fix, update copyright years.
59007         (K1, K2): Don't use L because it turn computations into 64-bit on
59008         64-bit platforms.
59009
59010 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
59011
59012         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
59013         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
59014         unwanted sign propagation, e.g., on hosts with 64-bit int.
59015         There still are some problems with reeelly weird theoretical hosts
59016         (e.g., 33-bit int) but it's not worth worrying about now.
59017         * lib/sha1.c (rol): Likewise.
59018         (K1, K2, K3, K4): Remove unnecessary L suffix.
59019
59020 2006-05-10  Bruno Haible  <bruno@clisp.org>
59021
59022         * lib/des.c: Cast to avoid warnings.
59023
59024 2006-05-09  Bruno Haible  <bruno@clisp.org>
59025
59026         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
59027         (Depends-on): Depend also on xsize, stdarg.
59028         (configure.ac): Add gl_XVASPRINTF.
59029
59030 2006-05-09  Bruno Haible  <bruno@clisp.org>
59031
59032         * m4/xvasprintf.m4: New file.
59033
59034 2006-05-09  Bruno Haible  <bruno@clisp.org>
59035
59036         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
59037         (EOVERFLOW): Define fallback value.
59038         (xstrcat): New function.
59039         (xvasprintf): Recognize the special case of a string concatenation.
59040
59041 2006-05-08  Eric Blake  <ebb9@byu.net>
59042
59043         * gnulib-tool (func_version): Base copyright year on CVS date.
59044         (func_emit_copyright_notice): New function.
59045         (func_emit_lib_Makefile_am): Use it.
59046         (func_emit_tests_Makefile_am): Likewise.
59047         (func_import): Likewise.
59048
59049 2006-05-08  Bruno Haible  <bruno@clisp.org>
59050
59051         * modules/stdarg: New file.
59052         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
59053
59054 2006-05-08  Bruno Haible  <bruno@clisp.org>
59055
59056         * m4/stdarg.m4: New file, from GNU gettext.
59057
59058 2006-05-08  Bruno Haible  <bruno@clisp.org>
59059
59060         * config/srclist.txt (build-aux/config.rpath): different from latest
59061         release.
59062
59063 2006-05-08  Bruno Haible  <bruno@clisp.org>
59064
59065         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
59066
59067 2006-05-05  Jim Meyering  <jim@meyering.net>
59068
59069         * m4/warning.m4: New file, derived from bison's file by the same name.
59070
59071 2006-05-03  Bruno Haible  <bruno@clisp.org>
59072
59073         * lib/stdint_.h: Shorter URL.
59074         * lib/inttypes.h: Likewise.
59075
59076 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59077
59078         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
59079
59080 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59081
59082         * lib/verify.h: Document the internals better.  Most of this change
59083         was written by Bruno Haible.
59084
59085 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59086
59087         * doc/verify.texi: New file, partly based on a proposal by
59088         Bruno Haible.
59089
59090 2006-05-02  Bruno Haible  <bruno@clisp.org>
59091
59092         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
59093         test from here...
59094         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
59095
59096 2006-04-29  Bruno Haible  <bruno@clisp.org>
59097
59098         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
59099         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
59100
59101 2006-04-29  Bruno Haible  <bruno@clisp.org>
59102
59103         * gnulib-tool: Make --update option actually work.
59104
59105 2006-04-29  Bruno Haible  <bruno@clisp.org>
59106
59107         * doc/gcd.texi: New file.
59108         * doc/gnulib.texi: Include it.
59109
59110 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
59111
59112         * lib/getdate.y (get_date): When adding relative date, start with the
59113         initial time, not with the result of the first mktime call.
59114
59115 2006-04-25  Bruno Haible  <bruno@clisp.org>
59116
59117         * gnulib-tool (func_import): Output the include directives in three
59118         blocks, sorted separately.
59119         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59120
59121 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
59122
59123         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
59124         to define main with arguments, for C++.  Reported by Eric Blake.
59125         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
59126         Prefer 'int main ()' to 'int main (void)', for C++.
59127         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
59128         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
59129         for 'main', for C99 and C++.
59130
59131 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
59132
59133         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
59134         Don't assume that exit status -1 is valid.
59135         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
59136         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
59137         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
59138         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
59139         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
59140         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
59141         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
59142         functions can be used without declaring them, or that you can
59143         exit with status -1.
59144         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
59145
59146 2006-04-24  Karl Berry  <karl@gnu.org>
59147
59148         * config/srclist.txt (longdouble.m4): sync lost.
59149
59150 2006-04-24  Eric Blake  <ebb9@byu.net>
59151
59152         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
59153
59154 2006-04-24  Bruno Haible  <bruno@clisp.org>
59155
59156         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
59157         poll() implementation in AIX.
59158         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59159
59160 2006-04-24  Bruno Haible  <bruno@clisp.org>
59161
59162         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
59163         assigned exactly once.
59164
59165 2006-04-23  Claudio Fontana  <claudio@gnu.org>
59166             Bruno Haible  <bruno@clisp.org>
59167
59168         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
59169         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
59170         for AM_CPPFLAGS.
59171
59172 2006-04-23  Bruno Haible  <bruno@clisp.org>
59173
59174         * modules/copy-file: Depend on unistd.
59175         * modules/execute: Likewise.
59176         * modules/fatal-signal: Likewise.
59177         * modules/findprog: Likewise.
59178         * modules/mkdtemp : Likewise.
59179         * modules/pipe: Likewise.
59180         * modules/wait-process: Likewise.
59181
59182 2006-04-23  Bruno Haible  <bruno@clisp.org>
59183
59184         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
59185         condition was already detected.
59186         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59187
59188 2006-04-23  Bruno Haible  <bruno@clisp.org>
59189
59190         * lib/copy-file.c: Include <unistd.h> unconditionally.
59191         * lib/execute.c: Likewise.
59192         * lib/fatal-signal.c: Likewise.
59193         * lib/findprog.c: Likewise.
59194         * lib/mkdtemp.c: Likewise.
59195         * lib/pipe.h: Likewise.
59196         * lib/pipe.c: Likewise.
59197         * lib/wait-process.h: Likewise.
59198
59199 2006-04-23  Bruno Haible  <bruno@clisp.org>
59200
59201         * gnulib-tool (func_usage): Fix --import description. Document
59202         --update.
59203         (func_import): Create temporary file in a temporary directory, if
59204         --dry-run is specified. Silence errors from 'grep' when there are no
59205         m4 files in $m4dir.
59206         (func_create_testdir): Silence errors from 'grep' when there are no
59207         m4 files in $m4dir.
59208         Reported by Karl Berry <karl@freefriends.org>.
59209
59210 2006-04-20  Bruno Haible  <bruno@clisp.org>
59211
59212         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
59213         one argument, so that the code will be portable to Autoconf 2.60.
59214         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
59215         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
59216         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
59217
59218 2006-04-19  Derek Price  <derek@ximbiot.com>
59219             Eric Blake  <ebb9@byu.net>
59220
59221         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
59222         rather than "/full/path.h".  Update comment to match.  Shorten &
59223         generalize m4_translit call via AS_TR_CPP.
59224
59225 2006-04-19  Derek Price  <derek@ximbiot.com>
59226             Eric Blake  <ebb9@byu.net>
59227
59228         * lib/inttypes.h: Correct grammar in comment.
59229
59230 2006-04-18  Derek Price  <derek@ximbiot.com>
59231             Paul Eggert  <eggert@cs.ucla.edu>
59232
59233         * modules/inttypes: New file.
59234         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
59235
59236 2006-04-18  Derek Price  <derek@ximbiot.com>
59237             Paul Eggert  <eggert@cs.ucla.edu>
59238
59239         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
59240         New files.
59241
59242 2006-04-18  Derek Price  <derek@ximbiot.com>
59243             Paul Eggert  <eggert@cs.ucla.edu>
59244
59245         * lib/inttypes.h: New file.
59246         * lib/strtoimax.c: Assume <inttypes.h>.
59247
59248 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
59249
59250         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
59251         isn't mounted.  Problem reported by Kir Kolyshkin.
59252
59253 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
59254
59255         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
59256         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
59257         Derek R. Price.
59258         * lib/regex.h (RE_DUP_MAX): Update comment to match current
59259         implementation.
59260
59261 2006-04-12  Eric Blake  <ebb9@byu.net>
59262
59263         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
59264         is now done automatically by the corresponding Autoconf macro.
59265
59266 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
59267
59268         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
59269         time_r.h.
59270
59271 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
59272
59273         Merge regex changes from libc, removing some of our
59274         POSIX-conformance changes that were rejected and redoing them in a
59275         less-intrusive way.
59276
59277         * lib/regcomp.c (re_compile_internal, init_dfa):
59278         Length arg is now size_t, not Idx.  All uses changed.
59279         (peek_token): Forward decl now says internal_function.
59280         (__re_error_msgid, __re_error_msgid_idx):
59281         Now static rather than extern with attribute_hidden.
59282         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
59283         For some reason libc prefers K&R style defns for external functions.
59284         (regerror) [!defined _LIBC]: Likewise.
59285         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
59286         (seek_collating_symbol_entry, lookup_collation_sequence_value):
59287         (build_range_exp, build_collating_symbol):
59288         Use K&R-style defn.
59289         (re_compile_fastmap): Use '\0' to memset, not 0.
59290         (utf8_sb_map): Make the calculations more obvious.
59291         (init_dfa, parse_bracket_exp, build_charclass_op):
59292         Call calloc and cast result, as glibc does.
59293         (init_word_char, fetch_token, peek_token, peek_token_bracket):
59294         (build_range_exp, build_collating_symbol):
59295         Now internal functions.
59296
59297         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
59298
59299         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
59300         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
59301         Don't depend on VMS; depend on __VMS instead, for POSIX
59302         namespace cleanness.
59303         (regoff_t): Define to ssize_t, not long int.
59304
59305         Remove the REG_ macros named below.  Instead, make the old names
59306         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
59307         __USE_GNU_REGEX.
59308         (REG_BACKSLASH_ESCAPE_IN_LISTS):
59309         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
59310         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
59311         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
59312         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
59313         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
59314         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
59315         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
59316         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
59317         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
59318         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
59319         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
59320         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
59321         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
59322         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
59323         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
59324         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
59325         (REG_NREGS):
59326         Remove.  All uses replaced by the old RE_* names.
59327         (RE_BACKSLASH_ESCAPE_IN_LISTS):
59328         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
59329         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
59330         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
59331         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
59332         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
59333         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
59334         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
59335         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
59336         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
59337         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
59338         Don't bother having these macros be independent of each others'
59339         values, since they no longer exist in the POSIX name space.
59340
59341         Rename the following member names back to their old names,
59342         unless !__USE_GNU_REGEX.  All uses changed back.
59343         (buffer): Renamed from re_buffer.
59344         (allocated): Renamed from re_allocated.
59345         (used): Renamed from re_used.
59346         (syntax): Renamed from re_syntax.
59347         (fastmap): Renamed from re_fastmap.
59348         (translate): Renamed from re_translate.
59349         (can_be_null): Renamed from re_can_be_null.
59350         (regs_allocated): Renamed from re_regs_allocated.
59351         (fastmap_accurate): Renamed from re_fastmap_accurate.
59352         (no_sub): Renamed from re_no_sub.
59353         (not_bol): Renamed from re_not_bol.
59354         (not_eol): Renamed from re_not_eol.
59355         (newline_anchor): Renamed from re_newline_anchor.
59356         (num_regs): Renamed from rm_num_regs.
59357         (start): Renamed from rm_start.
59358         (end): Renamed from rm_end.
59359
59360         (free_state): Move up a bit.
59361
59362         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
59363         #define to be empty.
59364         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
59365         when that is what is intended.
59366         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
59367         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
59368         (MAX): New macro.
59369         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
59370         All uses changed back to re_malloc, etc.  It's now the caller's
59371         responsibility to check for overflow; all callers changed.
59372         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
59373         (re_x2nrealloc): Remove.
59374         (free_state): Remove decl.
59375
59376         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
59377         (re_set_registers, re_exec):
59378         Use K&R-style defn.
59379
59380         2006-01-31  Roland McGrath  <roland@redhat.com>
59381
59382         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
59383         Reported by Mike Frysinger <vapier@gentoo.org>.
59384
59385         2006-01-15  Andreas Jaeger  <aj@suse.de>
59386
59387         [BZ #1950]
59388         * lib/regex_internal.c (re_string_reconstruct): Adjust for
59389         build_wcs_upper_buffer change.
59390         (build_wcs_upper_buffer): Change return type.
59391
59392         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
59393
59394         * lib/regex_internal.h: Include <stdint.h> if available.
59395
59396         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
59397
59398         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
59399
59400         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
59401
59402         * lib/regcomp.c: Adjust for changed secondary hash function.
59403
59404         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
59405
59406         * lib/regex.h: Pretty printing.
59407         Clean up namespace a bit.
59408
59409         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
59410
59411         * lib/regexec.c (update_cur_sifted_state, check_arrival,
59412         check_arrival_add_next_nodes): Avoid using uninitialized variable.
59413
59414         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
59415                     Ulrich Drepper  <drepper@redhat.com>
59416
59417         [BZ #1302]
59418         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
59419         changed.
59420         (bitset_word_t): Renamed from bitset_word.  All uses changed.
59421
59422         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
59423
59424         [BZ #281]
59425         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
59426         * lib/regcomp.c: Remove unnecessary uses of
59427         unsigned RE_TRANSLATE_TYPE.
59428         * lib/regex_internal.h: Likewise.
59429         * lib/regex_internal.c: Likewise.
59430         * lib/regexec.c: Likewise.
59431         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
59432
59433         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
59434
59435         * lib/regexec.c (find_recover_state): Remove unnecessary
59436         initialization.
59437         (transit_state_bkref): Make DFA a const pointer.
59438         (get_subexp): Likewise.
59439         (check_arrival): Likewise.
59440         (update_cur_sifted_state): Likewise.
59441         (re_search_internal): Likewise.
59442         (prune_impossible_nodes): Likewise.
59443         (acquire_init_state_context): Likewise.
59444         (proceed_next_node): Likewise.
59445         (set_regs): Likewise.
59446         (free_fail_stack_return): Likewise.
59447         (check_arrival_expand_ecl): Mark DFA parameter as const.
59448         (check_arrival_expand_ecl_sub): Likewise.
59449         (check_subexp_limits): Likewise.
59450         (sub_epsilon_src_nodes):  Likewise.
59451         (add_epsilon_src_nodes):  Likewise.
59452         (merge_state_array): Likewise.
59453         (update_regs): Likewise.
59454         (build_trtable): Likewise.
59455         (sift_states_backward): Mark MCTX parameter as const.
59456         (build_sifted_states): Likewise.
59457         (update_cur_sifted_state): Likewise.
59458         (sift_states_mkref): Likewise.
59459         (check_arrival_expand_ecl): Mark eclosure as const.
59460         (check_dst_limits_calc_pos_1): Likewise.
59461         * lib/regex_internal.h (re_match_context_t): Make dfa a const
59462         pointer.
59463
59464         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
59465
59466         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
59467         (transit_state_sb): Likewise.
59468         (transit_state_mb): Likewise.
59469         (sift_states_iter_mb): Likewise.
59470         (check_arrival_add_next_nodes): Likewise.
59471         (check_node_accept_bytes): Change first parameter to pointer-to-const.
59472         [_LIBC] (re_search_2_stub): Use mempcpy.
59473
59474         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
59475         mbrtowc for very simple UTF-8 case.
59476
59477         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
59478         a pointer-to-const.
59479         (re_acquire_state_context): Likewise.
59480         * lib/regex_internal.h: Adjust prototypes.
59481
59482         * lib/regex.c: Prevent using C++ compilers.
59483
59484         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
59485         (re_acquire_state_context): Likewise.
59486
59487 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
59488
59489         * modules/regex (Depends-on): Add ssize_t.
59490
59491 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
59492
59493         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
59494         translation table.
59495
59496 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
59497
59498         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
59499
59500 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
59501             Bruno Haible  <bruno@clisp.org>
59502
59503         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
59504         <sys/types.h> and <inttypes.h>.
59505
59506 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59507
59508         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
59509         `__error_t_defined', so argp.h will not typedef the former.
59510
59511 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
59512
59513         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
59514         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
59515         glibc names.  Even if glibc is changed to conform to POSIX, the
59516         traditional names will be available anyway, since regex depends on
59517         the extensions module.  Also, fix a longstanding typo in the
59518         implementation of Spencer ERE test #75 from grep 2.3.  Problems
59519         reported by Emanuele Giaquinta.  Also, change sense of cached
59520         variable, so that the message makes sense.
59521
59522 2006-03-24  Simon Josefsson  <jas@extundo.com>
59523
59524         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
59525         including some doc fixes.
59526         (base64_encode_alloc): Fix +1 bug on allocation failures.
59527
59528 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59529
59530         * lib/base64.c (base64_encode): Do not read past end of array with
59531         unsanitized input on systems with CHAR_BIT > 8.
59532
59533 2006-03-24  Eric Blake  <ebb9@byu.net>
59534
59535         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
59536
59537 2006-03-22  Karl Berry  <karl@gnu.org>
59538
59539         * config/srclist.txt (*setenv.[ch]): get from coreutils.
59540         * config/srclistvars.sh (COREUTILS): new var.
59541
59542 2006-03-17  Jim Meyering  <jim@meyering.net>
59543
59544         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
59545         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
59546
59547 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
59548
59549         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
59550         no longer needs it.  Instead, check that regoff_t is as least
59551         as wide as ptrdiff_t.
59552
59553         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
59554         so that our regex.h stays compatible with the installed regex.
59555         This is helpful for installers who configure --without-included-regex.
59556         Problem reported by Emanuele Giaquinta.
59557
59558 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
59559
59560         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
59561         Typedef to long int, not to off_, as POSIX will likely change
59562         in that direction.
59563
59564 2006-03-15  Eric Blake  <ebb9@byu.net>
59565
59566         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
59567
59568 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
59569
59570         * lib/argp-help.c (validate_uparams): Fix typo
59571         * lib/argp-parse.c (argp_default_options): Consistently begin help
59572         messages with a lowercase letter.
59573
59574 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
59575
59576         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
59577         overrun buffers and shouldn't be used (much as gets shouldn't be
59578         used).
59579         * lib/time_r.c (asctime_r, ctime_r): Likewise.
59580
59581 2006-03-08  Simon Josefsson  <jas@extundo.com>
59582
59583         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
59584         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59585
59586 2006-03-08  Simon Josefsson  <jas@extundo.com>
59587
59588         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
59589         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59590
59591 2006-03-08  Simon Josefsson  <jas@extundo.com>
59592
59593         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
59594         signal that configure disabled the device.
59595
59596 2006-03-08  Simon Josefsson  <jas@extundo.com>
59597
59598         * build-aux/maint.mk: Fix refresh-po, to handle no translated
59599         languages.
59600
59601 2006-03-07  Simon Josefsson  <jas@extundo.com>
59602
59603         * modules/getopt (Depends-on): Add unistd.
59604
59605         * modules/unistd: New file.
59606
59607 2006-03-07  Simon Josefsson  <jas@extundo.com>
59608
59609         * modules/gc-random: New file.
59610
59611 2006-03-07  Simon Josefsson  <jas@extundo.com>
59612
59613         * m4/unistd_h.m4: New file.
59614
59615 2006-03-07  Simon Josefsson  <jas@extundo.com>
59616
59617         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
59618         test to be side-effect free by storing the result in the cache
59619         variable gl_cv_lib_readline, and moving the assignment of
59620         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
59621         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59622
59623 2006-03-07  Simon Josefsson  <jas@extundo.com>
59624
59625         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
59626         error on missing devices (the functions will return an error).
59627
59628         * m4/gc.m4: Move random stuff to gc-random.m4
59629
59630 2006-03-07  Simon Josefsson  <jas@extundo.com>
59631
59632         * lib/unistd_.h: New file.
59633
59634 2006-03-07  Simon Josefsson  <jas@extundo.com>
59635
59636         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
59637
59638 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
59639
59640         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
59641         Problem reported by Juan Manuel Guerrero.
59642
59643 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
59644
59645         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
59646         the unistd module.
59647         * lib/getlogin_r.c: Likewise.
59648         * lib/getlogin_r.h: Likewise.
59649         * lib/glob.c: Likewise.
59650         * lib/pagealign_alloc.c: Likewise.
59651         * lib/unistd_.h: Remove; no longer needed.
59652
59653 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
59654
59655         * MODULES.html.sh (Support for systems lacking POSIX:2001):
59656         Add unistd.
59657         * modules/c-stack (Depends-on): Add unistd.
59658         * modules/getlogin_r: Likewise.
59659         * modules/glob: Likewise.
59660         * modules/pagealign_alloc: Likewise.
59661         * modules/unistd (Files): Remove lib/unistd_.h.
59662         (EXTRA_DIST): Remove.
59663         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
59664         need unistd_.h.
59665         (MOSTLYCLEANFILES): Remove unistd.h-t.
59666
59667 2006-03-03  Simon Josefsson  <jas@extundo.com>
59668
59669         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
59670
59671 2006-03-03  Simon Josefsson  <jas@extundo.com>
59672
59673         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
59674         libidn and bison.
59675
59676 2006-03-03  Simon Josefsson  <jas@extundo.com>
59677
59678         * build-aux/maint.mk: Add indent target.
59679
59680 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
59681
59682         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
59683         our replacement poll.h in any case, to avoid a differing
59684         declaration from a system header.  Seen on AIX.
59685
59686 2006-03-01  Simon Josefsson  <jas@extundo.com>
59687
59688         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
59689         <kasal@ucw.cz>.
59690
59691 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
59692
59693         * modules/gettime (Depends-on): Add extensions module.
59694         * modules/nanosleep (Depends-on): Likewise.
59695         * modules/settime (Depends-on): Likewise.
59696
59697 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
59698
59699         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
59700         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
59701         pedantically.
59702         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
59703         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
59704
59705         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
59706         not "==".  Reported by Ralf Wildenhues.
59707
59708 2006-03-01  Karl Berry  <karl@gnu.org>
59709
59710         * doc/Copyright/request-*: new files, synced from gnuorg.
59711
59712 2006-03-01  Karl Berry  <karl@gnu.org>
59713
59714         * config/srclist.txt (Copyright/*): new entries.
59715
59716 2006-02-28  Simon Josefsson  <jas@extundo.com>
59717
59718         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
59719
59720 2006-02-27  Simon Josefsson  <jas@extundo.com>
59721
59722         * lib/base64.h: Indent #define's.  From Jim Meyering
59723         <jim@meyering.net>.
59724
59725 2006-02-27  Jim Meyering  <jim@meyering.net>
59726
59727         Revert the change of 2006-02-24, so these files can continue
59728         to be sync'd from gettext.
59729         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
59730         of `config.h'.
59731
59732 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
59733
59734         * modules/intprops: New file.
59735         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
59736         Add intprops.
59737         * modules/getloadavg (Files): Remove lib/intprops.h.
59738         (Depends-on): Add intprops.
59739         * modules/human: Likewise.
59740         * modules/inttostr: Likewise.
59741         * modules/openat: Likewise.
59742         * modules/sig2str: Likewise.
59743         * modules/userspec: Likewise.
59744         * modules/utimecmp: Likewise.
59745         * modules/xnanosleep: Likewise.
59746         * modules/xstrtol: Likewise.
59747
59748 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
59749
59750         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
59751         * modules/lock-tests (TESTS): Use $(EXEEXT).
59752         * modules/tls-tests: Likewise.
59753         * modules/argp-tests: Likewise.
59754         (check_PROGRAMS): New var, replacing...
59755         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
59756
59757 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59758
59759         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
59760         `config.h'.
59761
59762 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
59763
59764         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
59765
59766 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59767
59768         Sync from coreutils.
59769         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
59770         gl_CHDIR_SAFER.
59771
59772 2006-02-22  Jim Meyering  <jim@meyering.net>
59773
59774         Sync from coreutils.
59775         * m4/chdir-safer.m4: New file.
59776
59777 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
59778
59779         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
59780         AT_FDCWD exceeds INT_MAX.
59781         * lib/openat.h (AT_FDCWD): Likewise.
59782
59783 2006-02-17  Eric Blake  <address@hidden>
59784
59785         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
59786
59787 2006-02-16  Simon Josefsson  <jas@extundo.com>
59788
59789         * modules/getaddrinfo (Depends-on): Add sys_socket.
59790
59791 2006-02-15  Simon Josefsson  <jas@extundo.com>
59792
59793         * build-aux/maint.mk: Add dsyntax-check rule.
59794
59795 2006-02-15  Eric Blake  <ebb9@byu.net>
59796
59797         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
59798         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
59799         'present but cannot compile' warnings on cygwin.
59800         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
59801         use ws2tcpip.h if sys/socket.h works.
59802         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
59803         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
59804
59805 2006-02-14  Simon Josefsson  <jas@extundo.com>
59806
59807         * modules/maintainer-makefile (Files): Rename.
59808
59809         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
59810         and (the local) Makefile.cfg to maint-cfg.mk.
59811
59812         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
59813         to the latter.
59814
59815         * modules/maintainer-makefile: New module.
59816
59817         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
59818         severaly stripped to make it possible to build it up from scratch
59819         with reliable tests.
59820
59821         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
59822         fixes to permit overriding the default actions when configure and
59823         makefile are not available.
59824
59825 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
59826
59827         Sync from coreutils.
59828         * modules/lstat (Depends-on): Don't depend on xalloc.
59829         (License): Change from GPL to LGPL, since this is now simply a
59830         replacement for a libc function.
59831
59832 2006-02-14  Jim Meyering  <jim@meyering.net>
59833
59834         Sync from coreutils.
59835
59836         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
59837         failure on deficient systems, and simplify gnulib lgpl dependencies.
59838         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
59839         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
59840
59841         * lib/xalloc-die.c: Remove unused definition of N_.
59842
59843 2006-02-14  Jim Meyering  <jim@meyering.net>
59844
59845         Sync from coreutils.
59846         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
59847         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
59848         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
59849         double-quote uses of that variable, to accommodate the rare case in
59850         which getmntent is available in none of the libraries checked.  This
59851         happens at least on FreeBSD 5.0.
59852
59853 2006-02-13  Simon Josefsson  <jas@extundo.com>
59854
59855         * gnulib-tool (Usage): Fix --import, from
59856         karl@freefriends.org (Karl Berry).
59857
59858 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
59859
59860         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
59861
59862 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
59863
59864         * lib/argp-namefrob.h: Restore changes accidentally lost during the
59865         "autoupdate" on 2005-12-12.
59866
59867 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
59868
59869         * modules/closeout (Depends-on): Remove atexit.
59870
59871 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
59872
59873         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
59874         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
59875
59876 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
59877
59878         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
59879         __EXTENSIONS__ if this causes compilation to fail.  Problem
59880         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
59881         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
59882
59883 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
59884
59885         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
59886         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
59887         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
59888         All uses changed.
59889
59890 2006-01-26  Simon Josefsson  <jas@extundo.com>
59891
59892         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
59893         prototype is visible on mingw32.
59894
59895         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
59896         for mingw32.
59897
59898         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
59899         mingw32).
59900
59901 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
59902
59903         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
59904         attempt to open for write; this always fails, at least on POSIX
59905         hosts.  This reinstates the 2006-01-09 change, which was
59906         inadvertently removed.
59907
59908 2006-01-26  Bruno Haible  <bruno@clisp.org>
59909
59910         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
59911         Reported by Paul Eggert.
59912
59913 2006-01-26  Bruno Haible  <bruno@clisp.org>
59914             Paul Eggert  <eggert@cs.ucla.edu>
59915
59916         * lib/stdbool_.h (_Bool)
59917         [(! (defined __cplusplus || defined __BEOS__)
59918           && !defined __GNUC__
59919           && !(defined __HP_cc || defined __xlc__
59920                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
59921                || defined __sgi))]:
59922         #define to signed char in these cases too; this simplifies
59923         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
59924         etc., separately) and makes it more conservative.
59925
59926 2006-01-25  Simon Josefsson  <jas@extundo.com>
59927
59928         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
59929         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
59930         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
59931
59932 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
59933
59934         * lib/argp-namefrob.h: Bugfix. Remove stray #
59935
59936 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
59937
59938         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
59939         so that we test the test.
59940         Check for yet another HP-UX cc bug involving *bool |= bool.
59941
59942 2006-01-25  Karl Berry  <karl@gnu.org>
59943
59944         * config/srclist.txt (vasnprintf.c): sync lost.
59945
59946 2006-01-25  Jim Meyering  <jim@meyering.net>
59947
59948         Sync from the stable (b5) branch of coreutils:
59949
59950         * lib/fts.c (fts_children): Don't let close() clobber errno from
59951         failed fchdir().
59952
59953         * lib/fts.c (fts_stat): When following a symlink-to-directory,
59954         don't necessarily interpret stat-fails+lstat-succeeds as indicating
59955         a dangling symlink.  That can also happen at least for ELOOP.
59956         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
59957         FYI, this bug predates the inclusion of fts.c in coreutils.
59958
59959         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
59960         in their own block, so pre-c99 compilers don't object.
59961
59962         Avoid the double-free (first in fts_read, second in fts_close) that
59963         would occur when an `active' directory is made inaccessible (e.g.,
59964         via chmod a-x) during a traversal.
59965         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
59966         before returning.  Reproduce this failure by
59967         mkdir -p a/b; cd a; chmod a-x . b
59968         Reported by Stavros Passas.
59969
59970 2006-01-25  Jim Meyering  <jim@meyering.net>
59971
59972         * lib/fileblocks.c: Remove more useless parentheses.
59973         * lib/readutmp.h: Likewise.
59974
59975 2006-01-25  Bruno Haible  <bruno@clisp.org>
59976
59977         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
59978         warnings.
59979         Reported by Paul Eggert.
59980
59981 2006-01-25  Bruno Haible  <bruno@clisp.org>
59982
59983         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
59984         rid of a trap command. For Solaris sh.
59985         Reported by Mark D. Baushke <mdb@gnu.org>.
59986
59987 2006-01-24  Simon Josefsson  <jas@extundo.com>
59988
59989         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
59990         Bruno.
59991
59992 2006-01-24  Karl Berry  <karl@gnu.org>
59993
59994         * config/srclist.txt (argp-namefrob.h): sync lost.
59995
59996 2006-01-24  Jim Meyering  <jim@meyering.net>
59997
59998         * modules/openat (Files): Add lib/intprops.h.
59999         From Mark D. Baushke.
60000
60001 2006-01-24  Jim Meyering  <jim@meyering.net>
60002
60003         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
60004         Reported by Mark D. Baushke.
60005
60006 2006-01-24  Jim Meyering  <jim@meyering.net>
60007
60008         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
60009
60010 2006-01-24  Bruno Haible  <bruno@clisp.org>
60011
60012         * modules/strnlen (Maintainer): Change from glibc to all.
60013
60014 2006-01-24  Bruno Haible  <bruno@clisp.org>
60015
60016         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
60017         Patch by Paul Eggert.
60018
60019 2006-01-24  Bruno Haible  <bruno@clisp.org>
60020
60021         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
60022         already has it.
60023         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
60024         2005-11-26.
60025
60026         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
60027         'signed char' to avoid problems with the built-in _Bool type.
60028         Reported by Paul Eggert on 2005-11-26.
60029
60030 2006-01-24  Bruno Haible  <bruno@clisp.org>
60031
60032         * gnulib-tool (func_import): Avoid constructing complicated sed
60033         expressions inside backquote.
60034         Report and solution by Mark D. Baushke <mdb@gnu.org>.
60035
60036 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
60037
60038         These changes imported from libc.
60039         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
60040         test and two separate function calls.
60041         * lib/strndup.c (__strndup): Add libc_hidden_def.
60042
60043 2006-01-23  Simon Josefsson  <jas@extundo.com>
60044
60045         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
60046         Remove the test_*_SOURCES variable: automake infers it by default.
60047         * modules/tls-tests: Likewise.
60048
60049 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60050
60051         Work around porting bugs reported by Dieter in
60052         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
60053         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
60054         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
60055         Include "getopt.h" first, to check interface.
60056         (getenv): Declare only if defined HAVE_DECL_GETENV &&
60057         !HAVE_DECL_GETENV.
60058         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
60059         (__strndup): Revert to K&R-style function dfns, the glibc style.
60060         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
60061         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
60062         Include strnlen.h first, to get prototype properly.
60063         (strnlen): Renamed from __strnlen.
60064         Remove weak alias.
60065
60066 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60067
60068         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
60069
60070 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60071
60072         * config/srclist.txt: Adjust to reflect glibc reorganization.
60073         This affects only comments.
60074
60075 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
60076
60077          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
60078          Reported by Bruce Korb <bkorb@gnu.org>.
60079
60080 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
60081
60082         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
60083         to pacify gcc -Wswitch-default.
60084
60085 2006-01-22  Bruno Haible  <bruno@clisp.org>
60086
60087         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
60088         temporary buffer for sprintf, take into account the precision also
60089         for 'd', 'i', 'u', 'o', 'x', 'X'.
60090
60091 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
60092
60093         * modules/argp-tests: New module
60094         * tests/test-argp.c: New file
60095         * tests/test-argp-2.sh: New file
60096
60097 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
60098
60099         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
60100         (__argp_base_name): Removed
60101         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
60102         typo.
60103         (__argp_base_name): Provide macro definition or extern declaration
60104         depending on the configuration
60105
60106 2006-01-20  Simon Josefsson  <jas@extundo.com>
60107
60108         * modules/inet_ntop (Depends-on): Depend on sys_socket.
60109
60110 2006-01-20  Simon Josefsson  <jas@extundo.com>
60111
60112         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
60113
60114 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
60115
60116         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
60117         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
60118         Suggested by Bruno Haible.
60119
60120 2006-01-20  Karl Berry  <karl@gnu.org>
60121
60122         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
60123         until changes propagate, I guess.
60124
60125 2006-01-19  Simon Josefsson  <jas@extundo.com>
60126
60127         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
60128
60129 2006-01-19  Simon Josefsson  <jas@extundo.com>
60130
60131         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
60132
60133 2006-01-19  Simon Josefsson  <jas@extundo.com>
60134
60135         * gnulib-tool: Set check_PROGRAMS.
60136
60137         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
60138         modules/des-tests, modules/gc-arcfour-tests,
60139         modules/gc-arctwo-tests, modules/gc-des-tests,
60140         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
60141         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
60142         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
60143         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
60144         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
60145         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
60146         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
60147         test_*_SOURCES.
60148
60149 2006-01-18  Simon Josefsson  <jas@extundo.com>
60150
60151         * modules/socklen (Depends-on): Depend on sys_socket.
60152
60153 2006-01-18  Simon Josefsson  <jas@extundo.com>
60154
60155         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
60156         modules/des-tests, modules/gc-arcfour-tests,
60157         modules/gc-arctwo-tests, modules/gc-des-tests,
60158         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
60159         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
60160         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
60161         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
60162         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
60163         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
60164         $(EXEEXT) to automake TESTS variable, for mingw32.
60165
60166 2006-01-17  Simon Josefsson  <jas@extundo.com>
60167
60168         * modules/socklen (Include): Need sys/socket.h.
60169
60170 2006-01-17  Bruno Haible  <bruno@clisp.org>
60171
60172         * modules/ssize_t (Include): Add <sys/types.h>.
60173
60174 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
60175
60176         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
60177         it's not portable and it doesn't work with cross-compiles.
60178         Problem reported by Bruno Haible.  Fix missing-$ typo in
60179         'test "gl_cv_ignore_unused_libraries" ...' that prevented
60180         -zignore from being used with Sun's C compiler.
60181
60182 2006-01-12  Simon Josefsson  <jas@extundo.com>
60183
60184         * lib/base64.c: Fix warning, reported by Bruno Haible
60185         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
60186
60187 2006-01-12  Bruno Haible  <bruno@clisp.org>
60188
60189         * modules/ldd: New file.
60190         * build-aux/ldd.sh.in: New file.
60191         * MODULES.html.sh (Support for building libraries and executables): Add
60192         ldd.
60193
60194 2006-01-12  Bruno Haible  <bruno@clisp.org>
60195
60196         * m4/ldd.m4: New file.
60197
60198 2006-01-12  Bruno Haible  <bruno@clisp.org>
60199
60200         * gnulib-tool (func_import, func_create_testdir): Don't go into an
60201         endless loop while replacing $auxdir with build-aux.
60202
60203 2006-01-11  Simon Josefsson  <jas@extundo.com>
60204
60205         * lib/stdint_.h (SIZE_MAX): Add missing (.
60206
60207 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
60208
60209         Sync from coreutils.
60210         * lib/md5.c: Fix commentary typos.
60211         (alignof, UNALIGNED_P): No need for a GCC-specific version.
60212         * lib/md5.h (__attribute__): Remove; unused.
60213         * lib/sha1.c: Fix commentary to match md5 better.
60214         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
60215         so that we don't need to worry about alignment.  All uses changed.
60216         This merges the 2005-10-28 md5 change into sha1.
60217
60218 2006-01-11  Jim Meyering  <jim@meyering.net>
60219
60220         Sync from coreutils.
60221         * lib/md5.c (OP): Fix spacing.
60222
60223 2006-01-11  Bruno Haible  <bruno@clisp.org>
60224
60225         Ensure automatic ordering between gl_LOCK and gl_ARGP.
60226         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
60227         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
60228
60229 2006-01-11  Bruno Haible  <bruno@clisp.org>
60230
60231         Ensure automatic ordering between gl_LOCK and gl_ARGP.
60232         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
60233         the "early" section as well.
60234
60235 2006-01-11  Bruno Haible  <bruno@clisp.org>
60236
60237         Avoid "ar: no archive members specified" error on MacOS X.
60238         * gnulib-tool (func_modules_add_dummy): New function.
60239         (func_import, func_create_testdir): Invoke it.
60240
60241 2006-01-11  Bruno Haible  <bruno@clisp.org>
60242
60243         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
60244         with $auxdir in AC_CONFIG_FILES statements.
60245
60246 2006-01-11  Bruno Haible  <bruno@clisp.org>
60247
60248         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60249         Initialize also noinst_HEADERS to empty.
60250
60251 2006-01-11  Bruno Haible  <bruno@clisp.org>
60252
60253         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
60254         variables.
60255         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
60256         autoreconf.
60257
60258 2006-01-11  Bruno Haible  <bruno@clisp.org>
60259
60260         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
60261         overridable by the user.
60262         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60263
60264 2006-01-10  Simon Josefsson  <jas@extundo.com>
60265
60266         * modules/sys_socket: New file.
60267
60268 2006-01-10  Simon Josefsson  <jas@extundo.com>
60269
60270         * m4/sys_socket_h.m4: New file.
60271
60272 2006-01-10  Simon Josefsson  <jas@extundo.com>
60273
60274         * lib/socket_.h: New file.
60275
60276 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
60277
60278         * modules/readutmp (Maintainer): Add myself.
60279
60280 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
60281
60282         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
60283         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
60284         People who are still concerned with buggy memcmp implementations
60285         can invoke gl_FUNC_MEMCMP themselves.
60286
60287 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
60288
60289         * lib/regex_internal.h (BITSET_WORD_BITS):
60290         Work around a bug in 64-bit PGC (before version 6.1-2), where the
60291         preprocessor mishandles large unsigned values as if they were signed.
60292         Problem reported by Claudio Fontana in
60293         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
60294
60295 2006-01-10  Jim Meyering  <jim@meyering.net>
60296
60297         Avoid the double-free (first in fts_read, second in fts_close) that
60298         would occur when an `active' directory is made inaccessible (e.g.,
60299         via chmod a-x) during a traversal.
60300         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
60301         before returning.  Reproduce this failure by
60302         mkdir -p a/b; cd a; chmod a-x . b
60303         Reported by Stavros Passas.
60304
60305         Sync from coreutils.
60306         * lib/sha1.c: Tweak grammar in a comment.
60307
60308 2006-01-10  Jim Meyering  <jim@meyering.net>
60309
60310         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
60311         Patch by Joerg Sonnenberger.
60312
60313 2006-01-10  Bruno Haible  <bruno@clisp.org>
60314
60315         * modules/readutmp: Depend on module free.
60316         * modules/strtok_r: Depend on module restrict.
60317
60318 2006-01-10  Bruno Haible  <bruno@clisp.org>
60319
60320         * modules/gettext (configure.ac): Add an invocation of
60321         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
60322
60323 2006-01-10  Bruno Haible  <bruno@clisp.org>
60324
60325         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
60326         Reported by Werner Lemberg <wl@gnu.org>.
60327
60328 2006-01-10  Bruno Haible  <bruno@clisp.org>
60329
60330         * lib/localcharset.c: Update from GNU gettext.
60331
60332 2006-01-10  Bruno Haible  <bruno@clisp.org>
60333
60334         * lib/argp.h (__const): Remove macro. Use const instead.
60335         * lib/argp-fmtstream.h (__const): Likewise.
60336         * lib/glob_.h (__const): Remove macro.
60337         * lib/glob-libc.h: Use const instead of __const.
60338
60339 2006-01-10  Bruno Haible  <bruno@clisp.org>
60340
60341         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
60342         variable.
60343         Needed to avoid an automake error regarding the 'gettext' module.
60344
60345 2006-01-09  Simon Josefsson  <jas@extundo.com>
60346
60347         * modules/inet_ntop (Depends-on): Add restrict.
60348
60349 2006-01-09  Simon Josefsson  <jas@extundo.com>
60350
60351         * modules/gc-rijndael-tests (License): Put under LGPL.
60352
60353         * modules/gc-des-tests (License): Likewise.
60354
60355         * modules/gc-arcfour-tests (License): Likewise.
60356
60357         * modules/gc-arctwo-tests (License): Likewise.
60358
60359         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
60360
60361         * modules/gc-hmac-sha1-tests (Files): Likewise.
60362
60363         * modules/gc-hmac-md5-tests (License): Likewise.
60364
60365         * modules/gc-sha1-tests (License): Likewise.
60366
60367         * modules/gc-md5-tests (License): Likewise.
60368
60369         * modules/gc-md4-tests (License): Likewise.
60370
60371         * modules/gc-md2-tests (License): Likewise.
60372
60373         * modules/gc-tests (License): Likewise.
60374
60375         * modules/des-tests (License): Likewise.
60376
60377         * modules/md4-tests (License): Likewise.
60378
60379         * modules/md2-tests (License): Likewise.
60380
60381 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
60382
60383         Sync from coreutils:
60384
60385         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
60386         * modules/lib-ignore: New file.
60387         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
60388         chdir-safer.m4, lchmod.m4.
60389         * modules/openat: Add mkdirat.c, openat-priv.h.
60390
60391 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
60392
60393         Sync from coreutils.
60394         * m4/lib-ignore.m4: New file.
60395         * m4/lchmod.m4: New file.
60396
60397 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
60398
60399         Sync from coreutils.
60400         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
60401         for write access: POSIX says that must fail.
60402         * lib/fts.c (diropen): Likewise.
60403         * lib/save-cwd.c (save_cwd): Likewise.
60404         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
60405         well, for minor improvements on hosts that lack O_DIRECTORY.
60406         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
60407         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
60408         Fall back on chown if open failed with EACCES.
60409
60410         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
60411         Report an error at compile-time if only a 1-second nominal clock
60412         resolution is found.
60413
60414         * lib/lchmod.h: New file.
60415         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
60416         (make_dir_parents): Use lchown rather than chown, and
60417         lchmod rather than chmod.
60418
60419         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
60420         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
60421         "proc" reported by n0dalus.
60422
60423         * lib/mountlist.c: Include <limits.h>.
60424         (dev_from_mount_options)
60425         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
60426         New function.  It no longer assumes "dev=" has the System V meaning
60427         on Linux (since it doesn't).  It also parses "dev=" more carefully.
60428         (read_file_system_list)
60429         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
60430         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
60431         dev= in that case.
60432
60433         * lib/posixtm.h (PDS_PRE_2000): New macro.
60434         * lib/posixtm.c (year): Arg is now syntax_bits rather than
60435         allow_century.  All usages changed.  Reject dates outside the range
60436         1969-1999 if PDS_PRE_2000 is used.
60437
60438 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
60439
60440         Sync from coreutils.
60441         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
60442         (Time of day items): Mention the possibility of leap seconds.
60443         Problem reported by Dr. David Alan Gilbert.
60444
60445 2006-01-09  Jim Meyering  <jim@meyering.net>
60446
60447         Sync from coreutils.
60448
60449         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
60450
60451         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
60452
60453         * lib/modechange.c (mode_compile): Reject an invalid mode string
60454         that starts with an octal digit.  From Andreas Gruenbacher.
60455
60456         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
60457         and dup to open_safer and dup_safer, respectively.
60458         (openat_permissive): Fix typo in comment.
60459
60460         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
60461         "gettext.h"; either no longer needed or are guaranteed by openat.h.
60462         (_): Remove; no longer needed.
60463         (openat): Renamed from rpl_openat; no need for rpl_openat
60464         since openat.h renames openat for us.
60465         Replace most of the body with a call to openat_permissive,
60466         to avoid duplicate code.
60467         Port to (probably hypothetical) environments were mode_t is
60468         wider than int.
60469         (openat_permissive): Require mode arg, so that we can check
60470         types better.  Put it just after flags.  Change cwd failure
60471         indicator from pointer-to-bool to pointer-to-errno-value.
60472         All callers changed.
60473         Invoke openat_save_fail and/or openat_restore_fail if
60474         cwd_errno is null, so that openat can call us.
60475         (openat_permissive, fdopendir, fstatat, unlinkat):
60476         Simplify errno handling to avoid some duplicate code,
60477         as it's OK to set errno on success.
60478         * lib/openat.h: Revamp code so that function macros depend on
60479         __OPENAT_PREFIX only, not also on AT_FDCWD.
60480         (openat_ro): Remove.  Caller changed to use openat_permissive.
60481         (openat_permissive): Now a macro, if not a function.
60482         (openat_restore_fail, openat_save_fail): Now always functions,
60483         since mkdirat needs them even if __OPENAT_PREFIX is defined.
60484
60485         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
60486         and openat.c.
60487         * lib/mkdirat.c: Include openat-priv.h.
60488         Remove definitions of macros defined therein.
60489         * lib/openat.c: Likewise.
60490
60491         * lib/mkdirat.c (mkdirat): New file and function.
60492         * lib/openat.h (mkdirat): Declare.
60493
60494         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
60495
60496         * lib/openat.h (openat_permissive): Declare.
60497         (openat_ro): Define.
60498
60499         * lib/openat.c (EXPECTED_ERRNO): New macro.
60500         (openat_permissive): New function -- used in remove.c rewrite.
60501         (all functions): Set errno just before returning, only if there
60502         was an actual failure.
60503         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
60504
60505         Emulate openat-family functions using Linux's procfs, if possible.
60506         Idea and some code based on Ulrich Drepper's glibc changes.
60507
60508         * lib/openat.c: (BUILD_PROC_NAME): New macro.
60509         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
60510         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
60511         before falling back on save_cwd and restore_cwd.
60512         (fdopendir, fstatat, unlinkat): Likewise.
60513
60514         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
60515         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
60516
60517         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
60518         as second argument to va_arg.  Otherwise, some versions of gcc
60519         warn that `if this code is reached, the program will abort'.
60520
60521 2006-01-09  Jim Meyering  <jim@meyering.net>
60522
60523         Sync from coreutils.
60524         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
60525         Require openat-priv.h.
60526
60527 2006-01-09  Bruno Haible  <bruno@clisp.org>
60528
60529         * modules/strnlen (Include): Use strnlen.h.
60530
60531 2006-01-09  Bruno Haible  <bruno@clisp.org>
60532
60533         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
60534
60535 2006-01-09  Bruno Haible  <bruno@clisp.org>
60536
60537         * lib/sysexit_.h (EX_OK): New macro.
60538         Suggested by Martin Lambers <marlam@marlam.de>.
60539
60540 2006-01-09  Bruno Haible  <bruno@clisp.org>
60541
60542         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
60543         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
60544
60545 2006-01-09  Bruno Haible  <bruno@clisp.org>
60546
60547         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
60548         numbers.
60549
60550 2006-01-09  Bruno Haible  <bruno@clisp.org>
60551
60552         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
60553         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
60554         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
60555         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
60556
60557 2006-01-09  Bruno Haible  <bruno@clisp.org>
60558
60559         * build-aux/javacomp.sh.in: New file, moved from lib/.
60560         * modules/javacomp-script (Files): Update.
60561         (configure.ac): Add AC_CONFIG_FILES invocation.
60562         (EXTRA_DIST): Remove variable.
60563
60564         * build-aux/javaexec.sh.in: New file, moved from lib/.
60565         * modules/javaexec (Files): Update.
60566         (configure.ac): Add AC_CONFIG_FILES invocation.
60567         (EXTRA_DIST): Remove javaexec.sh.in.
60568
60569         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
60570         * modules/csharpcomp-script (Files): Update.
60571         (configure.ac): Add AC_CONFIG_FILES invocation.
60572         (EXTRA_DIST): Remove variable.
60573
60574         * build-aux/csharpexec.sh.in: New file, moved from lib/.
60575         * modules/csharpexec (Files): Update.
60576         (configure.ac): Add AC_CONFIG_FILES invocation.
60577         (EXTRA_DIST): Remove csharpexec.sh.in.
60578
60579 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
60580
60581         Sync from coreutils.
60582
60583         Add POSIX ACL support
60584         * lib/acl.h (copy_acl, set_acl): Add declarations.
60585         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
60586         systems other than Linux.
60587         (chmod_or_fchmod): New function: use fchmod when possible,
60588         and chmod otherwise.
60589         (file_has_acl): Add a POSIX ACL implementation, with a
60590         Linux-specific subcase.
60591         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
60592         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
60593         acls are unsupported.
60594         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
60595         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
60596         are unsupported.
60597
60598 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
60599
60600         Sync from coreutils.
60601         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
60602
60603 2006-01-07  Bruno Haible  <bruno@clisp.org>
60604
60605         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
60606         gl_EARLY.
60607
60608 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
60609
60610         * lib/strftime.c (tzname): Don't declare if it is already #defined.
60611         Problem reported for Mingw by Mark Junker.
60612
60613 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
60614
60615         * README: Gnulib normally doesn't generate a tarball.
60616
60617 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
60618
60619         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
60620         long int, not int, for nanosecond counts, so that people who are
60621         used to POSIX struct timespec won't be surprised.  Reported by Jim
60622         Meyering.
60623
60624 2005-12-28  Bruno Haible  <bruno@clisp.org>
60625
60626         * build-aux/config.rpath: Update from GNU gettext.
60627
60628 2005-12-16  Jim Meyering  <jim@meyering.net>
60629
60630         * modules/fprintftime: New module.
60631         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
60632
60633 2005-12-16  Jim Meyering  <jim@meyering.net>
60634
60635         * m4/fprintftime.m4: New file.
60636
60637 2005-12-16  Jim Meyering  <jim@meyering.net>
60638
60639         * lib/fprintftime.c, lib/fprintftime.h: New files.
60640
60641 2005-12-15  Simon Josefsson  <jas@extundo.com>
60642
60643         * modules/socklen (configure.ac): Fix M4 macro name, to align with
60644         new m4/socklen.m4.
60645
60646 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
60647
60648         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
60649         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
60650
60651 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
60652
60653         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
60654         * lib/argp-help.c (fill_in_uparams): Check if the constructed
60655         struct uparams is valid. Fall back to the default values if it is
60656         not.
60657
60658 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
60659
60660         * modules/argp (Files): Add argp-pin.c
60661         (Depends-on): dirname
60662         (lib_SOURCES): Add argp-pin.c
60663
60664 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
60665
60666         * m4/argp.m4:  Check if program_invocation_name and
60667         program_invocation_short_name are declared and define appropriate
60668         macros if they are not.
60669
60670 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
60671
60672         * lib/argp-help.c (__argp_base_name): New function
60673         (__argp_short_program_name): Rewrite using __argp_base_name
60674         * lib/argp-namefrob.h: Define program_invocation_name and
60675         program_invocation_short_name if requested
60676         (__argp_base_name): Add prototype
60677         * lib/argp-parse.c (argp_def): Use gettext wrappers
60678         (argp_default_parser): Use __argp_base_name
60679         * lib/argp-pin.c: New file. Defines program_invocation_name and
60680         program_invocation_short_name on systems that lack them.
60681
60682 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
60683
60684         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
60685         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
60686         porting problem reported by Georg Schwarz in
60687         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
60688
60689 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
60690
60691         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
60692         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
60693         porting problem reported by Georg Schwarz in
60694         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
60695
60696 2005-12-05  Bruno Haible  <bruno@clisp.org>
60697
60698         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
60699         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
60700         Reported by Mark Junker <mjscod@gmx.de>.
60701
60702 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
60703
60704         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
60705         Use implementation from Albert Chin, with some
60706         comments/corrections by Stepan Kasal and myself.
60707
60708 2005-12-02  Bruno Haible  <bruno@clisp.org>
60709
60710         * gnulib-tool (func_import): Accept GPLed build tool modules when
60711         --lgpl is given.
60712         * modules/csharpcomp-script: New file.
60713         * modules/csharpcomp: Depend on it.
60714         * modules/javacomp-script: New file.
60715         * modules/javacomp: Depend on it.
60716         Suggested by Simon Josefsson.
60717
60718 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
60719
60720         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
60721         statement, to work around an HP-UX 10.20 compiler bug reported by
60722         Peter O'Gorman.
60723
60724 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
60725
60726         * modules/savedir (Depends-on): Add openat.
60727
60728 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
60729
60730         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
60731         (uintmax_t) [defined uintmax_t]: Do not declare.
60732         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
60733         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
60734         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
60735         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
60736         sake of portability to weird hosts that C allows (though we don't
60737         know of any practical examples).
60738
60739         * lib/savedir.h (fdsavedir): New decl.
60740         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
60741         contains most of the former guts of savedir.
60742         (savedir): Use savedirstream.
60743         Include "openat.h".
60744
60745 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
60746
60747         * modules/obstack (Files): Add m4/ulonglong.m4.
60748         Problem reported by Davide Angelocola.
60749
60750 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
60751
60752         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
60753         coreutils no longer futzes with rounding modes.
60754
60755 2005-11-14  Jim Meyering  <jim@meyering.net>
60756
60757         * lib/mkstemp-safer.c: Include <config.h>, required for possible
60758         replacement of mkstemp.
60759
60760 2005-11-10  Simon Josefsson  <jas@extundo.com>
60761
60762         * lib/readline.c: Remove EOL.
60763
60764 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
60765
60766         * modules/gethrxtime (Depends-on): Add gettime.
60767
60768 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
60769
60770         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
60771         or gettimeofday; no longer needed.
60772
60773 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
60774
60775         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
60776         time business.
60777         (gethrxtime) [! (HAVE_NANOUPTIME
60778         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
60779         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
60780         our own approximation.
60781
60782 2005-11-08  Eric Blake  <ebb9@byu.net>
60783
60784         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
60785
60786 2005-11-08  Eric Blake  <ebb9@byu.net>
60787
60788         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
60789
60790 2005-11-04  Bruno Haible  <bruno@clisp.org>
60791
60792         * gnulib-tool: Implement --update mode.
60793
60794 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
60795
60796         Fix porting problem reported by Theodoros V. Kalamatianos.
60797         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
60798         Don't assume that futimes failing means we must fail.
60799
60800 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
60801
60802         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
60803         variables to suggest the intended function of the PATH_MAX check.
60804
60805 2005-10-30  Kean Johnston  <jkj@sco.com>
60806
60807         Trivial changes to support SCO systems.
60808         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
60809         as PATH_MAX.
60810         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
60811         where __ptr is null when no I/O is pending.
60812
60813 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
60814
60815         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
60816         leave errno alone.  Problem reported by Dmitry V. Levin.
60817
60818 2005-10-28  Simon Josefsson  <jas@extundo.com>
60819
60820         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
60821         Test more.
60822
60823         * tests/test-gc-md2.c, tests/test-md2.c: New files.
60824
60825         * modules/md2, modules/md2-tests: New files.
60826
60827 2005-10-28  Simon Josefsson  <jas@extundo.com>
60828
60829         * m4/inet_ntop.m4: More tests.
60830
60831         * m4/gc-md2.m4, md2.m4: New file.
60832
60833 2005-10-28  Simon Josefsson  <jas@extundo.com>
60834
60835         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
60836         "restrict" keywords, as per POSIX.  Protect the function
60837         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
60838         Don't use K&R prototypes.  Check the sprintf return values.
60839         Re-define EAFNOSUPPORT if not present.  Indent.
60840
60841         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
60842         suggested by Bruno Haible <bruno@clisp.org>.
60843
60844         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
60845
60846         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
60847
60848         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
60849         libgcrypt).
60850
60851         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
60852
60853         * lib/md2.h, lib/md2.c: New files.
60854
60855 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
60856
60857         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
60858         errno alone.  Problem reported by Frederic Jolliton.
60859
60860 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
60861
60862         * modules/verify (License): Change from GPL to LGPL.  This is a
60863         tiny module and there are apparently near-equivalents that are
60864         under the BSD license.
60865
60866 2005-10-24  Simon Josefsson  <jas@extundo.com>
60867
60868         * modules/sha1: Relicense to LGPL.
60869
60870 2005-10-24  Simon Josefsson  <jas@extundo.com>
60871
60872         * lib/md4.h: Shrink buffer size, now that we changed the type.
60873
60874 2005-10-23  Simon Josefsson  <jas@extundo.com>
60875
60876         * gnulib-tool (func_import): Fix --tests-base.
60877
60878 2005-10-22  Simon Josefsson  <jas@extundo.com>
60879
60880         * modules/arcfour (Depends-on): Need stdint.
60881
60882 2005-10-22  Simon Josefsson  <jas@extundo.com>
60883
60884         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
60885         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
60886
60887 2005-10-22  Simon Josefsson  <jas@extundo.com>
60888
60889         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
60890         suggested by Bruno Haible <bruno@clisp.org>.
60891
60892 2005-10-22  Simon Josefsson  <jas@extundo.com>
60893
60894         * lib/crc.h: Include stddef.h, for size_t.
60895
60896 2005-10-22  Simon Josefsson  <jas@extundo.com>
60897
60898         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
60899         arcfour_context struct (simplify test vector testing in GNU
60900         Shishi).
60901
60902 2005-10-21  Simon Josefsson  <jas@extundo.com>
60903
60904         * modules/des, modules/des-tests: New files.
60905
60906         * modules/gc-des, modules/gc-des-tests: New files.
60907
60908         * tests/test-des.c, tests/test-gc-des.c: New file.
60909
60910 2005-10-21  Simon Josefsson  <jas@extundo.com>
60911
60912         * modules/arctwo, modules/arctwo-tests: New files.
60913
60914         * tests/test-arctwo.c: New file.
60915
60916         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
60917
60918         * tests/test-gc-arctwo.c: New file.
60919
60920 2005-10-21  Simon Josefsson  <jas@extundo.com>
60921
60922         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
60923         Bruno Haible <bruno@clisp.org>.
60924
60925         * m4/gc-des.m4: New file.
60926
60927 2005-10-21  Simon Josefsson  <jas@extundo.com>
60928
60929         * m4/arctwo.m4: New file.
60930
60931         * m4/gc-arctwo.m4: New file.
60932
60933 2005-10-21  Simon Josefsson  <jas@extundo.com>
60934
60935         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
60936         block.
60937
60938 2005-10-21  Simon Josefsson  <jas@extundo.com>
60939
60940         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
60941         <bruno@clisp.org>.
60942
60943         * lib/hmac-sha1.c (hmac_sha1): Likewise.
60944
60945         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
60946         Bruno Haible <bruno@clisp.org>.
60947
60948         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
60949         <bruno@clisp.org>.
60950
60951 2005-10-21  Simon Josefsson  <jas@extundo.com>
60952
60953         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
60954
60955 2005-10-21  Simon Josefsson  <jas@extundo.com>
60956
60957         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
60958
60959 2005-10-21  Simon Josefsson  <jas@extundo.com>
60960
60961         * lib/des.h, lib/des.c: New files.
60962
60963         * lib/gc-gnulib.c: Support DES.c
60964
60965 2005-10-21  Simon Josefsson  <jas@extundo.com>
60966
60967         * lib/arctwo.h, lib/arctwo.c: New files.
60968
60969         * lib/gc-gnulib.c: Support ARCTWO.
60970
60971 2005-10-21  Simon Josefsson  <jas@extundo.com>
60972
60973         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
60974         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60975
60976 2005-10-21  Simon Josefsson  <jas@extundo.com>
60977
60978         * gnulib-tool (func_import, func_create_testdir): Define automake
60979         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
60980         Makefile.am snippet),
60981         suggested by Bruno Haible <bruno@clisp.org>.
60982
60983         * modules/gc (Makefile.am): Use it.
60984
60985 2005-10-21  Bruno Haible  <bruno@clisp.org>
60986
60987         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
60988         patch.
60989
60990 2005-10-19  Simon Josefsson  <jas@extundo.com>
60991
60992         * tests/test-gc-rijndael.c: New file.
60993
60994         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
60995
60996 2005-10-19  Simon Josefsson  <jas@extundo.com>
60997
60998         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
60999         interface too.
61000
61001 2005-10-19  Simon Josefsson  <jas@extundo.com>
61002
61003         * tests/test-gc-arcfour.c: New file.
61004
61005         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
61006
61007 2005-10-19  Simon Josefsson  <jas@extundo.com>
61008
61009         * modules/gc-md4, modules/gc-md4-tests: New file.
61010
61011         * tests/test-gc-md4.c: New file.
61012
61013 2005-10-19  Simon Josefsson  <jas@extundo.com>
61014
61015         * m4/gc-md4.m4: New file.
61016
61017 2005-10-19  Simon Josefsson  <jas@extundo.com>
61018
61019         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
61020         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
61021         <kasal@ucw.cz>.
61022
61023 2005-10-19  Simon Josefsson  <jas@extundo.com>
61024
61025         * m4/gc-arcfour.m4: New file.
61026
61027         * m4/gc-rijndael.m4: New file.
61028
61029 2005-10-19  Simon Josefsson  <jas@extundo.com>
61030
61031         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
61032
61033 2005-10-19  Simon Josefsson  <jas@extundo.com>
61034
61035         * lib/gc-gnulib.c: Support ARCFOUR.
61036
61037 2005-10-19  Simon Josefsson  <jas@extundo.com>
61038
61039         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
61040         support.
61041
61042         * lib/gc.h: Add ECB enum type.
61043
61044         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
61045
61046 2005-10-18  Simon Josefsson  <jas@extundo.com>
61047
61048         * tests/test-md5.c: New file.
61049
61050         * modules/md5-tests: New file.
61051
61052 2005-10-18  Simon Josefsson  <jas@extundo.com>
61053
61054         * tests/test-md4.c: New file.
61055
61056         * modules/md4, modules/md4-tests: New files.
61057
61058 2005-10-18  Simon Josefsson  <jas@extundo.com>
61059
61060         * m4/md4.m4: New file.
61061
61062 2005-10-18  Simon Josefsson  <jas@extundo.com>
61063
61064         * lib/md4.h, lib/md4.c: New files, based on md5.?.
61065
61066 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
61067
61068         * gnulib-tool (func_create_testdir): Omit the second check whether
61069         BUILT_SOURCES in nonempty.
61070
61071 2005-10-17  Simon Josefsson  <jas@extundo.com>
61072
61073         * tests/test-rijndael.c: New file.
61074
61075 2005-10-17  Simon Josefsson  <jas@extundo.com>
61076
61077         * modules/sha1: Depend on stdint instead of md5.
61078
61079         * modules/md5: Depend on stdint, remove uint32_t.
61080
61081 2005-10-17  Simon Josefsson  <jas@extundo.com>
61082
61083         * modules/gc-sha1-tests: New file.
61084
61085         * tests/test-gc-sha1.c: New file.
61086
61087 2005-10-17  Simon Josefsson  <jas@extundo.com>
61088
61089         * m4/md5.m4: Remove call to uint32_t.m4.
61090
61091 2005-10-17  Simon Josefsson  <jas@extundo.com>
61092
61093         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
61094
61095         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
61096         md5.h.
61097
61098         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
61099
61100         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
61101
61102 2005-10-17  Simon Josefsson  <jas@extundo.com>
61103
61104         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
61105
61106 2005-10-17  Simon Josefsson  <jas@extundo.com>
61107
61108         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
61109
61110 2005-10-17  Simon Josefsson  <jas@extundo.com>
61111
61112         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
61113
61114         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
61115
61116 2005-10-17  Bruno Haible  <bruno@clisp.org>
61117
61118         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
61119         that it can also be used in a test.
61120
61121 2005-10-16  Bruno Haible  <bruno@clisp.org>
61122
61123         * gnulib-tool (func_emit_tests_Makefile_am): Also define
61124         TESTS_ENVIRONMENT, so that individual tests can augment it.
61125
61126         * gnulib-tool (func_create_testdir): Use an intermediate target for
61127         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
61128         macros, like $(ALLOCA_H), which cannot be passed through the command
61129         line.
61130
61131 2005-10-15  Simon Josefsson  <jas@extundo.com>
61132
61133         * modules/rijndael-tests: New file.
61134
61135         * modules/rijndael: New file.
61136
61137 2005-10-15  Simon Josefsson  <jas@extundo.com>
61138
61139         * m4/rijndael.m4: New file.
61140
61141 2005-10-15  Simon Josefsson  <jas@extundo.com>
61142
61143         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
61144
61145         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
61146
61147 2005-10-14  Simon Josefsson  <jas@extundo.com>
61148
61149         * tests/test-arcfour.c: New file.
61150
61151         * modules/arcfour, modules/arcfour-tests: New files.
61152
61153 2005-10-14  Simon Josefsson  <jas@extundo.com>
61154
61155         * m4/arcfour.m4: New file.
61156
61157 2005-10-14  Simon Josefsson  <jas@extundo.com>
61158
61159         * lib/arcfour.h, lib/arcfour.c: New files.
61160
61161 2005-10-14  Roland McGrath  <roland@redhat.com>
61162
61163         Import from libc.  [BZ #1331]
61164         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
61165         macro argument.
61166         Reported by Matej Vela <vela@debian.org>.
61167
61168 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
61169
61170         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
61171         include <wchar.h>; no longer needed.
61172
61173 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
61174
61175         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
61176
61177 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
61178         and  Ulrich Drepper  <drepper@redhat.com>
61179
61180         Import from libc.
61181         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
61182         instead of inline stream orientation test and two separate
61183         function calls.  Pay no attention to USE_IN_LIBIO.
61184
61185 2005-10-13  Simon Josefsson  <jas@extundo.com>
61186
61187         * modules/gc-hmac-md5-tests: New file.
61188
61189         * tests/test-gc-hmac-sha1.c: New file.
61190
61191         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
61192
61193         * modules/gc-hmac-md5-tests: New file.
61194
61195         * tests/test-gc-md5.c: New file.
61196
61197         * modules/gc-md5-tests: New file.
61198
61199 2005-10-13  Simon Josefsson  <jas@extundo.com>
61200
61201         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
61202         Move memory allocation outside of loop.
61203
61204 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
61205
61206         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
61207         intermediate directory is in a read-only file system.  Problem
61208         reported by Eric Blake.
61209
61210 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
61211
61212         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
61213
61214 2005-10-12  Simon Josefsson  <jas@extundo.com>
61215
61216         * tests/test-hmac-sha1.c: New file.
61217
61218         * modules/hmac-sha1-tests: New file.
61219
61220         * modules/hmac-sha1: New file.
61221
61222 2005-10-12  Simon Josefsson  <jas@extundo.com>
61223
61224         * modules/gc-sha1: New file.
61225
61226 2005-10-12  Simon Josefsson  <jas@extundo.com>
61227
61228         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
61229
61230         * tests/test-gc-pbkdf2-sha1.c: New file.
61231
61232 2005-10-12  Simon Josefsson  <jas@extundo.com>
61233
61234         * modules/gc-md5, modules/gc-hmac-md5: New files.
61235
61236         * modules/gc (Files): Remove md5, memxor and hmac files.
61237
61238 2005-10-12  Simon Josefsson  <jas@extundo.com>
61239
61240         * m4/gc-pbkdf2-sha1.m4: New file.
61241
61242         * m4/gc-hmac-sha1.m4: New file.
61243
61244         * m4/gc-sha1: New file.
61245
61246         * m4/hmac-sha1.m4: New file.
61247
61248 2005-10-12  Simon Josefsson  <jas@extundo.com>
61249
61250         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
61251
61252         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
61253
61254 2005-10-12  Simon Josefsson  <jas@extundo.com>
61255
61256         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
61257         suggested by Bruno Haible <bruno@clisp.org>.
61258
61259 2005-10-12  Simon Josefsson  <jas@extundo.com>
61260
61261         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
61262
61263 2005-10-12  Simon Josefsson  <jas@extundo.com>
61264
61265         * lib/gc-pbkdf2-sha1.c: New file.
61266
61267         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
61268
61269 2005-10-12  Simon Josefsson  <jas@extundo.com>
61270
61271         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
61272
61273         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
61274
61275 2005-10-12  Simon Josefsson  <jas@extundo.com>
61276
61277         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
61278         GC_USE_HMAC_MD5, respectively.
61279
61280         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
61281         (gc_md5): Fix typo.
61282
61283         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
61284
61285         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
61286
61287         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
61288
61289 2005-10-12  Bruno Haible  <bruno@clisp.org>
61290
61291         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
61292         Reported by Stepan Kasal <kasal@ucw.cz>.
61293
61294 2005-10-11  Simon Josefsson  <jas@extundo.com>
61295
61296         * tests/test-crc.c: New file.
61297
61298         * modules/crc, modules/crc-tests: New files.
61299
61300 2005-10-11  Simon Josefsson  <jas@extundo.com>
61301
61302         * m4/crc.m4: New file.
61303
61304 2005-10-11  Simon Josefsson  <jas@extundo.com>
61305
61306         * lib/gc.h: Add gc_hash and gc_hash_buffer.
61307
61308         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
61309
61310         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
61311
61312 2005-10-11  Simon Josefsson  <jas@extundo.com>
61313
61314         * lib/crc.h, lib/crc.c: New files.
61315
61316         * lib/gc.h (gc_hash_buffer): Add doc.
61317
61318 2005-10-11  Bruno Haible  <bruno@clisp.org>
61319
61320         * modules/c-strcasestr: New file.
61321         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
61322
61323 2005-10-11  Bruno Haible  <bruno@clisp.org>
61324
61325         * modules/c-strcase: New file.
61326         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
61327
61328 2005-10-11  Bruno Haible  <bruno@clisp.org>
61329
61330         * lib/strcasecmp.c: Include limits.h.
61331         (strcasecmp): Avoid integer overflow on exotic platforms.
61332         * lib/strncasecmp.c: Include limits.h.
61333         (strncasecmp): Avoid integer overflow on exotic platforms.
61334         Reported by Paul Eggert.
61335
61336 2005-10-11  Bruno Haible  <bruno@clisp.org>
61337
61338         * lib/c-strcasestr.h: New file, from GNU gettext.
61339         * lib/c-strcasestr.c: New file, from GNU gettext.
61340
61341 2005-10-11  Bruno Haible  <bruno@clisp.org>
61342
61343         * lib/c-strcase.h: New file, from GNU gettext.
61344         * lib/c-strcasecmp.c: New file, from GNU gettext.
61345         * lib/c-strncasecmp.c: New file, from GNU gettext.
61346
61347 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
61348
61349         * modules/mempcpy (License): GPL -> LGPL.
61350         * modules/strchrnul (License): Likewise.
61351         * modules/sysexits (License): Likewise.
61352
61353 2005-10-08  Simon Josefsson  <jas@extundo.com>
61354
61355         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
61356
61357 2005-10-07  Simon Josefsson  <jas@extundo.com>
61358
61359         * m4/memxor.m4: Remove gl_C_RESTRICT call.
61360
61361 2005-10-06  Simon Josefsson  <jas@extundo.com>
61362
61363         * tests/test-hmac-md5.c: New file.
61364
61365         * modules/hmac-md5-tests: New file.
61366
61367         * modules/hmac-md5: New file.
61368
61369 2005-10-06  Simon Josefsson  <jas@extundo.com>
61370
61371         * m4/hmac-md5.m4: New file.
61372
61373         * m4/memxor.m4: Require gl_C_RESTRICT.
61374
61375 2005-10-06  Simon Josefsson  <jas@extundo.com>
61376
61377         * lib/memxor.c (memxor): Avoid casts and warnings.
61378
61379 2005-10-06  Simon Josefsson  <jas@extundo.com>
61380
61381         * lib/hmac-md5.c: New file.
61382
61383         * lib/hmac.h: New file.
61384
61385 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
61386
61387         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
61388         promotes to int, not unsigned int, to catch the AIX 5.3
61389         compiler bug.
61390
61391 2005-10-05  Simon Josefsson  <jas@extundo.com>
61392
61393         * modules/memxor: New file.
61394
61395         * modules/iconv (Files): Move config.rpath to havelib, it is used
61396         there.
61397
61398         * modules/havelib (Files): Add config.rpath.
61399
61400 2005-10-05  Simon Josefsson  <jas@extundo.com>
61401
61402         * m4/memxor.m4: New file.
61403
61404 2005-10-05  Simon Josefsson  <jas@extundo.com>
61405
61406         * lib/memxor.c (memxor): Fix compiler error.
61407
61408         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
61409         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
61410
61411         * lib/memxor.h, lib/memxor.c: New files.
61412
61413         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
61414         we assume all systems have it, suggested by Jim Meyering
61415         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
61416         any systems lack sys/socket.h; mingw32 is known to lack it, but we
61417         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
61418         same reasons.
61419
61420 2005-10-05  Simon Josefsson  <jas@extundo.com>
61421
61422         * config/srclist.txt: Add glibc bug 1423 for md5.h.
61423
61424 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
61425
61426         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
61427         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
61428         needed, since the source code now assumes these .h files.
61429
61430 2005-10-05  Derek Price  <derek@ximbiot.com>
61431
61432         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
61433
61434 2005-10-05  Bruno Haible  <bruno@clisp.org>
61435
61436         * modules/stdint (License): Change to LGPL.
61437
61438 2005-10-04  Simon Josefsson  <jas@extundo.com>
61439
61440         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
61441         D. Baushke" <mdb@gnu.org>.
61442
61443 2005-10-04  Bruno Haible  <bruno@clisp.org>
61444
61445         * lib/verify.h (verify_true): Provide alternative definition for C++.
61446
61447 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
61448
61449         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
61450         (SSIZE_MAX): New macro, if not already defined.
61451         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
61452         than 2 GiB.
61453
61454 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
61455
61456         Sync from coreutils.
61457         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
61458         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
61459         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
61460         ULLONG_MAX doesn't work with 2.7.2.1.
61461
61462 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
61463
61464         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
61465         From Ben Pfaff.
61466
61467         * modules/exclude (Depends-on): Depend on verify.
61468         * modules/strtoimax (Depends-on): Likewise.
61469         * modules/utimecmp (Depends-on): Likewise.
61470
61471 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
61472
61473         * lib/exclude.c: Include verify.h.
61474         (verify): Remove.  All callers changed to use verify.h's version.
61475         * lib/strtoimax.c: Likewise.
61476         * lib/utimecmp.c: Likewis.e
61477
61478         Sync from coreutils.
61479         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
61480         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
61481         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
61482         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
61483         bother returning ENOSYS if settimeofday or stime fails; just let
61484         them return whatever errno they want to return.
61485         * lib/utimens.c: Include unistd.h, for dup2.
61486         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
61487         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
61488
61489 2005-10-02  Jim Meyering  <jim@meyering.net>
61490
61491         Sync from coreutils.
61492         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
61493         from glibc-2.2.5 that fails for read-only files.
61494
61495 2005-10-02  Jim Meyering  <jim@meyering.net>
61496
61497         Sync from coreutils.
61498         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
61499         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
61500         `#if HAVE_CONFIG_H'.
61501         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
61502         Remove AT_FDCWD test.
61503         Do not consume the fd unless successful.
61504         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
61505         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
61506         block, so that we don't even try to compile it if settimeofday is
61507         available.  This works around a compilation failure on OSF1 V5.1,
61508         due to stime requiring a `long int*' while tv_sec is `int'.
61509
61510 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
61511
61512         Sync from coreutils.
61513         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
61514         against `yes', rather than just testing for nonempty.
61515
61516 2005-10-01  Simon Josefsson  <jas@extundo.com>
61517
61518         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
61519         and Darwin.
61520
61521         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
61522         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
61523         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
61524         freeaddrinfo and gai_strerror are declared by the POSIX headers.
61525         Check if struct addrinfo is declared.
61526
61527 2005-10-01  Simon Josefsson  <jas@extundo.com>
61528
61529         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
61530         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
61531         AI_* and EAI_* definitions.  Protect function declarations.
61532
61533 2005-10-01  Jim Meyering  <jim@meyering.net>
61534
61535         Sync from coreutils.
61536
61537         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
61538         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
61539         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
61540         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
61541         in the inet and nsl libraries.  Required on Solaris 5.7.
61542
61543 2005-10-01  Jim Meyering  <jim@meyering.net>
61544
61545         Sync from coreutils.
61546         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
61547         in the inet and nsl libraries.  Required on Solaris 5.7.
61548
61549 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
61550
61551         * lib/getdelim.c (getdelim): Remove unused variables.
61552
61553 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
61554
61555         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
61556         so that the code works even with ancient cpp.  Portability problem
61557         with GCC 2.7.2.1 reported by Thomas M.Ott.
61558
61559 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
61560
61561         * modules/regex (Depends-on): Add strcase.
61562
61563         * modules/gethostname (Licence): Change from GPL to LGPL, since
61564         gethostname.c is a trivial implementation of a standard library
61565         function.
61566         * modules/poll (License): Change from GPL to LGPL, since it's
61567         derived from LGPL code.
61568
61569 2005-09-27  Jim Meyering  <jim@meyering.net>
61570
61571         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
61572         HAVE_CONFIG_H.
61573
61574         * lib/intprops.h (signed_type_or_expr__): Define.
61575         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
61576         for unsigned types.
61577
61578 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
61579
61580         * lib/verify.h (verify_expr): Remove, replacing with:
61581         (verify_true): New macro that returns true instead of void.
61582         (verify_type__): Remove.
61583         (verify): Use verify_true rather than verify_type__.
61584
61585 2005-09-26  Bruno Haible  <bruno@clisp.org>
61586
61587         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
61588         is necessary.
61589         (lib_SOURCES): Remove mbchar.c.
61590         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
61591         (Files): Add m4/mbrtowc.m4.
61592         * modules/mbiter: Likewise.
61593         * modules/mbuiter: Likewise.
61594
61595 2005-09-26  Bruno Haible  <bruno@clisp.org>
61596
61597         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
61598         compile mbchar.c if they are not both present.
61599         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
61600         * m4/mbiter.m4 (gl_MBITER): Likewise.
61601         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
61602         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
61603         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
61604
61605 2005-09-25  Jim Meyering  <jim@meyering.net>
61606
61607         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
61608         also uses socklen_t.
61609
61610 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
61611
61612         * lib/utimens.c (ENOSYS): Define if not already defined.
61613         (futimens): Support having a null PATH if the file descriptor
61614         is nonnegative.
61615
61616         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
61617         Remove.
61618         (__attribute): Define to empty unless GCC 3.1 or later.
61619         This works around a core dump on OpenBSD 3.4, which has GCC
61620         2.95.3, which dumps core when given __attribute__(()).  It also
61621         simplifies other tests, since we really don't want to bother with
61622         worrying about which ancient version of GCC supported what.
61623         Original problem reported by Yoann Vandoorselaere, with part of
61624         the fix suggested by Derek Price.
61625
61626 2005-09-24  Jim Meyering  <jim@meyering.net>
61627
61628         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
61629         so we can once again use a positive bitfield width of 1 -- now we
61630         don't have to explain why we were using a bitfield width of 2.
61631
61632 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
61633
61634         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
61635         and similarly for the other external symbols.  Problem reported
61636         by James Gallager.
61637
61638         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
61639         bug reported by Jim Meyering.
61640
61641         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
61642         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
61643         not needed, since socklen is a prerequisite module.
61644
61645 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
61646
61647         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
61648         Problem reported by Eric Blake.
61649         (getaddrinfo): Initialize se so that it's not garbage.
61650         Redo internal storage allocation so that it doesn't make unportable
61651         assumptions about alignment.
61652         Fix a memory leak.
61653
61654         * lib/utimens.c (futimens): Use futimesat if available.
61655         Prefer it to futimes since it doesn't have the futimes bug.
61656
61657         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
61658         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
61659         Instead, declare a function that returns a pointer to an array,
61660         and use verify_type__ to declare the size of the array.
61661         Problem and germ of a solution reported by Bruno Haible.
61662         (verify_type__): Use 2, not 1, for bitfield size, to avoid
61663         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
61664
61665 2005-09-23  Jim Meyering  <jim@meyering.net>
61666
61667         Sync from coreutils.
61668         Correct build failure (socklen_t not defined) on at least
61669         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
61670         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
61671
61672 2005-09-23  Jim Meyering  <jim@meyering.net>
61673
61674         * modules/getaddrinfo (Depends-on): Add socklen.
61675
61676 2005-09-23  Bruno Haible  <bruno@clisp.org>
61677
61678         * tests/test-verify.c: New file.
61679
61680 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
61681
61682         Sync from coreutils.
61683
61684         * modules/argmatch (Depends-on): Add verify.
61685         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
61686         unistd-safer.
61687         * modules/save-cwd (Depends-on): Likewise.
61688
61689         * modules/openat (Files): Add lib/openat-die.c.
61690         (Depends-on): Remove error, exitfail.
61691         Add dirname.
61692
61693         * modules/verify: New file.
61694         * MODULES.html.sh (Diagnostics <assert.h>): New section,
61695         with "verify" module.
61696
61697 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
61698
61699         Sync from coreutils.
61700
61701         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
61702         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
61703         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
61704         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
61705         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
61706         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
61707         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
61708         Don't bother checking for string.h, stdlib.h, unistd.h.
61709         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
61710         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
61711         module's job.
61712         * m4/jm-macros.m4 (gl_MACROS): Likewise.
61713         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
61714
61715         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
61716         (gl_GETDATE): Use it.
61717
61718         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
61719
61720 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
61721
61722         Sync from coreutils.
61723
61724         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
61725         stat-time.h.
61726         * lib/argmatch.h: Include verify.h
61727         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
61728         (ARGMATCH_ASSERT): Remove; unused.
61729         * lib/canonicalize.c: Assume STDC_HEADERS.
61730         * lib/exclude.c: Include "strcase.h".
61731         * lib/regex_internal.h [!defined _LIBC]: Likewise.
61732         * lib/getusershell.c: Include stdio--.h rather than stdio.h
61733         and stdio-safer.h.
61734         (getusershell): Call fopen, not fopen_safer.
61735         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
61736         Do not include unistd-safer.h.
61737         (save_cwd): Don't call fd_safer; no longer needed
61738         now that we include fcntl--.h.
61739
61740         * lib/getdate.y (relative_time): New type.
61741         (RELATIVE_TIME_0): New constant.
61742         (parser_control): Use relative_time instead of doing it ourselves.
61743         (%union): Add new relative_time rel member.
61744         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
61745         Now typeless.
61746         (relunit, relunit_snumber): Now of type rel.
61747         (zone, rel, relunit, get_date): Adjust to above changes.
61748
61749         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
61750         Do not include unistd-safer.h.
61751         (getloadavg): Don't call fd_safer; no longer needed
61752         now that we include fcntl--.h.
61753
61754         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
61755         (make_dir_parents): Treat ENOSYS like EEXIST.
61756
61757         Improve quality of diagnostics on restore_cwd failure.
61758         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
61759         (make_dir_parents): Last arg is now int * (for errno), not bool *.
61760         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
61761         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
61762         each time through the loop.  Do not diagnose restore_cwd failure;
61763         that is the caller's job (and perhaps the caller does not care).
61764
61765         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
61766         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
61767         If the file already exists but is not a directory, don't bother
61768         to try to make its parents.
61769         Close potential file descriptor leak if we can't chdir("/") (!).
61770         Don't always return true if chdir($PWD) fails; return true only
61771         if the requested action was done successfully (except for the
61772         chdir($PWD)).
61773         Don't log final directory unless we actually made it.
61774         Refactor to avoid duplicate code to fix up permissions.
61775         Don't attempt to fix up parent permissions if chdir($PWD) fails.
61776
61777         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
61778         to make it a bit faster and (I hope) clearer.
61779         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
61780         Fix bug in formats like %2N.
61781
61782         * lib/verify.h: New file.
61783
61784 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
61785
61786         Sync from coreutils.
61787         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
61788
61789 2005-09-22  Jim Meyering  <jim@meyering.net>
61790
61791         Sync from coreutils.
61792
61793         * m4/lstat.m4 (gl_FUNC_LSTAT):
61794         Use AC_LIBSOURCES to require lstat.c and lstat.h.
61795         Remove obsolete comment.
61796         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
61797         * m4/xstrtod.m4: Likewise.
61798
61799         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
61800
61801 2005-09-22  Jim Meyering  <jim@meyering.net>
61802
61803         Sync from coreutils.
61804
61805         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
61806
61807         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
61808         the .tm_year member, since otherwise gcc-4.0 would now warn about
61809         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
61810
61811         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
61812         order to avoid an unsuppressible warning from gcc on 64-bit systems.
61813
61814         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
61815         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
61816         when run in a time zone for which daylight savings time is in effect
61817         for the starting date.
61818
61819         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
61820         stop us from restricting permissions of just-created absolute-named
61821         directories.
61822         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
61823         to restore initial working directory.
61824         * lib/mkdir-p.c (make_dir_parents): New parameter:
61825         different_working_dir, to tell caller if/when we change the working
61826         directory and are unable to return to the initial one.
61827         * lib/mkdir-p.h (make_dir_parents): Update prototype.
61828         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
61829         `return false'.  This fixes a bug introduced on 2004-07-30.
61830
61831         * lib/openat.c (fdopendir): Be sure to close the supplied
61832         file descriptor before returning.  This makes our replacement
61833         implementation a little closer to Solaris's, where fdopendir
61834         ties the file descriptor to the returned DIR* pointer.
61835         * lib/openat.c (unlinkat): New function.
61836         * lib/openat.h (unlinkat): Add prototype.
61837         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
61838         (openat_restore_fail): Rename from openat_restore_die.
61839         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
61840
61841         Provide an alternative to exiting immediately upon save_cwd or
61842         restore_cwd failure.  Now, an application can arrange e.g.,
61843         to perform a longjump in that case.
61844         * lib/openat.c: Include dirname.h.
61845         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
61846         (rpl_openat, fdopendir, fstatat): Call openat_save_die
61847         and openat_restore_die rather than calling error directly.
61848         Don't include "error.h" or "exitfail.h"; they're no longer needed.
61849
61850         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
61851         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
61852         define.
61853
61854         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
61855         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
61856                             int utc, int nanoseconds);
61857         Background:
61858         date should not have to allocate a megabyte of virtual memory to
61859         handle a format argument like +%1048575T.  When implemented with
61860         strftime, it must allocate such a buffer, use strftime to fill it
61861         in, print it, then free it.
61862         With fprintftime, it simply prints everything and exits.
61863         With no need for memory allocation, that's one fewer way to fail.
61864         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
61865         optional field width, not before, so we accept %9:z, not %:9z.
61866         (my_strftime): Be sure to use L_('x') for literals.
61867
61868         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
61869         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
61870         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
61871         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
61872         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
61873         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
61874         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
61875         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
61876         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
61877         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
61878         * lib/xgethostname.c, lib/xreadlink.c:
61879         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
61880
61881         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
61882         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
61883         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
61884         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
61885         and don't include <sys/file.h>).
61886
61887 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
61888
61889         Sync from coreutils.
61890
61891         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
61892         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
61893         [!LDAV_DONE]: Avoid unused variable warning.
61894
61895 2005-09-21  Bruno Haible  <bruno@clisp.org>
61896
61897         * lib/unicodeio.h (unicode_to_mb): New declaration.
61898
61899 2005-09-20  Derek Price  <derek@ximbiot.com>
61900
61901         * lib/getaddrinfo.c: Don't include <netdb.h> included from
61902         getaddrinfo.h.
61903
61904 2005-09-20  Bruno Haible  <bruno@clisp.org>
61905
61906         * gnulib-tool: Remove trailing slashes from the values specified for
61907         --source-base, --m4-base, --tests-base, --aux-dir.
61908         Suggested by Simon Josefsson <jas@extundo.com>.
61909
61910 2005-09-20  Bruno Haible  <bruno@clisp.org>
61911
61912         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
61913         func_modules_to_filelist, func_import, func_create_testdir): Make all
61914         sorting results locale-independent, so that gnulib-cache.m4 doesn't
61915         change when gnulib-tool is invoked in a different locale.
61916
61917 2005-09-19  Simon Josefsson  <jas@extundo.com>
61918
61919         * m4/socklen.m4: Fix typo.
61920
61921 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61922
61923         Use a consistent style for including <config.h>.
61924         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
61925         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
61926         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
61927         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
61928         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
61929         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
61930         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
61931         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
61932         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
61933         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
61934         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
61935         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
61936         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
61937         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
61938         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
61939         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
61940         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
61941         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
61942         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
61943         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
61944         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
61945         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
61946         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
61947         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
61948         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
61949         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
61950         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
61951         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
61952         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
61953         lib/xstrtoumax.c, lib/yesno.c:
61954         Standardize inclusion of config.h.
61955         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
61956         lib/inttostr.h:  Removed inclusion of config.h from header files.
61957         * lib/inttostr.c:  Adjusted in-tree users.
61958         * lib/timespec.h: Remove superfluous warning to include config.h.
61959         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
61960         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
61961         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
61962         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
61963         config.h with HAVE_CONFIG_H.
61964
61965 2005-09-19  Jim Meyering  <jim@meyering.net>
61966
61967         * modules/pathmax (License): Change to LGPL.
61968
61969 2005-09-19  Derek Price  <derek@ximbiot.com>
61970
61971         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
61972
61973 2005-09-19  Bruno Haible  <bruno@clisp.org>
61974
61975         * gnulib-tool (import): Provide default for --tests-base.
61976
61977 2005-09-19  Bruno Haible  <bruno@clisp.org>
61978
61979         * doc/quote.texi: New file, extracted from gnulib.texi.
61980         * doc/ctime.texi: New file, extracted from gnulib.texi.
61981         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
61982         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
61983         * doc/gnulib.texi: Include them.
61984
61985 2005-09-18  Bruno Haible  <bruno@clisp.org>
61986
61987         Portability fix.
61988         * gnulib-tool (func_readlink): New function.
61989         (func_ln_if_changed): Use it.
61990
61991 2005-09-18  Bruno Haible  <bruno@clisp.org>
61992
61993         * gnulib-tool: Support --with-tests also with --import.
61994         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
61995         (func_import): Use variables $testsbase and $inctests. Emit a
61996         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
61997         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
61998         SUBDIRS += $testsdir.
61999         (func_create_testdir): Update.
62000
62001 2005-09-18  Bruno Haible  <bruno@clisp.org>
62002
62003         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
62004         instead of $dry_run.
62005         (func_cp_if_changed, func_mv_if_changed): Remove functions.
62006         (func_ln_if_changed): Don't handle dry-run here.
62007         (func_import): In dry-run mode, detect more precisely which actions
62008         would be performed, and don't use "...ing" verbs.
62009
62010 2005-09-18  Bruno Haible  <bruno@clisp.org>
62011
62012         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
62013         (func_import): Use join on two temporary files instead of three nested
62014         loops, in order to determine which files are new or old.
62015
62016 2005-09-18  Bruno Haible  <bruno@clisp.org>
62017
62018         * gnulib-tool (func_import): Comment out code that spits out the
62019         new files with --dry-run.
62020
62021 2005-09-18  Bruno Haible  <bruno@clisp.org>
62022
62023         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
62024
62025 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
62026
62027         * lib/stat-time.h: New file.
62028         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
62029         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
62030         in a different way.
62031         (timespec_cmp): New function.
62032         * lib/utimecmp.c: Include stat-time.h.
62033         (SYSCALL_RESOLUTION): Depend on whether various struct stat
62034         members exist, not on the obsolescent ST_MTIM_NSEC.
62035         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
62036
62037 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
62038
62039         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
62040
62041 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
62042
62043         * MODULES.html.sh (File system functions): Add stat-time.
62044         * modules/stat-time: New file.
62045         * modules/timespec (Files): Remove m4/st_mtim.m4; this
62046         is now done in a different way, by the stat-time module.
62047         * modules/utimecmp (Depends-on): Add stat-time.
62048
62049 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
62050
62051         * m4/st_mtim.m4: Remove.  Superseded by...
62052         * m4/stat-time.m4: New file.
62053         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
62054         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
62055
62056 2005-09-15  Derek Price  <derek@ximbiot.com>
62057
62058         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
62059
62060 2005-09-15  Derek Price  <derek@ximbiot.com>
62061
62062         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
62063         * lib/regex_internal.c: Ditto, using this...
62064         (__GNUC_PREREQ): ...new macro.
62065         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
62066         using...
62067         (__GNUC_PREREQ): ...this new macro.
62068
62069         * lib/strstr.h: Include string.h. Define strstr as a macro here.
62070
62071 2005-09-15  Derek Price  <derek@ximbiot.com>
62072             Paul Eggert  <eggert@cs.ucla.edu>
62073
62074         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
62075         changes, consolidating in...
62076         * lib/regex_internal.h: ...this file.
62077
62078 2005-09-13  Jim Meyering  <jim@meyering.net>
62079
62080         * lib/canon-host.c: Filter through gnu indent and reword comments
62081         slightly.
62082         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
62083
62084 2005-09-13  Derek Price  <derek@ximbiot.com>
62085
62086         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
62087         failure.
62088         Reported by Jim Meyering  <jim@meyering.net>.
62089
62090 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
62091
62092         * lib/base64.c: Typo.
62093         (base64_encode): Put b64str in initialized data section.
62094
62095 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
62096
62097         Merge glibc and coreutils changes into gnulib, plus a few
62098         extra fixes.
62099         * lib/md5.c: Use #error rather than a string.
62100         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
62101         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
62102         (__attribute__): Define to empty for non recent-GCC.
62103         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
62104         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
62105         Renamed from their non-__ counterparts, with new macros replacing
62106         them if not _LIBC.  Add __THROW attribute.
62107         (rol): Remove.
62108         (struct md5_ctx): Align buffer if using GCC.
62109         * lib/sha1.h (struct sha1_ctx): Likewise.
62110         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
62111         The old name was backwards.
62112         (NOTSWAP): Remove; not used.
62113         (rol): New macro, moved here from md5.h.
62114         (sha1_process_block): Remove a FIXME that doesn't make sense.
62115
62116 2005-09-12  Derek Price  <derek@ximbiot.com>
62117
62118         Return usable errors from canon-host.
62119         * lib/canon-host.h: New file.
62120         * lib/canon-host.c (canon_host): Wrap...
62121         (canon_host_r): ...this new function, which now relies exclusively on
62122         getaddrinfo.
62123         (ch_strerror): New function.
62124         (last_cherror): New global.
62125         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
62126         interface.
62127         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
62128         void *.
62129         (freeaddrinfo): Free ai->ai_canonname when set.
62130
62131 2005-09-12  Derek Price  <derek@ximbiot.com>
62132
62133         Make canon-host require getaddrinfo.
62134         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
62135         AC_LIBSOURCE canon-host.h.  Call...
62136         (gl_PREREQ_CANON_HOST): ...this new function, which requires
62137         gl_GETADDRINFO.
62138         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
62139
62140 2005-09-12  Derek Price  <derek@ximbiot.com>
62141
62142         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
62143         LGPL.
62144         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
62145
62146 2005-09-12  Derek Price  <derek@ximbiot.com>
62147
62148         * lib/gai_strerror.c: Include config.h when available.  Include
62149         getaddrinfo.h before other headers to test interface.
62150         Reported by Larry Jones <lawrence.jones@ugs.com>.
62151
62152 2005-09-12  Derek Price  <derek@ximbiot.com>
62153             Paul Eggert  <eggert@cs.ucla.edu>
62154
62155         * modules/glob (Files): Add glob-libc.h.
62156
62157 2005-09-12  Derek Price  <derek@ximbiot.com>
62158             Paul Eggert  <eggert@cs.ucla.edu>
62159
62160         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
62161         glob_.h, glob-libc.h.
62162         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
62163
62164 2005-09-12  Derek Price  <derek@ximbiot.com>
62165             Paul Eggert  <eggert@cs.ucla.edu>
62166
62167         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
62168         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
62169         protecting things that should be done only in gnulib contexts.
62170         * lib/glob_.h: New file, containing only the glob things needed for
62171         gnulib.
62172         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
62173         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
62174         (glob, globfree, glob_pattern_p): Now defined simply in terms of
62175         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
62176         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
62177         and to respect the namespace rules better.
62178
62179 2005-09-08  Simon Josefsson  <jas@extundo.com>
62180
62181         * modules/socklen: New file.
62182
62183 2005-09-08  Simon Josefsson  <jas@extundo.com>
62184
62185         * m4/socklen.m4: New file.
62186
62187 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62188
62189         * modules/utimens (Files): Add m4/utimbuf.m4, since
62190         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
62191         Reported by Sergey Poznyakoff.
62192
62193 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62194
62195         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
62196         definitions, since that's the preferred style in glibc.
62197         Fix a minor spacing issue, and update copyright notice to match
62198         glibc's.
62199
62200 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62201
62202         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
62203
62204 2005-09-06  Simon Josefsson  <jas@extundo.com>
62205
62206         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
62207         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
62208
62209 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62210
62211         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
62212         warning.
62213
62214 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62215
62216         * config/srclist.txt: Add glibc bug 1302.
62217
62218 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
62219
62220         Change bitset word type from unsigned int to unsigned long int,
62221         as this has better performance on typical 64-bit hosts.
62222         Port bitset code to hosts with unusual word sizes.
62223         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
62224         (build_collating_symbol):
62225         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
62226         argument is a bitset.  This is merely a style issue, but it makes
62227         it clearer that an entire array is expected.
62228         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
62229         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
62230         Port to the case where bitset_word is not the same as unsigned int.
62231         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
62232         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
62233         Likewise.
62234         * lib/regexec.c (check_dst_limits_calc_pos_1,
62235         check_subexp_matching_top):
62236         (build_trtable, group_nodes_into_DFAstates):
62237         Likewise.
62238         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
62239         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
62240         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
62241         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
62242         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
62243         * lib/regcomp.c (optimize_subexps, lower_subexp):
62244         Work even if bitset_word has holes in its bitwise representation.
62245         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
62246         * lib/regexec.c (check_dst_limits_calc_pos_1,
62247         check_subexp_matching_top):
62248         Likewise.
62249         * lib/regex_internal.c (re_string_reconstruct):
62250         Don't assume UCHAR_MAX == 255.
62251         * lib/regex_internal.h (bitset_set_all): Likewise.
62252         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
62253         All uses changed.
62254         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
62255         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
62256         All uses changed.
62257         (BITSET_WORD_MAX): New macro.
62258         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
62259         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
62260         (bitset_empty, bitset_copy):
62261         Prefer sizeof (bitset) to multiplying it out ourselves.
62262         (bitset_not_merge): Remove; unused.
62263         (bitset_contain): Return bool, not unsigned int with one bit on.
62264         All callers changed.
62265         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
62266         alignment than re_node_set; do this by defining a new internal
62267         type struct dests_alloc and using it to allocate memory.
62268
62269 2005-09-05  Bruno Haible  <bruno@clisp.org>
62270
62271         * gnulib-tool (func_import): Fix comparison in handling of symbolic
62272         links.
62273
62274 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
62275
62276         * modules/size_max (Makefile.am): Add size_max.h
62277
62278 2005-09-04  Derek Price  <derek@ximbiot.com>
62279
62280         * gnulib-tool (func_import): Fix reversed $symbolic logic.
62281
62282 2005-09-03  Simon Josefsson  <jas@extundo.com>
62283
62284         * gnulib-tool: Fix typo.
62285
62286 2005-09-03  Simon Josefsson  <jas@extundo.com>
62287
62288         * config/srclist.txt: Add glibc bug 1293.
62289
62290 2005-09-03  Derek Price  <derek@ximbiot.com>
62291
62292         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
62293         From Larry Jones <lawrence.jones@ugs.com>.
62294
62295 2005-09-02  Simon Josefsson  <jas@extundo.com>
62296
62297         * modules/socklen: New file.
62298
62299 2005-09-02  Simon Josefsson  <jas@extundo.com>
62300
62301         * modules/havelib: New module.
62302
62303         * modules/gettext, modules/iconv, modules/lock, modules/readline:
62304         Use havelib.
62305
62306 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
62307
62308         Check for arithmetic overflow when calculating sizes, to prevent
62309         some buffer-overflow issues.  These patches are conservative, in the
62310         sense that when I couldn't determine whether an overflow was possible,
62311         I inserted a run-time check.
62312         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
62313         macros.
62314         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
62315         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
62316         (re_xnrealloc, re_x2nrealloc): New inline functions.
62317         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
62318         parse_bracket_exp):
62319         (build_equiv_class, build_charclass): Check for arithmetic overflow
62320         in size expression calculations.
62321         * lib/regex_internal.c (re_string_realloc_buffers):
62322         (build_wcs_upper_buffer, re_node_set_add_intersect):
62323         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
62324         (re_dfa_add_node, register_state): Likewise.
62325         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
62326         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
62327         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
62328         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
62329
62330 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
62331
62332         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
62333         m4/ulonglong.m4.  Problem reported by Martin Lambers.
62334
62335 2005-09-02  Bruno Haible  <bruno@clisp.org>
62336
62337         Support for lib vs. lib64 distinction on biarch platforms.
62338         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
62339         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
62340         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
62341
62342 2005-09-02  Bruno Haible  <bruno@clisp.org>
62343
62344         * gnulib-tool (import): In the other first-use case, provide defaults
62345         as well.
62346
62347 2005-09-02  Bruno Haible  <bruno@clisp.org>
62348
62349         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
62350         patches not yet found in the latest gettext release.
62351
62352 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
62353
62354         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
62355         to avoid a collision with bits/local_lim.h in glibc.
62356         All uses changed.  Problem reported by Dmitry V. Levin in
62357         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
62358
62359         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
62360         bugs in int versus size_t comparisons.
62361         (re_string_context_at): Fix bug where the code assumed that
62362         Idx is signed.
62363
62364         Use bool where appropriate.
62365         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
62366         All callers changed.
62367         (calc_eclosure_iter): Likewise, for ROOT arg.
62368         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
62369         (build_charclass_op): Likewise, for NON_MATCH arg.
62370         * lib/regex_internal.c (re_string_allocate, re_string_construct):
62371         (re_string_construct_common): Likewise, for ICASE arg.
62372         * lib/regexec.c (re_search_2_stub, re_search_stub):
62373         Likewise, for RET_LEN arg.
62374         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
62375         (set_regs): Likewise, for FL_BACKTRACK arg.
62376         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
62377         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
62378         (calc_eclosure_iter, parse_bracket_exp):
62379         Use bool for internal variables that are booleans.
62380         * lib/regexec.c (re_search_internal, check_matching,
62381         proceed_next_node):
62382         (set_regs, build_sifted_states, sift_states_bkref):
62383         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
62384         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
62385         (find_collation_sequence_value):
62386         Likewise.
62387         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
62388         (re_node_set_compare):
62389         Return bool, not int. All callers changed.
62390         * lib/regexec.c (check_halt_node_context, check_dst_limits):
62391         (build_trtable, check_node_accept): Likewise.
62392         * lib/regex_internal.h: Include stdbool.h.
62393
62394         Fix bugs uncovered when converting to bool.
62395         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
62396         failure instead of charging ahead blindly.
62397         * lib/regex_internal.c (register_state): Likewise.
62398         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
62399         for freeing internal storage.
62400         (group_nodes_into_DFA_states): Use unsigned int, not int, for
62401         bitset pieces used as boolean, to avoid undefined behavior
62402         on hosts that do int overflow checking.
62403
62404 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
62405
62406         * config/srclist.txt: Add glibc bugs 1285-1287.
62407
62408 2005-09-01  Jim Meyering  <jim@meyering.net>
62409
62410         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
62411         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
62412         Require gl_STAT_MACROS, too.
62413
62414 2005-09-01  Bruno Haible  <bruno@clisp.org>
62415
62416         * gnulib-tool (import): In the first-use case, provide defaults.
62417
62418 2005-09-01  Bruno Haible  <bruno@clisp.org>
62419
62420         * gnulib-tool (func_import): Remove the .tmp files.
62421
62422 2005-09-01  Bruno Haible  <bruno@clisp.org>
62423
62424         * gnulib-tool (func_import): Fix handling of symbolic links.
62425
62426 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
62427
62428         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
62429         old glibc regex code mishandles strings longer than 2**31 bytes.
62430         This patch fixes this when the regex code is used in gnulib
62431         (i.e., outside glibc).
62432
62433         This patch should not affect the use of the regex code inside
62434         glibc.  No doubt this problem also needs to be handled for glibc
62435         as well, but the result will be an incompatible change to the
62436         glibc ABI, and the old ABI will have to be supported too.  That
62437         can be the the subject for another patch.
62438
62439         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
62440         governing whether the rest of this patch is active.  By default,
62441         the macro is disabled and the patch has no effect.
62442         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
62443         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
62444         (struct re_pattern_buffer, re_search, re_search_2, re_match):
62445         (re_match_2, re_set_registers): Use the new types.
62446         * lib/regex_internal.h (Idx, re_hashval_t): New types.
62447         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
62448         New macros.
62449         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
62450         (re_string_context_at, bin_tree_t, re_dfastate_t):
62451         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
62452         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
62453         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
62454         (re_string_char_size_at, re_string_wchar_at):
62455         (re_string_elem_size_at):
62456         Use the new types and macros to port to 64-bit hosts.
62457         Use unsigned types for internal values, so that the code
62458         mostly works even for arrays larger than SSIZE_MAX.
62459         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
62460         (search_duplicated_node, calc_eclosure_iter, fetch_number):
62461         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
62462         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
62463         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
62464         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
62465         (calc_inveclosure, parse_dup_op, build_range_exp):
62466         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
62467         (fetch_number, create_token_tree, mark_opt_subexp):
62468         Likewise.
62469         * lib/regex_internal.c (re_string_construct_common,
62470         create_ci_newstate):
62471         (create_cd_newstate, re_string_allocate, re_string_construct):
62472         (re_string_realloc_buffers, build_wcs_upper_buffer):
62473         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
62474         (re_string_reconstruct, re_string_peek_byte_case):
62475         (re_string_fetch_byte_case, re_string_context_at):
62476         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
62477         (re_node_set_init_copy, re_node_set_add_intersect):
62478         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
62479         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
62480         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
62481         (re_acquire_state, re_acquire_state_context, register_state):
62482         Likewise.
62483         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
62484         search_cur_bkref_entry):
62485         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
62486         (re_search_internal, re_search_2_stub, re_search_stub)
62487         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
62488         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
62489         (update_cur_sifted_state, check_dst_limits):
62490         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
62491         (check_subexp_limits, sift_states_bkref, merge_state_array):
62492         (check_subexp_matching_top, get_subexp, get_subexp_sub):
62493         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
62494         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
62495         (expand_bkref_cache, check_node_accept_bytes):
62496         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
62497         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
62498         (acquire_init_state_context, check_halt_node_context):
62499         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
62500         (sift_states_backward, clean_state_log_if_needed):
62501         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
62502         (find_recover_state, transit_state_sb, transit_state_mb):
62503         (transit_state_bkref, build_trtable, match_ctx_clean):
62504         Likewise.
62505         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
62506         to work around an assumption that REG_MISSING is negative.
62507
62508         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
62509         (seek_collating_symbol_entry) [defined _LIBC]:
62510         (lookup_collation_sequence_value) [defined _LIBC]:
62511         (build_range_exp, build_collating_symbol) [defined _LIBC]:
62512         Use prototypes rather than old-style function definitions.
62513         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
62514         (transit_state_sb) [0]:
62515         (find_collation_sequence_value) [defined _LIBC]: Likewise.
62516
62517         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
62518         rm_eo.
62519
62520         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
62521         (optimize_subexps, lower_subexp):
62522         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
62523         since the signed shift might overflow.  Use 1u<<31 instead.
62524         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
62525         Likewise.
62526         * lib/regexec.c (check_dst_limits_calc_pos_1,
62527         check_subexp_matching_top): Likewise.
62528
62529         * lib/regcomp.c (optimize_subexps, lower_subexp):
62530         Use CHAR_BIT rather than 8, for clarity.
62531         * lib/regexec.c (check_dst_limits_calc_pos_1):
62532         (check_subexp_matching_top): Likewise.
62533         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
62534         have to worry about portability issues when shifting it left.
62535         Remove no-longer-needed test for table_size > 0.
62536         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
62537         in a word, as the resulting behavior is undefined.
62538         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
62539         in one case, a <= should have been an <, and in another case the
62540         whole test was missing.
62541         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
62542         the standard name CHAR_BIT.
62543         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
62544         this is not true on one's complement and signed-magnitude hosts.
62545
62546         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
62547         next_last_offset.
62548         (struct re_dfa_t): Remove unused member states_alloc.
62549         * lib/regcomp.c (init_dfa): Don't initialize unused members.
62550
62551 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
62552
62553         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
62554         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
62555         and large-file glibc and in 32-bit large-file Solaris.
62556
62557 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
62558
62559         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
62560         lengths fit in regoff_t; this isn't true if regoff_t is the same
62561         width as size_t.
62562         * lib/regex.c (re_search_internal): 5th arg is LAST_START
62563         (= START + RANGE) instead of RANGE.  This avoids overflow
62564         problems when regoff_t is the same width as size_t.
62565         All callers changed.
62566         (re_search_2_stub): Check for overflow when adding the
62567         sizes of the two strings.
62568         (re_search_stub): Check for overflow when adding START
62569         to RANGE; if it occurs, substitute the extreme value.
62570
62571 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
62572
62573         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
62574
62575 2005-08-31  Jim Meyering  <jim@meyering.net>
62576
62577         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
62578         a pointer-to-const.
62579         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
62580         (register_state): Likewise.
62581         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
62582         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
62583         (group_nodes_into_DFAstates): Likewise.
62584
62585 2005-08-31  Jim Meyering  <jim@meyering.net>
62586
62587         * check-module: Add a FIXME comment.
62588
62589 2005-08-31  Eric Blake  <ebb9@byu.net>
62590
62591         * modules/unistd-safer (Files): Add unistd--.h.
62592         * modules/stdio-safer (Files): Add stdio--.h.
62593
62594 2005-08-31  Derek Price  <derek@ximbiot.com>
62595
62596         * lib/getdelim.c (getdelim): Return EOF on EOF.
62597         Reported by Larry Jones <lawrence.jones@ugs.com>.
62598
62599 2005-08-31  Bruno Haible  <bruno@clisp.org>
62600
62601         Avoid unnecessary diffs in the generated lib/Makefile.am.
62602         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
62603         the generated files.
62604         (func_import): Don't set cmd.
62605
62606 2005-08-31  Bruno Haible  <bruno@clisp.org>
62607
62608         * lib/strstr.c: Include <stddef.h>, for NULL.
62609         * lib/strcasestr.c: Likewise.
62610         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
62611
62612 2005-08-31  Bruno Haible  <bruno@clisp.org>
62613
62614         * gnulib-tool: New option --macro-prefix.
62615         (func_import): Use macro_prefix.
62616         (import): Handle option --macro-prefix.
62617
62618 2005-08-31  Bruno Haible  <bruno@clisp.org>
62619
62620         * gnulib-tool (import): Rename most ac_* variables to cached_*.
62621         Also use new variables cached_lgpl, cached_libtool.
62622
62623 2005-08-31  Bruno Haible  <bruno@clisp.org>
62624
62625         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
62626         always instantiating them.
62627
62628 2005-08-31  Bruno Haible  <bruno@clisp.org>
62629
62630         * gnulib-tool (func_import): Read the previous cached settings
62631         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
62632         earlier added by gnulib but are now dropped. Warn when a gnulib file
62633         overwrites a non-gnulib file.
62634
62635 2005-08-31  Bruno Haible  <bruno@clisp.org>
62636
62637         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
62638         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
62639         projects that don't keep autogenerated files in CVS. Put into
62640         actioncmd only the specified modules, not the transitive closure.
62641
62642 2005-08-31  Bruno Haible  <bruno@clisp.org>
62643
62644         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
62645         Create directories that shall be filled.
62646         (import): Don't look for gl_* macros in configure.ac. Recurse across
62647         all directories containing a gnulib-cache.m4 files, if meaningful.
62648
62649 2005-08-31  Bruno Haible  <bruno@clisp.org>
62650
62651         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
62652         (import): Set seen_libtool when we see gl_LIBTOOL.
62653
62654 2005-08-31  Bruno Haible  <bruno@clisp.org>
62655
62656         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
62657         declaration macro definitions from generated gnulib.m4.
62658
62659 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
62660
62661         * lib/iconvme.h: Add prototype for iconv_alloc.
62662
62663 2005-08-29  Simon Josefsson  <jas@extundo.com>
62664
62665         * lib/iconvme.c: Fix errno.
62666
62667 2005-08-29  Bruno Haible  <bruno@clisp.org>
62668
62669         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
62670         that it works when the directory contains spaces.
62671
62672 2005-08-29  Bruno Haible  <bruno@clisp.org>
62673
62674         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
62675
62676 2005-08-29  Bruno Haible  <bruno@clisp.org>
62677
62678         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
62679         Emit more advice.
62680
62681 2005-08-29  Bruno Haible  <bruno@clisp.org>
62682         and Stepan Kasal  <kasal@ucw.cz>
62683
62684         * check-module: If more parameters are given, check each of them
62685         separately; add more exceptions, as noted by Jim Meyering.
62686         (check_module): New procedure.
62687         (%exempt_header): Now contains all exceptions.
62688
62689 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
62690
62691         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
62692
62693 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
62694
62695         * lib/iconvme.c: Split iconv_string into iconv_alloc.
62696
62697 2005-08-28  Bruno Haible  <bruno@clisp.org>
62698
62699         * m4/gnulib-tool.m4: New file.
62700
62701 2005-08-27  Jim Meyering  <jim@meyering.net>
62702
62703         * modules/unistd-safer (Files): Add pipe-safer.c.
62704         * modules/fcntl-safer (Files): Add creat-safer.c.
62705
62706 2005-08-27  Jim Meyering  <jim@meyering.net>
62707
62708         * m4/stdlib-safer.m4: New file.  From coreutils.
62709         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
62710         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
62711         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
62712         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
62713         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
62714
62715 2005-08-27  Jim Meyering  <jim@meyering.net>
62716
62717         * lib/fopen-safer.c: Merge minor changes from coreutils.
62718         * lib/dup-safer.c: Likewise.
62719         * lib/fd-safer.c: Likewise.
62720
62721         Merge from coreutils.
62722         * lib/stdio--.h: New file.
62723         * lib/stdlib--.h: New file.
62724         * lib/mkstemp-safer.c: New file.
62725
62726         GNU tar needs these.
62727         * lib/pipe-safer.c: New file.
62728         * lib/creat-safer.c: New file.
62729         * lib/fcntl--.h (creat): Define to creat_safer.
62730         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
62731         * lib/unistd--.h (pipe): Define to pipe_safer.
62732         * lib/unistd-safer.h: Declare pipe_safer.
62733
62734 2005-08-26  Simon Josefsson  <jas@extundo.com>
62735
62736         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
62737         Haible <bruno@clisp.org>.
62738
62739 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
62740
62741         * lib/regex_internal.h: Remove all references to
62742         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
62743         or better.
62744         (bitset_not, bitset_merge, bitset_not_merge):
62745         (bitset_mask, re_string_allocate, re_string_construct):
62746         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
62747         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
62748         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
62749         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
62750         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
62751         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
62752         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
62753         (re_acquire_state_context):
62754         Remove unnecessary forward decls.
62755         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
62756         Put __attribute at function definition,
62757         now that the function decl has been removed.
62758         * lib/regex_internal.c (re_string_peek_byte_case):
62759         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
62760         Likewise.
62761
62762 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
62763
62764         * m4/regex.m4: Add AC_PREREQ(2.50).
62765         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
62766
62767 2005-08-25  Simon Josefsson  <jas@extundo.com>
62768
62769         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
62770         __fsetlocking.
62771
62772 2005-08-25  Simon Josefsson  <jas@extundo.com>
62773
62774         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
62775         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
62776         GLIBC specific code.
62777
62778 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
62779
62780         Make regex safe for g++.  This fixes one real bug (an "err"
62781         that should have been "*err").  g++ problem reported by
62782         Sam Steingold.
62783         * lib/regex_internal.h (re_calloc): New macro, consistent with
62784         re_malloc etc.  All callers of calloc changed to use re_calloc.
62785         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
62786         not int.  All callers changed.
62787         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
62788         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
62789         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
62790         (find_recover_state): Change "err" to "*err"; this fixes what
62791         appears to be a real bug.
62792         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
62793         versus int.
62794
62795 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
62796
62797         * modules/regex (Depends-on): Add malloc, since the code
62798         assumes that !malloc(0) means failure.
62799
62800 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
62801
62802         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
62803
62804         alloca modernization/simplification for regex.
62805         * lib/regex.c: Remove portability cruft for alloca.  This no longer
62806         needs to be at the start of the file, and can be moved into
62807         regex_internal.h and simplified.
62808         * lib/regex_internal.h: Include <alloca.h>.
62809         (__libc_use_alloca) [!defined _LIBC]: New macro.
62810         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
62811         now works outside glibc.
62812
62813 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
62814
62815         * config/srclist.txt: Add glibc bugs 1241, 1245.
62816
62817 2005-08-25  Jim Meyering  <jim@meyering.net>
62818
62819         * lib/open-safer.c: Include <config.h>.
62820         Otherwise, we'd lose LARGEFILE support in any file using
62821         e.g. "fcntl--.h"
62822
62823 2005-08-25  Bruno Haible  <bruno@clisp.org>
62824
62825         * m4/minmax.m4: Require autoconf 2.52.
62826         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
62827         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
62828         alternatives of translit over the alphabet.
62829         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
62830
62831 2005-08-24  Simon Josefsson  <jas@extundo.com>
62832
62833         * tests/test-getpass.c: New file.
62834
62835 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
62836
62837         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
62838         for GNU regex features.
62839
62840 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
62841
62842         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
62843         * lib/regex.h (regerror): Likewise.
62844
62845         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
62846         requires this.  (The code never needed it.)
62847
62848         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
62849         All uses of recently-renamed identifiers changed to use the new,
62850         POSIX-compliant names.  The code will build and run just fine
62851         without these changes, but it's better to eat our own dog food
62852         and use the standard-conforming names.
62853
62854         * lib/regex.h: Fix a multitude of POSIX name space violations.
62855         These changes have an effect only for programs that define
62856         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
62857         do not change anything for programs compiled in the normal way.
62858         Also, there is no effect on the ABI.
62859
62860         (_REGEX_SOURCE): New macro.
62861         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
62862         defined and _GNU_SOURCE is not; this fixes a name space violation.
62863
62864         Rename the following macros to obey POSIX requirements.
62865         The old names are still visible as macros if _REGEX_SOURCE is defined.
62866         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
62867         RE_BACKSLASH_ESCAPE_IN_LISTS.
62868         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
62869         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
62870         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
62871         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
62872         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
62873         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
62874         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
62875         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
62876         (REG_INTERVALS): renamed from RE_INTERVALS.
62877         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
62878         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
62879         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
62880         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
62881         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
62882         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
62883         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
62884         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
62885         RE_UNMATCHED_RIGHT_PAREN_ORD.
62886         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
62887         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
62888         (REG_DEBUG): renamed from RE_DEBUG.
62889         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
62890         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
62891         unusual, since we can't clash with the POSIX REG_ICASE.
62892         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
62893         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
62894         (REG_NO_SUB): renamed from RE_NO_SUB.
62895         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
62896         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
62897         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
62898         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
62899         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
62900         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
62901         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
62902         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
62903         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
62904         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
62905         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
62906         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
62907         RE_SYNTAX_POSIX_MINIMAL_BASIC.
62908         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
62909         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
62910         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
62911         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
62912         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
62913         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
62914         (REG_FIXED): Renamed from REGS_FIXED.
62915         (REG_NREGS): Renamed from RE_NREGS.
62916
62917         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
62918         of other REG_* macros, since POSIX says the user is allowed to
62919         #undef these macros selectively.
62920
62921         (reg_errcode_t): Update comment stating what other tables need
62922         to be consistent.
62923
62924         Rename the following enum values to obey POSIX requirements.
62925         The old names are still visible as macros.
62926         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
62927         is not defined, since GNU is supposed to be a superset of POSIX as
62928         much as possible, and since we want reg_errcode_t to be a signed
62929         type for implementation consistency.
62930         (_REG_NOERROR): Renamed from REG_NOERROR.
62931         (_REG_NOMATCH): Renamed from REG_NOMATCH.
62932         (_REG_BADPAT): Renamed from REG_BADPAT.
62933         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
62934         (_REG_ECTYPE): Renamed from REG_ECTYPE.
62935         (_REG_EESCAPE): Renamed from REG_EESCAPE.
62936         (_REG_ESUBREG): Renamed from REG_ESUBREG.
62937         (_REG_EBRACK): Renamed from REG_EBRACK.
62938         (_REG_EPAREN): Renamed from REG_EPAREN.
62939         (_REG_EBRACE): Renamed from REG_EBRACE.
62940         (_REG_BADBR): Renamed from REG_BADBR.
62941         (_REG_ERANGE): Renamed from REG_ERANGE.
62942         (_REG_ESPACE): Renamed from REG_ESPACE.
62943         (_REG_BADRPT): Renamed from REG_BADRPT.
62944         (_REG_EEND): Renamed from REG_EEND.
62945         (_REG_ESIZE): Renamed from REG_ESIZE.
62946         (_REG_ERPAREN): Renamed from REG_ERPAREN.
62947         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
62948         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
62949         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
62950         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
62951
62952         (_REG_RE_NAME, _REG_RM_NAME): New macros.
62953         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
62954         changed.  But support the old name if the new one is not defined
62955         and if _REGEX_SOURCE.
62956
62957         Change the following member names in struct re_pattern_buffer.
62958         The old names are still supported if !_REGEX_SOURCE.
62959         The new names are always supported, regardless of _REGEX_SOURCE.
62960         (re_buffer): Renamed from buffer.
62961         (re_allocated): Renamed from allocated.
62962         (re_used): Renamed from used.
62963         (re_syntax): Renamed from syntax.
62964         (re_fastmap): Renamed from fastmap.
62965         (re_translate): Renamed from translate.
62966         (re_can_be_null): Renamed from can_be_null.
62967         (re_regs_allocated): Renamed from regs_allocated.
62968         (re_fastmap_accurate): Renamed from fastmap_accurate.
62969         (re_no_sub): Renamed from no_sub.
62970         (re_not_bol): Renamed from not_bol.
62971         (re_not_eol): Renamed from not_eol.
62972         (re_newline_anchor): Renamed from newline_anchor.
62973
62974         Change the following member names in struct re_registers.
62975         The old names are still supported if !_REGEX_SOURCE.
62976         The new names are always supported, regardless of _REGEX_SOURCE.
62977         (rm_num_regs): Renamed from num_regs.
62978         (rm_start): Renamed from start.
62979         (rm_end): Renamed from end.
62980
62981         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
62982         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
62983         Prepend __ to parameter names.
62984
62985         Undo yesterday's changes.
62986
62987 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
62988
62989         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
62990         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
62991         lib/regex.c.
62992
62993 2005-08-24  Jim Meyering  <jim@meyering.net>
62994
62995         Sync from coreutils.
62996         * m4/fcntl-safer.m4: New file.
62997
62998         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
62999         and object files for this module.
63000
63001 2005-08-24  Jim Meyering  <jim@meyering.net>
63002
63003         Sync from coreutils.
63004         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
63005
63006 2005-08-24  Jim Meyering  <jim@meyering.net>
63007
63008         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
63009         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
63010
63011 2005-08-24  Jim Meyering  <jim@meyering.net>
63012
63013         * modules/fcntl-safer: New module.
63014         * modules/fts (Depends-on): Add fcntl-safer.
63015         * MODULES.html.sh (File descriptor based Input/Output):
63016         Add fcntl-safer.
63017
63018 2005-08-24  Bruno Haible  <bruno@clisp.org>
63019
63020         Support for unit test modules.
63021         * modules/README: Mention tests modules.
63022         * modules/TEMPLATE-TESTS: New file.
63023         * gnulib-tool: New options --extract-tests-module, --with-tests and
63024         --tests-base (unused for the moment).
63025         (testsbase, inctests): New variables.
63026         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
63027         (func_verify_module): Exclude TEMPLATE-TESTS.
63028         (func_verify_nontests_module, func_verify_tests_module): New functions.
63029         (func_get_dependencies): Add implicit dependency for tests modules.
63030         (func_get_tests_module): New function.
63031         (func_modules_transitive_closure): When --with-tests was specified,
63032         include the unit tests as well, unless explicitly avoided.
63033         (func_emit_lib_Makefile_am): Ignore the tests modules here.
63034         (func_emit_tests_Makefile_am): New function.
63035         (func_create_testdir): When --with-tests was specified, emit a
63036         tests/ directory.
63037         * MODULES.html.sh (Future developments): Update.
63038
63039 2005-08-24  Bruno Haible  <bruno@clisp.org>
63040
63041         * modules/tls-tests: New file.
63042         * tests/test-tls.c: New file, from GNU gettext.
63043
63044 2005-08-24  Bruno Haible  <bruno@clisp.org>
63045
63046         * modules/lock-tests: New file.
63047         * tests/test-lock.c: New file, from GNU gettext.
63048
63049 2005-08-24  Bruno Haible  <bruno@clisp.org>
63050
63051         * lib/lock.h: Add multiple inclusion guard.
63052         * lib/tls.h: Add multiple inclusion guard.
63053
63054 2005-08-24  Bruno Haible  <bruno@clisp.org>
63055
63056         * gnulib-tool: Add support for the --aux-dir option to
63057         --create-testdir, --create-megatestdir, --test, --megatest.
63058         (func_create_testdir, func_create_megatestdir): Optionally emit a
63059         AC_CONFIG_AUX_DIR directive.
63060         (create-testdir, create-megatestdir, test, megatest): Provide a
63061         default value for $auxdir.
63062
63063 2005-08-24  Bruno Haible  <bruno@clisp.org>
63064
63065         * gnulib-tool (import): Use compound statement instead of subshell
63066         where possible.
63067
63068 2005-08-24  Bruno Haible  <bruno@clisp.org>
63069
63070         * gnulib-tool (import): Change --aux-dir default to "build-aux".
63071
63072 2005-08-24  Bruno Haible  <bruno@clisp.org>
63073
63074         * gnulib-tool (func_version): Update.
63075
63076 2005-08-24  Bruno Haible  <bruno@clisp.org>
63077
63078         * gnulib-tool (func_import, func_create_testdir,
63079         func_create_megatestdir): Quote all autoconf macro arguments.
63080
63081 2005-08-24  Bruno Haible  <bruno@clisp.org>
63082
63083         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
63084         option --force, because --force causes the aclocal.m4 of each
63085         subdirectory to be newer than the corresponding config.h.in.
63086
63087 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
63088
63089         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
63090         All contents moved to gl_REGEX.
63091         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
63092         assume that it does.
63093
63094 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
63095
63096         * lib/regex.h (REG_NOSYS)
63097         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
63098         Define, since POSIX requires it as of 2001.
63099         (_REG_ENOSYS)
63100         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
63101         New private symbol, used to keep the enum signed in all cases.
63102         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
63103         Youngman in
63104         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
63105
63106         * lib/regex_internal.c (re_string_skip_chars, register_state):
63107         (calc_state_hash):
63108         Remove forward decls; no longer needed now that we use prototypes.
63109         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
63110         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
63111         (clean_state_log_if_needed): Likewise.
63112
63113 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
63114
63115         * config/srclist.txt: Add glibc bugs 1231-1233.
63116
63117 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
63118
63119         Fix problems reported by Sam Steingold in
63120         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
63121         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
63122         assumed that reg_errcode_t is a signed type, which is not
63123         necessarily true if _XOPEN_SOURCE is not defined.
63124         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
63125         since some compilers warn about it otherwise.
63126
63127 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
63128
63129         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
63130         (init_word_char, create_initial_state, duplicate_node_closure):
63131         (fetch_token, peek_token_bracket, build_range_exp):
63132         (build_collating_symbol): Remove forward decls; no longer needed
63133         now that we use prototypes.
63134
63135         * lib/regcomp.c:
63136         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
63137         (re_compile_fastmap_iter, regcomp, regerror, regfree):
63138         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
63139         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
63140         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
63141         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
63142         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
63143         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
63144         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
63145         (build_range_exp, build_collating_symbol, parse_bracket_exp):
63146         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
63147         (build_charclass, build_charclass_op, fetch_number, create_tree):
63148         (create_token_tree, mark_opt_subexp, duplicate_tree):
63149         Use prototypes rather than old-style definitions.
63150
63151         * lib/regex_internal.c:
63152         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
63153         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
63154         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
63155         (re_string_reconstruct, re_string_peek_byte_case):
63156         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
63157         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
63158         (re_node_set_init_copy, re_node_set_add_intersect):
63159         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
63160         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
63161         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
63162         (re_acquire_state, re_acquire_state_context, register_state):
63163         (create_ci_newstate, create_cd_newstate, free_state):
63164         Likewise.
63165         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
63166         re_search_2):
63167         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
63168         (re_search_internal, prune_impossible_nodes):
63169         (acquire_init_state_context, check_matching, static):
63170         (check_halt_node_context, check_halt_state_context, proceed_next_node):
63171         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
63172         (update_regs, sift_states_backward, build_sifted_states):
63173         (clean_state_log_if_needed, merge_state_array):
63174         (update_cur_sifted_state, add_epsilon_src_nodes):
63175         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
63176         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
63177         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
63178         (find_recover_state, check_subexp_matching_top, transit_state_mb):
63179         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
63180         (check_arrival, check_arrival_add_next_nodes):
63181         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
63182         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
63183         (check_node_accept_bytes, check_node_accept, extend_buffers):
63184         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
63185         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
63186         (sift_ctx_init):
63187         Likewise.
63188
63189         * lib/regex_internal.h:
63190         (re_string_allocate, re_string_construct, re_string_reconstruct):
63191         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
63192         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
63193         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
63194         (re_string_context_at, re_string_peek_byte_case):
63195         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
63196         is defined, since we now use prototypes always.
63197
63198         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
63199         C89 or better.  All uses removed.
63200
63201 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
63202
63203         * config/srclist.txt: Add glibc bugs 1220-1227.
63204
63205 2005-08-20  Jim Meyering  <jim@meyering.net>
63206
63207         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
63208         of unused local, dfa.
63209
63210 2005-08-20  Bruno Haible  <bruno@clisp.org>
63211
63212         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
63213
63214 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63215
63216         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
63217         (re_node_set_insert_last, re_dfa_add_node):
63218         Rename local variables to avoid GCC shadowing warnings.
63219
63220 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63221
63222         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
63223         [defined lint]: Suppress bogus uninitialized-variable warnings.
63224
63225         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
63226         and let the caller return REG_ESPACE if out of space.  This
63227         removes an uninitialied-variable warning with GCC 4.0.1, and also
63228         avoids taking the address of a local variable.  All callers
63229         changed.
63230
63231 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63232
63233         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
63234         $LIBCSRC/posix/regexec.c.
63235         Add glibc bug 1217 for regcomp.c.
63236
63237 2005-08-19  Jim Meyering  <jim@meyering.net>
63238
63239         * lib/regexec.c (proceed_next_node): Redo local variables to
63240         avoid GCC shadowing warnings.
63241
63242 2005-08-18  Bruno Haible  <bruno@clisp.org>
63243
63244         * lib/strstr.c (strstr): Fix return value in multibyte case.
63245         * lib/strcasestr.c (strcasestr): Likewise.
63246
63247 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
63248
63249         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
63250
63251 2005-08-17  Jim Meyering  <jim@meyering.net>
63252
63253         Make the %s format (seconds since the epoch) work for a negative
63254         number and when used with a zero-padded field width, e.g. %015s.
63255
63256         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
63257         label so that it precedes the code to set `digits'.  Otherwise,
63258         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
63259         print `00-22'.  Now, it prints `-0022', as it should.
63260
63261 2005-08-17  Bruno Haible  <bruno@clisp.org>
63262
63263         * modules/strstr (Files): Add m4/mbrtowc.m4.
63264         (Depends-on): Add mbuiter.
63265
63266 2005-08-17  Bruno Haible  <bruno@clisp.org>
63267
63268         * modules/strcasestr: New file.
63269         * MODULES.html.sh (String handling, based on ANSI C 89): Add
63270         strcasestr.
63271
63272 2005-08-17  Bruno Haible  <bruno@clisp.org>
63273
63274         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
63275
63276 2005-08-17  Bruno Haible  <bruno@clisp.org>
63277
63278         * modules/mbuiter: New file.
63279         * MODULES.html.sh (Extended multibyte and wide character utilities):
63280         Add mbuiter.
63281
63282 2005-08-17  Bruno Haible  <bruno@clisp.org>
63283
63284         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
63285         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
63286
63287 2005-08-17  Bruno Haible  <bruno@clisp.org>
63288
63289         * m4/strcasestr.m4: New file.
63290
63291 2005-08-17  Bruno Haible  <bruno@clisp.org>
63292
63293         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
63294         * lib/strstr.c: Completely rewritten, with multibyte locale support.
63295
63296 2005-08-17  Bruno Haible  <bruno@clisp.org>
63297
63298         * lib/strcasestr.h: New file.
63299         * lib/strcasestr.c: New file.
63300
63301 2005-08-17  Bruno Haible  <bruno@clisp.org>
63302
63303         * lib/strcasecmp.c: Use mbuiter.h.
63304
63305 2005-08-17  Bruno Haible  <bruno@clisp.org>
63306
63307         * lib/mbuiter.h: New file.
63308
63309 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
63310
63311         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
63312         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
63313         and gl_GETOPT are both invoked via different paths (as happens
63314         with GNU tar CVS because it uses both argp and getopt), the former
63315         wins.
63316
63317 2005-08-16  Bruno Haible  <bruno@clisp.org>
63318
63319         * modules/tls: New file.
63320         * MODULES.html.sh (Multithreading): Add tls.
63321
63322 2005-08-16  Bruno Haible  <bruno@clisp.org>
63323
63324         * modules/strnlen1: New file.
63325         * MODULES.html.sh (String handling): Add strnlen1.
63326
63327 2005-08-16  Bruno Haible  <bruno@clisp.org>
63328
63329         * modules/strcase (Files): Add m4/mbrtowc.m4.
63330         (Depends-on): Add strnlen1, mbchar.
63331
63332 2005-08-16  Bruno Haible  <bruno@clisp.org>
63333
63334         * modules/mbiter: New file.
63335         * MODULES.html.sh (Extended multibyte and wide character utilities):
63336         Add mbiter.
63337
63338 2005-08-16  Bruno Haible  <bruno@clisp.org>
63339
63340         * modules/mbfile: New file.
63341         * MODULES.html.sh (Extended multibyte and wide character utilities):
63342         Add mbfile.
63343
63344 2005-08-16  Bruno Haible  <bruno@clisp.org>
63345
63346         * modules/mbchar: New file.
63347         * MODULES.html.sh (Extended multibyte and wide character utilities):
63348         New section.
63349
63350 2005-08-16  Bruno Haible  <bruno@clisp.org>
63351
63352         * m4/tls.m4: New file, from GNU gettext.
63353
63354 2005-08-16  Bruno Haible  <bruno@clisp.org>
63355
63356         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
63357         always.
63358         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
63359
63360 2005-08-16  Bruno Haible  <bruno@clisp.org>
63361
63362         * m4/mbiter.m4: New file.
63363
63364 2005-08-16  Bruno Haible  <bruno@clisp.org>
63365
63366         * m4/mbfile.m4: New file.
63367
63368 2005-08-16  Bruno Haible  <bruno@clisp.org>
63369
63370         * m4/mbchar.m4: New file.
63371
63372 2005-08-16  Bruno Haible  <bruno@clisp.org>
63373
63374         * lib/tls.h: New file, from GNU gettext.
63375         * lib/tls.c: New file, from GNU gettext.
63376
63377 2005-08-16  Bruno Haible  <bruno@clisp.org>
63378
63379         * lib/strnlen1.h: New file.
63380         * lib/strnlen1.c: New file.
63381
63382 2005-08-16  Bruno Haible  <bruno@clisp.org>
63383
63384         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
63385         (mbi_init): Update.
63386         (mbi_avail, mbi_advance): Let the iteration end before the terminating
63387         NUL byte, not after it.
63388
63389 2005-08-16  Bruno Haible  <bruno@clisp.org>
63390
63391         * lib/strcase.h (strcasecmp): Add note in comments.
63392         * lib/strncasecmp.c: Use code from strcasecmp.c.
63393         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
63394         (strcasecmp): Work correctly in multibyte locales.
63395
63396 2005-08-16  Bruno Haible  <bruno@clisp.org>
63397
63398         * lib/mbiter.h: New file.
63399
63400 2005-08-16  Bruno Haible  <bruno@clisp.org>
63401
63402         * lib/mbfile.h: New file.
63403
63404 2005-08-16  Bruno Haible  <bruno@clisp.org>
63405
63406         * lib/mbchar.h: New file.
63407         * lib/mbchar.c: New file.
63408
63409 2005-08-16  Bruno Haible  <bruno@clisp.org>
63410
63411         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
63412         the valid ones. Makes the comparison operations transitive:
63413         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
63414         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
63415
63416 2005-08-15  Simon Josefsson  <jas@extundo.com>
63417
63418         * modules/ssize_t (License): Change to 'unlimited'.
63419
63420         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
63421
63422 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
63423
63424         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
63425         Add comments for each pending glibc patch.
63426
63427 2005-08-15  Bruno Haible  <bruno@clisp.org>
63428
63429         * lib/regex.h (__restrict_arr): Don't define to __restrict if
63430         __cplusplus is defined.
63431
63432 2005-08-14  Jim Meyering  <jim@meyering.net>
63433
63434         Sync from coreutils.
63435
63436         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
63437         Use the hash-table-based cycle-detection code not just when
63438         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
63439         Reported by James Youngman in
63440         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
63441         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
63442         FTS_TIGHT_CYCLE_CHECK.
63443         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
63444         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
63445         once again.
63446         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
63447         * lib/fts.c (fd_safer): Remove decl.
63448         Include fcntl--.h rather than unistd-safer.h
63449         (fts_safe_changedir): Don't call fd_safer; no longer needed
63450         now that we include fcntl--.h.
63451
63452 2005-08-12  Simon Josefsson  <jas@extundo.com>
63453
63454         * modules/getndelim2: Use ssize_t module.
63455         * modules/getnline: Likewise.
63456         * modules/safe-read: Likewise.
63457         * modules/xreadlink: Likewise.
63458
63459         * modules/ssize_t: New file.
63460
63461 2005-08-12  Simon Josefsson  <jas@extundo.com>
63462
63463         * m4/readline.m4: Look for termcap, curses or ncurses if required.
63464
63465 2005-08-12  Simon Josefsson  <jas@extundo.com>
63466
63467         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
63468         ssize_t.
63469
63470 2005-08-12  Simon Josefsson  <jas@extundo.com>
63471
63472         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
63473         readline, getdelim and check_version.
63474         (Support for systems lacking ISO C 99: Sizes of integer types):
63475         Add size_max.
63476
63477 2005-08-12  Bruno Haible  <bruno@clisp.org>
63478
63479         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
63480
63481 2005-08-11  Simon Josefsson  <jas@extundo.com>
63482
63483         * modules/readline: New file.
63484
63485         * modules/strnlen (Files): Add strnlen.h.
63486
63487 2005-08-11  Simon Josefsson  <jas@extundo.com>
63488
63489         * m4/readline.m4: New file.
63490
63491 2005-08-11  Simon Josefsson  <jas@extundo.com>
63492
63493         * lib/readline.h, readline.c: New file.
63494
63495 2005-08-11  Simon Josefsson  <jas@extundo.com>
63496
63497         * doc/gnulib.texi (Initial import, Finishing touches): Mention
63498         gl_AVOID.
63499
63500 2005-08-11  Bruno Haible  <bruno@clisp.org>
63501
63502         * lib/strnlen.h (strnlen): Change parameter name to match comment.
63503
63504 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
63505
63506         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
63507
63508 2005-08-10  Simon Josefsson  <jas@extundo.com>
63509
63510         * tests/test-iconvme.c: New file.
63511
63512 2005-08-10  Simon Josefsson  <jas@extundo.com>
63513
63514         * m4/strnlen.m4: New file.
63515
63516         * m4/strndup.m4: Don't check for strnlen declaration, done in
63517         strnlen.m4.
63518
63519 2005-08-10  Simon Josefsson  <jas@extundo.com>
63520
63521         * lib/strndup.c: Use strnlen.h.
63522
63523         * lib/strnlen.h: New file.
63524
63525 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
63526
63527         * README: Typos.
63528
63529 2005-08-02  Simon Josefsson  <jas@extundo.com>
63530
63531         * modules/readline: New file.
63532
63533 2005-08-02  Simon Josefsson  <jas@extundo.com>
63534
63535         * modules/getdelim: New file.
63536
63537         * modules/getline: Rewrite, don't use getndelim2.
63538
63539 2005-08-02  Simon Josefsson  <jas@extundo.com>
63540
63541         * m4/getline.m4: Separate out getdelim stuff into separate module.
63542
63543         * m4/getdelim.m4: New file.
63544
63545 2005-08-02  Simon Josefsson  <jas@extundo.com>
63546
63547         * lib/getline.h, getline.c: Rewrite.
63548
63549         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
63550
63551 2005-07-31  Bruno Haible  <bruno@clisp.org>
63552
63553         * lib/lock.h (gl_lock_initializer): New macro.
63554         (gl_lock_define_initialized): Use it.
63555         (gl_rwlock_initializer): New macro.
63556         (gl_rwlock_define_initialized): Use it.
63557         (gl_recursive_lock_initializer): New macro.
63558         (gl_recursive_lock_define_initialized): Use it.
63559
63560 2005-07-30  Karl Berry  <karl@gnu.org>
63561
63562         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
63563         Report from Ben Pfaff, regarding getopt.
63564
63565 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
63566
63567         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
63568         normal way.
63569         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
63570         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
63571         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
63572         (gl_GETOPT): Use the new macros.  Most of the implementation
63573         is moved to the new macros.  This is for programs like Emacs
63574         that don't want all the functionality of gl_GETOPT.
63575
63576 2005-07-26  Bruno Haible  <bruno@clisp.org>
63577
63578         * m4/lock.m4: Update from GNU gettext.
63579
63580 2005-07-26  Bruno Haible  <bruno@clisp.org>
63581
63582         * lib/lock.h: Update from GNU gettext.
63583         * lib/lock.c: Update from GNU gettext.
63584
63585 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
63586
63587         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
63588         obsolescent AC_TRY_RUN.  Include the default includes files, for
63589         'exit'.
63590
63591 2005-07-24  Bruno Haible  <bruno@clisp.org>
63592
63593         * modules/visibility: New file.
63594         * MODULES.html.sh (Misc): Add visibility.
63595
63596 2005-07-24  Bruno Haible  <bruno@clisp.org>
63597
63598         * m4/visibility.m4: New file.
63599
63600 2005-07-24  Bruno Haible  <bruno@clisp.org>
63601
63602         * doc/visibility.texi: New file.
63603
63604 2005-07-22  Bruno Haible  <bruno@clisp.org>
63605
63606         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
63607         $(ALLOCA_H), redundant through BUILT_SOURCES.
63608         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
63609         redundant through BUILT_SOURCES.
63610         * modules/byteswap (Makefile.am): Remove explicit dependency on
63611         $(BYTESWAP_H), redundant through BUILT_SOURCES.
63612         * modules/fnmatch (Makefile.am): Remove explicit dependency on
63613         $(FNMATCH_H), redundant through BUILT_SOURCES.
63614         * modules/getopt (Makefile.am): Remove explicit dependency on
63615         $(GETOPT_H), redundant through BUILT_SOURCES.
63616         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
63617         redundant through BUILT_SOURCES.
63618         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
63619         redundant through BUILT_SOURCES.
63620         * modules/stdbool (Makefile.am): Remove explicit dependency on
63621         $(STDBOOL_H), redundant through BUILT_SOURCES.
63622         * modules/stdint (Makefile.am): Remove explicit dependency on
63623         $(STDINT_H), redundant through BUILT_SOURCES.
63624         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
63625         Remove explicit dependency on $(SYSEXITS_H).
63626         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
63627
63628 2005-07-18  Simon Josefsson  <jas@extundo.com>
63629
63630         * lib/check-version.c (check_version): Accept identical versions too.
63631
63632 2005-07-18  Bruno Haible  <bruno@clisp.org>
63633
63634         * modules/lock: New file.
63635         * MODULES.html.sh (Multithreading): New section.
63636
63637 2005-07-18  Bruno Haible  <bruno@clisp.org>
63638
63639         * m4/lock.m4: New file, from GNU gettext.
63640
63641 2005-07-18  Bruno Haible  <bruno@clisp.org>
63642
63643         * lib/lock.h: New file, from GNU gettext.
63644         * lib/lock.c: New file, from GNU gettext.
63645
63646 2005-07-18  Bruno Haible  <bruno@clisp.org>
63647
63648         * lib/lock.h (gl_once_t): New type.
63649         (gl_once_define, gl_once): New macros.
63650         * lib/lock.c (fresh_once): New variable.
63651         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
63652         functions.
63653
63654 2005-07-16  Simon Josefsson  <jas@extundo.com>
63655
63656         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
63657         workaround, suggested by Bruno.
63658
63659 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
63660
63661         * modules/xalloc (Depends-on): Add xalloc-die.
63662         * modules/xvasprintf (Depends-on): Add xalloc-die.
63663
63664 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
63665
63666         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
63667         with a minor change.
63668
63669 2005-07-15  Bruno Haible  <bruno@clisp.org>
63670
63671         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
63672         When using lib/poll.c, define poll as rpl_poll.
63673
63674 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
63675
63676         * modules/argp (Depends-on): Remove unlocked-io.
63677
63678 2005-07-14  Derek Price  <derek@ximbiot.com>
63679
63680         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
63681         for glob symlink bug.
63682
63683 2005-07-14  Bruno Haible  <bruno@clisp.org>
63684
63685         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
63686         Instead, test for *_unlocked function declarations directly.
63687
63688 2005-07-11  Simon Josefsson  <jas@extundo.com>
63689
63690         * modules/size_max: New file.
63691
63692         * modules/xsize: Depend on size_max module for size_max.m4.
63693
63694 2005-07-11  Simon Josefsson  <jas@extundo.com>
63695
63696         * lib/size_max.h: New file.
63697
63698 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
63699
63700         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
63701         copyright symbol and the year.
63702         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
63703         (version_etc_va): Use parameterized copyright notice.
63704         Reword to conform to the current GNU coding standards.
63705
63706 2005-07-11  Karl Berry  <karl@gnu.org>
63707
63708         * doc/gnulib.texi (Quoting): new node.
63709         (Initial import): more info, from Patrice.
63710
63711 2005-07-11  Bruno Haible  <bruno@clisp.org>
63712
63713         * gnulib-tool (func_usage): Document option --avoid.
63714         (Command line options): Handle --avoid.
63715         (func_acceptable): New function.
63716         (func_modules_transitive_closure): Use it.
63717
63718 2005-07-11  Bruno Haible  <bruno@clisp.org>
63719
63720         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
63721         Reported by Jim Meyering.
63722
63723 2005-07-10  Bruno Haible  <bruno@clisp.org>
63724
63725         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
63726         Needed when size_t is smaller than 'unsigned int'.
63727         Reported by Paul Eggert.
63728
63729 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
63730
63731         * modules/argp (Depends-on): Add unlocked-io
63732
63733 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
63734
63735         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
63736         block of defines.
63737
63738 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
63739
63740         * config/srclist.txt: Comment out regcomp.c, since we have a porting
63741         fix now.
63742
63743 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
63744         and Paul Eggert  <eggert@cs.ucla.edu>
63745
63746         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
63747         in wint_t, not wchar_t.  Remove now-unnecessary cast.
63748
63749 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
63750
63751         * modules/regex (Files): Add lib/regex_internal.c,
63752         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
63753         (Depends-on): Add extensions.
63754         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
63755
63756 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
63757
63758         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
63759         pathconf.
63760         * m4/same.m4 (gl_SAME): Likewise.
63761         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
63762
63763         * m4/regex.m4: Adjust to new libc regex implementation.
63764         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
63765         all the .c and .h parts of (the new) regex.
63766         Quote the m4 stuff better.
63767         Check for RE_ICASE bug of old gnulib.
63768         Check for REG_STARTEND of recent libc.
63769         Rename local variables from jm_* to gl_*.
63770         Quote operand of "test -f".
63771         Say "recent enough" version of libc, not "version 2".
63772         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
63773         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
63774         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
63775         Remove check for btowc, isascii.
63776         Require AM_LANGINFO_CODESET.
63777
63778 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
63779
63780         * lib/regex.c, regex.h: Sync from libc.
63781         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
63782         * lib/regexec.c:
63783         New files, synced from libc, except that regex_internal.h
63784         currently has a small porting fix.
63785
63786 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
63787
63788         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
63789         regex_internal.c, regexec.c.
63790         Add regex_internal.h too, but as a comment, since the libc version
63791         is currently broken in gnulib mode.
63792
63793 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
63794
63795         Support programs like Emacs that use gnulib but not gettext.
63796         * MODULES.html.sh (Internationalization functions): Add gettext-h.
63797         * modules/gettext-h: New file.
63798         * modules/gettext (Files): Remove lib/gettext.h.
63799         (Depends-on): Add gettext-h.
63800         (Makefile.am): Remove lib_SOURCES.
63801         * modules/argmatch, modules/c-stack, modules/closeout:
63802         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
63803         * modules/execute, modules/file-type, modules/getaddrinfo:
63804         * modules/getopt, modules/human, modules/javacomp:
63805         * modules/javaexec, modules/mkdir-p, modules/obstack:
63806         * modules/openat, modules/pagealign_alloc, modules/pipe:
63807         * modules/quotearg, modules/regex, modules/rpmatch:
63808         * modules/unicodeio, modules/userspec, modules/version-etc:
63809         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
63810         * modules/xsetenv:
63811         Depend on gettext-h, not gettext.
63812
63813 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
63814
63815         * gnulib-tool (func_import): Add support for 'public domain' license.
63816         * modules/alloca, modules/atexit, modules/memmove:
63817         Now public domain, not GPL.
63818         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
63819         * modules/realloc, modules/strerror, modules/strtod:
63820         Now LGPL, not GPL.
63821
63822 2005-07-05  Bruno Haible  <bruno@clisp.org>
63823
63824         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
63825         autoconf CVS. Needed for mingw.
63826
63827 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
63828
63829         Remove the dependency of the strftime module on the tzset module.
63830         * modules/strftime (Depends-on): Remove dependency on tzset.
63831
63832 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
63833
63834         Remove the dependency of the strftime module on the tzset module.
63835         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
63836         gl_FUNC_TZSET_CLOBBER.
63837
63838 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
63839
63840         Remove the dependency of the strftime module on the tzset module.
63841         * lib/strftime.c (my_strftime)
63842         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
63843         Copy the input structure, to work around some of the bug with
63844         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
63845         Solaris releases, you should also use the tzset module, but we won't
63846         require it as a dependency any more since we don't want LGPLed code
63847         to depend on GPLed code.
63848
63849 2005-07-02  Jim Meyering  <jim@meyering.net>
63850
63851         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
63852         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
63853         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
63854         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
63855
63856 2005-07-02  Jim Meyering  <jim@meyering.net>
63857
63858         * lib/backupfile.c (backup_args): Change a `0' to NULL.
63859
63860 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
63861
63862         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
63863         declares only 'struct timespec;' (!).
63864
63865 2005-07-01  Jim Meyering  <jim@meyering.net>
63866
63867         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
63868         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
63869         * lib/save-cwd.c, tempname.c:
63870         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
63871         and don't include <sys/file.h>).
63872
63873 2005-06-29  Jim Meyering  <jim@meyering.net>
63874
63875         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
63876         type name.  Use the variable name instead.
63877         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
63878         Likewise.
63879
63880 2005-06-28  Simon Josefsson  <jas@extundo.com>
63881
63882         * modules/check-version (Files): Add check-version.m4.
63883
63884 2005-06-28  Simon Josefsson  <jas@extundo.com>
63885
63886         * m4/check-version.m4: New file, suggested by Jim Meyering
63887         <jim@meyering.net>.
63888
63889 2005-06-28  Simon Josefsson  <jas@extundo.com>
63890
63891         * lib/check-version.h, lib/check-version.c: New files.
63892
63893 2005-06-28  Simon Josefsson  <jas@extundo.com>
63894
63895         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
63896         collision with global variable.  Better indentation.  Don't
63897         increment buffer pointer beyond buffer end.  Based on comments
63898         from Paul Eggert <eggert@cs.ucla.edu>.
63899
63900         * lib/base64.h: Indent.
63901
63902 2005-06-28  Simon Josefsson  <jas@extundo.com>
63903
63904         * doc/gnulib.texi (Library version handling): New section.
63905
63906 2005-06-28  Jim Meyering  <jim@meyering.net>
63907
63908         * check-module (find_included_lib_files): Hard-code another
63909         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
63910         but modules/fts-lgpl (correctly) does not list those files.
63911
63912         * modules/canonicalize (Files): Add lib/pathmax.h.
63913
63914 2005-06-25  Simon Josefsson  <jas@extundo.com>
63915
63916         * modules/check-version: New file.
63917
63918 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
63919
63920         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
63921         initializer of struct addrinfo, as an indication that we don't
63922         care how many members the structure has.
63923
63924 2005-06-24  Derek Price  <derek@ximbiot.com>
63925         and Bruno Haible  <bruno@clisp.org>
63926
63927         Remove stat module & update lstat.
63928         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
63929         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
63930         * m4/stat.m4: Remove this file.
63931
63932 2005-06-24  Derek Price  <derek@ximbiot.com>
63933         and Bruno Haible  <bruno@clisp.org>
63934
63935         Remove stat module & update lstat.
63936         * lib/stat.c: Remove this file...
63937         (slash_aware_lstat): ...moving this content and its support...
63938         * lib/lstat.c (rpl_lstat): ...into here.
63939         * lib/lstat.h: New file.
63940
63941 2005-06-24  Derek Price  <derek@ximbiot.com>
63942         and Bruno Haible  <bruno@clisp.org>
63943
63944         Remove stat module & update lstat.
63945         * config/srclist.txt (libc sources): Remove stat.
63946
63947 2005-06-24  Derek Price  <derek@ximbiot.com>
63948         and Bruno Haible  <bruno@clisp.org>
63949
63950         Remove stat module & update lstat.
63951         * MODULES.html.sh (stat): Remove.
63952         * MODULES.html: Regenerated.
63953         * modules/lstat (Description): Correct function name.
63954         (Files): Add "lstat.h".
63955         (Depends-on): Remove stat, add xalloc, stat-macros.
63956         * modules/stat: Remove this file.
63957         (Include): Add "lstat.h", remove <sys/stat.h>.
63958
63959 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
63960
63961         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
63962         (ranged_convert): Don't save conversion in a temporary struct.
63963         This causes a warning with GCC 4.0.0, and anyway in the typical
63964         case it's not worth the extra 100 bytes or so of code.
63965         (ranged_convert, __mktime_internal): When calling a function via a
63966         pointer P, use P () rather than (*P) (), as we now assume C89 or
63967         better.
63968
63969 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
63970
63971         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
63972         "who -r" failed to give output.  Problem reported by Tim Waugh.
63973
63974         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
63975         (xcalloc): Use it to avoid needless tests.
63976         Problem reported by Jim Meyering.
63977
63978 2005-06-20  Derek Price  <derek@ximbiot.com>
63979
63980         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
63981         unnecessary for Autoconfs > 2.59c.
63982
63983 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
63984
63985         * lib/argp.h (__option_is_short): Check upper limit of
63986         __key. Isprint() requires its argument to have the value
63987         of an unsigned char or EOF.
63988
63989 2005-06-16  Jim Meyering  <jim@meyering.net>
63990
63991         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
63992         when either N or S is zero.
63993
63994 2005-06-16  Derek Price  <derek@ximbiot.com>
63995
63996         * m4/bison.m4: Declare YACC & YFLAGS precious.
63997
63998 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
63999
64000         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
64001         multibyte string or pattern, fall back on unibyte matching.
64002         Problem reported by James Youngman.
64003
64004 2005-06-08  Bruno Haible  <bruno@clisp.org>
64005
64006         * modules/csharpcomp: New file.
64007         * MODULES.html.sh (C#): Add csharpcomp.
64008
64009 2005-06-08  Bruno Haible  <bruno@clisp.org>
64010
64011         * m4/csharpcomp.m4: New file, from GNU gettext.
64012
64013 2005-06-08  Bruno Haible  <bruno@clisp.org>
64014
64015         * lib/csharpcomp.h: New file, from GNU gettext.
64016         * lib/csharpcomp.c: New file, from GNU gettext.
64017         * lib/csharpcomp.sh.in: New file, from GNU gettext.
64018
64019 2005-06-08  Bruno Haible  <bruno@clisp.org>
64020
64021         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
64022         warning on mingw.
64023
64024 2005-06-07  Derek Price  <derek@ximbiot.com>
64025
64026         Sync from CVS.
64027         * lib/glob_.h: Indent nested #ifdef.
64028
64029 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
64030
64031         Sync from coreutils.
64032         Use "file name" when talking about file names, instead of "filename"
64033         or "path", as per the GNU coding standards.
64034         * lib/mkdir-p.c: Renamed from makepath.c.
64035         (make_dir_parents): Renamed from make_path.  All callers changed.
64036         * lib/mkdir-p.h: Likewise.  All includers changed.
64037         * lib/filenamecat.c: Renamed from path-concat.c.
64038         (file_name_concat): Renamed from path_concat.  All callers changed.
64039         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
64040         * lib/filenamecat.h: Likewise.  All includers changed.
64041         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
64042         in comments or local variable names.
64043         * lib/basename.c: Likewise.
64044         * lib/canonicalize.c, canonicalize.h: Likewise.
64045         * lib/dirname.c, dirname.h: Likewise.
64046         * lib/euidaccess.c: Likewise.
64047         * lib/exclude.c: Likewise
64048         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
64049         * lib/fsusage.c, fsuage.h: Likewise.
64050         * lib/fts.c, fts_.h: Likewise.
64051         * lib/getcwd.c: Likewise.
64052         * lib/getloadavg.c: Likewise.
64053         * lib/mkstemp.c: Likewise.
64054         * lib/mountlist.c, mountlist.h: Likewise.
64055         * lib/openat.c, openat.h: Likewise.
64056         * lib/readlink-stub.c: Likewise.
64057         * lib/readutmp.c, readutmp.h: Likewise.
64058         * lib/rename.c: Likewise.
64059         * lib/rmdir.c: Likewise.
64060         * lib/same.c: Likewise.
64061         * lib/savedir.c: Likewise.
64062         * lib/stripslash.c: Likewise.
64063         * lib/tempname.c: Likewise.
64064         * lib/xreadlink.c: Likewise.
64065         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
64066         All uses changed.
64067         * lib/exclude.h: Likewise.
64068
64069         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
64070         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
64071         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
64072         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
64073         * lib/pathmax.h: Include <limits.h> unconditionally, since other
64074         files have been getting away with it for years (MORE/BSD 4.3
64075         is extinct now).
64076         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
64077         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
64078
64079         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
64080         Define to 256, not 255, as per modern POSIX.
64081
64082 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
64083
64084         Sync from coreutils.
64085         Use "file name" when talking about file names, instead of "filename"
64086         or "path", as per the GNU coding standards.
64087         * MODULES.html.sh: mkdir-p renamed from makepath.
64088         filenamecat renamed from path-concat.
64089         * modules/filenamecat: Renamed from modules/path-concat.
64090         (Files): filenamecat.h and filenamecat.c renamed from
64091         path-concat.h and path-concat.c.
64092         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
64093         (Include): filenamecat.h, not path-concat.h.
64094         * modules/mkdir-p: Renamed from modules/makepath.
64095         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
64096         makepath.c.
64097         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
64098         (Include): mkdir-p.h, not makepath.h.
64099
64100 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
64101
64102         Sync from coreutils.
64103         * m4/mkdir-p.m4: Renamed from makepath.m4.
64104         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
64105         Rename files from makepath.c to mkdir-p.c, and from
64106         makepath.h to mkdir-p.h.
64107         * m4/filenamecat.m4: Renamed from path-concat.m4.
64108         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
64109         Rename files from path-concat.c to filenamecat.c,
64110         and from path-concat.h to filenamecat.h.
64111         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
64112         "file name" in local variables or comments.
64113         * m4/rename.m4: Likewise.
64114
64115 2005-06-01  Bruno Haible  <bruno@clisp.org>
64116
64117         * modules/csharpexec: New file.
64118         * MODULES.html.sh (C#): New section.
64119
64120 2005-06-01  Bruno Haible  <bruno@clisp.org>
64121
64122         * m4/csharp.m4: New file, from GNU gettext.
64123         * m4/csharpexec.m4: New file, from GNU gettext.
64124
64125 2005-06-01  Bruno Haible  <bruno@clisp.org>
64126
64127         * lib/csharpexec.h: New file, from GNU gettext.
64128         * lib/csharpexec.c: New file, from GNU gettext.
64129         * lib/csharpexec.sh.in: New file, from GNU gettext.
64130
64131 2005-05-31  Derek Price  <derek@ximbiot.com>
64132             Paul Eggert  <eggert@cs.ucla.edu>
64133
64134         Sync from cvs.
64135         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
64136
64137 2005-05-31  Derek Price  <derek@ximbiot.com>
64138             Paul Eggert  <eggert@cs.ucla.edu>
64139
64140         Sync from cvs.
64141         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
64142
64143 2005-05-29  Derek Price  <derek@ximbiot.com>
64144
64145         * config/srclist.txt (glob_.h, glob.c): Add these files.
64146
64147 2005-05-29  Derek Price  <derek@ximbiot.com>
64148
64149         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
64150         * modules/glob: New file.
64151         * modules/getlogin_r: Add link to POSIX spec in description.
64152
64153 2005-05-29  Derek Price  <derek@ximbiot.com>
64154             Paul Eggert  <eggert@cs.ucla.edu>
64155
64156         * m4/glob.m4: New file.
64157
64158 2005-05-29  Derek Price  <derek@ximbiot.com>
64159             Paul Eggert  <eggert@cs.ucla.edu>
64160
64161         * lib/glob_.h, lib/glob.c: New files.
64162
64163 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
64164
64165         * modules/fts (Files): Remove m4/inttypes-pri.m4.
64166         * modules/fts-lgpl (Depends-on): Remove gettext.
64167
64168 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
64169
64170         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
64171         and don't require gt_INTTYPES_PRI.
64172
64173 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
64174
64175         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
64176
64177         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
64178         the configuration hassle isn't worth it.
64179         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
64180         (LONGEST_MODIFIER, PRIuMAX): Remove.
64181
64182 2005-05-27  Bruno Haible  <bruno@clisp.org>
64183
64184         * lib/getlogin_r.h: Remove second include of <stddef.h>.
64185
64186 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
64187
64188         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
64189         _POSIX_PTHREAD_SEMANTICS for Solaris.
64190
64191 2005-05-25  Derek Price  <derek@ximbiot.com>
64192
64193         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
64194
64195 2005-05-25  Derek Price  <derek@ximbiot.com>
64196             Paul Eggert  <eggert@cs.ucla.edu>
64197
64198         * modules/getlogin_r, m4/getlogin_r.m4: New files.
64199         * lib/getlogin_r.c, getlogin_r.h: New files.
64200
64201 2005-05-25  Bruno Haible  <bruno@clisp.org>
64202             Derek Price  <derek@ximbiot.com>
64203
64204         * lib/getlogin_r.h: Simplify API documentation.
64205
64206 2005-05-23  Derek Price  <derek@ximbiot.com>
64207
64208         * modules/minmax (Files): Add m4/minmax.m4.
64209         (configure.ac): Add gl_MINMAX.
64210
64211 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
64212
64213         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
64214         so that unistd-safer.h (GPL'ed code) need not be included.
64215
64216 2005-05-22  Bruno Haible  <bruno@clisp.org>
64217
64218         * m4/minmax.m4: New file.
64219         Based on a patch by Derek Price <derek@ximbiot.com>.
64220
64221 2005-05-22  Bruno Haible  <bruno@clisp.org>
64222
64223         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
64224         (INT64_MIN): Fix definition.
64225         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
64226
64227         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
64228         NEED_SIGNED_INT_TYPES.
64229
64230         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
64231         HAVE_SYSTEM_INTTYPES.
64232
64233 2005-05-22  Bruno Haible  <bruno@clisp.org>
64234
64235         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
64236         Also include <sys/param.h> if it defines MIN, MAX.
64237         Based on a patch by Derek Price <derek@ximbiot.com>.
64238
64239 2005-05-21  Jim Meyering  <jim@meyering.net>
64240
64241         * modules/fts (Files): Add m4/inttypes-pri.m4.
64242         (Depends-on): Add lstat and remove gettext.  Alphabetize.
64243
64244 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
64245
64246         New fts module.
64247         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
64248         (setup_dir, free_dir): New functions.
64249         (enter_dir, leave_dir): Define trivial
64250         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
64251         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
64252         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
64253         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
64254         Move to fts-cycle.c.
64255         (fts_open): Use setup_dir.
64256         (fts_close): Use free_dir.
64257         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
64258         This adds a label and some gotos, but the alternatives were messier.
64259         Check for memory allocation failure when entering a dir.
64260         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
64261         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
64262         (FTS): New member fts_cycle, that is a union that contains the
64263         old active_dir_ht and cycle_state.  All uses changed to mention
64264         fts_cycle.ht and fts_cycle.state.
64265         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
64266         fts.c, with the following changes:
64267         (setup_dir, free_dir): New functions.
64268         (enter_dir): Now returns bool.  Return true if successful, false
64269         if memory exhausted.  All callers changed.
64270         Do not bother partly cleaning up on
64271         memory allocation failure; that is free_dir's job.
64272         However, free ad if hash_insert fails, to avoid memory leak.
64273         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
64274         fts->fts_options to see which union member to use.
64275
64276 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
64277
64278         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
64279         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
64280
64281 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
64282
64283         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
64284
64285 2005-05-20  Jim Meyering  <jim@meyering.net>
64286
64287         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
64288         Now a macro, to pacify GCC.
64289
64290 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
64291
64292         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
64293         of -1.
64294
64295 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
64296
64297         * lib/chown.c (rpl_chown): Return -1 on failure.
64298
64299 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
64300
64301         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
64302         Don't check for stddef.h.
64303         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
64304         don't use its results.
64305         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
64306         since we include them unconditionally.  Don't require
64307         AM_STDBOOL_H, since stdbool is a prerequisite.
64308         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
64309         since we assume C89 or better.
64310         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
64311         as we don't use their results.
64312         Don't check for fchdir, memmove, memset, strrchr, as we use
64313         them unconditionally.
64314         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
64315         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
64316
64317 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
64318
64319         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
64320         Include <stddef.h> unconditionally, since we assume C89 now.
64321         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
64322         * lib/fts.c: Include fts_.h first, to check interface.
64323         Do not include intprops.h; no longer needed.
64324         Include cycle-check.h and hash.h, since fts_.h no longer does.
64325         Remove unnecessary casts of closedir to void.
64326         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
64327         decide whether to decrement nlinks.
64328         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
64329         (FTS): Use struct hash_table * instead of Hash_table, so that
64330         we no longer need to include hash.h here.
64331
64332 2005-05-18  Jim Meyering  <jim@meyering.net>
64333
64334         * modules/dirfd (License): Change to LGPL.  Most of the code
64335         is already in the public domain.
64336
64337 2005-05-18  Jim Meyering  <jim@meyering.net>
64338
64339         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
64340         Reported by Yoann Vandoorselaere.
64341
64342 2005-05-17  Jim Meyering  <jim@meyering.net>
64343
64344         * m4/fts.m4: New file, from coreutils.
64345
64346 2005-05-17  Jim Meyering  <jim@meyering.net>
64347
64348         * lib/fts.c, lib/fts_.h: New files, from coreutils.
64349
64350 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
64351
64352         Sync from coreutils.
64353         * m4/unlinkdir.m4: New file.
64354
64355 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
64356
64357         Sync from coreutils.
64358         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
64359         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
64360         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
64361         White space changes only.
64362         * lib/makepath.c (make_path): Port to hosts where leading "//" is
64363         special.
64364         * lib/yesno.c: Include getline.h, not ctype.h.
64365         (yesno): Don't remove leading white space; POSIX doesn't allow it.
64366         Use getline to remove arbitrary restriction on response length.
64367
64368 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
64369
64370         * config/srclist-update: Spell out "Street" in FSF postal
64371         mail address; this is the style the FSF seems to prefer.
64372
64373         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
64374         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
64375         this updates FSF postal mail address.
64376
64377         Sync from coreutils.
64378         * modules/unlinkdir: New file.
64379         * modules/yesno (Depends-on): Add getline.
64380         * MODULES.html.sh (File system functions): Add unlinkdir.
64381
64382 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
64383
64384         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
64385         lib/strsep.h:
64386         Change the initial comment to refer to GPL, not LGPL.
64387         gnulib-tool will change it to LGPL as needed.
64388
64389         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
64390         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
64391         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
64392         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
64393         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
64394         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
64395         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
64396         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
64397         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
64398         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
64399         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
64400         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
64401         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
64402         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
64403         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
64404         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
64405         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
64406         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
64407         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
64408         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
64409         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
64410         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
64411         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
64412         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
64413         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
64414         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
64415         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
64416         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
64417         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
64418         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
64419         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
64420         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
64421         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
64422         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
64423         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
64424         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
64425         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
64426         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
64427         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
64428         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
64429         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
64430         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
64431         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
64432         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
64433         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
64434         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
64435         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
64436         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
64437         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
64438         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
64439         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
64440         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
64441         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
64442         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
64443         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
64444         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
64445         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
64446         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
64447         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
64448         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
64449         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
64450         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
64451         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
64452         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
64453         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
64454         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
64455         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
64456         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
64457         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
64458         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
64459         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
64460         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
64461         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
64462         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
64463         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
64464         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
64465         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
64466         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
64467         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
64468         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
64469         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
64470         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
64471         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
64472         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
64473         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
64474         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
64475         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
64476         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
64477         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
64478         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
64479         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
64480         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
64481         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
64482         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
64483         lib/yesno.c, lib/yesno.h:
64484         Update FSF postal mail address.
64485
64486 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
64487
64488         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
64489         tests/test-memmem.c, tests/test-stpncpy.c:
64490         Update FSF postal mail address.
64491
64492 2005-05-13  Bruno Haible  <bruno@clisp.org>
64493
64494         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
64495         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
64496         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
64497         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
64498         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
64499         Add support for 64-bit integers in the MSVC compiler.
64500
64501 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
64502
64503         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
64504
64505 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
64506
64507         * gnulib-tool (func_import): Sort and uniquify recommended includes.
64508
64509 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
64510
64511         * doc/getdate.texi (General date syntax): Don't say that date
64512         date --iso-8601=ns generates acceptable dates; it doesn't yet.
64513         Problem reported by Nic Ferrier.
64514
64515 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64516
64517         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
64518         specified in ai_socktype. Fix invalid ai_protocol
64519         check. ai_protocol is usually set to 0 or depending on
64520         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
64521         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
64522         ai_socktype / ai_protocol in the returned addrinfo structure.
64523
64524 2005-05-10  Simon Josefsson  <jas@extundo.com>
64525
64526         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
64527         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
64528
64529 2005-05-10  Karl Berry  <karl@gnu.org>
64530
64531         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
64532         (from http://www.gnu.org/licenses).
64533         * doc/COPYING.LIB: also rename to COPYING.LESSER.
64534         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
64535         fdl.texi suffices.
64536
64537 2005-05-10  Karl Berry  <karl@gnu.org>
64538
64539         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
64540         (COPYING.DOC): remove.
64541
64542         * config/srclist-update: new FSF address.
64543
64544 2005-05-10  Derek Price  <derek@ximbiot.com>
64545
64546         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
64547         possible.
64548
64549 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64550             Bruno Haible  <bruno@clisp.org>
64551
64552         * modules/inet_ntop: New file.
64553         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
64554         inet_ntop.
64555
64556 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64557             Bruno Haible  <bruno@clisp.org>
64558
64559         * m4/inet_ntop.m4: New file.
64560
64561 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64562             Bruno Haible  <bruno@clisp.org>
64563
64564         * lib/inet_ntop.h: New file.
64565         * lib/inet_ntop.c: New file, from glibc with modifications.
64566
64567 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
64568
64569         * modules/time_r (License): Change to LGPL.
64570         * modules/extensions (License): Change to LGPL.  Actually,
64571         the license is more permissive than that, but currently gnulib-tool
64572         doesn't know how to handle more-permissive licenses.
64573
64574         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
64575         Problem reported by Dave Love.
64576
64577 2005-05-08  Jim Meyering  <jim@meyering.net>
64578
64579         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
64580         blank.
64581
64582 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
64583
64584         * modules/argmatch (Depends-on): Add stdbool.
64585         * modules/backupfile (Depends-on): Likewise.
64586         * modules/chdir-long (Depends-on): Likewise.
64587         * modules/closeout (Depends-on): Likewise.
64588         * modules/cycle-check (Depends-on): Likewise.
64589         * modules/dirname (Depends-on): Likewise.
64590         * modules/fnmatch (Depends-on): Likewise.
64591         * modules/fsusage (Depends-on): Likewise.
64592         * modules/fwriteerror (Depends-on): Likewise.
64593         * modules/getcwd (Depends-on): Likewise.
64594         * modules/getloadavg (Depends-on): Likewise.
64595         * modules/hard-locale (Depends-on): Likewise.
64596         * modules/makepath (Depends-on): Likewise.
64597         * modules/mountlist (Depends-on): Likewise.
64598         * modules/nanosleep (Depends-on): Likewise.
64599         * modules/posixtm (Depends-on): Likewise.
64600         * modules/quotearg (Depends-on): Likewise.
64601         * modules/readtokens (Depends-on): Likewise.
64602         * modules/readtokens0 (Depends-on): Likewise.
64603         * modules/readutmp (Depends-on): Likewise.
64604         * modules/save-cwd (Depends-on): Likewise.
64605         * modules/strftime (Depends-on): Likewise.
64606         * modules/userspec (Depends-on): Likewise.
64607         * modules/utimecmp (Depends-on): Likewise.
64608         * modules/xgetcwd (Depends-on): Likewise.
64609         * modules/xnanosleep (Depends-on): Likewise.
64610         * modules/xstrtod (Depends-on): Likewise.
64611         * modules/yesno (Depends-on): Likewise.
64612
64613 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
64614
64615         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
64616         needless checks.
64617
64618 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
64619
64620         Merge from coreutils.  Among other things,
64621         add bulletproofing for cases where stdin, stdout, or stderr are closed.
64622         * lib/fd-safer.c: New file.
64623         * lib/fcntl-safer.h, open-safer.c: Remove.
64624         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
64625         * lib/dup-safer.c: Include unistd-safer.h first.
64626         Don't include errno.h.
64627         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
64628         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
64629         * lib/file-type.c: Rely on file-type.h change.
64630         * lib/getloadavg.c: Include unistd-safer.h.
64631         (getloadavg): Use safer open.
64632         * lib/getusershell.c: Include "stdio-safer.h".
64633         (getusershell): Use safer fopen.
64634         * lib/long-options.c (long_options): Use NULL rather than 0.
64635         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
64636         'free'.
64637         * lib/modechange.c: Likewise.
64638         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
64639         (MODE_DONE): New constant.
64640         (struct mode_change): Remove 'next' member.
64641         (make_node_op_equals): New function; like the old one of the
64642         same name, except it allocates an array.
64643         (mode_compile, mode_create_from_ref): Use it.
64644         (mode_compile): Allocate result as an array, not a linked list.
64645         Parse octal string ourself, so that we catch mistakes like "+0".
64646         (mode_adjust): Arg is an array, not a linked list.
64647         * lib/modechange.c: Include stat-macros.h, xalloc.h.
64648         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
64649         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
64650         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
64651         Remove.  This is now stat-macros.h's job.
64652         (talloc): Remove.  All callers replaced by xalloc, so that
64653         our invokers don't have to worry about reporting memory failures.
64654         (make_node_op_equals): Remove.
64655         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
64656         New constants.
64657         (struct mode_change): Moved here from modechange.h.
64658         (mode_append_entry): Remove.
64659         (mode_compile): Remove MASKED_OPS arg, since it encouraged
64660         apps to have incorrect behavior.  Use simpler algorithm for head
64661         and tail.  Don't futz with umask; that's now the job of mode_adjust.
64662         Detect more invalid usages rather than having somewhat-random behavior.
64663         Don't insert an "a=" action, as that leads to incorrect behavior.
64664         (mode_compile, mode_create_from_ref): Return NULL on error instead
64665         of an enum, since now there's only one way to have an error.  All
64666         callers changed.
64667         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
64668         at the correct time.  Simplify calculation of "+u" and its ilk.
64669         Don't mishandle "+X".
64670         (mode_free): Remove "register" and localize decls.
64671         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
64672         (struct mode_change): Move to modechange.c; callers don't
64673         need to see this stuff.
64674         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
64675         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
64676         (mode_change, mode_adjust): Reflect the new signatures noted above.
64677         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
64678         that might redefine system include files.
64679         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
64680         (my_usleep): Use NULL rather than (void *) 0.
64681         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
64682         Use siginterrupt to specify that system calls should be interrupted.
64683         (rpl_nanosleep): Move initialization of suspended closer to call of
64684         my_usleep.
64685         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
64686         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
64687         (desirable_utmp_entry): New function.
64688         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
64689         using x2nrealloc, to simplify logic.
64690         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
64691         size calculation.  Do not assume utmp file is a regular file.
64692         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
64693         (READ_UTMP_CHECK_PIDS): New constant.
64694         * lib/save-cwd.c: Include unistd-safer.h.
64695         (save_cwd): Use fd_safer.
64696         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
64697         [!_LIBC] Include "stat-macros.h" instead.
64698         * lib/unistd-safer.h (fd_safer): New decl.
64699
64700 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
64701
64702         * modules/getloadavg (Depends-on): Add unistd-safer.
64703         * modules/getusershell (Depends-on): Add stdio-safer.
64704         * modules/lstat (Depends-on): Remove xalloc.
64705         * modules/mkstemp (Depends-on): Add stat-macros.
64706         * modules/modechange (Depends-on): Remove xstrtol.
64707         Add stat-macros, xalloc.
64708         * modules/save-cwd (Depends-on): Add unistd-safer.
64709         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
64710         * modules/unistd-safer (Files): Add lib/fd-safer.c
64711         (Makefile.am): Remove lib_SOURCES.
64712
64713         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
64714         Remove fcntl-safer; unistd-safer supersedes it.
64715
64716 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
64717
64718         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
64719         AC_HEADER_STAT.
64720         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
64721         (gl_PREREQ_CHOWN): Remove.
64722         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
64723         it.  Don't require AC_HEADER_STAT.
64724         (gl_PREREQ_LSTAT): Remove.
64725         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
64726         Don't require AC_HEADER_STAT.
64727         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
64728         (gl_PREREQ_RMDIR): Remove.
64729         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
64730         mention stat-macros.h or AC_HEADER_STAT, since we'll make
64731         the stat-macros module a prerequisite.
64732         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
64733         * m4/filemode.m4 (gl_FILEMODE): Likewise.
64734         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
64735         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
64736         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
64737         variable names.
64738         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
64739         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
64740         variable prefixes.
64741         * m4/fcntl-safer.m4: Remove.
64742         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
64743         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
64744         Invoke gl_PREREQ_FD_SAFER.
64745         (gl_PREREQ_FD_SAFER): New macro.
64746         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
64747         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
64748         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
64749         Remove duplicate call to AC_LIBOBJ(readutmp).
64750         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
64751
64752         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
64753         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
64754
64755 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
64756
64757         * MODULES.html.sh (Misc): Add byteswap.
64758
64759 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
64760
64761         * modules/getcwd (Depends-on): Add extensions.
64762         * modules/openat (Depends-on): Likewise.
64763
64764 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
64765
64766         * modules/byteswap: New file.
64767
64768 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
64769
64770         * m4/byteswap.m4: New file.
64771
64772 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
64773
64774         * lib/byteswap_.h: New file.
64775
64776 2005-04-25  Karl Berry  <karl@gnu.org>
64777
64778         * m4/gettext.m4: Update from GNU gettext 0.14.4.
64779
64780 2005-04-25  Albert Chin  <china@thewrittenword.com>
64781
64782         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
64783         Toolkit C bug.
64784
64785 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
64786
64787         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
64788         (func_ln_if_changed) Remove forcibly for no error message
64789         in case file does not exist.
64790
64791 2005-04-19  Simon Josefsson  <jas@extundo.com>
64792
64793         * gnulib-tool (Options): Make --symlink mean --symbolic.
64794
64795 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
64796
64797         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
64798
64799 2005-04-16  Simon Josefsson  <jas@extundo.com>
64800
64801         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
64802
64803 2005-04-15  Simon Josefsson  <jas@extundo.com>
64804
64805         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
64806
64807 2005-04-15  Simon Josefsson  <jas@extundo.com>
64808
64809         * gnulib-tool: Rename --symlink to --symbolic.
64810
64811 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
64812
64813         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
64814         symbolic links to files instead of copying/moving.  Add --aux-dir,
64815         specifying directory relative --dir where auxiliary build tools
64816         are placed.
64817
64818 2005-04-14  Bruno Haible  <bruno@clisp.org>
64819
64820         * modules/allocsa (License): Change to LGPL.
64821         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
64822
64823 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
64824
64825         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
64826         that "UTC +1 second" continues to work.  Problem reported
64827         by Dmitry V. Levin.
64828         (relunit_snumber): New rule.
64829         (relunit): Use it.
64830
64831 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
64832
64833         * lib/getdate.y (universal_time_zone_table): New constant.
64834         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
64835         universal_time_zone_table.
64836         (lookup_zone): Prefer universal_time_zone_table to
64837         local_time_zone_table, so that "GMT" time stamps are allowed in
64838         London during the summer.  Problem reported by Ian Abbott.
64839
64840 2005-04-12  Jim Meyering  <jim@meyering.net>
64841
64842         * lib/human.c (humblock): Set *options even when returning due to
64843         xstrtoumax conversion failure.  Thanks to a used-uninitialized
64844         warning from gcc-4.
64845
64846 2005-04-09  Jim Meyering  <jim@meyering.net>
64847
64848         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
64849         -Wuninitialized: initialize tm0.tm_year.
64850
64851 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
64852
64853         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
64854         count, since there's no maximum.  All uses changed.
64855         Add member dsts_seen.
64856         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
64857         not being INT_MAX.
64858         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
64859         Use pc_rels_seen to decide whther a date is absolute.
64860
64861         * lib/getdate.y (number): Don't overwrite year.
64862         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
64863         check.
64864
64865 2005-04-02  Simon Josefsson  <jas@extundo.com>
64866
64867         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
64868         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
64869
64870 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
64871
64872         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
64873         where no absolute path name can be longer than PATH_MAX.
64874
64875 2005-03-27  Jim Meyering  <jim@meyering.net>
64876
64877         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
64878
64879 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
64880
64881         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
64882         "one's complement" -> "ones' complement" in comment, as per Knuth.
64883         "value of type" -> "type or expression" in comment.
64884         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
64885
64886 2005-03-26  Jim Meyering  <jim@meyering.net>
64887
64888         Comment nits.
64889         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
64890         Correct typos: s/or/of/.
64891
64892 2005-03-26  Jim Meyering  <jim@meyering.net>
64893
64894         * modules/check-include-files: Move to ../ and rename to...
64895         * check-module: ...this.
64896
64897 2005-03-25  Jim Meyering  <jim@meyering.net>
64898
64899         * modules/xvasprintf (Files): Add xalloc.h.
64900
64901 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
64902
64903         * modules/gettext (Files): config/config.rpath ->
64904         build-aux/config.rpath
64905         * modules/iconv (Files): Likewise.
64906         Problem reported by Oskar Liljeblad.
64907
64908 2005-03-23  Jim Meyering  <jim@meyering.net>
64909
64910         * modules/check-include-files: New script to check for
64911         missing dependencies, multiple includes, etc.
64912
64913         * modules/c-strtold (Depends-on): Add xalloc.
64914         * modules/c-strtod (Depends-on): Add xalloc.
64915         * modules/hash (Depends-on): Add xalloc.
64916         (Files): Remove lib/xalloc.h.
64917
64918         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
64919         * modules/userspec (Files): Add lib/inttostr.h.
64920
64921 2005-03-23  Jim Meyering  <jim@meyering.net>
64922
64923         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
64924
64925 2005-03-22  Jim Meyering  <jim@meyering.net>
64926
64927         * modules/stat-macros: New module.
64928         * modules/canonicalize, modules/euidaccess, modules/file-type,
64929         * modules/filemode, modules/lchown, modules/makepath,
64930         * modules/rmdir, modules/stat: Depend on new stat-macros module
64931         rather than listing lib/stat-macros.h manually.
64932         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
64933
64934 2005-03-22  Jim Meyering  <jim@meyering.net>
64935
64936         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
64937
64938 2005-03-22  Bruno Haible  <bruno@clisp.org>
64939
64940         * config/srclist.txt: Replace target directory 'config' with
64941         'build-aux'.
64942         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
64943         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
64944         ../build-aux/.
64945
64946 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
64947
64948         * modules/chdir-long (Depends-on): Add mempcpy.
64949
64950         * modules/acl, modules/backupfile, modules/c-strtod,
64951         modules/c-strtold, modules/canon-host, modules/canonicalize,
64952         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
64953         modules/exclude, modules/exitfail, modules/file-type,
64954         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
64955         modules/getdate, modules/getline, modules/getpagesize,
64956         modules/getpass, modules/getugroups, modules/group-member,
64957         modules/hard-locale, modules/hash, modules/human, modules/idcache,
64958         modules/inttostr, modules/long-options, modules/makepath,
64959         modules/md5, modules/memcasecmp, modules/memcoll,
64960         modules/modechange, modules/mountlist, modules/path-concat,
64961         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
64962         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
64963         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
64964         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
64965         modules/strftime, modules/strndup, modules/strverscmp,
64966         modules/timespec, modules/unlocked-io, modules/userspec,
64967         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
64968         modules/yesno:
64969         Remove lib_SOURCES line from Makefile.am section, as this is now
64970         done automatically by the corresponding Autoconf macro.
64971
64972 2005-03-21  Jim Meyering  <jim@meyering.net>
64973
64974         Changes imported from coreutils.
64975
64976         * lib/cycle-check.c: Don't include xalloc.h.
64977
64978         * lib/path-concat.c: Don't include assert.h.
64979         (path_concat): Remove assertion that would have triggered
64980         for ABASE starting with more than one slash.
64981         Reported by Andreas Schwab.
64982
64983         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
64984         properly when ABASE is an absolute file name.
64985         Correct the description of this function.
64986         Include <assert.h>.
64987         Add an assertion and a test driver.
64988         This fixes a bug introduced on 2004-07-02.
64989         Andreas Schwab reported the resulting failure of cp --parents:
64990         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
64991
64992 2005-03-21  Jim Meyering  <jim@meyering.net>
64993
64994         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
64995         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
64996
64997 2005-03-21  Jim Meyering  <jim@meyering.net>
64998         and  Paul Eggert  <eggert@cs.ucla.edu>
64999
65000         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
65001         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
65002         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
65003         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
65004         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
65005         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
65006         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
65007         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
65008         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
65009         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
65010         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
65011         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
65012         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
65013         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
65014         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
65015         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
65016         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
65017         for these modules.
65018
65019 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
65020
65021         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
65022         (which shouldn't happen), generate nothing instead of returning 0
65023         immediately, so that nstrftime (NULL, ...) doesn't return 0.
65024
65025 2005-03-16  Bruno Haible  <bruno@clisp.org>
65026
65027         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
65028         HAVE_LONGLONG_64BIT.
65029
65030 2005-03-16  Bruno Haible  <bruno@clisp.org>
65031
65032         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
65033         HAVE_LONGLONG_64BIT.
65034
65035 2005-03-16  Bruno Haible  <bruno@clisp.org>
65036
65037         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
65038         HAVE_LONGLONG_64BIT.
65039
65040 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
65041
65042         * lib/strftime.c (my_strftime): Prepend space to format so that we can
65043         reliably distinguish strftime failure from empty output on POSIX
65044         hosts.
65045
65046 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
65047
65048         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
65049         (iconv_string): Don't guess a size-zero buffer, as that might cause
65050         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
65051         result would be 'too large', where 'too large' is (heuristically)
65052         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
65053         overflow concerns.  This will prevent some unwanted malloc failures
65054         when the inputs are very large.
65055
65056 2005-03-15  Karl Berry  <karl@gnu.org>
65057
65058         * config/srclist.txt (config.rpath): from gettext.
65059         * config/config.rpath: update.
65060
65061 2005-03-15  Bruno Haible  <bruno@clisp.org>
65062
65063         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
65064         to 'negate'.
65065
65066         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
65067         variable.
65068
65069         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
65070         results.
65071
65072 2005-03-14  Simon Josefsson  <jas@extundo.com>
65073
65074         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
65075         <fx@gnu.org>.
65076
65077 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
65078
65079         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
65080         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
65081         intprops.h.
65082         * lib/strtol.c: Likewise.
65083
65084 2005-03-14  Jim Meyering  <jim@meyering.net>
65085
65086         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
65087         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
65088         to be nonzero so that we (and caller) can detect the difference
65089         between a valid zero-length expansion and an error return, even
65090         when the underlying strftime fails before writing anything into
65091         that location.
65092
65093 2005-03-14  Bruno Haible  <bruno@clisp.org>
65094
65095         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
65096         Update from GNU gettext 0.14.3.
65097
65098 2005-03-10  Jim Meyering  <jim@meyering.net>
65099
65100         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
65101
65102 2005-03-10  Jim Meyering  <jim@meyering.net>
65103
65104         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
65105         so that this module works on systems without fchdir.
65106
65107 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
65108
65109         Factor int-properties macros into a single file, except for
65110         glibc-related files.
65111         * lib/intprops.h: New file.
65112         * lib/getloadavg.c: Include it instead of limits.h.
65113         (INT_STRLEN_BOUND): Remove.
65114         * lib/human.c: Include intprops.h.
65115         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
65116         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
65117         302/1000.
65118         * lib/inttostr.h: Include intprops.h instead of limits.h.
65119         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
65120         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
65121         for consistency with intprops.h.
65122         (time_t_is_integer, twos_complement_arithmetic): Use them.
65123         * lib/sig2str.h: Include <signal.h>, intprops.h.
65124         (INT_STRLEN_BOUND): Remove.
65125         * lib/strftime.c (TYPE_SIGNED): Remove.
65126         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
65127         * lib/strtol.c: Adjust comments to match intprops.h.
65128         * lib/userspec.c: Include intprops.h.
65129         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
65130         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
65131         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
65132         instead of rolling our own expressions.
65133         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
65134
65135         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
65136         instead of int.
65137         (my_strftime): Do not mishandle years close to INT_MAX, by doing
65138         the right thing even if adding 1900 would overflow.  Similarly
65139         for tm_mon + 1 and tm_yday + 1.
65140         Make %Y always equivalent to %C%y, and similarly for %G and %g.
65141         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
65142         (DO_SIGNED_NUMBER): New macro.
65143         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
65144
65145 2005-03-07  Bruno Haible  <bruno@clisp.org>
65146
65147         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
65148
65149 2005-03-07  Bruno Haible  <bruno@clisp.org>
65150
65151         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
65152
65153 2005-03-04  Derek R. Price  <derek@ximbiot.com>
65154
65155         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
65156         (func_import): Only replace files via --import when they have actually
65157         changed.
65158
65159 2005-03-03  Derek R. Price  <derek@ximbiot.com>
65160
65161         * m4/mmap-anon.m4: New file.
65162         * m4/pagealign_alloc.m4: New file.
65163
65164 2005-03-03  Derek R. Price  <derek@ximbiot.com>
65165             Bruno Haible  <bruno@clisp.org>
65166
65167         * modules/pagealign_alloc: New file.
65168         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
65169
65170 2005-03-03  Derek R. Price  <derek@ximbiot.com>
65171             Bruno Haible  <bruno@clisp.org>
65172
65173         * lib/pagealign_alloc.h: New file.
65174         * lib/pagealign_alloc.c: New file.
65175
65176 2005-03-03  Bruno Haible  <bruno@clisp.org>
65177
65178         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
65179         Use an all-permissive copyright notice, recommended by RMS.
65180
65181 2005-03-02  Bruno Haible  <bruno@clisp.org>
65182
65183         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
65184         of AIX, the replacement has to be done only after <string.h> is
65185         included, therefore not in config.h. stpncpy.h does the replacement,
65186         and stpncpy.c uses it.
65187
65188 2005-03-02  Bruno Haible  <bruno@clisp.org>
65189
65190         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
65191         stpncpy.c uses it.
65192
65193 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65194
65195         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
65196         The workaround isn't strictly needed for POSIX conformance, and
65197         it's too much of a pain to configure and maintain.  We'll ask
65198         people to fix their kernels instead.
65199         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
65200         (NANOSLEEP_BUG_WORKAROUND): Remove.
65201         (xnanosleep): Remove the workaround.
65202
65203 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65204
65205         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
65206         Reported by Derek Price.
65207         (Include): Add "timespec.h".
65208
65209         * modules/xnanosleep (Depends-on): Remove gethrxtime.
65210
65211 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65212
65213         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
65214         to detect nanosleep bug.
65215
65216 2005-03-01  Bruno Haible  <bruno@clisp.org>
65217
65218         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
65219
65220 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
65221
65222         * modules/gethrxtime: New file.
65223         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
65224         (Depends-on): Add gethrxtime.
65225         (configure.ac): Add gl_XNANOSLEEP.
65226         (Makefile.am): Remove lib_SOURCES line.
65227
65228 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
65229
65230         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
65231         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
65232
65233 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
65234
65235         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
65236         * lib/timespec.h (gettime): Return void, since it always
65237         succeeds now.  All uses changed.
65238         * lib/gettime.c (gettime) Likewise.
65239         [HAVE_NANOTIME]: Prefer nanotime.
65240         Assume gettimeofday succeeds, as POSIX requires.
65241         Assime time () succeeds, since other code already does.
65242         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
65243         (timespec_subtract): Remove.
65244         (NANOSLEEP_BUG_WORKAROUND): New constant.
65245         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
65246         things considerably.  Use it only on GNU/Linux hosts, since the
65247         workaround shouldn't be needed elsewhere.
65248
65249 2005-02-24  Bruno Haible  <bruno@clisp.org>
65250
65251         * modules/gettext (Files): Add m4/glibc2.m4.
65252
65253 2005-02-24  Bruno Haible  <bruno@clisp.org>
65254
65255         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
65256         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
65257         * m4/progtest.m4:
65258         Update from GNU gettext 0.14.2.
65259         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
65260
65261 2005-02-24  Bruno Haible  <bruno@clisp.org>
65262
65263         * lib/localcharset.c: Update from GNU gettext 0.14.2.
65264         * lib/config.charset: Update from GNU gettext 0.14.2.
65265
65266 2005-02-24  Bruno Haible  <bruno@clisp.org>
65267
65268         * lib/gettext.h: Update from GNU gettext 0.14.2.
65269
65270 2005-02-23  Simon Josefsson  <jas@extundo.com>
65271
65272         * m4/iconvme.m4: New file.
65273
65274 2005-02-23  Jim Meyering  <jim@meyering.net>
65275
65276         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
65277         change.
65278         Thanks to Bruno Haible for catching it.
65279
65280 2005-02-22  Simon Josefsson  <jas@extundo.com>
65281
65282         * modules/iconvme: New file.
65283
65284         * MODULES.html.sh: Add iconvme.
65285
65286 2005-02-22  Simon Josefsson  <jas@extundo.com>
65287
65288         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
65289
65290 2005-02-22  Simon Josefsson  <jas@extundo.com>
65291
65292         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
65293
65294 2005-02-22  Jim Meyering  <jim@meyering.net>
65295
65296         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
65297         s/ifndef/ifdef/.
65298
65299 2005-02-20  Neil Conway  <neilc@samurai.com>
65300
65301         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
65302         returned by OSX/Darwin if the specified buffer is not large
65303         enough for the hostname.
65304
65305 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65306
65307         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
65308         pass it to _help, otherwise the latter coredumps trying to
65309         dereference state.root_argp.
65310
65311 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
65312
65313         * modules/chdir-long (Depends-on): Add memrchr.
65314         * modules/memrchr (Files): Add lib/memrchr.h.
65315         (Include): "memrchr.h".
65316
65317 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
65318
65319         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
65320
65321 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
65322
65323         * lib/memrchr.h: New file.
65324         * lib/chdir-long.c: Include it.
65325         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
65326         Don't bother including stddef.h.
65327
65328 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
65329
65330         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
65331         inclusion.
65332         Include <sys/types.h>, for dev_t.
65333         (ME_DUMMY, ME_REMOTE): Move from here....
65334         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
65335         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
65336         Dmitry V. Levin.
65337         Include mountlist.h first, to test the interface.
65338
65339 2005-01-29  Bruno Haible  <bruno@clisp.org>
65340
65341         * lib/progname.c (program_name): Initialize.
65342         Needed when linking statically on MacOS X.
65343
65344 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
65345
65346         Sync from coreutils.
65347         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
65348         (Depends-on): Add c-strtod.
65349         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
65350
65351 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
65352
65353         Sync from coreutils.
65354         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
65355
65356         Remove files that are specific to coreutils.
65357         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
65358
65359 2005-01-28  Bruno Haible  <bruno@clisp.org>
65360
65361         * modules/javacomp: New file.
65362         * MODULES.html.sh (Java): Add javacomp.
65363
65364 2005-01-28  Bruno Haible  <bruno@clisp.org>
65365
65366         * m4/javacomp.m4: New file, from GNU gettext.
65367
65368 2005-01-28  Bruno Haible  <bruno@clisp.org>
65369
65370         * lib/javacomp.sh.in: New file, from GNU gettext.
65371         * lib/javacomp.h: New file, from GNU gettext.
65372         * lib/javacomp.c: New file, from GNU gettext.
65373
65374 2005-01-26  Simon Josefsson  <jas@extundo.com>
65375
65376         * lib/gai_strerror.c: Use GPL in header.
65377
65378 2005-01-26  Bruno Haible  <bruno@clisp.org>
65379
65380         * modules/javaexec: New file.
65381         * MODULES.html.sh (Java): Add javaexec.
65382
65383 2005-01-26  Bruno Haible  <bruno@clisp.org>
65384
65385         * m4/javaexec.m4: New file, from GNU gettext.
65386
65387 2005-01-26  Bruno Haible  <bruno@clisp.org>
65388
65389         * lib/javaexec.sh.in: New file, from GNU gettext.
65390         * lib/javaexec.h: New file, from GNU gettext.
65391         * lib/javaexec.c: New file, from GNU gettext.
65392
65393 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65394
65395         * modules/lchown (Depends-on): Remove lchown.h
65396
65397 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65398
65399         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
65400         must be defined if the header file was not found, in order
65401         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
65402
65403 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65404
65405         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
65406         initializers for struct pentry_state.
65407         (__argp_error): Check return value of __asprintf
65408         (__argp_failure): Translate error message
65409
65410         * lib/argp-parse.c: Removed braces around the expansion of N_()
65411
65412 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
65413
65414         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
65415         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
65416         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
65417         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
65418         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
65419         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
65420         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
65421         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
65422         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
65423         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
65424         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
65425         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
65426         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
65427         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
65428         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
65429         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
65430         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
65431         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
65432         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
65433         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
65434         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
65435         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
65436         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
65437         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
65438         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
65439         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
65440         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
65441         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
65442         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
65443         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
65444         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
65445         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
65446         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
65447         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
65448         xstrtol.m4, xstrtoumax.m4, yesno.m4:
65449         Use an all-permissive copyright notice, recommended by RMS.
65450
65451 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
65452
65453         * modules/chdir-long (Depends-on): Remove mempcpy.
65454
65455 2005-01-21  Jim Meyering  <jim@meyering.net>
65456
65457         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
65458         same value as for Solaris 9.
65459
65460         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
65461         component length.  This included changing the parameter to be
65462         of type `char *' rather than `char const *'.
65463         * lib/chdir-long.h (chdir_long): Update prototype.
65464
65465         * lib/openat.c (fdopendir, fstatat): New functions.
65466         * lib/openat.h: Include headers required for use of DIR and struct
65467         stat.
65468         [AT_SYMLINK_NOFOLLOW]: Define.
65469         (fdopendir, fstatat): Add prototypes.
65470
65471 2005-01-21  Bruno Haible  <bruno@clisp.org>
65472
65473         * modules/classpath: New file.
65474         * MODULES.html.sh (Java): Add classpath.
65475
65476 2005-01-21  Bruno Haible  <bruno@clisp.org>
65477
65478         * lib/classpath.h: New file, from GNU gettext.
65479         * lib/classpath.c: New file, from GNU gettext.
65480
65481 2005-01-20  Simon Josefsson  <jas@extundo.com>
65482
65483         * modules/version-etc-fsf: New file.
65484
65485 2005-01-20  Simon Josefsson  <jas@extundo.com>
65486
65487         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
65488         * lib/version-etc.c: Remove version_etc_copyright.
65489         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
65490         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
65491
65492 2005-01-20  Simon Josefsson  <jas@extundo.com>
65493
65494         * lib/base64.h (isbase64): Add.
65495
65496         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
65497         using a unsigned prototype, don't inline.
65498         (base64_decode): Use it.
65499
65500 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
65501
65502         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
65503         it.
65504
65505 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
65506
65507         * lib/save-cwd.c (save_cwd): Remove code to support the case
65508         where fchdir is missing or flaky.
65509
65510 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
65511
65512         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
65513
65514 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
65515
65516         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
65517         AC_LIBSOURCES now does this.
65518         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
65519         with new ullong_max module.
65520
65521 2005-01-19  Bruno Haible  <bruno@clisp.org>
65522
65523         * modules/sh-quote: New file.
65524         * MODULES.html.sh (Executing programs): Add sh-quote.
65525
65526 2005-01-19  Bruno Haible  <bruno@clisp.org>
65527
65528         * lib/sh-quote.h: New file, from GNU gettext.
65529         * lib/sh-quote.c: New file, from GNU gettext.
65530
65531 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
65532
65533         Merge from coreutils.
65534         * m4/ullong_max.m4: New file.
65535         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
65536         (gl_MACROS): Assume localeconv exists.
65537
65538 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
65539
65540         Merge changes from coreutils, as described below in several
65541         changelogs dated today.
65542
65543         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
65544         (O_DIRECTORY): Remove; not needed here, since "." must be
65545         a directory.  All uses removed.
65546         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
65547         universal on Suns, and we also need to test for IRIX.
65548         Revamp code to use 'if' rather than '#if'.
65549         Avoid unnecessary comparison of cwd->desc to 0.
65550
65551         * lib/utimens.c (futimens): Robustify the previous patch, by checking
65552         for known valid error numbers rather than observed invalid ones.
65553
65554 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
65555
65556         * modules/ullong_max: New file.
65557
65558         * modules/chdir-long, modules/openat: New files.
65559         * modules/save-cwd (Depends-on): Depend on chdir-long.
65560         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
65561
65562 2005-01-18  Jim Meyering  <jim@meyering.net>
65563
65564         Merge from coreutils.
65565         * m4/chdir-long.m4, m4/openat.m4: New files.
65566         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
65567         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
65568         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
65569         is sane and DOES follow symlinks.  Besides, testing 20 different
65570         systems found no broken chown implementations.
65571         Prompted by a change in rsync's copy of this macro.
65572         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
65573
65574         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
65575
65576         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
65577         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
65578         NULL-means-set-to-current-time semantics.
65579         Remove temporary file immediately, rather than waiting
65580         for configure's at-exit trap code to do it.
65581
65582 2005-01-18  Jim Meyering  <jim@meyering.net>
65583
65584         * lib/version-etc.c (version_etc_copyright): Update copyright date.
65585
65586         * lib/utimens.c (futimens): Account for the fact that futimes
65587         can also fail with errno == ENOSYS or errno == ENOENT.
65588         Patch from Dmitry V. Levin.
65589
65590         Change the name of the robust chdir function from chdir to chdir_long.
65591         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
65592         (restore_cwd): Use chdir_long, not chdir.
65593         * lib/chdir-long.c: Renamed from chdir.c.
65594         * lib/chdir-long.h: Renamed from chdir.h.
65595         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
65596         Hurd.
65597
65598 2005-01-18  Bruno Haible  <bruno@clisp.org>
65599
65600         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
65601         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
65602         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
65603         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
65604         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
65605         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
65606         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
65607         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
65608         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
65609         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
65610         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
65611         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
65612         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
65613         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
65614         Use an all-permissive copyright notice, recommended by RMS.
65615
65616 2005-01-18  Bob Proulx  <bob@proulx.com>
65617
65618         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
65619         simplify offsetof() macro construct to avoid compile failure with
65620         native HP-UX 11.0 ANSI C compiler.
65621
65622 2005-01-17  Bruno Haible  <bruno@clisp.org>
65623
65624         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
65625         redundant because stpncpy.m4 takes care of it.
65626
65627 2005-01-17  Bruno Haible  <bruno@clisp.org>
65628
65629         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
65630
65631 2005-01-17  Bruno Haible  <bruno@clisp.org>
65632
65633         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
65634         used.
65635
65636 2005-01-17  Bruno Haible  <bruno@clisp.org>
65637
65638         * lib/fwriteerror.h (fwriteerror): Change specification to include
65639         fclose.
65640         * lib/fwriteerror.c: Include <stdbool.h>.
65641         (fwriteerror): At the end, close the file stream. Record whether
65642         stdout was already closed.
65643
65644 2005-01-17  Bruno Haible  <bruno@clisp.org>
65645
65646         * lib/execute.c (environ): Declare if needed.
65647         * lib/pipe.c (environ): Likewise.
65648         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
65649
65650 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65651
65652         * modules/argp: Depend on vsnprintf
65653
65654 2005-01-10  Jim Meyering  <jim@meyering.net>
65655
65656         * modules/closeout (Depends-on): Add atexit.
65657
65658 2005-01-06  Bruno Haible  <bruno@clisp.org>
65659
65660         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
65661
65662 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
65663
65664         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
65665         definitions to be after all include files, to avoid collisions.
65666         Problem reported by Bob Proulx.
65667
65668 2005-01-04  Jim Meyering  <jim@meyering.net>
65669
65670         Changes imported from coreutils.
65671         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
65672         as the mkstemp template, use a temporary directory and an
65673         8.3-friendly template to avoid trouble on systems like DJGPP.
65674         Reported by Juan M. Guerrero via Stepan Kasal.
65675         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
65676         close. Remove the temporary directory right away, rather than waiting
65677         for configure's at-exit trap code to do it.
65678         Suggestion from Stepan Kasal.
65679
65680 2005-01-01  Simon Josefsson  <jas@extundo.com>
65681
65682         * gnulib-tool: Print #include directives when --import'ing.
65683
65684 2004-12-28  Simon Josefsson  <jas@extundo.com>
65685
65686         * tests/test-base64.c: Include required header files.  Remove
65687         unused variables.
65688
65689 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
65690
65691         * modules/error (Depends-on): Remove gettext.
65692
65693 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
65694
65695         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
65696         not needed.  This removes a dependency on the gettext module.
65697         [defined _LIBC]: Do not include <libintl.h>; not needed.
65698
65699 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
65700
65701         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
65702         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
65703
65704 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
65705
65706         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
65707         HAVE_DECL_STRTOLD.
65708
65709 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
65710
65711         * modules/getdate (Depends-on): Remove alloca-opt.
65712
65713 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
65714
65715         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
65716
65717 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
65718
65719         * lib/argp-parse.c: Include <stddef.h>.
65720         (alignof, alignto): New macros.
65721         (parser_init): Don't assume that void * is aligned sufficiently
65722         for struct option.
65723
65724         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
65725         need to extend the stack.
65726         (YYINITDEPTH): New macro, so that the initial stack isn't overly
65727         large.
65728
65729 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65730
65731         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
65732
65733 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
65734
65735         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
65736         (2004-10-24) change.  Apparently this was a false alarm.
65737
65738         * modules/getdate: Depend on alloca-opt, not alloca.
65739
65740 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
65741
65742         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
65743         Remove now-obsolete comment about AIX.
65744         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
65745         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
65746         (YYMAXDEPTH): New macro.
65747
65748 2004-12-18  Simon Josefsson  <jas@extundo.com>
65749
65750         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
65751
65752 2004-12-18  Bruno Haible  <bruno@clisp.org>
65753
65754         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
65755
65756 2004-12-18  Bruno Haible  <bruno@clisp.org>
65757
65758         * lib/fatal-signal.c (fatal_signals): Make non-const.
65759         (init_fatal_signals): New function.
65760         (uninstall_handlers, install_handlers): Ignore signals that were set to
65761         SIG_IGN.
65762         (at_fatal_signal): Call init_fatal_signals.
65763         (init_fatal_signal_set): Likewise. Ignore signals that were set to
65764         SIG_IGN.
65765         Reported by Paul Eggert.
65766
65767 2004-12-18  Bruno Haible  <bruno@clisp.org>
65768
65769         * doc/alloca.texi: New file.
65770         * doc/alloca-opt.texi: New file.
65771
65772 2004-12-17  Jim Meyering  <jim@meyering.net>
65773
65774         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
65775         Otherwise, install-sh could exit with improper exit status when
65776         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
65777
65778 2004-12-16  Simon Josefsson  <jas@extundo.com>
65779
65780         * tests/test-base64.c: Add license.
65781
65782 2004-12-15  Stepan Kasal  <address@hidden>
65783
65784         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
65785
65786 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
65787
65788         * modules/getcwd (Files): Add m4/d-ino.m4.
65789         Suggested by Mark D. Baushke.
65790
65791 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
65792
65793         * lib/getdate.y (textint): New member "negative".
65794         (time_zone_hhmm): New function.
65795         Expect 14 shift-reduce conflicts, not 13.
65796         (o_colon_minutes): New rule.
65797         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
65798         (yylex): Set the "negative" member of signed numbers.
65799
65800 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
65801
65802         * doc/getdate.texi (Time of day items, Time zone items):
65803         Describe new formats +00:00, UTC+00:00.
65804
65805 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
65806
65807         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
65808         spurious "-l"s.  Problem reported by Stepan Kasal.
65809
65810 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
65811
65812         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
65813         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
65814
65815 2004-12-04  Simon Josefsson  <jas@extundo.com>
65816
65817         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
65818         Vandoorselaere <yoann@prelude-ids.org>.
65819
65820 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
65821
65822         Changes imported from coreutils.
65823         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
65824         exist.
65825         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
65826
65827 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
65828
65829         Changes imported from coreutils.
65830         * lib/hard-locale.c: Assume <locale.h> exists.
65831         Include "strdup.h".
65832         (GLIBC_VERSION): New macro.
65833         (hard_locale): Assume setlocale exists.
65834         Rewrite to avoid #ifdef.
65835         Use strdup rather than malloc + strcpy.
65836         * lib/human.c: Assume <locale.h> exists.
65837         (human_readable): Assume localeconv exists.
65838
65839 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
65840
65841         * modules/hard-locale (Depends-on): Add strdup.
65842
65843 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
65844
65845         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
65846         convert T2, not T.  (Imported from libc.)
65847
65848 2004-11-30  Simon Josefsson  <jas@extundo.com>
65849
65850         * modules/restrict (License): Change to LGPL.
65851
65852 2004-11-30  Simon Josefsson  <jas@extundo.com>
65853
65854         * m4/restrict.m4: Add copyright and copying conditions.
65855
65856 2004-11-30  Simon Josefsson  <jas@extundo.com>
65857
65858         * m4/base64.m4: New file.
65859
65860 2004-11-30  Simon Josefsson  <jas@extundo.com>
65861
65862         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
65863         base64.
65864
65865         * tests/test-base64.c: New file.
65866
65867         * modules/base64: New file.
65868
65869 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
65870
65871         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
65872         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
65873
65874         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
65875
65876 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
65877
65878         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
65879         (__getcwd.c): Don't restore errno; glibc doesn't.
65880         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
65881         first, falling back to our code only if its results look suspicious.
65882         Ensure that the resulting buffer is only as large as necessary.
65883
65884         * lib/readutmp.c: Include readutmp.h first.
65885         Include <errno.h>, since readutmp.h no longer does that.
65886         * lib/readutmp.h: Don't include <errno.h>,
65887         <sys/param.h>, <time.h>; not needed to establish interface.
65888         (errno): Remove decl.
65889         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
65890         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
65891         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
65892
65893 2004-11-28  Simon Josefsson  <jas@extundo.com>
65894
65895         * lib/base64.h, base64.c: New file.
65896
65897 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
65898
65899         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
65900
65901 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
65902
65903         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
65904         (Depends-on): Remove pathmax, same.  Add mempcpy.
65905         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
65906         (Makefile.am): Append getcwd.h to lib_SOURCES.
65907         (Include): Add getcwd.h.
65908         (Maintainer): Change from Jim Meyering to "all, glibc",
65909         since getdate now uses intended-for-glibc code.
65910         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
65911         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
65912
65913 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
65914
65915         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
65916         HP's ANSI C compiler.
65917         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
65918         Declaring int functions causes warnings on some modern systems and
65919         shouldn't be needed to compile on ancient ones.
65920         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
65921         defined.
65922
65923         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
65924         with the following changes.
65925         (__set_errno): Parenthesize properly.
65926         Include <stdbool.h>.
65927         (MIN, MAX, MATCHING_INO): New macros.
65928         (__getcwd): Define with prototype, not K&R form.
65929         Use heuristics to allocate default buffer on stack if possible.
65930         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
65931         behavior, and to avoid the PATH_MAX limit when computing
65932         ../../../../...
65933         Use MATCHING_INO to compare inode number to file.
65934         Check for arithmetic overflow in size calculations.
65935         Fix bug in reallocation of dot array that caused getcwd to fail
65936         on directories nested deeper than 75.
65937         Be more careful about saving errno on error.
65938         Do not use realloc; use only free+malloc, as this is a bit
65939         more flexible and avoids a needless copy operation.
65940         Do not inspect st_dev and st_ino for symbolic links; POSIX
65941         doesn't specify the latter.
65942         Check for closedir errors.
65943         Avoid needless casts.
65944         Use "#ifdef weak_alias" around weak_alias, to be like other
65945         glibc code.
65946         The following changes to getcwd.c have effect only when used in
65947         gnulib; they have no effect inside glibc proper.
65948         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
65949         as alloca isn't used.
65950         (alloca, __alloca): Likewise.
65951         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
65952         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
65953         unconditionally, as gnulib assumes C89 or better.
65954         Do not include <sys/param.h>.
65955         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
65956         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
65957         better.
65958         (NULL) [!defined NULL]: Remove; we assume C89 or better.
65959         Include <dirent.h> in a way that is compatible with modern Autoconf.
65960         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
65961         New macros, if not already defined.
65962         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
65963         Use "_LIBC", not "defined _LIBC", for consistency.
65964         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
65965         a mempcpy module.
65966         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
65967         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
65968         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
65969         credit only to Jim Meyering and adjust the copyright dates.
65970         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
65971         <stdlib.h>, <unistd.h>, "pathmax.h".
65972         Instead, include "xgetcwd.h" (first) and "getcwd.h".
65973         (INITIAL_BUFFER_SIZE): Remove.
65974         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
65975
65976 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
65977
65978         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
65979         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
65980         Use the _ONCE methods, for efficiency.
65981         Check for fcntl.h.  In test program, include <errno.h>
65982         and <fcntl.h> if available.  Remove old K&R cruft from
65983         test program.  Check for common errors in GNU/Linux,
65984         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
65985         don't do AC_LIBOBJ, as that's getcwd.m4's job.
65986         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
65987         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
65988         name accordingly.
65989         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
65990         accommodate new getcwd.c.
65991         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
65992         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
65993         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
65994         that's all we need now.
65995
65996 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65997
65998         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
65999         argp-parse.c depends on getopt internals, that means we should
66000         always use our getopt, to be on the safe side.
66001         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
66002         order not to spoil the result of an eventual previous invocation
66003         of gl_GETOPT_SUBSTITUTE.
66004
66005 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66006
66007         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
66008         redefinition warnings. To avoid them, include the defines
66009         in `#if !defined __need_getopt ... #endif'. The only place
66010         where __getopt_argv_const is used is in definitions
66011         of getopt_long and getopt_long_only below, which are as well
66012         protected by `#ifndef __need_getopt'.
66013         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
66014         __need_getopt after including <stdio.h> and <unistd.h> These
66015         headers might have defined it.
66016
66017 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
66018
66019         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
66020
66021 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
66022
66023         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
66024         (futimens): New function, which uses futimes if available.
66025         (futimens, utimens): Support timespec==NULL, with same semantics
66026         as utime and utimens.
66027         * lib/utimens.h (futimens): New decl.
66028
66029 2004-11-23  Jim Meyering  <jim@meyering.net>
66030
66031         * lib/getopt_.h: Remove trailing blanks.
66032
66033 2004-11-23  Jim Meyering  <jim@meyering.net>
66034
66035         * lib/__fpending.c: Add comment.
66036
66037 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
66038
66039         * modules/canonicalize (Depends-on): Add xreadlink.
66040         Problem reported by James Youngman.
66041
66042 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
66043
66044         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
66045         New macros.
66046         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
66047         optopt): Use them instead of invoking ## directly; otherwise, the
66048         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
66049
66050 2004-11-19  Bruno Haible  <bruno@clisp.org>
66051
66052         * lib/strtok_r.c: Move comments from here...
66053         * lib/strtok_r.h: ... to here.
66054
66055 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
66056
66057         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
66058         implementations that mishandle size_t overflow.
66059
66060 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
66061
66062         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
66063         might fail.  Problem reported by Yoann Vandoorselaere.
66064         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
66065         implementations that mishandle size_t overflow.
66066
66067 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66068
66069         * modules/canon-host (Depends-on): Add strdup.
66070
66071 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66072
66073         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
66074
66075 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66076
66077         * lib/canon-host.c: Include "strdup.h".
66078         (canon_host): Use getaddrinfo if available, so that IPv6 works.
66079         Use strdup instead of malloc/strcpy to duplicate strings.
66080
66081         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
66082         (human_space_before_unit): New constant.
66083         * lib/human.c (human_readable): Support it.
66084
66085         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
66086         (xgetcwd): Set errno correctly when failing.
66087         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
66088         the failure is actually due to a PATH_MAX problem.
66089
66090         Further getopt changes to make it more likely that glibc will
66091         buy the changes back.
66092         * lib/getopt.c (POSIXLY_CORRECT): New constant.
66093         (getopt): Use it, so to preserve glibc semantic
66094         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
66095         when compiling for libc.
66096         * lib/getopt_.h (__getopt_argv_const): Bring it back.
66097         (getopt_long, getopt_long_only): Use it.
66098
66099         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
66100         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
66101         (getopt): Argv is now char * const *, as per standard.
66102         (_getopt_internal_r, _getopt_internal): Argv is now char **,
66103         not char *__getopt_argv_const *.
66104         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
66105         _getopt_long_only_r): Likewise.
66106         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
66107         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
66108         _getopt_long_r, _getopt_long_only_r): Likewise.
66109         * lib/getopt_.h (__getopt_argv_const): Remove.
66110         (getopt): Argv is now char * const *, as per standard.
66111
66112         * lib/getdate.y (tORDINAL): New token.
66113         (day, relunit): Allow it for relative times.
66114         (relative_time_table): Use tORDINAL for ordinals.
66115
66116 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66117
66118         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
66119         Document that "second" isn't allowed as an ordinal number.
66120
66121 2004-11-16  Jim Meyering  <jim@meyering.net>
66122
66123         * modules/closeout (Depends-on): Add fpending.
66124
66125 2004-11-15  Jim Meyering  <jim@meyering.net>
66126
66127         * lib/closeout.c: Include "__fpending.h" once again.
66128         Include <stdbool.h>.
66129         (close_stdout): Don't fail just because stdout was closed initially,
66130         since some programs don't write to stdout in the normal course of
66131         operation (other than --version and --help), and we don't want this
66132         function to make e.g. `touch file >&-' fail.
66133         But do fail if it was closed and someone has tried to write to it.
66134         E.g., `printf foo >&-' must fail.
66135
66136 2004-11-13  Jim Meyering  <jim@meyering.net>
66137
66138         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
66139
66140 2004-11-12  Simon Josefsson  <jas@extundo.com>
66141
66142         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
66143         small doc fix is still pending.
66144
66145 2004-11-11  Simon Josefsson  <jas@extundo.com>
66146
66147         * modules/strtok_r: New file.
66148
66149         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66150         strtok_r.
66151
66152 2004-11-11  Simon Josefsson  <jas@extundo.com>
66153
66154         * m4/strtok_r.m4: New file.
66155
66156         * m4/getopt.m4: Replace opterr.
66157
66158 2004-11-11  Simon Josefsson  <jas@extundo.com>
66159
66160         * lib/strtok_r.h, strtok_r.c: New file.
66161
66162 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
66163
66164         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
66165         of replacing opterr, getopt, etc.  This should handle the
66166         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
66167
66168 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
66169
66170         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
66171         we can stop lying to compilers about the constness of argv when we
66172         are compiled outside glibc.
66173         (getopt, getopt_long, getopt_long_only): Use it.
66174         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
66175         _getopt_internal, getopt): Likewise.
66176         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
66177         _getopt_long_only_r): Likewise.
66178         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
66179         _getopt_long_r, _getopt_long_only_r): Likewise.
66180
66181         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
66182         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
66183         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
66184         the other external symbols.
66185         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
66186         declaration, since the above renaming now works around collisions.
66187
66188 2004-11-11  Jim Meyering  <jim@meyering.net>
66189
66190         * lib/linebreak.c: Remove trailing blanks.
66191         * lib/alloca_.h: Likewise.
66192         * lib/acosl.c: Likewise.
66193         * lib/euidaccess.c: Likewise.
66194         * lib/allocsa.h: Likewise.
66195
66196 2004-11-10  Simon Josefsson  <jas@extundo.com>
66197
66198         * m4/getaddrinfo.m4: New file.
66199
66200 2004-11-10  Simon Josefsson  <jas@extundo.com>
66201
66202         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
66203
66204 2004-11-10  Simon Josefsson  <jas@extundo.com>
66205
66206         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66207         getaddrinfo.
66208
66209         * modules/getaddrinfo: New file.
66210
66211 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
66212
66213         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
66214
66215 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
66216
66217         * lib/mktime.c (SHR): New macro, which is a portable
66218         substitute for >> that should work even on Crays.
66219         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
66220         Problem reported by Mark D. Baushke in
66221         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
66222         * lib/getdate.y (SHR): Likewise.
66223         (tm_diff): Use it.
66224         * lib/strftime.c (SHR): Likewise.
66225         (tm_diff): Use it.
66226         * lib/quotearg.c (struct quoting_options): Use unsigned int for
66227         quote_these_too, so that right shifts are well defined.  All uses
66228         changed.
66229
66230 2004-11-10  Jim Meyering  <jim@meyering.net>
66231
66232         Ensure that no close failure goes unreported.
66233         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
66234         return early when it seems there's nothing to flush.
66235         Don't include __fpending.h.
66236
66237 2004-11-10  Jim Meyering  <jim@meyering.net>
66238
66239         * modules/closeout (Depends-on): Remove fpending.
66240
66241 2004-11-10  Jim Meyering  <jim@meyering.net>
66242
66243         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
66244
66245 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
66246
66247         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
66248         gl_FUNC_STRFTIME.
66249         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
66250         and AC_REQUIRE when possible, to avoid duplicate checks.
66251         Check for <wchar.h>.
66252
66253 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
66254
66255         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
66256
66257 2004-11-09  Bruno Haible  <bruno@clisp.org>
66258
66259         * m4/sockpfaf.m4: New file.
66260
66261 2004-11-05  Bruno Haible  <bruno@clisp.org>
66262
66263         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
66264         Reported by Mark D. Baushke <mdb@cvshome.org>.
66265
66266 2004-11-04  Bruno Haible  <bruno@clisp.org>
66267
66268         2004-09-11  Bruno Haible  <bruno@clisp.org>
66269                 * allocsa.valgrind: New file.
66270         2004-02-06  Bruno Haible  <bruno@clisp.org>
66271                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
66272                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
66273                 Reported by Christopher Seip <chris.seip@hp.com>.
66274
66275 2004-11-04  Bruno Haible  <bruno@clisp.org>
66276
66277         * modules/allocsa (Files): Add lib/allocsa.valgrind.
66278         (Makefile.am): Distribute it.
66279
66280 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
66281
66282         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
66283         with errno == ERANGE if the buffer is too small.
66284         Problem reported by Mark D. Baushke.
66285
66286 2004-11-03  Albert Chin  <china@thewrittenword.com>
66287             Paul Eggert  <eggert@cs.ucla.edu>
66288
66289         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
66290         equivalent, substitute $ac_type for equivalent type rather than
66291         blindly using uint32_t *always* which won't work if uint32_t is not
66292         available.  Define _UINT32_T to work around typedef of uint32_t if
66293         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
66294         2.5.1.
66295
66296 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
66297
66298         * m4/jm-macros.m4: Sync from coreutils.
66299         (gl_MACROS): Check for mbrlen, for pathchk.
66300         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
66301
66302 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
66303
66304         * lib/xreadlink.c (MAXSIZE): New macro.
66305         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
66306         size does not exceed MAXSIZE.  Avoid cast.
66307         As suggested by Mark D. Baushke in
66308         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
66309         if readlink fails with buffer size just under MAXSIZE, try again
66310         with MAXSIZE.
66311
66312 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
66313
66314         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
66315
66316 2004-11-02  Derek R. Price  <derek@ximbiot.com>
66317         and  Paul Eggert  <eggert@cs.ucla.edu>
66318
66319         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
66320         (get_date): Overparenthesize to avoid GCC warning.
66321
66322 2004-11-02  Bruno Haible  <bruno@clisp.org>
66323
66324         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
66325         returns void.
66326
66327 2004-11-02  Bruno Haible  <bruno@clisp.org>
66328
66329         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
66330         function returns void.
66331
66332 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
66333
66334         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
66335         fflush_unlocked, flockfile, funlockfile, funlockfile,
66336         fputs_unlocked, putc_unlocked.
66337
66338 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
66339
66340         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
66341         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
66342         already declared.
66343
66344 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
66345
66346         * modules/getdate (Files): Add doc/getdate.texi.
66347         (Depends-on): Add setenv, xalloc.
66348
66349 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
66350
66351         * lib/getdate.y: Add support for TZ="foo" within a date string.
66352         Fix some bugs near time_t boundaries.  Reject dates with
66353         out-of-range components, e.g., "Sept 31".
66354         Include <stdlib.h>, "setenv.h", "xalloc.h".
66355         (ISDIGIT_LOCALE): Remove; unused.
66356         Note that the TZ and time functions used here are not reentrant.
66357         (mktime_ok, get_tz): New functions.
66358         (TZBUFSIZE): New constant.
66359         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
66360         This requires that we sometimes generate our own TZ="XXX..." setting.
66361
66362 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
66363
66364         * doc/getdate.texi: New file, from coreutils with modifications for
66365         the new TZ parsing.
66366
66367 2004-10-27  Derek R. Price  <derek@ximbiot.com>
66368
66369         * lib/mktime.c (not_equal_tm): Remove redundant check.
66370
66371 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66372
66373         * modules/regex (lib_SOURCES): Add regex.c.
66374         Reported by James Youngman in
66375         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
66376
66377 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66378
66379         * lib/getdate.y: Use Bison 1.875 features, and some minor
66380         code cleanups.  This change does not affect semantics.
66381         Don't include <stdlib.h>; no longer needed.
66382         Don't include unlocked-io.h; only the "#if TEST" code uses
66383         stdio, and performance isn't crucial there.
66384         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
66385         Bison 1.875 features as described below.
66386         All uses of "PC." replaced by "pc->".
66387         (YYSTYPE): Add a forward declaration.
66388         (yylex, yyerror): Use full prototypes in forward decls.
66389         Use "%pure-parser" rather than obsolescent "%pure_parser".
66390         Use %parse-param and %lex-param instead of obsolescent
66391         YYPARSE_PARAM and YYLEX_PARAM.
66392         (meridian_table, month_and_day_table, time_units_table,
66393         relative_time_table, time_zone_table, military_table,
66394         lookup_zone, lookup_word, get_date):
66395         Use NULL instead of 0 where appropriate.
66396         (to_hour): Avoid abort (), to avoid a dependency on
66397         stdlib.h.
66398         (yyerror, yylex): Now accepts parser_control * arg.
66399         (main) [TEST]: Use '\0' rather than 0 for char.
66400
66401 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
66402
66403         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
66404
66405 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
66406
66407         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
66408         It's now the caller's responsibility to handle the case where
66409         !HAVE_GETPAGESIZE && !defined getpagesize.
66410
66411         * lib/mktime.c (leapyear): Arg is long int, not int.
66412
66413 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
66414
66415         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
66416
66417 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
66418
66419         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
66420         missing.  Problem reported by James Youngman.
66421
66422 2004-10-16  Simon Josefsson  <jas@extundo.com>
66423
66424         * gnulib-tool: Fix comments.  Fix parse problem.
66425         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
66426
66427 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
66428
66429         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
66430         implementation of getopt_long.  Problem reported by Alexander Taler in:
66431         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
66432
66433 2004-10-15  Bruno Haible  <bruno@clisp.org>
66434
66435         * gnulib-tool: Untabify. Initialize supplied_libname.
66436         (func_usage): More homogenous output.
66437         (func_modules_transitive_closure, func_modules_to_filelist,
66438         func_emit_lib_Makefile_am): New functions.
66439         (func_import): New function, extracted from big case statement. Use
66440         func_get_license, func_modules_transitive_closure,
66441         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
66442         opt_lgpl. Don't use test -a, as it's not portable.
66443         (func_create_testdir): Use func_modules_transitive_closure,
66444         func_modules_to_filelist, func_emit_lib_Makefile_am.
66445
66446 2004-10-15  Bruno Haible  <bruno@clisp.org>
66447
66448         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
66449
66450 2004-10-15  Bruno Haible  <bruno@clisp.org>
66451
66452         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
66453         the portions belonging to each module.
66454         Suggested by Derek Robert Price <derek@ximbiot.com>.
66455
66456 2004-10-12  Simon Josefsson  <jas@extundo.com>
66457
66458         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
66459         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
66460         to real functions.
66461
66462 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
66463
66464         * modules/vsnprintf: New file.
66465
66466 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
66467
66468         * m4/vsnprintf.m4: New file.
66469
66470 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
66471
66472         * lib/vsnprintf.h: New file.
66473         * lib/vsnprintf.c: New file.
66474
66475 2004-10-11  Bruno Haible  <bruno@clisp.org>
66476
66477         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
66478         vsnprintf.
66479
66480 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
66481
66482         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
66483
66484 2004-10-07  Bruno Haible  <bruno@clisp.org>
66485
66486         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
66487         fits into the provided buffer.
66488
66489 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
66490
66491         * lib/diacrit.c, diacrit.h: Add GPL notice.
66492
66493         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
66494         notice.
66495         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
66496         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
66497         This avoids a potential constant-folding bug.
66498
66499 2004-10-05  Bruno Haible  <bruno@clisp.org>
66500
66501         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
66502         for the declaration of strsep.
66503
66504 2004-10-05  Bruno Haible  <bruno@clisp.org>
66505
66506         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
66507
66508 2004-10-04  Simon Josefsson  <jas@extundo.com>
66509
66510         * modules/memmem: New file.
66511         * tests/test-memmem.c: New file.
66512         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
66513
66514 2004-10-04  Simon Josefsson  <jas@extundo.com>
66515
66516         * m4/memmem.m4: New file.
66517
66518 2004-10-04  Simon Josefsson  <jas@extundo.com>
66519
66520         * lib/memmem.h: New file.
66521         * lib/memmem.c: New file, taken from glibc.
66522
66523 2004-10-04  Simon Josefsson  <jas@extundo.com>
66524
66525         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
66526         '#ifdef USE_UNLOCKED_IO'.
66527
66528 2004-10-04  Simon Josefsson  <jas@extundo.com>
66529
66530         * config/srclist.txt: Add memmem from glibc.
66531
66532 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
66533
66534         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
66535
66536         * modules/argmatch, modules/argp, modules/closeout, modules/error,
66537         modules/exclude, modules/getdate, modules/getline,
66538         modules/getndelim2, modules/getpass, modules/getpass-gnu,
66539         modules/getusershell, modules/linebuffer, modules/md5,
66540         modules/mountlist, modules/posixtm, modules/readtokens,
66541         modules/readutmp, modules/regex, modules/sha1,
66542         modules/version-etc, modules/yesno:
66543         Remove dependency on unlocked-io.
66544
66545 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
66546
66547         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
66548
66549         * m4/unlocked-io.m4: Add copyright notice.
66550         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
66551
66552 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
66553
66554         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
66555         * lib/xmalloc.c (xmemdup): Likewise.
66556         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
66557         XFREE): Remove these long-obsolescent macros.
66558         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
66559         * lib/xstrdup.c: Remove.
66560
66561         * lib/regex.c (re_comp): Cast gettext return value to char *,
66562         Problem reported by Martin Neitzel via Mark D. Baushke.
66563
66564 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
66565
66566         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
66567         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
66568         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
66569         regex.c, sha1.c, version-etc.c, yesno.c:
66570         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
66571         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
66572         the includer's responsibility.
66573
66574         Sync from coreutils.
66575
66576         * lib/modechange.c (mode_compile): Don't decrement a pointer that
66577         points to the start of a string, as the C Standard says the
66578         resulting behavior is undefined.
66579
66580         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
66581         simple -> simple_backups, numbered_existing ->
66582         numbered_existing_backups, numbered -> numbered_backups
66583         to avoid shadowing problems.  All uses changed.
66584         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
66585         * lib/backupfile.c (check_extension, numbered_backup):
66586         Rename locals to avoid shadowing 'basename'.
66587         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
66588         once.
66589
66590         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
66591         * lib/.cvsignore: Add getopt.h.
66592
66593 2004-10-04  Bruno Haible  <bruno@clisp.org>
66594
66595         * modules/README: New file.
66596         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
66597         not a module.
66598
66599 2004-10-02  Jim Meyering  <jim@meyering.net>
66600
66601         * lib/dirfd.h, getpagesize.h: Add copyright notice.
66602
66603 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
66604
66605         * modules/strsep: New file.
66606
66607 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
66608
66609         * m4/strsep.m4: New file.
66610
66611 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
66612
66613         * lib/strsep.h: New file.
66614         * lib/strsep.c: New file.
66615
66616 2004-10-01  Simon Josefsson  <jas@extundo.com>
66617
66618         * lib/snprintf.c (snprintf): Handle size==0.
66619
66620 2004-10-01  Simon Josefsson  <jas@extundo.com>
66621             Bruno Haible  <bruno@clisp.org>
66622
66623         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
66624         (snprintf): Declare 'args'.
66625
66626 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
66627
66628         * lib/snprintf.c: Remove comments as to why each header is needed.
66629
66630 2004-10-01  Bruno Haible  <bruno@clisp.org>
66631
66632         * MODULES.html.sh: Add strsep.
66633
66634 2004-09-30  Simon Josefsson  <jas@extundo.com>
66635
66636         * modules/snprintf: New file.
66637
66638 2004-09-30  Simon Josefsson  <jas@extundo.com>
66639
66640         * m4/snprintf.m4: New file.
66641
66642 2004-09-30  Simon Josefsson  <jas@extundo.com>
66643
66644         * lib/snprintf.h, lib/snprintf.c: New files.
66645
66646 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66647
66648         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
66649         (hol_entry_help): Never translate an empty string.
66650         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
66651         * lib/argp.h (OPTION_NO_TRANS): New option.
66652
66653 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
66654
66655         * modules/argp (Maintainer): Replace Simon Josefsson
66656         by Sergey Poznyakoff.
66657
66658 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
66659
66660         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
66661         changes merged back into glibc.
66662
66663 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
66664
66665         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
66666
66667 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
66668
66669         * lib/xvasprintf.c: Include xalloc.h.
66670         (xvasprintf): Use xalloc_die, not xmalloc_die.
66671
66672 2004-09-29  Bruno Haible  <bruno@clisp.org>
66673
66674         * modules/alloca-opt: New file, derived from modules/alloca.
66675         * modules/allocsa: Depend on alloca-opt instead of alloca.
66676         * modules/setenv: Likewise.
66677         * modules/vasnprintf: Likewise.
66678         * MODULES.html.sh: Add alloca-opt.
66679
66680 2004-09-28  Simon Josefsson  <jas@extundo.com>
66681
66682         * gnulib-tool: New parameter --lgpl, to asseert that modules are
66683         LGPL, and to replace license template from GPL to LGPL.
66684
66685 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
66686
66687         * modules/dummy: Change license to LGPL.
66688
66689 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
66690
66691         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
66692
66693 2004-09-24  Simon Josefsson  <jas@extundo.com>
66694
66695         * modules/minmax (License): Change from GPL to LGPL.
66696
66697 2004-09-23  Simon Josefsson  <jas@extundo.com>
66698
66699         * gnulib-tool (--import): Typo.
66700
66701 2004-09-23  Simon Josefsson  <jas@extundo.com>
66702
66703         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
66704
66705 2004-09-22  Bruno Haible  <bruno@clisp.org>
66706
66707         * modules/*: Add 'License' field.
66708         * gnulib-tool: Accept --extract-license option.
66709         (func_get_license): New function.
66710
66711 2004-09-21  Bruno Haible  <bruno@clisp.org>
66712
66713         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
66714         Reported by Simon Josefsson.
66715
66716 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
66717
66718         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
66719         gl_AC_TYPE_LONG_LONG.
66720
66721 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
66722
66723         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
66724
66725 2004-09-18  Simon Josefsson  <jas@extundo.com>
66726         and  Paul Eggert  <eggert@cs.ucla.edu>
66727
66728         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
66729         calls with autoreconf.  Define GL_LIB.
66730
66731 2004-09-14  Karl Berry  <karl@gnu.org>
66732
66733         * config/srclist.txt: unsync setenv.c, sigh.
66734
66735 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
66736
66737         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
66738         Problem reported by Bruno Haible in:
66739         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
66740
66741 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
66742
66743         * config/srclist.txt: Comment out argp-pvh.c.
66744
66745 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
66746
66747         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
66748         in case some system header has #define'd it.  Problem reported by
66749         Soeren D. Schulze in
66750         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
66751
66752 2004-09-09  Karl Berry  <karl@gnu.org>
66753
66754         * regex.[ch]: delete from the root.  These were supposed to be
66755                 synced with emacs cvs, but this has not happened for about
66756                 a year, and anyway nothing else uses emacs regex.[ch].
66757                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
66758                 lib/regex[.ch] is untouched.
66759
66760 2004-09-09  Bruno Haible  <bruno@clisp.org>
66761
66762         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
66763
66764 2004-09-09  Bruno Haible  <bruno@clisp.org>
66765
66766         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
66767         modifications.
66768         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
66769
66770 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
66771
66772         * modules/xvasprintf: New file.
66773         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
66774
66775 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
66776
66777         * lib/xvasprintf.h: New file.
66778         * lib/xvasprintf.c: New file.
66779         * lib/xasprintf.c: New file.
66780
66781 2004-09-08  Bruno Haible  <bruno@clisp.org>
66782
66783         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
66784
66785 2004-09-08  Bruno Haible  <bruno@clisp.org>
66786
66787         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
66788         length is > INT_MAX.
66789         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
66790         more.
66791
66792 2004-09-08  Bruno Haible  <bruno@clisp.org>
66793
66794         * lib/stdint_.h: New file, taken from GNU clisp.
66795
66796 2004-09-08  Bruno Haible  <bruno@clisp.org>
66797             Oskar Liljeblad  <oskar@osk.mine.nu>
66798
66799         * modules/stdint: New file.
66800         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
66801
66802 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66803
66804         Import from coreutils.
66805         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
66806         strings on unbounded length.  alloca's performance benefits aren't
66807         that important here.
66808         (V_STRDUP): Remove.
66809         (parse_with_separator): New function, with most of the internals
66810         of the old parse_user_spec.  Allow user to omit both user and group,
66811         for compatibility with FreeBSD.
66812         Clone only the user name, not the entire spec.
66813         Do not set *uid, *gid unless entirely successful.
66814         Avoid memory leak in some failing cases.
66815         Fix regression for USER.GROUP reported by Dmitry V. Levin in
66816         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
66817         (parse_user_spec): Rewrite to use parse_with_separator.
66818
66819 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66820
66821         * modules/userspec: Don't depend on alloca.
66822
66823 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66824
66825         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
66826
66827 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
66828
66829         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
66830         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
66831         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
66832
66833 2004-08-16  Simon Josefsson  <jas@extundo.com>
66834
66835         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
66836         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
66837         Add --dry-run for --import.
66838         Let user provided command line parameters override configure.ac
66839         settings.
66840
66841 2004-08-12  Simon Josefsson  <jas@extundo.com>
66842
66843         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
66844         as discussed with Paul Eggert in threads rooted at
66845         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
66846         and
66847         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
66848         Before, the test was empty, and relied on ELIDE_CODE in source
66849         code.)
66850         (gl_PREREQ_GETOPT): New macro.
66851         (gl_GETOPT): Use them.
66852
66853 2004-08-12  Simon Josefsson  <jas@extundo.com>
66854
66855         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
66856         * lib/getopt_.h: Renamed from getopt.h.
66857
66858 2004-08-12  Simon Josefsson  <jas@extundo.com>
66859
66860         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
66861         Change default library name from libfoo to libgnu.
66862         Now, if you have a configure.ac that says:
66863                 gl_SOURCE_BASE(gl)
66864                 gl_M4_BASE(gl/m4)
66865                 gl_MODULES(error getopt etcetera)
66866                 gl_INIT
66867         you can import all you need by running:
66868                 ../gnulib/gnulib-tool --import
66869
66870         * modules/getopt (Files): Rename getopt.h to getopt_.h.
66871         (Makefile.am): Rewrite, use logic from argz.
66872         (Include): Use <getopt.h> instead of "getopt.h".
66873
66874 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
66875
66876         * modules/argp (Files): Add m4/unlocked-io.m4.
66877         (Depends-on): Add extensions.
66878
66879 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
66880
66881         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
66882         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
66883         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
66884         Check for program_invocation_name, program_invocation_short_name,
66885         flockfile, funlockfile, features.h, _getopt_long_only_r.
66886
66887 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
66888
66889         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
66890         its complicated substitute.
66891         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
66892         and program_invocation_name.
66893         (__argp_basename) [!_LIBC]: Remove; the only use was
66894         replaced by its body.
66895         (__argp_short_program_name): Change condition from
66896         !defined __argp_short_program_name to
66897         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
66898         to match argp-namefrob.h.
66899         (__argp_failure): Don't assume strerror_r returns char *.
66900         * lib/argp-parse.c (N_): Define unconditionally.
66901         (argp_default_options): Fill out initializers with 0 to avoid
66902         gcc warnings.
66903
66904 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
66905
66906         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
66907         getopt1.c.
66908
66909 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
66910
66911         Merge from coreutils.
66912
66913         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
66914
66915         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
66916         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
66917
66918 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
66919
66920         Merge from coreutils.
66921
66922         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
66923         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
66924         for Reliant Unix 5.43.
66925
66926         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
66927         (union fooround): Use uintmax_t, not long int.
66928         The rest is a merge from libc:
66929         [defined _LIBC]: Include <shlib-compat.h>.
66930         (_obstack) [defined _LIBC]: Remove after 2.3.4.
66931
66932         * lib/settime.c (settime): Recode to avoid warning with
66933         Sun Forte C 6U2.
66934
66935         * lib/strverscmp.c: Convert to UTF-8.
66936
66937 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
66938
66939         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
66940         m4/uintmax_t.m4.
66941
66942 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
66943
66944         * modules/xalloc-die: New file.
66945         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
66946
66947         * modules/md5 (Files): Add m4/uint32_t.m4.
66948         * modules/sha1: Renamed from modules/sha.
66949         (Files):
66950         Rename lib/sha.h to lib/sha1.h.
66951         Rename lib/sha.c to lib/sha1.c.
66952         Rename m4/sha.m4 to m4/sha1.m4.
66953         (lib_SOURCES): Likewise.
66954         (configure.ac): Rename gl_SHA to gl_SHA1.
66955         (Include): sha.h -> sha1.h.
66956
66957 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
66958
66959         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
66960         * m4/sha1.m4: Renamed from sha.m4.
66961         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
66962
66963 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
66964
66965         * lib/obstack.h (obstack_empty_p):
66966         Don't assume that chunk->contents is suitably aligned.
66967         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
66968         Likewise. Problem reported by Benno in
66969         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
66970
66971         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
66972         readable.  This could be improved further but it'd take some work.
66973
66974 2004-08-08  Simon Josefsson  <jas@extundo.com>
66975
66976         * modules/xgethostname (Depends-on): Remove exit and error (not
66977         used).
66978
66979         * modules/getpass-gnu: Add getpass.h.
66980         (Depends-on): Add stdbool.
66981         * modules/getpass: Add getpass.h.
66982
66983 2004-08-08  Simon Josefsson  <jas@extundo.com>
66984
66985         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
66986         Check getpass declaration.
66987
66988 2004-08-08  Simon Josefsson  <jas@extundo.com>
66989
66990         * lib/xgethostname.c: Don't include error.h (not used).
66991
66992         * lib/getpass.h: Add.
66993         * lib/getpass.c: Include getpass.h first.
66994
66995 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
66996
66997         * lib/xalloc-die.c: New file.
66998         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
66999         All uses removed.
67000         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
67001         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
67002         xalloc-die.c.
67003         (_, N_, xalloc_die): Move to xalloc-die.c.
67004         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
67005         so that we needn't mess with xalloc_msg_memory_exhausted.
67006
67007         * lib/sha1.h: Renamed from sha.h.
67008         (SHA1_H): Renamed from _SHA_H.
67009         (sha1_ctx): Renamed from sha_ctx.
67010         (sha1_init_ctx): Renamed from sha_init_ctx.
67011         (sha1_process_block): Renamed from sha_process_block.
67012         (sha1_process_bytes): Renamed from sha_process_bytes.
67013         (sha1_finish_ctx): Renamed from sha_finish_ctx.
67014         (sha1_read_ctx): Renamed from sha_read_ctx.
67015         (sha1_stream): Renamed from sha_stream.
67016         (sha1_buffer): Renamed from sha_buffer.
67017         * lib/sha1.c: Likewise; renamed from sha.c.
67018         Do not include <sys/types.h>.
67019         Include <stddef.h> rather than <stdlib.h>.
67020
67021 2004-08-08  Bruno Haible  <bruno@clisp.org>
67022
67023         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
67024         FILESYSTEM_PREFIX_LEN.
67025         * lib/progreloc.c: Likewise.
67026         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
67027
67028 2004-08-06  Simon Josefsson  <jas@extundo.com>
67029
67030         * modules/progname (Depends-on): Don't depend on stdbool.
67031
67032 2004-08-06  Simon Josefsson  <jas@extundo.com>
67033
67034         * modules/getsubopt: New file.
67035         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67036         getsubopt.
67037
67038 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67039
67040         More merge from coreutils.
67041
67042         * m4/utimens.m4, m4/utimecmp.m4: New files.
67043         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
67044         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
67045         prereq.m4, sha.m4: Import changes from coreutils.
67046
67047 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67048
67049         More merge from coreutils.
67050         * modules/raise, modules/readtokens0, modules/utimens:
67051         * modules/utimecmp, module/xnanosleep: New files.
67052         * modules/strftime: Add lib/strftime.h.
67053         Change include from <time.h> to "strftime.h".
67054         * modules/yesno: Add lib/yesno.h.
67055         * modules/backupfile: Remove lib/addext.c.
67056         * modules/euidaccess: Add stat-macros.h.
67057         * modules/canonicalize, modules/euidaccess,
67058         modules/filemode, modules/lchown, modules/makepath,
67059         modules/rmdir, modules/stat: Likewise.
67060
67061 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67062
67063         Merge from tar.
67064         * lib/argp-help.c (make_hol, hol_append): Don't assume that
67065         SIZE_MAX is a valid preprocessor constant.
67066         (__argp_basename): Change from "#ifndef _LIBC"
67067         to "#ifndef __argp_short_program_name", so that
67068         we don't compile these functions for tar.
67069
67070         More merges from coreutils.
67071         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
67072         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
67073         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
67074         * lib/addext.c: Remove; no longer needed.
67075         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
67076         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
67077         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
67078         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
67079         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
67080         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
67081         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
67082         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
67083         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
67084         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
67085         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
67086         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
67087         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
67088         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
67089         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
67090         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
67091         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
67092         Import changes from coreutils.
67093
67094 2004-08-05  Simon Josefsson  <jas@extundo.com>
67095
67096         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
67097
67098 2004-08-05  Simon Josefsson  <jas@extundo.com>
67099
67100         * m4/getsubopt.m4: New file.
67101
67102 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
67103
67104         Merge from coreutils.
67105
67106         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
67107         * m4/getcwd-path-max.m4: New files.
67108
67109         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
67110         FILESYSTEM_PREFIX_LEN ->
67111         FILE_SYSTEM_PREFIX_LEN.
67112         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
67113         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
67114         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
67115         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
67116
67117         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
67118         prerequisite modules now handle the DOS stuff.
67119         Don't check for unistd.h.
67120
67121 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
67122
67123         Merge from coreutils.
67124
67125         * lib/.gdb-history: Remove; this doesn't belong here.
67126
67127         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
67128         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
67129         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
67130         * lib/getcwd.c: New files.
67131
67132         * lib/dirname.h: Include <stdbool.h>.
67133         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
67134         for consistency with POSIX terminology.  All uses changed.
67135         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
67136         (strip_trailing_slashes): Use bool for booleans.
67137         * lib/stripslash.c (strip_trailing_slashes): Likewise.
67138
67139         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
67140         sometimes returns a positive errno value even when it succeeds.
67141         (print_errno_message) [!LIBC]: Fall back on strerror if
67142         __strerror_r fails.
67143
67144         * lib/path-concat.c (mempcpy): Don't define if a system header defines
67145         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
67146         (longest_relative_suffix): New function.
67147         (path_concat): Use it.  Assume first argument is not NULL.
67148         Port to DOS.  Omit redundant separators.
67149         Report an error instead of returning NULL.
67150         Use mempcpy instead of memcpy.
67151         (xpath_concat): Remove: not declared or used.
67152
67153         * lib/same.h: Include <stdbool.h>
67154         (same_name): Return bool, not int.
67155         * lib/same.c (same_name): Likewise.
67156         (errno): Don't declare; we assume C89 or better now.
67157
67158         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
67159         if not already defined.
67160
67161         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
67162         * lib/dup-safer.c (errno): Likewise.
67163
67164 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
67165
67166         Merge from coreutils.
67167         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
67168         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
67169         * modules/path-concat: Don't depend on strdup.
67170
67171 2004-08-03  Simon Josefsson  <jas@extundo.com>
67172
67173         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
67174         * lib/progname.h: Don't include stdbool.h.
67175
67176 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
67177
67178         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
67179         * MODULES.html.sh (func_all_modules): Remove fatal.
67180
67181 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
67182
67183         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
67184
67185 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
67186
67187         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
67188         working.
67189
67190 2004-08-02  Simon Josefsson  <jas@extundo.com>
67191
67192         * lib/getsubopt.h: New file, with comments from Bruno Haible.
67193         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
67194         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
67195
67196 2004-08-01  Simon Josefsson  <jas@extundo.com>
67197
67198         * lib/xgetdomainname.c: Include stdlib.h, for free().
67199
67200 2004-07-19  Bruno Haible  <bruno@clisp.org>
67201
67202         * MODULES.html.sh (func_all_modules): Add dummy.
67203
67204 2004-07-16  Simon Josefsson  <jas@extundo.com>
67205
67206         * modules/dummy: New file.
67207
67208 2004-07-16  Simon Josefsson  <jas@extundo.com>
67209
67210         * lib/dummy.c: New file.
67211
67212 2004-07-16  Bruno Haible  <bruno@clisp.org>
67213
67214         * lib/backupfile.h: Add extern "C" for C++.
67215         * lib/closeout.h: Likewise.
67216         * lib/copy-file.h: Likewise.
67217         * lib/findprog.h: Likewise.
67218         * lib/full-write.h: Likewise.
67219         * lib/pathname.h: Likewise.
67220         * lib/progname.h: Likewise.
67221         * lib/stpcpy.h: Likewise.
67222         * lib/stpncpy.h: Likewise.
67223         * lib/strcase.h: Likewise.
67224         * lib/strstr.h: Likewise.
67225         * lib/xalloc.h: Likewise.
67226
67227         * lib/mbswidth.h: Add extern "C" for C++.
67228         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
67229
67230 2004-07-13  Robert Millan  <robertmh@gnu.org>
67231
67232         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
67233
67234 2004-07-09  Simon Josefsson  <jas@extundo.com>
67235
67236         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
67237         failed without this.)
67238
67239 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
67240
67241         * modules/chown (Files): Add lib/fchown-stub.c, since
67242         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
67243
67244 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
67245
67246         * lib/fchown-stub.c: New file.
67247
67248 2004-06-24  Jim Meyering  <jim@meyering.net>
67249
67250         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
67251
67252 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67253
67254         * modules/argz: Omit "#include".
67255
67256         * MODULES.html.sh (func_all_modules): Add calloc, to match
67257         2004-06-01 addition of calloc module.
67258
67259 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67260
67261         * m4/argz.m4: New file, which is autoupdated from libtool.
67262
67263 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67264
67265         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
67266         libtool.
67267
67268 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67269
67270         * config/srclist-update: Don't insist on "USA." before the
67271         close-comment, as libtool omits the period and puts the */ on a
67272         separate line.
67273         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
67274         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
67275
67276 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
67277
67278         * modules/argz: New file.
67279         * MODULES.html.sh (func_all_modules): Add argz.
67280
67281 2004-06-12  Jim Meyering  <jim@meyering.net>
67282         and  Paul Eggert  <eggert@cs.ucla.edu>
67283
67284         * modules/hash (Files): Add lib/xalloc.h.
67285         * modules/pipe (Depends-on): Add wait-process.
67286         * modules/stat (Depends-on): Add xalloc.
67287         * modules/userspec (Files): Add lib/userspec.h.
67288         * modules/xstrto
67289
67290         Upgrade from gettext-0.13.
67291         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
67292         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
67293         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
67294
67295 2004-06-10  Jim Meyering  <jim@meyering.net>
67296
67297         * lib/calloc.c: New file.
67298
67299 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
67300
67301         * lib/getdate.y (yylex): Allow space between sign and number.
67302         Problem reported by Dan Jacobson.
67303
67304 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
67305
67306         Merge from coreutils CVS.
67307
67308         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
67309         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
67310         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
67311         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
67312         xstrtol.m4: Fix copyright date and/or serial number.
67313
67314         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
67315         See if we need an fchown replacement.
67316         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
67317         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
67318         and use the replacement function if we detect either defect.
67319
67320         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
67321         gl_UTIMECMP.
67322
67323 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
67324         and  Jim Meyering  <jim@meyering.net>
67325
67326         Merge from coreutils CVS.
67327
67328         * lib/stat-macros.h: New file, with contents from file-type.h
67329         and coreutils' system.h.
67330         * lib/file-type.c: Include "stat-macros.h".
67331         * lib/file-type.h (file_type): Move all macro definitions to new file,
67332         stat-macros.h.
67333
67334         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
67335         Wrap old code with this conditional.
67336         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
67337         function that does not dereference symlinks.
67338         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
67339
67340         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
67341         dependency problems.
67342         (xreadlink): Accept new arg SIZE, for efficiency.
67343         All decls and uses changed.
67344         * lib/xreadlink.h: Include <stddef.h>, for size_t.
67345
67346         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
67347         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
67348
67349         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
67350         sysexits.h.
67351
67352 2004-06-01  Jim Meyering  <jim@meyering.net>
67353
67354         * m4/calloc.m4: New file.
67355
67356 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
67357
67358         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
67359         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
67360         Also, fix a typo in a diagnostic.
67361
67362 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
67363
67364         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
67365         or AC_FUNC_REALLOC.
67366
67367 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
67368
67369         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
67370         macros to be defined.
67371         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
67372         the allocator returns NULL because the requested size is zero.
67373
67374 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
67375
67376         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
67377         var.  Add comment explaining why libc still defines it.  This
67378         merges the following patch from glibc:
67379         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
67380
67381 2004-05-20  Andreas Schwab  <schwab@suse.de>
67382
67383         * m4/free.m4: Replace free if it not known to work, not the other
67384         way round.
67385
67386 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
67387
67388         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
67389         present in glibc since revision 1.1 of this file.
67390         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
67391         obstack_alignment_mask, obstack_alloc, obstack_base,
67392         obstack_blank, obstack_blank_fast, obstack_chunk_size,
67393         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
67394         obstack_grow0, obstack_init, obstack_int_grow,
67395         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
67396         obstack_next_free, obstack_object_size, obstack_ptr_grow,
67397         obstack_ptr_grow_fast, obstack_room): Remove declarations of
67398         nonexistent functions.
67399
67400 2004-05-18  Karl Berry  <karl@gnu.org>
67401
67402         * config/srclist.txt: break link for vasnprintf.c.
67403
67404 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
67405
67406         Port obstack to the AS/400, where pointers are 16 bytes wide and
67407         you cannot cast an integer to a valid pointer.  This patch is
67408         currently waiting to be integrated into glibc; see
67409         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
67410
67411         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
67412         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
67413         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
67414         (struct obstack): temp member is now a union of a pointer and
67415         an integer, instead of an integer.  All integer uses changed.
67416         This does not affect the physical layout of struct obstack,
67417         except on hosts (like the AS/400) where the size or alignment of
67418         void * is greater than that of ptrdiff_t.
67419         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
67420         __STDC__)]: Store temporary in pointer member of union, not
67421         integer member.
67422         * lib/obstack.c: Include <stddef.h>, for offsetof.
67423         (struct fooalign): Remove; it doesn't need a name.
67424         (union fooround): Change double to long double, and add void *.
67425         (DEFAULT_ALIGNMENT): Use offsetof to compute.
67426         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
67427         not a macro.  Hence the values are always int; so remove all
67428         casts-to-int in uses.
67429
67430 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
67431
67432         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
67433         we can get this patch merged into glibc.
67434
67435 2004-05-17  Derek R. Price  <derek@ximbiot.com>
67436             Paul Eggert  <eggert@cs.ucla.edu>
67437
67438         * m4/argp: Depend on alloca.
67439
67440 2004-05-17  Derek R. Price  <derek@ximbiot.com>
67441             Paul Eggert  <eggert@cs.ucla.edu>
67442
67443         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
67444         freecoding.
67445
67446 2004-05-17  Bruno Haible  <bruno@clisp.org>
67447
67448         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
67449         precision that consists of a '.' followed by an empty digit string.
67450         Patch by Tor Lillqvist <tml@iki.fi>.
67451
67452 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
67453
67454         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
67455         for backward compatibility with older code.  We need our own
67456         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
67457         it under some other name, and our alloca.h will define it.
67458
67459 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
67460             Derek Price  <derek@ximbiot.com>
67461
67462         * lib/alloca.c: Include <alloca.h>, to get our interface.
67463         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
67464         include <alloca.h> first.  Use C89 prototype for alloca; this
67465         requires including <stddef.h> for size_t.  Use extern "C" if C++.
67466         Use #elif for simplicity, since we can assume C89 now.
67467         Don't try to source the system alloca.h since it will not be found
67468         and to prevent recursively including its replacement.
67469         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
67470         * lib/regex.c: Likewise.
67471
67472 2004-05-16  Derek Price  <derek@ximbiot.com>
67473             Paul Eggert  <eggert@cs.ucla.edu>
67474
67475         getline cleanup.  This changes the getndelim2 API: both order of
67476         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
67477         no delimiter).
67478
67479         * lib/getline.c: Don't include stddef.h or stdio.h, since our
67480         interface does that.
67481         (getline): Always use getdelim, so that we don't have two
67482         copies of this code.
67483         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
67484         if available.
67485         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
67486         (GETNDELIM2_MAXIMUM): New macro.
67487         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
67488         instead of the old practice of delim2==0.  All callers changed.
67489         Return -1 on overflow, instead of returning junk.
67490         Do not set *linesize unless allocation succeeds.
67491         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
67492         that we include sys/types.h.
67493         * lib/getnline.h: Likewise.
67494         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
67495         (getndelim2): Reorder arguments.
67496         * lib/getnline.c (getnline, getndelim):
67497         Don't discard the NMAX argument.
67498         (getnline): Invoke getndelim, to avoid code duplication.
67499         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
67500         of (size_t) -1 by callers of the getnline family.
67501
67502 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
67503
67504         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
67505         Check for gettimeofday.
67506         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
67507         Check for settimeofday, stime.
67508
67509 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
67510
67511         * lib/nanosleep.c (suspended): Change its type from int to
67512         sig_atomic_t volatile.
67513         (first_call): Make it private to rpl_nanosleep, and have it
67514         be zero initially as that's a bit faster.
67515         (my_usleep): Round up fractional times instead of truncating them,
67516         as this is the usual meaning for 'sleep'.
67517
67518         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
67519         doesn't work.
67520         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
67521         (ENOSYS): Define if not defined.
67522         (settime): Fall back on stime if it exists and settimeofday fails.
67523         But don't bother with fallbacks if a method fails with errno == EPERM.
67524
67525 2004-05-11  Jim Meyering  <jim@meyering.net>
67526
67527         Prior to this change, the save_cwd caller required read access to the
67528         current directory on most systems (ones with the fchdir function).
67529
67530         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
67531         fails, try write-only, and finally, resort to using xgetcwd.
67532
67533 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
67534
67535         * lib/obstack.c, obstack.h: Import changes from libc.
67536
67537 2004-04-28  Bruno Haible  <bruno@clisp.org>
67538
67539         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
67540         also implicitly appends .exe to executables.
67541         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
67542         accepts Windows pathnames.
67543         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
67544         Treat Cygwin like Windows, since it now accepts Windows pathnames.
67545         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
67546         Treat Cygwin like Windows, since it now accepts Windows pathnames.
67547         Reported by Derek Robert Price <derek@ximbiot.com>.
67548
67549 2004-04-21  Karl Berry  <karl@gnu.org>
67550
67551         * config/srclist.txt (localcharset.c): break sync.
67552
67553 2004-04-20  Paul Eggert  <eggert@twinsun.com>
67554
67555         * m4/host-os.m4: Add a copyright notice.
67556
67557 2004-04-20  Jim Meyering  <jim@meyering.net>
67558
67559         Change UTILS_ to gl_ in AC_DEFINE'd names.
67560         Change utils_- and jm_-prefixed variables, too.
67561         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
67562         UTILS_FUNC_MKDIR_TRAILING_SLASH.
67563         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
67564
67565         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
67566         Don't emit trailing blanks.
67567         Also rename jm_-prefixed variables to have gl_ prefix.
67568
67569         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
67570         Also rename jm_-prefixed variables to have gl_ prefix.
67571
67572         * m4/jm-macros.m4: Reflect the renamings.
67573         * m4/prereq.m4: Likewise.
67574
67575 2004-04-20  Jim Meyering  <jim@meyering.net>
67576
67577         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
67578         memory.
67579
67580 2004-04-20  Jim Meyering  <jim@meyering.net>
67581             Bruno Haible  <bruno@clisp.org>
67582
67583         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
67584         memory when realloc fails.
67585
67586 2004-04-19  Jim Meyering  <jim@meyering.net>
67587
67588         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
67589         now that readutmp.c may call `free (0)'.
67590
67591 2004-04-19  Bruno Haible  <bruno@clisp.org>
67592
67593         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
67594         * m4/inttypes_h.m4: Likewise.
67595         * m4/stdint_h.m4: Likewise.
67596         * m4/intmax_t.m4: Likewise.
67597         * m4/uintmax_t.m4: Likewise.
67598
67599 2004-04-18  Jim Meyering  <jim@meyering.net>
67600
67601         * m4/prereq.m4: Don't forbid jm_ prefix.
67602
67603         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
67604         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
67605         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
67606         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
67607         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
67608         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
67609         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
67610         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
67611         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
67612         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
67613         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
67614         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
67615         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
67616         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
67617         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
67618         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
67619         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
67620         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
67621         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
67622
67623 2004-04-18  Jim Meyering  <jim@meyering.net>
67624
67625         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
67626         failure, don't leak memory and do call END_UTMP_ENT.
67627
67628 2004-04-16  Jim Meyering  <jim@meyering.net>
67629
67630         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
67631         coreutils' stat program.
67632         (gl_PREREQ): Don't require jm_PREREQ_STAT.
67633
67634 2004-04-11  Paul Eggert  <eggert@twinsun.com>
67635
67636         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
67637         C89.
67638         (CHAR_BIT): Remove, since we assume C89.
67639         Include <stdint.h> if available, as per current Autoconf CVS advice.
67640
67641 2004-03-31  Jim Meyering  <jim@meyering.net>
67642
67643         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
67644         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
67645         * m4/xalloc.m4: Likewise.
67646
67647 2004-03-30  Paul Eggert  <eggert@twinsun.com>
67648
67649         Merge from coreutils.
67650
67651         * m4/inttostr.m4: New file.
67652         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
67653         Require AM_STDBOOL_H and gl_TIMESPEC instead.
67654         Require gl_CLOCK_TIME.
67655         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
67656
67657 2004-03-30  Paul Eggert  <eggert@twinsun.com>
67658
67659         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
67660         not bool, to be more consistent with Unix conventions.
67661         Suggested by Bruno Haible.
67662
67663         Merge from coreutils.
67664
67665         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
67666         * lib/umaxtostr.c: New files.
67667
67668         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
67669         the usual <time.h> dance.
67670         (get_date): Change signature to support fractional time stamps.
67671         All callers changed.
67672         * lib/getdate.y: Include "getdate.h" first, as we can now
67673         assume C89 and don't need to worry about 'const'.
67674         Similarly, include "unlocked-io.h" near start, not in middle.
67675         Include <limits.h>.
67676         (textint.value): Use long int rather than int.
67677         (textint.digits): Use size_t rather than int.
67678         (BILLION, LOG10_BILLION): New constants.
67679         (parser_control): New member rel_ns.  Members day_ordinal,
67680         time_zone, month, day, hour, minutes, rel_year, rel_month,
67681         rel_day, rel_hour, rel_minutes, rel_seconds
67682         are now long int, not int.  Member seconds is now struct timespec,
67683         not int.  New member timespec_seen.  Members dates_seen, days_seen,
67684         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
67685         not int.
67686         (%union.intval): Now long int, not int.
67687         New member timespec.
67688         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
67689         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
67690         (spec): Now is a timespec or an item list.
67691         (timespec, items): New nonterminals.
67692         (time, rel, relunit, number, get_date):
67693         Add support for fractional seconds.
67694         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
67695         (gmtime, localtime, mktime): Remove decls; not needed with C89.
67696         (to_hour): First arg is now long int, not int.
67697         (to_year): Returns long int, not int.
67698         Don't treat year -70 like 70.
67699         (tm_diff): Returns long int, not int.
67700         (lookup_word): Use bool instead of int when appropriate.
67701         (yylex): Use size_t for count, not int.
67702         Detect overflow when parsing large integer constants.
67703         Add support for fractions.
67704         (get_date): Make pointers 'const' if possible.
67705         Use more-portable code to detect integer overflow.
67706         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
67707         Don't use ctime; it's not reliable if the year has >4 digits.
67708
67709         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
67710         This is for compatibility with BSD.
67711
67712         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
67713         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
67714         From coreutils' system.h.
67715
67716         * lib/userspec.c: Don't include "posixver.h".
67717         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
67718         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
67719         compatible extension.  Simplify code by removing a boolean int
67720         that was always nonzero if a string was nonnull.
67721
67722 2004-03-30  Jim Meyering  <jim@meyering.net>
67723
67724         Merge from coreutils.
67725
67726         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
67727         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
67728         on some systems one must include <grp.h> before it.
67729         Reported by Christian Krackowizer.
67730
67731 2004-03-30  Jim Meyering  <jim@meyering.net>
67732
67733         Merge from coreutils.
67734
67735         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
67736
67737         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
67738         an empty input stream.
67739
67740         * lib/readtokens.c: Include <stdbool.h>.
67741         (readtoken): Use `size_t' rather than int/long.
67742         All callers adjusted.
67743         Use `bool' rather than `int' where appropriate.
67744         Use memset rather than an explicit loop.
67745         Use x2nrealloc rather than xrealloc.
67746         Allow the use of `\0' as a delimiter.
67747         (readtokens): Likewise.
67748         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
67749
67750 2004-03-30  Jim Meyering  <jim@meyering.net>
67751
67752         * m4/realloc.m4: Remove file, since now it does no more than
67753         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
67754         the `configure.ac' section of module/realloc.
67755         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
67756
67757 2004-03-30  Bruno Haible  <bruno@clisp.org>
67758
67759         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
67760         nonnull.
67761
67762 2004-03-29  Paul Eggert  <eggert@twinsun.com>
67763
67764         Merge changes to getloadavg.c from coreutils and Emacs.
67765
67766         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
67767         Define to an expression, not to the empty string.
67768         Include cloexec.h and xalloc.h.
67769         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
67770         Use set_cloexec_flag rather than rolling our own.
67771         * lib/cloexec.c, lib/cloexec.h: New files.
67772
67773 2004-03-29  Paul Eggert  <eggert@twinsun.com>
67774
67775         * m4/cloexec.m4: New file.
67776
67777 2004-03-18  Paul Eggert  <eggert@twinsun.com>
67778
67779         * lib/getopt.h: Sync with libc CVS.
67780
67781 2004-03-18  Paul Eggert  <eggert@twinsun.com>
67782             Bruno Haible  <bruno@clisp.org>
67783
67784         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
67785         mbswidth.
67786
67787 2004-03-18  Paul Eggert  <eggert@twinsun.com>
67788             Bruno Haible  <bruno@clisp.org>
67789
67790         * lib/mbswidth.h: Include <wchar.h> only if
67791         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
67792         <wchar.h>.
67793         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
67794
67795 2004-03-09  Paul Eggert  <eggert@twinsun.com>
67796
67797         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
67798         Sync with libc CVS.
67799         * lib/getopt_int.h: New file, also synced from libc.
67800
67801 2004-03-09  Paul Eggert  <eggert@twinsun.com>
67802
67803         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
67804         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
67805         Bring back getopt.c, getopt.h, getopt1.c.
67806
67807 2004-03-07  Paul Eggert  <eggert@twinsun.com>
67808
67809         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
67810         All uses changed.  Check for sa_sigaction member; this fixes
67811         a bug first reported by Jason Andrade in
67812         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
67813
67814 2004-03-07  Paul Eggert  <eggert@twinsun.com>
67815
67816         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
67817         '#if' expressions.  Unlike the code it replaces, it does not
67818         depend on (defined _SC_PAGESIZE).  However, it does depend on
67819         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
67820         first reported by Jason Andrade in
67821         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
67822
67823 2004-02-25  Simon Josefsson  <jas@extundo.com>
67824
67825         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
67826
67827 2004-02-25  Simon Josefsson  <jas@extundo.com>
67828
67829         * lib/strdup.h: New file.
67830         * lib/strdup.c: Include it.
67831         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
67832         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
67833
67834 2004-02-23  Karl Berry  <karl@gnu.org>
67835
67836         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
67837         (from fencepost.gnu.org:/gd/gnuorg).
67838
67839 2004-02-23  Karl Berry  <karl@gnu.org>
67840
67841         * config/srclistvars.sh (GNUORG) [karl]: redefine.
67842         * config/srclist.txt: add maintain/standards documents.
67843
67844 2004-02-18  Bruno Haible  <bruno@clisp.org>
67845
67846         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
67847         Reported by Derek Robert Price <derek@ximbiot.com>.
67848
67849 2004-02-16  Karl Berry  <karl@gnu.org>
67850
67851         * config/mkinstalldirs, install-sh: update from automake.
67852
67853 2004-02-06  Karl Berry  <karl@gnu.org>
67854
67855         * m4/po.m4: update from gettext 0.14.1.
67856
67857 2004-02-06  Karl Berry  <karl@gnu.org>
67858
67859         * lib/config.charset: update from gettext 0.14.1.
67860
67861 2004-02-05  Paul Eggert  <eggert@twinsun.com>
67862
67863         Add comments and code, prompted by suggestions from Bruno Haible
67864         for sh-quote.
67865         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
67866         describing the enum quoting_style values.
67867         * lib/quotearg.c (quotearg_alloc): New function.
67868         (quotearg_buffer_restyled): Treat lone { and } as special.
67869         Treat = as special.  Work around bug with older shells
67870         that "see" a '\' that is really the 2nd byte of a multibyte char.
67871         Quote empty string with shell_quoting_style.
67872
67873 2004-02-03  Bruno Haible  <bruno@clisp.org>
67874
67875         * m4/pipe.m4: New file, from GNU gettext.
67876
67877 2004-02-03  Bruno Haible  <bruno@clisp.org>
67878
67879         * lib/pipe.h: New file, from GNU gettext.
67880         * lib/pipe.c: New file, from GNU gettext.
67881
67882 2004-01-27  Bruno Haible  <bruno@clisp.org>
67883
67884         * m4/execute.m4: New file, from GNU gettext.
67885
67886 2004-01-27  Bruno Haible  <bruno@clisp.org>
67887
67888         * lib/execute.h: New file, from GNU gettext.
67889         * lib/execute.c: New file, from GNU gettext.
67890         * lib/w32spawn.h: New file, from GNU gettext.
67891
67892 2004-01-24  Paul Eggert  <eggert@twinsun.com>
67893
67894         Merge from diffutils.
67895
67896         * lib/file-type.c (file_type): Add typed memory objects.
67897         * lib/file-type.h (S_TYPEISTMO): New macro.
67898
67899         * lib/c-stack.h (c_stack_action): Remove argv argument.
67900         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
67901         (die): Don't calculate message unless segv_action returns.
67902         (get_stack_location, min_address_from_argv, max_address_from_argv,
67903         volatile stack_base, volatile_stack_size): Remove.
67904         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
67905         that every segmentation violation is a stack overflow.  (Ouch!)
67906         See Debian bug 136249 (still outstanding) for more info about why
67907         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
67908
67909 2004-01-24  Paul Eggert  <eggert@twinsun.com>
67910
67911         Exit-status fix from coreutils.
67912
67913         Use exit_failure consistently in place of EXIT_FAILURE,
67914         so that program exit statuses are consistent on failure.
67915
67916         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
67917         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
67918         * lib/argmatch.h: Comment fix to match the above.
67919         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
67920         Now a macro referring to exit_failure, instead of a separate
67921         variable.  Include "exitfail.h" to get it.
67922         * lib/xstrtol.h: Include "exitfail.h".
67923         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
67924
67925         * lib/long-options.c (parse_long_options): Use prototype
67926         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
67927         for clarity.
67928
67929 2004-01-21  Jim Meyering  <jim@meyering.net>
67930
67931         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
67932         so as not to conflict with a different-sized __mktime_internal
67933         function in GNU libc.
67934         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
67935         Problem building statically-linked `ls' reported by Michael Brunnbauer.
67936
67937 2004-01-20  Karl Berry  <karl@gnu.org>
67938
67939         * config/config.guess: update from config.
67940
67941         * config/srclistvars.sh: GNUWWWLICENSES for karl.
67942
67943 2004-01-20  Bruno Haible  <bruno@clisp.org>
67944
67945         Safer stack allocation.
67946         * lib/setenv.c: Include allocsa.h.
67947         (alloca): Remove fallback definition.
67948         (freea): Remove macro.
67949         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
67950         instead of freea.
67951
67952 2004-01-20  Bruno Haible  <bruno@clisp.org>
67953
67954         * m4/eealloc.m4: New file, from GNU gettext.
67955
67956 2004-01-20  Bruno Haible  <bruno@clisp.org>
67957
67958         * m4/allocsa.m4: New file, from GNU gettext.
67959
67960 2004-01-20  Bruno Haible  <bruno@clisp.org>
67961
67962         * lib/xallocsa.h: New file, from GNU gettext.
67963         * lib/xallocsa.c: New file, from GNU gettext.
67964
67965 2004-01-20  Bruno Haible  <bruno@clisp.org>
67966
67967         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
67968
67969 2004-01-20  Bruno Haible  <bruno@clisp.org>
67970
67971         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
67972         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
67973         specially.
67974
67975 2004-01-20  Bruno Haible  <bruno@clisp.org>
67976
67977         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
67978         patch.
67979
67980 2004-01-20  Bruno Haible  <bruno@clisp.org>
67981
67982         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
67983
67984 2004-01-20  Bruno Haible  <bruno@clisp.org>
67985
67986         * lib/eealloc.h: New file.
67987
67988 2004-01-20  Bruno Haible  <bruno@clisp.org>
67989
67990         * lib/binary-io.h: Avoid warnings on Cygwin.
67991
67992 2004-01-20  Bruno Haible  <bruno@clisp.org>
67993
67994         * lib/allocsa.h: New file, from GNU gettext.
67995         * lib/allocsa.c: New file, from GNU gettext.
67996
67997 2004-01-18  Karl Berry  <karl@gnu.org>
67998
67999         * doc/gpl.texi, doc/lgpl.texi: new files.
68000
68001 2004-01-18  Karl Berry  <karl@gnu.org>
68002
68003         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
68004         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
68005
68006 2004-01-15  Paul Eggert  <eggert@twinsun.com>
68007
68008         Merge from coreutils.
68009
68010         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
68011         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
68012         (gl_DEFAULT_POSIX2_VERSION): Move
68013         the documentation from 'configure' into 'config.hin',
68014         so that 'configure --help' isn't burdened by it and
68015         we don't have to worry about its formatting there.
68016         Reword the documentation so that it's more succinct
68017         and can be run together into a single paragraph.
68018         * m4/same.m4 (gl_SAME): Check for pathconf.
68019
68020 2004-01-15  Paul Eggert  <eggert@twinsun.com>
68021
68022         Merge from coreutils.
68023
68024         * lib/posixver.c: Include posixver.h.
68025
68026         * lib/same.c: Include <stdbool.h>, <limits.h>.
68027         (_POSIX_NAME_MAX): Define if not defined.
68028         (MIN): New macro.
68029         (same_name): If file names are silently truncated, report
68030         that the file names are the same if they are the same after
68031         the silent truncation.
68032
68033         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
68034         conversion function.
68035         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
68036         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
68037         longer needed.
68038
68039 2004-01-15  Jim Meyering  <jim@meyering.net>
68040
68041         Merge from coreutils.
68042
68043         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
68044         if no library is required.
68045         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
68046         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
68047         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
68048         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
68049         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
68050         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
68051         value, $ac_cv_search_crypt, if it's "none required".
68052         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
68053         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
68054         not gl_FUNC_GETLOADAVG.
68055         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
68056         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
68057
68058 2004-01-15  Jim Meyering  <jim@meyering.net>
68059
68060         Merge from coreutils.
68061
68062         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
68063         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
68064         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
68065
68066         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
68067         optional configure-time default.
68068
68069         * lib/version-etc.c (version_etc_copyright): Update copyright date.
68070
68071         * lib/xreadlink.c (xreadlink): Correct outdated comment.
68072
68073 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
68074
68075         Merge from coreutils.
68076
68077         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
68078         value, $ac_cv_search_nanosleep, if it's "none required".
68079
68080 2004-01-14  Paul Eggert  <eggert@twinsun.com>
68081
68082         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
68083         with like-named macro in fnmatch.c.
68084         (EXT): Use an internal constant instead.
68085
68086         Merge fnmatch patches from glibc.
68087         * lib/fnmatch.c (mbsinit): Remove define.
68088         Add libc_hidden_ver (__fnmatch, fnmatch).
68089         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
68090         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
68091
68092 2004-01-14  Karl Berry  <karl@gnu.org>
68093
68094         * config/install-sh: update from automake.
68095
68096 2004-01-13  Karl Berry  <karl@gnu.org>
68097
68098         * config/install-sh: update from automake.
68099
68100 2004-01-09  Karl Berry  <karl@gnu.org>
68101
68102         * config/install-sh: update from automake.
68103
68104 2004-01-05  Karl Berry  <karl@gnu.org>
68105
68106         * config/config.{sub,guess}: update from config.
68107
68108 2003-12-31  Karl Berry  <karl@gnu.org>
68109
68110         * config/depcomp: update from automake.
68111
68112 2003-12-14  Karl Berry  <karl@gnu.org>
68113
68114         * lib/config.charset: update from gettext-runtime.
68115
68116 2003-12-03  Paul Eggert  <eggert@twinsun.com>
68117
68118         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
68119         Bug reported by Alfred M. Szmidt.
68120
68121 2003-12-03  Bruno Haible  <bruno@clisp.org>
68122
68123         * m4/gettext.m4: Upgrade from gettext-0.13.
68124         * m4/po.m4: Upgrade from gettext-0.13.
68125         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
68126         * m4/intmax.m4: New file, from gettext-0.13.
68127         * m4/printf-posix.m4: New file, from gettext-0.13.
68128
68129 2003-11-29  Karl Berry  <karl@gnu.org>
68130
68131         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
68132
68133 2003-11-25  Paul Eggert  <eggert@twinsun.com>
68134             Bruno Haible  <bruno@clisp.org>
68135
68136         * lib/printf-parse.h: Don't include sys/types.h.
68137         (ARG_NONE): New macro.
68138         (char_directive): Change type of *arg_index fields to size_t.
68139         * lib/printf-parse.c: Don't include sys/types.h.
68140         (SSIZE_MAX): Remove macro.
68141         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
68142         Remove unnecessary overflow check.
68143         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
68144         fields.
68145
68146 2003-11-25  Bruno Haible  <bruno@clisp.org>
68147
68148         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
68149
68150 2003-11-25  Bruno Haible  <bruno@clisp.org>
68151
68152         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
68153         gt_TYPE_SSIZE_T.
68154
68155 2003-11-24  Paul Eggert  <eggert@twinsun.com>
68156
68157         * modules/alloca: Remove dependency on xalloc.
68158
68159 2003-11-24  Paul Eggert  <eggert@twinsun.com>
68160
68161         * lib/alloca.c: Remove dependency on xalloc module.
68162         (xalloc_die): Remove.
68163         (memory_full) [!defined emacs]: New macro.
68164         [!defined emacs]: Don't include xalloc.h.
68165         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
68166         address arithmetic overflows.  Change datatypes a bit to avoid
68167         unnecessary casts.
68168
68169 2003-11-22  Jim Meyering  <jim@meyering.net>
68170
68171         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
68172         s/size/size_t/.
68173
68174 2003-11-21  Karl Berry  <karl@gnu.org>
68175
68176         * config/config.{sub,guess}: update from config.
68177
68178 2003-11-18  Karl Berry  <karl@gnu.org>
68179
68180         * config/config.{sub,guess}: update from config.
68181
68182         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
68183
68184 2003-11-17  Paul Eggert  <eggert@twinsun.com>
68185
68186         * README: Mention that S+T cannot overflow if S is the size of
68187         an existing object and T is sufficiently small.
68188
68189 2003-11-17  Jim Meyering  <jim@meyering.net>
68190
68191         On systems without utime and without a utimes function capable of
68192         dealing with a NULL struct utimbuf* argument, this utime replacement
68193         could -- in unusual circumstances -- leak a file descriptor.
68194         * lib/utime.c: Include <unistd.h> and <errno.h>.
68195         (utime_null): Be sure to close `fd' and to preserve errno.
68196         Reported by Geoff Collyer via Arnold Robbins.
68197
68198 2003-11-17  Bruno Haible  <bruno@clisp.org>
68199
68200         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
68201         (Depends-on): Add xsize.
68202
68203 2003-11-17  Bruno Haible  <bruno@clisp.org>
68204
68205         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
68206
68207 2003-11-17  Bruno Haible  <bruno@clisp.org>
68208
68209         * lib/vasnprintf.c (alloca): Remove fallback definition.
68210         (freea): Remove definition.
68211         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
68212         Reported by Paul Eggert.
68213
68214 2003-11-16  Paul Eggert  <eggert@twinsun.com>
68215             Bruno Haible  <bruno@clisp.org>
68216
68217         Protect against address arithmetic overflow.
68218         * lib/printf-args.h: Include stddef.h.
68219         (arguments): Change type of field 'count' to size_t.
68220         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
68221         'unsigned int' where appropriate.
68222         * lib/printf-parse.h: Include sys/types.h.
68223         (char_directive): Change type of *arg_index fields to ssize_t.
68224         (char_directives): Change type of fields 'count', max_*_length to
68225         size_t.
68226         * lib/printf-parse.c: Include sys/types.h and xsize.h.
68227         (SSIZE_MAX): Define fallback value.
68228         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
68229         instead of 'int' where appropriate. Check a_allocated, d_allocated
68230         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
68231         * lib/vasnprintf.c: Include xsize.h.
68232         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
68233         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
68234         overflow. Avoid wraparound when converting a width or precision from
68235         decimal to binary.
68236
68237 2003-11-16  Bruno Haible  <bruno@clisp.org>
68238
68239         Update from GNU gettext.
68240         * lib/printf-parse.c: Generalize to it can be compiled for wide
68241         strings.
68242         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
68243         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
68244         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
68245         SNPRINTF): New macros.
68246         Don't include <alloca.h> if the file is used inside libintl.
68247         (local_wcslen): New function, for Solaris 2.5.1.
68248         (VASNPRINTF): Use it instead of wcslen.
68249
68250 2003-11-16  Bruno Haible  <bruno@clisp.org>
68251
68252         * lib/xsize.h (xmax): New function.
68253         (xsum, xsum3, xsum4): Declare as "pure" functions.
68254
68255 2003-11-12  Paul Eggert  <eggert@twinsun.com>
68256
68257         * modules/xalloc (Files): Undo latest change, since xalloc.h
68258         no longer needs SIZE_MAX or PTRDIFF_MAX.
68259
68260 2003-11-12  Paul Eggert  <eggert@twinsun.com>
68261
68262         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
68263         gl_PTRDIFF_MAX.
68264
68265 2003-11-12  Paul Eggert  <eggert@twinsun.com>
68266
68267         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
68268         "return", to pacify some unknown compiler.  Problem reported
68269         by Joerg Schilling.
68270
68271 2003-11-12  Paul Eggert  <eggert@twinsun.com>
68272
68273         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
68274         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
68275         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
68276         heuristic is just as accurate as far as we know, and it removes a
68277         dependency on size_max.m4 and ptrdiff_max.m4.
68278
68279 2003-11-11  Bruno Haible  <bruno@clisp.org>
68280
68281         * modules/xsize (Files): Add m4/size_max.m4.
68282         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
68283
68284 2003-11-11  Bruno Haible  <bruno@clisp.org>
68285
68286         * m4/size_max.m4: New file.
68287         * m4/ptrdiff_max.m4: New file.
68288         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
68289         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
68290         (gl_XALLOC): Invoke it.
68291
68292 2003-11-11  Bruno Haible  <bruno@clisp.org>
68293
68294         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
68295         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
68296         defined.
68297
68298 2003-11-10  Paul Eggert  <eggert@twinsun.com>
68299
68300         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
68301         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
68302         rejected some allocations of exactly SIZE_MAX - 2 bytes.
68303         From Bruno Haible.
68304         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
68305         not (size_t) -1, since it's defined here.
68306
68307 2003-11-09  Karl Berry  <karl@gnu.org>
68308
68309         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
68310
68311 2003-11-06  Paul Eggert  <eggert@twinsun.com>
68312
68313         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
68314         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
68315         Reject sizes of exactly SIZE_MAX bytes.
68316         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
68317         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
68318
68319 2003-11-05  Bruno Haible  <bruno@clisp.org>
68320
68321         * lib/xsize.h: Include limits.h, to avoid a possible collision with
68322         SIZE_MAX defined in <limits.h> on Solaris.
68323
68324 2003-11-04  Jim Meyering  <jim@meyering.net>
68325
68326         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
68327         variable names, rather than @VAR@.
68328         * modules/poll: Likewise.
68329
68330 2003-11-04  Bruno Haible  <bruno@clisp.org>
68331
68332         * modules/xsize: New file.
68333         * modules/linebreak: Depend on xsize.
68334         * MODULES.html.sh (func_all_modules): Add xsize.
68335
68336 2003-11-04  Bruno Haible  <bruno@clisp.org>
68337
68338         * m4/xsize.m4: New file.
68339
68340 2003-11-04  Bruno Haible  <bruno@clisp.org>
68341
68342         * lib/xsize.h: New file.
68343         * lib/linebreak.c: Include xsize.h.
68344         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
68345         argument for overflow.
68346         Suggested by Paul Eggert.
68347
68348 2003-11-03  Karl Berry  <karl@gnu.org>
68349
68350         * config/config.{guess,sub}: update from config.
68351
68352 2003-11-03  Jim Meyering  <jim@meyering.net>
68353
68354         * modules/userspec (lib_SOURCES): Add userspec.h.
68355         (Include): Add "userspec.h".
68356         Improve description.
68357
68358 2003-11-03  Jim Meyering  <jim@meyering.net>
68359
68360         * lib/userspec.c: Include "userspec.h".
68361         * lib/userspec.h: New file.
68362
68363 2003-11-03  Bruno Haible  <bruno@clisp.org>
68364
68365         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
68366
68367 2003-11-03  Bruno Haible  <bruno@clisp.org>
68368
68369         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
68370         available, to avoid (extremely rare) race condition.
68371         Suggested by Paul Eggert.
68372
68373 2003-11-02  Karl Berry  <karl@gnu.org>
68374
68375         * config/srclist.txt (vasprintf.c): sync broken, sigh.
68376
68377 2003-10-31  Paul Eggert  <eggert@twinsun.com>
68378
68379         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
68380         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
68381         (read_filesystem_list): Set and use me_type_malloced.
68382         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
68383         whatever the type happens to be), for brevity and consistency.
68384         Check for size calculation overflow on Alphas running OSF/1.
68385
68386 2003-10-31  Jim Meyering  <jim@meyering.net>
68387
68388         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
68389
68390         * lib/linebuffer.c: Include <string.h> for declaration of memset.
68391
68392 2003-10-30  Paul Eggert  <eggert@twinsun.com>
68393             Bruno Haible  <bruno@clisp.org>
68394
68395         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
68396         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
68397
68398 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
68399
68400         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
68401         netbsd*-gnu*.  Suggested by Robert Millan.
68402
68403 2003-10-29  Paul Eggert  <eggert@twinsun.com>
68404
68405         * modules/group-member: Depend on stdbool.
68406
68407 2003-10-29  Paul Eggert  <eggert@twinsun.com>
68408
68409         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
68410
68411 2003-10-29  Paul Eggert  <eggert@twinsun.com>
68412
68413         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
68414         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
68415         after the 'gnu' in these cases.  This fixes some bugs in the
68416         previous change, and is based on suggestions by Robert Millan.
68417
68418 2003-10-29  Paul Eggert  <eggert@twinsun.com>
68419
68420         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
68421         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
68422         no longer needed.
68423         * lib/quotearg.c (quotearg_n_options): Use it.
68424         * lib/group-member.c: Include <stdbool.h>.
68425         (free_group_info): Arg is now const *; don't free arg.
68426         (get_group_info): Now returns bool and accepts struct group_info *,
68427         rather than returning a malloc'ed struct group_info *.
68428         All uses changed.  Check for overflow in internal size calculation.
68429
68430         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
68431         rather than xmalloc/xrealloc.
68432         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
68433         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
68434         conformance bug: the old code used a pointer after freeing the
68435         storage that it addressed.
68436         * lib/hash.c (hash_initialize): Simplify the code by using
68437         xalloc_oversized rather than doing it by hand.
68438         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
68439         the buffer preserved.  Use free and xmalloc instead.
68440         * lib/quotearg.c (quotearg_n_options): Likewise.
68441         Use a simpler test for size overflow.  Don't use xalloc_oversized
68442         because unsigned int might be wider than size_t (!); this suggests
68443         that we should switch from unsigned int to size_t for slot numbers.
68444
68445 2003-10-28  Paul Eggert  <eggert@twinsun.com>
68446
68447         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
68448         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
68449         NetBSD kernels.  Requested by Richard Stallman.
68450
68451 2003-10-27  Paul Eggert  <eggert@twinsun.com>
68452
68453         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
68454         to allocate the returned structure.  Do not allocate a subarray,
68455         as x2nrealloc will do that.
68456         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
68457         instead of xnrealloc.
68458         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
68459
68460 2003-10-27  Bruno Haible  <bruno@clisp.org>
68461
68462         * lib/stdbool_.h: Better support for BeOS.
68463
68464 2003-10-26  Paul Eggert  <eggert@twinsun.com>
68465
68466         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
68467         now uses inline.
68468
68469 2003-10-26  Paul Eggert  <eggert@twinsun.com>
68470
68471         * lib/xalloc.h (xalloc_oversized): New static inline function, for
68472         callers that want to do their own size-overflow checking.  Include
68473         <stdbool.h>, since xalloc_oversized returns bool.
68474         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
68475         to use xalloc_oversized.
68476
68477         Add two functions x2realloc, x2nrealloc, for programs that grow
68478         arrays dynamically by doubling their sizes.
68479         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
68480         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
68481         New functions.
68482
68483         Port to C99 semantics for 'inline' of external functions.
68484         Bug reported by Bruno Haible.
68485         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
68486         with the old contents of xnmalloc.
68487         (xnmalloc, xmalloc): Use it.
68488         (xnrealloc_inline): New static inline function,
68489         with the old contents of xnrealloc.
68490         (xnrealloc, xrealloc): Use it.
68491
68492         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
68493         that.
68494
68495 2003-10-26  Karl Berry  <karl@gnu.org>
68496
68497         * config/srclist.txt (COPYING.DOC): no longer available from
68498         /gd/gnuorg; don't know where the ultimate source is.
68499
68500 2003-10-25  Paul Eggert  <eggert@twinsun.com>
68501
68502         Fix several address-calculation bugs in the hash modules,
68503         plus some minor code cleanup.
68504
68505         * lib/hash.h: Include <stdbool.h>, for bool.
68506         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
68507         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
68508         hash_get_n_entries, hash_get_max_bucket_length,
68509         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
68510         hash_rehash): Use size_t rather than unsigned.
68511         * lib/hash.c (struct hash_table, hash_get_n_buckets,
68512         hash_get_n_buckets_used, hash_get_n_entries,
68513         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
68514         hash_get_entries, hash_do_for_each, hash_string, is_prime,
68515         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
68516         Likewise.
68517         (SIZE_MAX): Define if not defined.
68518         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
68519         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
68520         hash_print):
68521         Use const * when possible.
68522         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
68523         (check_tuning): Fix bug: if tuning parameters were very close to
68524         0 or 1, rounding errors could have caused subscript violations.
68525         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
68526         (hash_initialize): Add 'fail:' label
68527         to free table and return NULL, and use it to simplify code.
68528         Use calloc rather than clearing the storage ourself.
68529         (hash_initialize, hash_rehash): Check for arithmetic overflow in
68530         buffer size calculations.
68531         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
68532         Include <stddef.h>, for size_t.
68533         * lib/hash-pjw.c (hash_pjw): Likewise.
68534         Switch to method described by Bruno Haible.
68535         Include <limits.h>, for CHAR_BIT.
68536         (SIZE_BITS): New macro.
68537
68538 2003-10-23  Paul Eggert  <eggert@twinsun.com>
68539
68540         * m4/getline.m4 (AM_FUNC_GETLINE):
68541         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
68542         hosts.  Problem reported by Derek Robert Price in
68543         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
68544         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
68545         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
68546
68547 2003-10-21  Paul Eggert  <eggert@twinsun.com>
68548
68549         * lib/getndelim2.c (getndelim2): When size calculation overflows,
68550         ceiling the allocation at NMAX bytes rather than silently
68551         discarding input bytes before NMAX is reached.  This makes
68552         a difference only if NMAX exceeds SIZE_MAX / 2.
68553
68554         * lib/obstack.c: Merge from glibc.
68555         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
68556         Add libc_hidden_def (_obstack_newchunk).
68557         (_obstack_free) [! defined _LIBC]: Remove.
68558         [defined _LIBC]: Make a strong alias from obstack_free, rather than
68559         a clone of the function body.
68560         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
68561         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
68562
68563         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
68564         glibc.
68565         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
68566         arg to memcpy.
68567
68568         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
68569         (obstack_ptr_grow_fast, obstack_int_grow_fast):
68570         Don't use lvalue casts, as GCC plans to remove support for them
68571         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
68572         was also present in the non-GCC version, indicating that this
68573         code had always been buggy and had never been widely used.
68574         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
68575         Use the fast variant of each macro, rather than copying the
68576         definiens of the fast variant; that way, we'll be more likely to
68577         catch future bugs in the fast variants.
68578
68579 2003-10-20  Bruno Haible  <bruno@clisp.org>
68580
68581         * modules/wait-process: New file.
68582         * MODULES.html.sh (func_all_modules): Add wait-process.
68583
68584 2003-10-20  Bruno Haible  <bruno@clisp.org>
68585
68586         * m4/wait-process.m4: New file.
68587
68588 2003-10-20  Bruno Haible  <bruno@clisp.org>
68589
68590         * lib/wait-process.h: New file, from GNU gettext.
68591         * lib/wait-process.c: New file, from GNU gettext.
68592
68593 2003-10-19  Jim Meyering  <jim@meyering.net>
68594
68595         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
68596         HPUX 10.20.
68597
68598 2003-10-18  Karl Berry  <karl@gnu.org>
68599
68600         * config/config.guess: update from config.
68601
68602 2003-10-16  Paul Eggert  <eggert@twinsun.com>
68603
68604         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
68605         (getgroups): First arg is int, not size_t.
68606         Don't let 'free' mangle errno.
68607
68608 2003-10-16  Paul Eggert  <eggert@twinsun.com>
68609
68610         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
68611
68612 2003-10-16  Karl Berry  <karl@gnu.org>
68613
68614         * config/config.{guess,sub}: update from config.
68615
68616 2003-10-16  Jim Meyering  <jim@meyering.net>
68617
68618         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
68619         memcpy.
68620
68621 2003-10-15  Paul Eggert  <eggert@twinsun.com>
68622
68623         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
68624         (SIZE_MAX): Remove.
68625         (new_exclude, add_exclude_file): Initial size no longer needs to
68626         be a power of 2.
68627         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
68628         our own address arithmetic overflow checking.
68629
68630         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
68631         (fnmatch): Do not alloca more than 2000 wide characters;
68632         instead, use malloc for large buffers.
68633         Check for address arithmetic overflow, and return -1
68634         with errno set to ENOMEM in that case.
68635         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
68636         (NEW_PATTERN): Do not alloca more than 8000 bytes;
68637         instead, return -1.  Check for address arithmetic overflow.
68638
68639 2003-10-14  Paul Eggert  <eggert@twinsun.com>
68640
68641         Handle invalid suffixes and overflow independently, so that
68642         callers can treat them independently as needed.  Fix some bugs in
68643         suffix handling, e.g., "100k@" was not diagnosed as an invalid
68644         suffix for a human-readable blocksize.  The major caller-visible
68645         change is the addition of a new
68646         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
68647         that both overflow and suffix chars were found.
68648
68649         * lib/human.c (humblock): Don't check separately for invalid suffix
68650         char; that is xstrtoumax's job (now that its bug is fixed).
68651         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
68652         INTMAX_MAX]: New macros.
68653         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
68654         TYPE_MAXIMUM): New macros.
68655         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
68656         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
68657         if overflow occurs, as it's what __strtol does and it's more useful
68658         in practice.
68659         (__xstrtol): If __strtol reports some error other than ERANGE,
68660         reflect it to the caller as LONGINT_INVALID.  If it reports
68661         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
68662         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
68663         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
68664         value.
68665         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
68666         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
68667         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
68668         [defined UINTMAX_MAX]: New macros.
68669
68670 2003-10-14  Bruno Haible  <bruno@clisp.org>
68671
68672         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
68673
68674 2003-10-14  Bruno Haible  <bruno@clisp.org>
68675
68676         * m4/sig_atomic_t: New file, from GNU gettext.
68677         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
68678
68679 2003-10-14  Bruno Haible  <bruno@clisp.org>
68680
68681         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
68682         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
68683         Also use volatile where needed.
68684
68685 2003-10-12  Paul Eggert  <eggert@twinsun.com>
68686
68687         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
68688         Change maintainer from Bruno Haible to 'all'.
68689
68690 2003-10-12  Paul Eggert  <eggert@twinsun.com>
68691
68692         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
68693
68694 2003-10-12  Paul Eggert  <eggert@twinsun.com>
68695
68696         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
68697         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
68698         and define in terms of the other primitives.
68699         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
68700         (SIZE_MAX): Define if not already defined.
68701         (array_size_overflow): New function.
68702         (xalloc_die): Abort instead of exiting if 'error' returns.
68703         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
68704         (xmalloc, xrealloc): Use them.
68705         (xcalloc): Check for address arithmetic overflow.
68706         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
68707         a bit faster than strcpy.
68708
68709 2003-10-10  Simon Josefsson  <jas@extundo.com>
68710
68711         * modules/argp (Depends-on): Add restrict and strcase.
68712
68713 2003-10-10  Simon Josefsson  <jas@extundo.com>
68714
68715         * m4/argp.m4: Add AC_C_INLINE.
68716
68717 2003-10-08  Paul Eggert  <eggert@twinsun.com>
68718
68719         Merge getpass from libc, plus a few fixes.
68720
68721         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
68722         Include <stdbool.h>.
68723         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
68724         __fsetlocking to empty.
68725         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
68726         do include <bits/libc-lock.h>.
68727         Do not include <fcntl.h>; not needed.
68728         [_LIBC]: Include <wchar.h>.
68729         (NOTCANCEL_MODE): New macro.
68730         (flockfile, funlockfile) [_LIBC]: New macros.
68731         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
68732         [!_LIBC]: New macros.
68733         (call_fclose): New function.
68734         (getpass): Use it.  Save tty stream separately; this simplifies the
68735         code and makes it more reliable if stdin happens to equal stdout.
68736         Invoke __fsetlocking on tty.
68737         Handle thread cancellation if needed.
68738         Namespace cleanup (use __tcgetattr, __getline).
68739         Use bool for Booleans.
68740         [USE_IN_LIBIO]: Handle wide streams.
68741         [!_LIBC]: Unconditionally do the fseek, since we don't know what
68742         stream might go where.
68743
68744         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
68745         doesn't have to include <stdio.h> before us.
68746         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
68747         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
68748         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
68749         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
68750         if not declared, so that we can use getpass.c code from libc without
68751         rewriting it.
68752         (flockfile, ftrylockfile, funlockfile): New macros.
68753
68754 2003-10-08  Paul Eggert  <eggert@twinsun.com>
68755
68756         * modules/getpass: Depend on stdbool.
68757
68758 2003-10-08  Paul Eggert  <eggert@twinsun.com>
68759
68760         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
68761
68762 2003-10-07  Karl Berry  <karl@gnu.org>
68763
68764         * config/config.{guess,sub}: update from config.
68765
68766 2003-10-06  Jim Meyering  <jim@meyering.net>
68767             Bruno Haible  <bruno@clisp.org>
68768
68769         This lets translators provide better translations for the
68770         "Written by ..." part of --version output.
68771         * lib/version-etc.h: Include stdarg.h.
68772         (version_etc_copyright): Declare as readonly.
68773         (version_etc): Make this function variadic with a NULL-terminated list
68774         of author name strings.
68775         (version_etc_va): New declaration.
68776         * lib/version-etc.c: Include stdarg.h, stdlib.h.
68777         (version_etc_copyright): Declare as readonly.
68778         (version_etc_va): New function. Provide a different translatable string
68779         for each possible number of authors < 10. Abbreviate when there are 10
68780         authors or more.
68781         (version_etc): Make this function variadic. Call version_etc_va.
68782         Suggestion from Gary V. Vaughan.
68783
68784         * lib/long-options.h (parse_long_options): Change prototype: the
68785         authors string is moved to the end and becomes variadic.
68786         * lib/long-options.c: Include stdarg.h.
68787         (parse_long_options): Make this function variadic, too.
68788         Call version_etc_va, not version_etc.
68789
68790 2003-10-06  Bruno Haible  <bruno@clisp.org>
68791
68792         * modules/version-etc-2: Remove file.
68793         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
68794
68795 2003-10-06  Bruno Haible  <bruno@clisp.org>
68796
68797         * modules/fatal-signal: New file.
68798         * MODULES.html.sh (func_all_modules): Add fatal-signal.
68799
68800 2003-10-06  Bruno Haible  <bruno@clisp.org>
68801
68802         * m4/fatal-signal.m4: New file.
68803         * m4/signalblocking.m4: New file, from GNU gettext.
68804
68805 2003-10-06  Bruno Haible  <bruno@clisp.org>
68806
68807         * lib/version-etc-2.h: Remove file.
68808         * lib/version-etc-2.c: Remove file.
68809
68810 2003-10-06  Bruno Haible  <bruno@clisp.org>
68811
68812         * lib/fatal-signal.h: New file, from GNU gettext.
68813         * lib/fatal-signal.c: New file, from GNU gettext.
68814
68815 2003-10-05  Paul Eggert  <eggert@twinsun.com>
68816
68817         * README: Rework advice for preventing empty .o files.
68818         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
68819         not <sys/types.h>.
68820
68821 2003-10-04  Karl Berry  <karl@gnu.org>
68822
68823         * lib/argp*: update from libc.
68824
68825 2003-10-04  Karl Berry  <karl@gnu.org>
68826
68827         * config/config.{guess,sub}: update from config.
68828
68829 2003-10-02  Bruno Haible  <bruno@clisp.org>
68830
68831         * modules/lchown (Include): Add lchown.h.
68832         * modules/time_r (Include): Use "..." syntax.
68833         * modules/xgetdomainname (Include): Add xgetdomainname.h.
68834
68835 2003-10-01  Simon Josefsson  <jas@extundo.com>
68836
68837         * MODULES.html.sh (func_all_modules): Move gethostname from section
68838         'based on' to section 'lacking' POSIX:2001.
68839
68840 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
68841
68842         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
68843         to output mode on the same stream.
68844
68845 2003-09-29  Paul Eggert  <eggert@twinsun.com>
68846
68847         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
68848         Fix arg typo in previous patch.
68849
68850 2003-09-28  Jim Meyering  <jim@meyering.net>
68851
68852         * lib/error.c: Correct cpp indentation.
68853
68854 2003-09-27  Paul Eggert  <eggert@twinsun.com>
68855
68856         * modules/free: New file.
68857
68858 2003-09-27  Paul Eggert  <eggert@twinsun.com>
68859
68860         * m4/free.m4: New file.
68861
68862 2003-09-27  Paul Eggert  <eggert@twinsun.com>
68863
68864         * lib/minmax.h (MIN, MAX)
68865         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
68866         Omit the special code that used __typeof__, since we worry that
68867         it could be more trouble than it's worth.  See:
68868         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
68869         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
68870
68871         * lib/free.c: New file.
68872
68873 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
68874
68875         Trivial fixes to Makefile.am parts of module listings.
68876         * modules/strstr: Append strstr.h to lib_SOURCES.
68877         * modules/strcase: Likewise, for strcase.h.
68878
68879 2003-09-27  Karl Berry  <karl@gnu.org>
68880
68881         * config/mkinstalldirs: update from automake.
68882
68883 2003-09-26  Paul Eggert  <eggert@twinsun.com>
68884
68885         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
68886         (error_tail): Do not loop, reallocating temporary buffer, since
68887         the output cannot contain more wide characters than the input
68888         contains bytes, the size must be big enough already.  This avoids
68889         one potential size overflow calculation.  Check for size overflow
68890         when calculating temporary buffer size.  Free temporary buffer
68891         when done, if it was allocated with malloc; this plugs a memory
68892         leak.  Remove casts from void * to pointers, that are no longer
68893         needed now that we're assuming C89 or better.
68894
68895         Merge error changes from glibc.
68896
68897         * lib/error.c, error.h: Update copyright notice header to match glibc.
68898         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
68899         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
68900         Disable cancellation while printing error.
68901         * lib/error.h: Prepend __ to parameter names.
68902
68903 2003-09-26  Jim Meyering  <jim@meyering.net>
68904
68905         * lib/error.c (error_tail): Move some declarations
68906         into inner scope where the local variables are used.
68907
68908 2003-09-26  Bruno Haible  <bruno@clisp.org>
68909
68910         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
68911         stpncpy().
68912         Don't define stpncpy through config.h; it's now done through stpncpy.h.
68913
68914 2003-09-26  Bruno Haible  <bruno@clisp.org>
68915
68916         * lib/stpncpy.h (gnu_stpncpy): New declaration.
68917         (stpncpy): Define as alias for gnu_stpncpy.
68918         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
68919
68920 2003-09-25  Simon Josefsson  <jas@extundo.com>
68921
68922         * lib/xgetdomainname.h: New file.
68923         * lib/xgetdomainname.c: New file.
68924
68925 2003-09-25  Simon Josefsson  <jas@extundo.com>
68926             Bruno Haible  <bruno@clisp.org>
68927
68928         * modules/getdomainname: New file.
68929         * modules/xgetdomainname: New file.
68930         * MODULES.html.sh (func_all_modules): Add getdomainname,
68931         xgetdomainname.
68932
68933 2003-09-25  Simon Josefsson  <jas@extundo.com>
68934             Bruno Haible  <bruno@clisp.org>
68935
68936         * m4/getdomainname.m4: New file.
68937
68938 2003-09-25  Simon Josefsson  <jas@extundo.com>
68939             Bruno Haible  <bruno@clisp.org>
68940
68941         * lib/getdomainname.h: New file.
68942         * lib/getdomainname.c: New file.
68943
68944 2003-09-25  Karl Berry  <karl@gnu.org>
68945
68946         * lib/argp-fmtstream.c, argp-help.c: update from libc.
68947
68948 2003-09-25  Karl Berry  <karl@gnu.org>
68949
68950         * config/install-sh: update from automake.
68951
68952 2003-09-25  Bruno Haible  <bruno@clisp.org>
68953
68954         * modules/version-etc-2: New file, from modules/version-etc with
68955         modifications.
68956         * MODULES.html.sh (func_all_modules): Add version-etc-2.
68957
68958 2003-09-25  Bruno Haible  <bruno@clisp.org>
68959
68960         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
68961         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
68962
68963 2003-09-24  Simon Josefsson  <jas@extundo.com>
68964
68965         * modules/xgethostname: Add xgethostname.h.
68966
68967 2003-09-24  Paul Eggert  <eggert@twinsun.com>
68968
68969         * lib/linebuffer.c (freebuffer): Don't free the argument, just
68970         the buffer associated with the argument.  Bug reported by
68971         Simon Josefsson.
68972
68973 2003-09-24  Paul Eggert  <eggert@twinsun.com>
68974
68975         * README: Document assumptions that 'int' is at least 32 bits
68976         wide, that integer arithmetic is 2's complement without overflow,
68977         that there are no holes in integer values, that adding sizes of
68978         two nonoverlapping objects can't overflow, and that all-bits-zero
68979         yields scalar zero.  Fix spelling and capitalization typos.
68980
68981 2003-09-19  Karl Berry  <karl@gnu.org>
68982
68983         * lib/argp.h: update from libc.
68984
68985 2003-09-17  Paul Eggert  <eggert@twinsun.com>
68986
68987         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
68988         to avoid spurious warnings like "AC_RUN_IFELSE was called before
68989         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
68990
68991 2003-09-17  Paul Eggert  <eggert@twinsun.com>
68992
68993         * gnulib-tool: Use "test -h", not "test -L", for portability
68994         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
68995         (tags_regexp): Remove, since \| doesn't conform to POSIX.
68996         (sed_extract_prog): Issue s commands one-by-one, rather than
68997         using \| in one s command.
68998
68999 2003-09-16  Paul Eggert  <eggert@twinsun.com>
69000
69001         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
69002         input error, instead of returning NULL the next time we are called
69003         (and therefore losing track of errno).
69004
69005 2003-09-16  Bruno Haible  <bruno@clisp.org>
69006
69007         * gnulib-tool (func_create_testdir): Warn about duplicated
69008         dependencies.
69009
69010 2003-09-15  Paul Eggert  <eggert@twinsun.com>
69011
69012         * modules/argmatch, modules/fatal, modules/obstack,
69013         modules/xalloc, modules/xgethostname: Sort dependencies by
69014         importance, not alphabetically.
69015
69016 2003-09-15  Paul Eggert  <eggert@twinsun.com>
69017
69018         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
69019         fails, so that the caller gets the proper errno.
69020
69021         * lib/readutmp.c (read_utmp): Likewise.
69022         Check for fstat error.  Close stream and free storage
69023         when failing.
69024
69025 2003-09-14  Karl Berry  <karl@gnu.org>
69026
69027         * config/srclist.txt (strdup.c): disable for c89 changes.
69028
69029 2003-09-14  Jim Meyering  <jim@meyering.net>
69030
69031         * lib/getloadavg.c: Correct cpp indentation.
69032         * lib/strdup.c: Likewise.
69033         * lib/vasnprintf.c: Likewise.
69034
69035 2003-09-14  Bruno Haible  <bruno@clisp.org>
69036
69037         * modules/fwriteerror: New file.
69038         * MODULES.html.sh (func_all_modules): Add fwriteerror.
69039
69040 2003-09-14  Bruno Haible  <bruno@clisp.org>
69041
69042         * lib/fwriteerror.h: New file.
69043         * lib/fwriteerror.c: New file.
69044
69045 2003-09-12  Paul Eggert  <eggert@twinsun.com>
69046
69047         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
69048         modules/xgethostname, modules/xalloc: Depend on exit.
69049
69050 2003-09-12  Paul Eggert  <eggert@twinsun.com>
69051
69052         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
69053
69054         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
69055         and AC_MINIX, too, so that their extensions are available.
69056
69057         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
69058         This macro has been superseded by gl_BACKUPFILE.
69059
69060         More patches to assume C89 or better.
69061
69062         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
69063
69064         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
69065         unconditionally.
69066         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
69067         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
69068         Include <string.h>, <stdlib.h> unconditionally.
69069         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
69070         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
69071         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
69072         headers or for string.h.
69073         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
69074         or strtoul.
69075
69076         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
69077         headers.
69078         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
69079         * m4/userspec.m4 (gl_USERSPEC): Likewise.
69080         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
69081         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
69082         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
69083         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
69084         memcpy, memset.
69085         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
69086         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
69087         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
69088         strtol.
69089         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
69090         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
69091         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
69092         strtoul.
69093
69094 2003-09-12  Paul Eggert  <eggert@twinsun.com>
69095
69096         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
69097         * lib/obstack.c [!defined _LIBC]: Likewise.
69098         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
69099         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
69100         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
69101
69102         More changes to assume C89 or better.
69103
69104         * lib/error.c (error_tail): Assume vprintf.
69105
69106         * lib/argmatch.c (getenv): Remove decl.
69107         * lib/progreloc.c (get_full_program_name): Define via prototype.
69108         * lib/setenv.c (clearenv): Likewise.
69109         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
69110         needed.
69111         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
69112         (malloc, memcpy): Remove decls.
69113         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
69114         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
69115         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
69116         (memcpy): Remove macro.
69117         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
69118         (__P): Remove.  All uses removed.
69119         (PTR): Remove.  All uses changed to void *.
69120         (CHAR_BIT, NULL): Remove.
69121         (spaces, zeros, memset_space, memset_zero)
69122         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
69123         Remove.
69124         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
69125         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
69126         Define with prototype.
69127         Remove now-unnecessary prototype decl.
69128         (extra_args_spec): Assume ANSI C.  All uses changed.
69129         (extra_args_spec_iso): Remove.
69130         (my_strftime, emacs_strftimeu): Define via prototype.
69131         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
69132         unconditionally.
69133         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
69134         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
69135         (strtoul, strtol): Remove decls.
69136         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
69137         LONG_MAX): Remove.
69138         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
69139         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
69140         (LOCALE_PARAM_PROTO): New macro.
69141         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
69142         (INTERNAL (strtol), strtol): Define with a prototype.
69143         (PARAMS): Remove.  All uses removed.
69144         * lib/tempname.c: Include <string.h> unconditionally.
69145         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
69146         * lib/xgethostname.c (main): Define with a prototype.
69147         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
69148         Include <stdlib.h> unconditionally.
69149         (calloc, malloc, realloc, free): Remove decls.
69150         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
69151         Include <stdlib.h> unconditionally.  Sort include file names.
69152         (strtod): Remove.
69153         (xstrtod): Define with a prototype.
69154         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
69155         (strtol, strtoul): Remove decls.
69156
69157 2003-09-11  Paul Eggert  <eggert@twinsun.com>
69158
69159         More patches to assume C89 or better.
69160         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
69161         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
69162         string.h, memchr, STDC_HEADERS.
69163
69164 2003-09-11  Paul Eggert  <eggert@twinsun.com>
69165
69166         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
69167         Include <stdlib.h>, <string.h> unconditionally.
69168         Remove now-unnecessary cast to char *.
69169         * lib/strnlen.c: Include <string.h> unconditionally.
69170         * lib/yesno.c (yesno): Define with a prototype.
69171
69172 2003-09-11  Bruno Haible  <bruno@clisp.org>
69173
69174         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
69175
69176 2003-09-10  Jim Meyering  <jim@meyering.net>
69177
69178         * lib/error.c: Correct indentation of cpp directives.
69179
69180 2003-09-10  Bruno Haible  <bruno@clisp.org>
69181
69182         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
69183         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
69184         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
69185         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
69186         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
69187         <stdlib.h> and <string.h> checks.
69188         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
69189         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
69190
69191 2003-09-10  Bruno Haible  <bruno@clisp.org>
69192
69193         * lib/strcspn.c: Include <string.h> unconditionally.
69194         * lib/strpbrk.c: Include <string.h> unconditionally.
69195         * lib/strstr.c: Include <string.h> unconditionally.
69196         * lib/unicodeio.c: Include <string.h> unconditionally.
69197         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
69198         * lib/unsetenv.c: Likewise.
69199         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
69200         * lib/yesno.c: Include <stdlib.h> unconditionally.
69201         (rpmatch): Add prototype.
69202
69203 2003-09-09  Paul Eggert  <eggert@twinsun.com>
69204
69205         More patches to assume C89 or better.
69206         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
69207         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
69208         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
69209         or for string.h.
69210         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
69211         stdlib.h.
69212         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
69213         C headers.
69214         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
69215         string.h.
69216         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
69217         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
69218         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
69219         or for string.h.
69220         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
69221         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
69222         C headers.
69223         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
69224         memcpy.
69225         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
69226         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
69227         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
69228         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
69229         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
69230         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
69231         string.h, free.
69232         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
69233         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
69234         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
69235         C headers, or for string.h.
69236         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
69237         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
69238         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
69239         headers, memory.h, stdlib.h, string.h, strings.h.
69240         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
69241         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
69242         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
69243         strchr.
69244         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
69245         headers, memory.h, string.h.
69246         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
69247         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
69248         free.
69249         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
69250         headers.
69251         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
69252         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
69253         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
69254         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
69255         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
69256
69257 2003-09-09  Paul Eggert  <eggert@twinsun.com>
69258
69259         More K&R removal.
69260
69261         * lib/acosl.c (main): Use a prototype.
69262         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
69263         tanl.c: Likewise.
69264
69265         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
69266
69267         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
69268         (getopt, etopt_long, getopt_long_only, _getopt_internal)
69269         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
69270         with a prototype.
69271         * lib/getopt.c (const): Remove macro.
69272         Include <string.h> unconditionally.
69273         (my_index): Remove; all uses changed to strchr.
69274         (strlen): Remove decl.
69275         (exchange): Remove forward decl; no longer needed.
69276         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
69277         Define with prototype.
69278         * lib/getopt1.c (const): Remove macro.
69279         (getopt_long, getopt_long_only, main): Define with prototype.
69280
69281         * lib/getugroups.c: Include <string.h> unconditionally.
69282
69283         * lib/getusershell.c: Include <stdlib.h> unconditionally.
69284         (getusershell, setusershell, endusershell, readname, main):
69285         Define with prototypes.
69286
69287         * lib/group-member.c: Include group-member.h first.
69288         Include <stdlib.h> unconditionally.
69289
69290         * lib/hard-locale.c: Include hard-locale.h first.
69291         Include <stdlib.h>, <string.h> unconditionally.
69292
69293         * lib/hash.c (free, malloc): Remove decls.
69294         Include <stdlib.h> unconditionally.
69295
69296         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
69297         (getenv): Do not declare.
69298
69299         * lib/idcache.c: Include <string.h> unconditionally.
69300
69301         * lib/long-options.c: Include long-options.h first, to test interface.
69302         Include <stdlib.h> unconditionally.
69303
69304         * lib/makepath.c: Include makepath.h first, to test interface.
69305         Include <stdlib.h> and <string.h> unconditionally.
69306
69307         * lib/linebuffer.c: Include <stdlib.h>.
69308         (free): Remove decl.
69309
69310         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
69311         stddef.h. rpl_malloc returns void *, not char *.
69312         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
69313         prototype.
69314
69315         * lib/md5.h: Include <limits.h> unconditionally.
69316         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
69317         (__P): Remove; all uses removed.
69318         * lib/md5.c: Include "md5.h" first.
69319         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
69320         md5_buffer, md5_process_bytes, md5_process_block):
69321         Define with prototypes.
69322         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
69323         * lib/sha.c: Include "sha.h" first.
69324         Include <stdlib.h>, <string.h> unconditionally.
69325
69326         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
69327         * lib/memcmp.c (__ptr_t): Likewise.
69328         * lib/memrchr.c (__ptr_t): Likewise.
69329         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
69330         Include <string.h> unconditionally.
69331         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
69332         * lib/memchr.c: Include <stdlib.h> unconditionally.
69333         * lib/memchr.c (LONG_MAX): Remove.
69334         * lib/memrchr.c (LONG_MAX): Likewise.
69335         * lib/memchr.c (__memchr): Define via a prototype.
69336         * lib/memrchr.c (__memrchr): Likewise.
69337         * lib/memcmp.c (__P): Remove, and remove all uses.
69338         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
69339         Remove forward decls; no longer needed.
69340         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
69341         Use types required by C89 in prototype.
69342
69343         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
69344         * lib/savedir.c: Likewise.
69345         * lib/mkdir.c (free): Remove decl.
69346         * lib/rmdir.c (rmdir): Define with a prototype.
69347         * lib/savedir.c: Include savedir.h first, to test interface.
69348
69349         * lib/mktime.c (STDC_HEADERS): Remove.
69350         Include <stdlib.h>, <string.h> unconditionally.
69351
69352         * lib/modechange.c: Include <stdlib.h> unconditionally.
69353         (malloc): Remove decl.
69354
69355         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
69356         (free): Remove decl.
69357
69358         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
69359         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
69360         (This type really should be intptr_t, but that's a C99ism.)
69361         (_obstack_memcpy): Remove: all uses changed to memcpy.
69362         Include <string.h> unconditionally.
69363         (struct obstack): Assume __STDC__ for types of members
69364         chunkfun, freefun, extra_arg.
69365         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
69366         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
69367         obstack_begin, obstack_specify_allocation,
69368         obstack_specify_allocation_with_arg, obstack_chunkfun,
69369         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
69370         Remove unprototyped decls and the macros that use them.
69371         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
69372         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
69373         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
69374         (defined __STDC__ && __STDC__)]:
69375         Remove nonprototyped code.
69376         Include <stdlib.h> unconditionally.
69377         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
69378         _obstack_allocated_p, _obstack_free, obstack_free,
69379         _obstack_memory_used, print_and_abort):
69380         Define using prototypes.
69381         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
69382         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
69383         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
69384         obstack_next_free, obstack_object_size, obstack_room) [0]:
69385         Remove unused, unprototyped code.
69386
69387         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
69388
69389         * lib/physmem.c (physmem_total, physmem_available, main): Define
69390         with prototypes.
69391
69392         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
69393         (main): Define with a prototype.
69394
69395         * lib/posixver.c (getenv): Remove decl.
69396
69397         * lib/putenv.c (malloc): Returns void *, not char *.
69398         Include <string.h> unconditionally.
69399         (strchr, memcpy, NULL): Do not define.
69400
69401         * lib/readtokens.c: Include readtokens.h first, to test interface.
69402         Include <stdlib.h>, <string.h> unconditionally.
69403         (init_tokenbuffer): Define with a prototype.
69404
69405         * lib/regex.c (PARAMS): Remove.  All uses removed.
69406         All uses of _RE_ARGS removed, too.
69407         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
69408         unconditionally.
69409         (bzero): Assume memset exists.
69410         (memcmp, memcpy, NULL): Remove.
69411         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
69412         char, or assignments to local vars of type signed char.
69413         (init_syntax_once, PREFIX(extract_number_and_incr),
69414         PREFIX(print_partial_compiled_pattern),
69415         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
69416         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
69417         PREFIX(regex_grow_registers), PREFIX(regex_compile),
69418         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
69419         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
69420         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
69421         wcs_compile_range, byte_compile_range, truncate_wchar,
69422         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
69423         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
69424         count_mbs_length, wcs_re_match_2_internal,
69425         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
69426         PREFIX(alt_match_null_string_p),
69427         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
69428         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
69429         regfree, PREFIX(extract_number)): Define with prototype.  Remove
69430         now-unnecessary declaration, if any.
69431         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
69432         regcomp, regexec):
69433         Remove now-unnecessary casts among pointer types.
69434         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
69435
69436         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
69437         (free): Remove decl.
69438
69439         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
69440
69441         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
69442         (free): Remove decl.
69443
69444         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
69445         * lib/xgetcwd.c: Likewise.
69446
69447         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
69448         (free): Remove decl.
69449
69450         * lib/strchrnul.c (strchrnul): Define with a prototype.
69451         Fix bug: c_in was not converted to char before searching.
69452
69453         The following changes are not K&R related:
69454
69455         * lib/group-member.h: Include <sys/types.h>, so that this file is
69456         self-contained.
69457         * lib/makepath.h: Likewise.
69458
69459         * lib/getusershell.c (readname, default_index, line_size, readname):
69460         Use size_t, not int, for sizes.
69461         (readname): If the size overflows, report an error instead of
69462         looping forever.
69463
69464 2003-09-09  Paul Eggert  <eggert@twinsun.com>
69465
69466         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
69467         libc.
69468
69469 2003-09-09  Paul Eggert  <eggert@twinsun.com>
69470
69471         * README: New section: portability guidelines.
69472
69473 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
69474
69475         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
69476         C89 spec.
69477
69478 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
69479
69480         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
69481
69482 2003-09-08  Paul Eggert  <eggert@twinsun.com>
69483
69484         Assume C89 or better; remove K&R cruft.
69485         A few of these changes were first proposed by Derek Robert Price
69486         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
69487
69488         * lib/addext.c: Include <string.h> unconditionally.
69489         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
69490         Don't declare getenv or malloc.
69491
69492         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
69493         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
69494         (NULL): Remove.
69495         (find_stack_direction, alloca): Use prototypes.
69496
69497         * lib/atexit.c (atexit): Define using a prototype.
69498
69499         * lib/basename.c, dirname.c, stripslash.c:
69500         Include <string.h> unconditionally.
69501
69502         * lib/bcopy.c: Include <stddef.h>.
69503         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
69504
69505         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
69506
69507         * lib/error.h (error, error_at_line, error_print_progname)
69508         [! (defined (__STDC__) && __STDC__)]: Remove decls.
69509         * lib/error.c: Include error.h first, to check interface.
69510         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
69511         (VA_START): Remove; all uses changeed to va_start.
69512         (exit, strerror): Remove decls.
69513         (error_print_progname): Prototype uncondionally.
69514         Don't include <errno.h>; no longer needed.
69515         (private_strerror): Remove.
69516         (error_tail): Always define.
69517         (error, error_at_line): Assume C89 or better; always use prototypes.
69518         * lib/fatal.c: Include "fatal.h" first, to test interface.
69519         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
69520         (VA_START): Remove; all uses changed to va_start.
69521         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
69522         this case.
69523         (exit): Remove decl.
69524         (fatal): Prototype unconditionally.  Assume va_start works.
69525         Abort at end, to pacify gcc.
69526
69527         * lib/euidaccess.c (main): Define with a prototype.
69528
69529         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
69530
69531         * lib/exitfail.c: Include <stdlib.h> unconditionally.
69532
69533         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
69534         prototypes.
69535         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
69536         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
69537         (getenv): Remove decl.
69538         (fnmatch): Define using a prototype.
69539         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
69540         (FCT): Define using a prototype.
69541
69542         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
69543
69544         * lib/gethostname.c: Include <stddef.h>.
69545         (gethostname): Define with prototype.  Length is size_t, not int.
69546
69547 2003-09-08  Paul Eggert  <eggert@twinsun.com>
69548
69549         Assume C89 or better; remove K&R cruft.
69550         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
69551         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
69552         string.h, getenv, malloc.
69553         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
69554         headers.
69555         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
69556         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
69557         do not check for strerror.
69558         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
69559         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
69560         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
69561         do not check for doprnt or vprintf.
69562         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
69563         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
69564
69565 2003-09-08  Paul Eggert  <eggert@twinsun.com>
69566
69567         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
69568         getversion.c should have been removed then, but was accidentally
69569         preserved.
69570
69571         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
69572         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
69573
69574 2003-09-08  Karl Berry  <karl@gnu.org>
69575
69576         * config/config.sub, config.guess, srclistvars.sh: update from savannah
69577                 config, forget about prep.
69578
69579         * config/depcomp, missing: update from automake.
69580
69581 2003-09-07  Paul Eggert  <eggert@twinsun.com>
69582
69583         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
69584         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
69585
69586 2003-09-07  Paul Eggert  <eggert@twinsun.com>
69587
69588         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
69589         copy_tm_result.  Bug reported by Simon Josefsson in
69590         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
69591
69592 2003-09-06  Paul Eggert  <eggert@twinsun.com>
69593
69594         * m4/time_r.m4: New file.
69595         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
69596         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
69597         is. Check for timegm declaration.
69598         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
69599         Do not check for gmtime_r.
69600         Replace mktime if __mktime_internal does not exist and if mktime
69601         hasn't been replaced already.
69602
69603 2003-09-06  Paul Eggert  <eggert@twinsun.com>
69604
69605         * lib/time_r.c, lib/time_r.h: New files.
69606
69607         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
69608         __localtime_r.
69609         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
69610         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
69611
69612         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
69613         __gmtime_r.
69614         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
69615         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
69616         Include <time_r.h>.
69617
69618         * lib/timegm.c: Switch to glibc implementation, with the following
69619         changes:
69620         [defined HAVE_CONFIG_H]: Include <config.h>.
69621         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
69622         (__mktime_internal) [!defined _LIBC]: New decl.
69623         (__gmtime_r) [!defined _LIBC]: New macro and function.
69624         (timegm): Use a prototype, since gnulib assumes C89.
69625         Do not bother declaring tmp to be const, as it's not really usefu.
69626         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
69627         (timegm): Declare only if HAVE_DECL_TIMEGM.
69628
69629 2003-09-06  Paul Eggert  <eggert@twinsun.com>
69630
69631         * MODULES.html.sh (func_all_modules): Add time_r.
69632         * modules/time_r: New file.
69633         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
69634         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
69635
69636 2003-09-03  Paul Eggert  <eggert@twinsun.com>
69637
69638         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
69639         Bug reported by Lute Kamstra in
69640         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
69641
69642         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
69643         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
69644         course with correspondingly smaller numbers for tomorrow and
69645         yesterday.  From Tadayoshi Funaba.  Originally installed into
69646         sh-utils on 1999-08-07, but the patch got lost (I guess during the
69647         coreutils merge?).
69648
69649 2003-08-31  Simon Josefsson  <jas@extundo.com>
69650
69651         * modules/timegm: New file.
69652         * MODULES.html.sh (func_all_modules): Add timegm.
69653
69654 2003-08-31  Simon Josefsson  <jas@extundo.com>
69655
69656         * m4/timegm.m4: New file.
69657
69658 2003-08-31  Simon Josefsson  <jas@extundo.com>
69659
69660         * lib/timegm.h: New file.
69661         * lib/timegm.c: New file.  Based on
69662         wget-1.8.2/src/http.c:mktime_from_utc.
69663
69664 2003-08-31  Karl Berry  <karl@gnu.org>
69665
69666         * lib/argp.h: update from libc.
69667
69668 2003-08-28  Bruno Haible  <bruno@clisp.org>
69669
69670         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
69671         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
69672         followed by '#define fnmatch fnmatch_posix' gives an error.
69673
69674 2003-08-28  Bruno Haible  <bruno@clisp.org>
69675
69676         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
69677         warning on QNX, which defines O_BINARY to 000000.
69678
69679 2003-08-27  Jim Meyering  <jim@meyering.net>
69680
69681         * m4/mkstemp.m4: Require that the system mkstemp be able to create
69682         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
69683         would fail after 32.  Reported by Danny Levinson.  Details here:
69684         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
69685
69686 2003-08-24  Bruno Haible  <bruno@clisp.org>
69687
69688         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
69689         MSVC7 <stdio.h> is included later.
69690
69691 2003-08-22  Simon Josefsson  <jas@extundo.com>
69692
69693         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
69694
69695 2003-08-20  Karl Berry  <karl@gnu.org>
69696
69697         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
69698
69699 2003-08-20  Bruno Haible  <bruno@clisp.org>
69700
69701         * modules/progname: New file.
69702         * MODULES.html.sh (func_all_modules): Add progname.
69703
69704 2003-08-20  Bruno Haible  <bruno@clisp.org>
69705
69706         * lib/progname.h: New file, from GNU gettext.
69707         * lib/progname.c: New file, from GNU gettext.
69708         * lib/progreloc.c: New file, from GNU gettext.
69709
69710 2003-08-19  Jim Meyering  <jim@meyering.net>
69711
69712         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
69713         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
69714
69715 2003-08-19  Bruno Haible  <bruno@clisp.org>
69716
69717         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
69718         more.
69719
69720 2003-08-19  Bruno Haible  <bruno@clisp.org>
69721
69722         * lib/xstrdup.c: Assume <string.h> exists.
69723
69724 2003-08-18  Paul Eggert  <eggert@twinsun.com>
69725
69726         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
69727         in makefile rules.
69728
69729 2003-08-18  Jim Meyering  <jim@meyering.net>
69730
69731         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
69732         * m4/lib-ld.m4: Likewise.
69733
69734 2003-08-18  Jim Meyering  <jim@meyering.net>
69735
69736         * lib/setenv.h: Indent nested cpp directive.
69737         * lib/vasnprintf.c: Remove trailing blanks.
69738
69739 2003-08-17  Simon Josefsson  <jas@extundo.com>
69740
69741         * modules/xstrndup: New file.
69742         * MODULES.html.sh (func_all_modules): Add xstrndup.
69743
69744 2003-08-17  Simon Josefsson  <jas@extundo.com>
69745
69746         * modules/argp: Fix autoconf macro name. Add more dependencies.
69747
69748 2003-08-17  Simon Josefsson  <jas@extundo.com>
69749
69750         * m4/xstrndup.m4: New file.
69751
69752 2003-08-17  Simon Josefsson  <jas@extundo.com>
69753
69754         * m4/argp.m4: New file.
69755
69756 2003-08-17  Simon Josefsson  <jas@extundo.com>
69757             Bruno Haible  <bruno@clisp.org>
69758
69759         * lib/xstrndup.h: New file.
69760         * lib/xstrndup.c: New file.
69761
69762 2003-08-17  Bruno Haible  <bruno@clisp.org>
69763
69764         * modules/strndup (Files, Include): Add lib/strndup.h.
69765
69766 2003-08-17  Bruno Haible  <bruno@clisp.org>
69767
69768         * modules/euidaccess (Files): Add lib/euidaccess.h.
69769
69770 2003-08-17  Bruno Haible  <bruno@clisp.org>
69771
69772         * lib/strndup.h: New file.
69773
69774 2003-08-17  Bruno Haible  <bruno@clisp.org>
69775
69776         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
69777         like AC_GNU_SOURCE.
69778         * modules/extensions (configure.ac): Comment out the invocation of
69779         gl_USE_SYSTEM_EXTENSIONS.
69780
69781 2003-08-16  Paul Eggert  <eggert@twinsun.com>
69782
69783         Merges from coreutils, etc.
69784         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
69785         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
69786         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
69787         fixing a typo.
69788         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
69789         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
69790
69791 2003-08-16  Paul Eggert  <eggert@twinsun.com>
69792
69793         Document merge from coreutils.
69794         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
69795         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
69796         * modules/utime: Add m4/utimes-null.m4.
69797
69798 2003-08-16  Paul Eggert  <eggert@twinsun.com>
69799
69800         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
69801         space, undoing this 2003-08-12 change:
69802         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
69803
69804 2003-08-16  Paul Eggert  <eggert@twinsun.com>
69805
69806         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
69807         strtoul.c from libc, undoing this 2003-08-12 change:
69808         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
69809
69810 2003-08-16  Jim Meyering  <jim@meyering.net>
69811
69812         Merges from coreutils.
69813         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
69814         prefix.  Adjust cache variables similarly.  Create 500 rather than
69815         just 300 files, to exercise bug on Darwin6.5, too.
69816         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
69817         $missing_dir.
69818         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
69819         AM_SYS_POSIX_TERMIOS.
69820         Reported by mkc@mathdogs.com.
69821         Also change use of $am_cv_sys_posix_termios
69822         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
69823         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
69824         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
69825         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
69826         in /proc/mounts until it finds one with matching device number.  This
69827         is unnecessary when the FILE argument *is* a mount point.  No stat call
69828         is necessary in that case.  So, disable the statvfs-testing code on
69829         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
69830         as RedHat bug# 84846.
69831         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
69832         to 1MB, so as not to render systems with no stack size limit (e.g.,
69833         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
69834         Include <unistd.h>.  On some systems,
69835         it is required for the definition of _SC_PAGESIZE.
69836
69837 2003-08-16  Jim Meyering  <jim@meyering.net>
69838
69839         Merge from coreutils.
69840         * lib/xstrtoimax.c: #else #if -> #elif.
69841         * lib/xstrtoumax.c: Likewise.
69842
69843 2003-08-16  Jim Meyering  <jim@meyering.net>
69844
69845         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
69846         * m4/utimes.m4: Removed.
69847         * m4/utimes-null.m4: Renamed from utimes.m4.
69848
69849         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
69850         to 1MB, so as not to render systems with no stack size limit (e.g.,
69851         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
69852         Include <unistd.h>.  On some systems,
69853         it is required for the definition of _SC_PAGESIZE.
69854
69855 2003-08-16  Jim Meyering  <jim@meyering.net>
69856         and Paul Eggert  <eggert@cs.ucla.edu>
69857
69858         Merges from coreutils, etc.
69859
69860         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
69861         using the latest version from cvs.  This avoids problems with #line
69862         directives using a vendor (Sun) compiler.
69863         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
69864         Don't set GETGROUPS_LIB here; now it's
69865         done via getgroups.m4's wrapper function.
69866         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
69867         rather than just in sh-util/configure.in, so that the
69868         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
69869         same.
69870         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
69871         AC_FUNC_GETLOADAVG where to find getloadavg.c.
69872         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
69873         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
69874         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
69875         Remove code that is now done by the newly-required macros.
69876         Append $(EXEEXT) to DF_PROG.
69877         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
69878         Do not invoke or require the following here,
69879         since prereq.m4 or some gnulib .m4 now does this for us:
69880         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
69881         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
69882         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
69883         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
69884         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
69885         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
69886         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
69887         AC_FUNC_OBSTACK.
69888         Do not replace the following functions, as this is now the job
69889         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
69890         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
69891         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
69892         atexit getpass, strdup, getpagesize.
69893         Replace 'raise'.
69894         Do not check for the following functions, as this is now the job
69895         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
69896         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
69897         setregid.
69898         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
69899         Check for sys/sysctl.h.
69900         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
69901         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
69902         of checking for ssize_t ourselves.
69903
69904         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
69905         Require every macro that gnulib/modules/* suggests for us.
69906         (jm_PREREQ_ADDEXT): New macro.
69907         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
69908         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
69909
69910         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
69911         (gl_PHYSMEM): Use it.
69912         Also check for `table' function.
69913         Check for new headers and functions.
69914         Add check for sys/sysmp.h.
69915         With suggestions from Kaveh Ghazi.
69916         Ignore headers that are present but cannot be compiled.  This
69917         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
69918         C 5.4.
69919
69920 2003-08-15  Paul Eggert  <eggert@twinsun.com>
69921
69922         Document merge from coreutils.
69923         * modules/userspec: Depend on posixver.
69924         * modules/strftime: Depend on tzset.
69925
69926 2003-08-15  Paul Eggert  <eggert@twinsun.com>
69927
69928         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
69929         rather than tab, after '#' in shell-script copyright notices.
69930         Suggested by Bruno Haible.
69931
69932 2003-08-15  Paul Eggert  <eggert@twinsun.com>
69933
69934         * config/srclist-update: Use three spaces, rather than tab, after '#'
69935         in shell-script copyright notices.  Suggested by Bruno Haible.
69936         Remove unnecessary parenthesization in regular expression.
69937
69938 2003-08-15  Jim Meyering  <jim@meyering.net>
69939
69940         Merge from coreutils.
69941         * lib/xgethostname.c: Include <stdlib.h>.
69942         (xghostname): Don't exit for anything other than memory-related
69943         failure; just return NULL.
69944         * lib/userspec.c: Include "posixver.h".
69945         (parse_user_spec): Accept `.' as a separator only
69946         in pre-POSIX-200112 mode.
69947         * lib/strtoimax.c: Use #elif rather than #else #if.
69948         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
69949         Remove function, now that we can rely on a working tzset function.
69950         [!_LIBC]: Ensure that the required autoconf test has been run.
69951         [!defined _NL_CURRENT && HAVE_STRFTIME]:
69952         Use underlying_strftime for %r.
69953         * lib/sha.c: Merge in some clean-up and optimization changes from
69954         glibc.
69955         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
69956         Ensure that it is a multiple of 64.
69957         Rearrange loop exit tests so as to avoid performing an
69958         additional fread after encountering an error or EOF.
69959         * lib/realloc.c: Update copyright date.
69960
69961 2003-08-15  Jim Meyering  <jim@meyering.net>
69962         and Paul Eggert  <eggert@twinsun.com>
69963
69964         Merge from coreutils.
69965         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
69966         member but strut utmpx does not.  Needed for AIX 4.3.3.
69967         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
69968
69969 2003-08-15  Jim Meyering  <jim@meyering.net>
69970         and Paul Eggert  <eggert@cs.ucla.edu>
69971
69972         Merges from coreutils, etc.
69973         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
69974         Require gl_FUNC_TZSET_CLOBBER.
69975         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
69976         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
69977         members.
69978
69979 2003-08-14  Paul Eggert  <eggert@twinsun.com>
69980
69981         Help the merge from coreutils.
69982         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
69983         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
69984         * m4/tzset.m4: Use it too.
69985
69986 2003-08-14  Paul Eggert  <eggert@twinsun.com>
69987
69988         * modules/tzset: New file.
69989
69990 2003-08-14  Jim Meyering  <jim@meyering.net>
69991
69992         Merges from coreutils.
69993         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
69994         variable names, rather than @FNMATCH_H@.
69995         * modules/alloca: Likewise for $(ALLOCA_H).
69996
69997         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
69998         the three copies of the literal target, `fnmatch.h'.
69999         * modules/alloca (alloca.h): Likewise.
70000
70001 2003-08-14  Jim Meyering  <jim@meyering.net>
70002
70003         Merge from coreutils.
70004         * m4/tzset.m4: New file.
70005         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
70006         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
70007         otherwise, AIX 5.1 systems would end up using the latter.
70008         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
70009         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
70010         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
70011         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
70012
70013 2003-08-14  Jim Meyering  <jim@meyering.net>
70014
70015         Merge from coreutils.
70016         * lib/obstack.h: Whitespace changes.
70017         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
70018         and xcalloc return values.
70019         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
70020         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
70021         hang on OSF/1 5.1 for DIR on both local and remote file systems.
70022         Reported by (and fix confirmed by) Nelson H. F. Beebe.
70023         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
70024         error from mntctl.
70025         Use mntctl's return value to drive the entry-processing loop, since
70026         we can't rely on the value of the vmt_length member in the last
70027         entry.  On some systems doing so could result in exhausting
70028         virtual memory.  Based in part on a patch from Mike Jetzer.
70029
70030 2003-08-14  Jim Meyering  <jim@meyering.net>
70031         and Paul Eggert  <eggert@twinsun.com>
70032
70033         Merges from coreutils, plus other fixes.
70034         * lib/physmem.c: Merge in portability changes from gcc/libiberty
70035         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
70036         for credits and details.  Thanks to Kaveh Ghazi for helping
70037         to keep these files in sync.
70038         (ARRAY_SIZE): Define it.
70039         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
70040         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
70041         (memcasecmp): Don't assume size_t fits in unsigned int.
70042         Remove casts and duplicate code.
70043         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
70044         (memcpy): Remove definition.
70045         Merge in some clean-up and optimization changes from glibc.
70046         [BLOCKSIZE]: Move definition to top of file.
70047         Ensure that it is a multiple of 64.
70048         Rearrange loop exit tests so as to avoid performing an
70049         additional fread after encountering an error or EOF.
70050         * lib/md5.h (md5_uintptr): Define.
70051         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
70052         return to the initial working directory.  Preserve errno
70053         for caller.
70054         * lib/idcache.c: Include "xalloc.h".
70055         (xmalloc, xrealloc): Remove decls.
70056         (getuser): Remove casts no longer required in C89.
70057         * lib/human.c: Include stdio.h, for sprintf.
70058         * lib/group-member.c: Include "xalloc.h".
70059         (xmalloc, xrealloc): Remove decls.
70060         (get_group_info): Remove casts no longer required in C89.
70061         * lib/getusershell.c (readname): Remove casts no longer required in
70062         C89.
70063         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
70064         * lib/getline.c: Whitespace fix, from coreutils.
70065
70066 2003-08-13  Paul Eggert  <eggert@twinsun.com>
70067
70068         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
70069         Check for isascii.
70070
70071         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
70072         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
70073         Undo previous (whitespace-only) change.
70074
70075 2003-08-13  Paul Eggert  <eggert@twinsun.com>
70076
70077         * lib/exclude.c: Include <ctype.h>
70078         (IN_CTYPE_DOMAIN): New macro.
70079         (is_space): New fn.
70080         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
70081         and empty lines.
70082
70083         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
70084         Undo previous (whitespace-only) change.
70085
70086 2003-08-13  Paul Eggert  <eggert@twinsun.com>
70087
70088         * config/srclist-update: Change update back to the old behavior,
70089         leaving whitespace alone.  Use one 'sed' command rather than a
70090         pipeline.
70091         (fixlicense): Now a variable, not a function.
70092         (remove_trailing_blanks): Remove.
70093         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
70094         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
70095         Undo previous (whitespace-only) change.
70096
70097 2003-08-12  Paul Eggert  <eggert@twinsun.com>
70098
70099         Merge from coreutils.
70100         * modules/euidaccess: Add lib_SOURCES, include for new
70101         file euidaccess.h
70102
70103 2003-08-12  Paul Eggert  <eggert@twinsun.com>
70104
70105         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
70106         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
70107         Normalize leading white space and remove trailing white space.
70108
70109         Merge from coreutils
70110         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
70111
70112         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
70113         0.12.1.  These files are now being upgraded automatically by
70114         ../config/srclist-update.
70115
70116 2003-08-12  Paul Eggert  <eggert@twinsun.com>
70117
70118         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
70119         Normalize leading white space and remove trailing white space.
70120         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
70121         notice, as per ../config/srclist-update.
70122
70123         Merge from coreutils.
70124         * lib/euidaccess.h: New file.
70125         * lib/euidaccess.c: Include it.
70126         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
70127         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
70128         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
70129
70130 2003-08-12  Paul Eggert  <eggert@twinsun.com>
70131
70132         * config/srclist-update: Add copyright notice.
70133         (remove_id_lines, remove_trailing_blanks): New constants.
70134         (fixfile): Use them to normalize spacing a bit in copied files.
70135         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
70136         Normalize leading white space and remove trailing white space.
70137
70138         * config/texinfo.tex: Sync with texinfo.
70139
70140         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
70141         strtoul.c from libc, to merge coreutils whitespace changes.
70142
70143         * config/srclist.txt: Get the following m4 files from gettext:
70144         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
70145         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
70146         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
70147         wint_t.m4.
70148
70149 2003-08-12  Karl Berry  <karl@gnu.org>
70150
70151         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
70152         been made.
70153
70154 2003-08-11  Paul Eggert  <eggert@twinsun.com>
70155
70156         * modules/gnu-source, m4/gnu-source.m4:
70157         Remove; we're assuming Autoconf 2.54 or later now.
70158         Suggested by Bruno Haible.
70159         * MODULES.html.sh (func_all_modules): Remove gnu-source.
70160
70161 2003-08-11  Bruno Haible  <bruno@clisp.org>
70162
70163         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
70164
70165 2003-08-11  Bruno Haible  <bruno@clisp.org>
70166
70167         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
70168         (vasnprintf): Use it instead of wcslen.
70169
70170 2003-08-11  Bruno Haible  <bruno@clisp.org>
70171
70172         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
70173         value to ensure that _Bool promotes to int. Use #define for _Bool when
70174         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
70175
70176 2003-08-10  Karl Berry  <karl@gnu.org>
70177
70178         * lib/regex.h: update from libc (whitespace fix).
70179
70180 2003-08-09  Paul Eggert  <eggert@twinsun.com>
70181
70182         Merge some files from coreutils.  These changes were
70183         originally made by Jim Meyering.
70184         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
70185         many older Unixes require this.
70186         * lib/alloca.c (alloca): Remove cast to argument of free;
70187         no longer needed in C89.
70188         * lib/alloca_.h, regex.h: Fix white space to match
70189         what GNU indent does.
70190
70191 2003-08-09  Paul Eggert  <eggert@twinsun.com>
70192
70193         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
70194         apparently Emacs's Unicode mode got confused before my 2003-08-05
70195         checkin.
70196
70197 2003-08-08  Paul Eggert  <eggert@twinsun.com>
70198
70199         * m4/extensions.m4: New file.
70200         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
70201         Require gl_USE_SYSTEM_EXTENSIONS.
70202         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
70203         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
70204
70205 2003-08-08  Paul Eggert  <eggert@twinsun.com>
70206
70207         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
70208         * modules/extensions, modules/gnu-source: New files.
70209         * modules/timespec, modules/unlocked-io: Depend on extensions.
70210
70211 2003-08-07  Paul Eggert  <eggert@twinsun.com>
70212
70213         * modules/restrict: New file.
70214         * MODULES.html.sh (func_all_modules): Add restrict.
70215         * modules/regex: Depend on restrict.
70216
70217 2003-08-07  Paul Eggert  <eggert@twinsun.com>
70218
70219         * m4/restrict.m4: New file.
70220         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
70221
70222 2003-08-07  Bruno Haible  <bruno@clisp.org>
70223
70224         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
70225         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
70226
70227 2003-08-07  Bruno Haible  <bruno@clisp.org>
70228
70229         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
70230         makes the module 'getndelim2' compatible with the module 'getline'.
70231
70232 2003-08-05  Paul Eggert  <eggert@twinsun.com>
70233
70234         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
70235         byte with "\201" to avoid glitches when editing that source file
70236         with multi-gnome-terminal.
70237
70238 2003-08-05  Paul Eggert  <eggert@twinsun.com>
70239
70240         * lib/bumpalloc.h: Remove.
70241
70242 2003-08-05  Paul Eggert  <eggert@twinsun.com>
70243
70244         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
70245         * modules/bumpalloc: Remove.
70246
70247 2003-08-04  Paul Eggert  <eggert@twinsun.com>
70248
70249         * lib/getloadavg.c: Change copyright notice and spacing to conform to
70250         GNU coding style.
70251
70252         Merge from coreutils.
70253         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
70254         1. From glibc.
70255         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
70256         from Karl Berry, implemented by Jim Meyering.
70257         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
70258         from Dmitry V. Levin.
70259         Remove anachronistic cast of xrealloc.
70260         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
70261         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
70262         type. Otherwise, it wouldn't compile with at least /bin/cc on
70263         ymp-cray-unicos9.0.2.X.
70264         Combine two mostly-identical uses of alloca into one.
70265         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
70266
70267 2003-08-04  Dave Love  <d.love@dl.ac.uk>
70268
70269         [From Emacs.]
70270
70271         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
70272         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
70273         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
70274         obsolete NLIST_NAME_UNION.
70275         [__GNU__]: Undef BSD and FSCALE.
70276         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
70277
70278 2003-08-03  Paul Eggert  <eggert@twinsun.com>
70279
70280         * lib/stdbool_.h (_Bool): Make it signed char, instead of
70281         an enum type, so that it's guaranteed to promote to int.  See:
70282         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
70283
70284 2003-08-03  Karl Berry  <karl@gnu.org>
70285
70286         * config/depcomp: update from automake.
70287
70288 2003-07-31  Paul Eggert  <eggert@twinsun.com>
70289
70290         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
70291         (strerror): Don't assume that a printable int fits in 14 bytes.
70292
70293 2003-07-31  Bruno Haible  <bruno@clisp.org>
70294
70295         * modules/getpass-gnu: New file.
70296         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
70297
70298 2003-07-31  Bruno Haible  <bruno@clisp.org>
70299
70300         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
70301
70302 2003-07-24  Karl Berry  <karl@gnu.org>
70303
70304         * config/missing: update from automake.
70305
70306 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
70307             Bruno Haible  <bruno@clisp.org>
70308
70309         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
70310         * lib/getline.c (getline, getdelim): Likewise.
70311         Remove _GNU_SOURCE define; now it's defined in config.h through
70312         m4/getline.m4.
70313
70314 2003-07-23  Karl Berry  <karl@gnu.org>
70315
70316         * config/config.sub: update from prep.
70317
70318 2003-07-22  Paul Eggert  <eggert@twinsun.com>
70319
70320         * modules/xalloc (Depends-on): Add exitfail.
70321         * modules/xmemcoll: Likewise.
70322
70323 2003-07-22  Paul Eggert  <eggert@twinsun.com>
70324
70325         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
70326         over-parenthesization in macros.
70327
70328         Sync with coreutils.
70329
70330         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
70331         required by C99.
70332
70333         Use `exit_failure' for xalloc and xmemcoll instead of their own
70334         private exit-failure variables.
70335         * lib/xalloc.h (xalloc_exit_failure): Remove.
70336         * lib/xmalloc.c: Likewise.  Include exitfail.h.
70337         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
70338         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
70339         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
70340         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
70341
70342 2003-07-20  Jim Meyering  <jim@meyering.net>
70343
70344         * modules/closeout (Depends-on): Add exitfail.
70345         Suggestion from Bruno Haible.
70346
70347 2003-07-19  Karl Berry  <karl@gnu.org>
70348
70349         * config/config.sub: update from prep.
70350
70351 2003-07-18  Paul Eggert  <eggert@twinsun.com>
70352
70353         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
70354         Remove.
70355         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
70356         to test that it can stand by itself.  Include "exitfail.h".
70357         Clients should set exit_failure instead.
70358         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
70359
70360 2003-07-18  Bruno Haible  <bruno@clisp.org>
70361
70362         * modules/getndelim2: New file.
70363         * modules/getline: Share files with module getndelim2.
70364         * modules/getnline: Depend on getndelim2 instead of sharing files with
70365         it. Add getnline.c to lib_SOURCES.
70366         * MODULES.html.sh (func_all_modules): Add getndelim2.
70367
70368 2003-07-18  Bruno Haible  <bruno@clisp.org>
70369
70370         * m4/getndelim2.m4: New file.
70371         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
70372         invoke gl_PREREQ_GETNDELIM2.
70373         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
70374         gl_PREREQ_GETNDELIM2.
70375         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
70376         gl_GETNDELIM2.
70377
70378 2003-07-18  Bruno Haible  <bruno@clisp.org>
70379
70380         * lib/getndelim2.h: New file.
70381         * lib/getndelim2.c: Make into a module of its own. Include config.h,
70382         getndelim2.h.
70383         (getndelim2): Make non-static. Change return type to ssize_t.
70384         * lib/getline.h: Change argument names.
70385         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
70386         * lib/getnline.c: Include getndelim2.h.
70387
70388 2003-07-18  Andreas Schwab  <schwab@suse.de>
70389
70390         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
70391
70392 2003-07-17  Karl Berry  <karl@gnu.org>
70393
70394         * config/config.sub: update from prep.
70395
70396 2003-07-17  Bruno Haible  <bruno@clisp.org>
70397
70398         * modules/getnline: New file.
70399         * modules/getline: Add lib/getndelim2.c to source file list.
70400         * MODULES.html.sh (func_all_modules): Add getnline.
70401
70402 2003-07-17  Bruno Haible  <bruno@clisp.org>
70403
70404         * m4/getnline.m4: New file.
70405
70406 2003-07-17  Bruno Haible  <bruno@clisp.org>
70407
70408         * m4/Makefile.am.in: Remove file.
70409         * m4/Makefile.am: Remove file.
70410         * m4/Makefile.in: Remove file.
70411
70412 2003-07-17  Bruno Haible  <bruno@clisp.org>
70413
70414         * lib/getnline.h: New file.
70415         * lib/getnline.c: New file.
70416         * lib/getndelim2.c: New file, extracted from getline.c.
70417         (getndelim2): Renamed from getdelim2, with added nmax argument.
70418         * lib/getline.c: Include getndelim2.c.
70419         (getdelim2): Moved out to getndelim2.c.
70420         (getline, getdelim): Update.
70421
70422 2003-07-17  Bruno Haible  <bruno@clisp.org>
70423
70424         * lib/Makefile.am: Remove file.
70425         * lib/Makefile.in: Remove file.
70426
70427 2003-07-17  Bruno Haible  <bruno@clisp.org>
70428
70429         * configure.in: Remove file.
70430         * Makefile.in: Remove file.
70431
70432 2003-07-17  Bruno Haible  <bruno@clisp.org>
70433
70434         * MODULES.html.sh: Put the </BODY> right before </HTML>.
70435
70436 2003-07-16  Karl Berry  <karl@gnu.org>
70437
70438         * config/srclist-update: was running fixlicense twice, which caused
70439                 texinfo.tex to be nullified for some reason.  Simplify,
70440                 $gplsrc is no longer needed as far as I can see?
70441
70442 2003-07-16  Jim Meyering  <jim@meyering.net>
70443
70444         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
70445
70446 2003-07-15  Paul Eggert  <eggert@twinsun.com>
70447
70448         * config/srclist.txt: Get the following files from gettext-runtime/intl
70449         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
70450         ref-del.sin.  From Bruno Haible.
70451         * config/srclist-update (fixfile): Change grep pattern again, since the
70452         previous fix didn't work (there was another trailing $).  Use
70453         '[$]' to escape the $s.
70454
70455 2003-07-15  Karl Berry  <karl@gnu.org>
70456
70457         * lib/vasnprintf.c: update from gettext.
70458
70459 2003-07-15  Karl Berry  <karl@gnu.org>
70460
70461         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
70462         gets expanded when surrounded by '$'.
70463
70464 2003-07-15  Jim Meyering  <jim@meyering.net>
70465
70466         * modules/save-cwd: Don't depend on error.  From Derek Price.
70467
70468 2003-07-15  Jim Meyering  <jim@meyering.net>
70469
70470         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
70471
70472 2003-07-14  Simon Josefsson  <jas@extundo.com>
70473
70474         * modules/mempcpy: New file.
70475         * MODULES.html.sh (func_all_modules): Add mempcpy.
70476
70477 2003-07-14  Simon Josefsson  <jas@extundo.com>
70478
70479         * m4/mempcpy.m4: New file.
70480
70481 2003-07-14  Simon Josefsson  <jas@extundo.com>
70482
70483         * lib/mempcpy.h: New file.
70484         * lib/mempcpy.c: New file.
70485
70486 2003-07-14  Paul Eggert  <eggert@twinsun.com>
70487
70488         * modules/getdate, modules/posixtm: Depend on mktime.
70489
70490 2003-07-14  Paul Eggert  <eggert@twinsun.com>
70491
70492         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
70493         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
70494         unicodeio.c, unicodeio.h, unlocked-io.h:
70495         Switch from LGPL to GPL.
70496
70497 2003-07-14  Paul Eggert  <eggert@twinsun.com>
70498
70499         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
70500         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
70501         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
70502         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
70503         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
70504         updated automatically by ../config/srclist-update.  This changes
70505         their license from LPGL to GPL.
70506
70507 2003-07-14  Paul Eggert  <eggert@twinsun.com>
70508
70509         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
70510         assumed to refer to the root of the most recent stable gettext version.
70511         * config/srclistvars.sh: Add defaults for eggert.
70512         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
70513         Match "This program" as well as "The program".  This is needed
70514         for gettext.
70515
70516 2003-07-14  Jim Meyering  <jim@meyering.net>
70517
70518         Don't emit diagnostics.  Let callers do that.
70519         * lib/save-cwd.c: Don't include "error.h".
70520         (save_cwd): Don't call error.  Ensure that errno is valid
70521         when returning nonzero.
70522
70523         * lib/save-cwd.h (restore_cwd): Update prototype.
70524         * lib/save-cwd.c (restore_cwd): Remove two parameters.
70525         Simplify.  Don't call error upon failure.  Let callers do that.
70526         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
70527         when auditing is enabled.  But don't bother updating the #if.
70528
70529 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
70530
70531         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
70532         it breaks C++ compilation.
70533         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
70534
70535 2003-07-10  Simon Josefsson  <jas@extundo.com>
70536
70537         * modules/strchrnul (Makefile.am): Add strchrnul.h.
70538
70539 2003-07-10  Jim Meyering  <jim@meyering.net>
70540
70541         * m4/clock_time.m4: Remove trailing blank.
70542         * m4/intmax_t.m4: Likewise.
70543
70544 2003-07-10  Jim Meyering  <jim@meyering.net>
70545
70546         * lib/vasnprintf.c: Remove trailing blanks.
70547         Make cpp indentation consistent.
70548
70549 2003-07-09  Paul Eggert  <eggert@twinsun.com>
70550
70551         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
70552         posixver.c, strftime.c, strnlen.c, strverscmp.c:
70553         Switch from LGPL to GPL.
70554
70555 2003-07-09  Paul Eggert  <eggert@twinsun.com>
70556
70557         * config/srclist.txt: Sort sublists.  Add
70558         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
70559         that differ from gnulib for one reason or another; we'd like this list
70560         to be smaller but for now let's document what we have.
70561
70562 2003-07-08  Paul Eggert  <eggert@twinsun.com>
70563
70564         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
70565         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
70566         and sweeter "eval x=$x".
70567         * config/srclist.txt: Get lib/argp* from glibc.
70568
70569 2003-07-07  Paul Eggert  <eggert@twinsun.com>
70570
70571         * lib/mktime.c: Fix some boundary cases and remove need for floating
70572         point.
70573
70574         Issue a compile-time diagnostic if time_t is floating point, or if
70575         two's complement arithmetic is not in effect, or if arithmetic
70576         right shift does not propagate the sign.  These assumptions were
70577         all in the original code but they weren't checked.
70578
70579         (TIME_T_MIDPOINT, verify): New macros.
70580         (__isleap): Remove; it has integer overflow problems.
70581         (leapyear): New function, without those problems.
70582         (ydhms_tm_diff): Remove; splitting into two parts.
70583         (ydhms_diff): New function, containing the arithmetic part of
70584         the old ydhms_tm_diff function.  Issue a compile-time
70585         diagnostic if we are not using C99 integer division.
70586         Avoid casts when possible.
70587         (guess_time_tm): New function, containing the checking part of
70588         the old ydhms_tm_diff function.  Return the new value, rather than
70589         the difference between it and the old.  Accept a new argument T
70590         so that *T specifies the old value.  Check for overflow in the result.
70591
70592         (__mktime_internal): Use a time_t offset, not a long int offset.
70593         This undoes the 2003-06-04 change, which is no longer needed now
70594         that we have better overflow checking.
70595         (localtime_offset): Likewise.
70596
70597         (__mktime_internal): Avoid harmful overflow on hosts where time_t
70598         and long are 64-bit but int is only 32-bit.
70599         (ydhms_diff): Use long int to store year1 and yday1.
70600         Issue a compile-time diagnostic if long int is not wide enough.
70601
70602         (__mktime_internal): Use long int to store adjusted year and yday.
70603         Use plain C rather than preprocessor commands, if that doesn't
70604         affect efficiency.
70605         Check for overflow (and try to repair) after each probe
70606         rather than checking only at the very end.  This avoids some bugs
70607         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
70608         does not equal GMT offset at maximum time).
70609         Use integer to check for overflow rather than floating point; this
70610         is more portable to non-IEEE hosts, and is a tad faster.
70611         When we detect that we are oscillating between two values,
70612         don't check whether tm_isdst has the requested value, since
70613         we already know the answer.  When tm_isdst has the wrong value,
70614         use a different heuristic to find the right one, based on the
70615         extreme values actually observed in practice in tz2003a,
70616         rather than the (overly optimistic) "previous 3 calendar quarters".
70617
70618         (not_equal_tm, print_tm, check_result): Use "const T" rather than
70619         "T const" to accommodate glibc style.
70620         (check_result): Use less-confusing report format.  "long" -> "long int.
70621         (main): Likewise.
70622         Don't loop if the iteration overflows time_t.
70623         Allow a negative step in the iteration.
70624
70625 2003-07-06  Karl Berry  <karl@gnu.org>
70626
70627         * config/depcomp: update from automake.
70628         * config/config.sub: update from prep.
70629
70630 2003-07-03  Karl Berry  <karl@gnu.org>
70631
70632         * config/config.guess: update from prep.
70633
70634 2003-07-01  Paul Eggert  <eggert@twinsun.com>
70635
70636         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
70637         xreadlink.c now includes it unconditionally.
70638
70639 2003-07-01  Paul Eggert  <eggert@twinsun.com>
70640
70641         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
70642         having it depend on HAVE_SYS_TYPES_H.
70643
70644 2003-07-01  Bruno Haible  <bruno@clisp.org>
70645
70646         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
70647         <sys/types.h> should be sufficient.
70648         Reported by Paul Eggert.
70649
70650 2003-06-26  Karl Berry  <karl@gnu.org>
70651
70652         * config/depcomp: update from automake.
70653
70654 2003-06-26  Bruno Haible  <bruno@clisp.org>
70655
70656         * modules/human: Depend on module stdbool.
70657
70658 2003-06-25  Bruno Haible  <bruno@clisp.org>
70659
70660         * modules/readlink: New file.
70661         * modules/xreadlink: Depend on it.
70662         * MODULES.html.sh (func_all_modules): Add readlink.
70663
70664 2003-06-25  Bruno Haible  <bruno@clisp.org>
70665
70666         * m4/readlink.m4: New file.
70667
70668 2003-06-25  Bruno Haible  <bruno@clisp.org>
70669
70670         * lib/readlink.c: New file.
70671
70672 2003-06-22  Karl Berry  <karl@gnu.org>
70673
70674         * config/srclist.txt: update mkinstalldirs from automake.
70675         * config/mkinstalldirs: update.
70676
70677 2003-06-22  Bruno Haible  <bruno@clisp.org>
70678
70679         Portability to mingw32.
70680         * m4/ssize_t.m4: New file, from GNU gettext.
70681         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
70682         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
70683
70684 2003-06-22  Bruno Haible  <bruno@clisp.org>
70685
70686         * modules/safe-read: Add m4/ssize_t.m4.
70687         * modules/xreadlink: Add m4/ssize_t.m4.
70688
70689 2003-06-20  Bruno Haible  <bruno@clisp.org>
70690
70691         Assume C89, so PARAMS isn't needed.
70692         * lib/unicodeio.h (PARAMS): Remove.
70693         * lib/unicodeio.c: Don't use PARAMS.
70694
70695 2003-06-18  Karl Berry  <karl@gnu.org>
70696
70697         * config/config.{guess,sub}: update from prep.
70698
70699 2003-06-18  Jim Meyering  <jim@meyering.net>
70700
70701         Merge changes from coreutils.
70702         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
70703         Remove explicit declarations of xmalloc and realloc.
70704         Include xalloc.h.
70705         (read_utmp): Remove anachronistic cast of xmalloc.
70706
70707 2003-06-17  Paul Eggert  <eggert@twinsun.com>
70708
70709         Assume C89, so PARAMS isn't needed.
70710         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
70711         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
70712         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
70713         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
70714         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
70715         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
70716         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
70717         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
70718         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
70719         lib/xstrtod.h, lib/xstrtol.h: Likewise.
70720         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
70721         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
70722         no longer needed. Anyway, config.h should always be included before any
70723         other file.
70724
70725 2003-06-11  Simon Josefsson  <jas@extundo.com>
70726
70727         * modules/sysexits: New file.
70728         * MODULES.html.sh (func_all_modules): Add sysexits.
70729
70730 2003-06-11  Simon Josefsson  <jas@extundo.com>
70731
70732         * lib/sysexit_.h: New file.
70733
70734 2003-06-11  Derek Price  <derek@ximbiot.com>
70735
70736         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
70737         necessary.
70738
70739 2003-06-11  Bruno Haible  <bruno@clisp.org>
70740
70741         * m4/sysexits.m4: New file.
70742
70743 2003-06-10  Simon Josefsson  <jas@extundo.com>
70744
70745         * lib/argp.h: New file, from glibc.
70746         * lib/argp-ba.c: New file, from glibc.
70747         * lib/argp-eexst.c: New file, from glibc.
70748         * lib/argp-fmtstream.c: New file, from glibc.
70749         * lib/argp-fmtstream.h: New file, from glibc.
70750         * lib/argp-fs-xinl.c: New file, from glibc.
70751         * lib/argp-help.c: New file, from glibc.
70752         * lib/argp-namefrob.h: New file, from glibc.
70753         * lib/argp-parse.c: New file, from glibc.
70754         * lib/argp-pv.c: New file, from glibc.
70755         * lib/argp-pvh.c: New file, from glibc.
70756         * lib/argp-xinl.c: New file, from glibc.
70757
70758 2003-06-10  Simon Josefsson  <jas@extundo.com>
70759
70760         * modules/strchrnul: New file.
70761
70762 2003-06-10  Simon Josefsson  <jas@extundo.com>
70763
70764         * modules/argp: New file.
70765
70766 2003-06-10  Simon Josefsson  <jas@extundo.com>
70767
70768         * m4/strchrnul.m4: New file.
70769
70770 2003-06-10  Simon Josefsson  <jas@extundo.com>
70771
70772         * lib/strchrnul.h: New file.
70773         * lib/strchrnul.c: New file.
70774
70775 2003-06-10  Bruno Haible  <bruno@clisp.org>
70776
70777         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
70778
70779 2003-06-07  Karl Berry  <karl@gnu.org>
70780
70781         * config/config.{guess,sub}: update from prep.
70782
70783 2003-06-07  Jim Meyering  <jim@meyering.net>
70784
70785         * modules/strtod: Use $(...) notation, not @...@ for
70786         AC_REPLACE'd variables.
70787         * modules/localcharset: Likewise.
70788
70789 2003-06-07  Jim Meyering  <jim@meyering.net>
70790
70791         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
70792         in place of my name in the copyright comment.
70793         Remove definition and uses of __P.
70794
70795         From coreutils.
70796         * lib/stat.c: Don't declare xmalloc explicitly.
70797         Instead, include "xalloc.h".
70798         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
70799         xrealloc, and xcalloc return values.
70800         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
70801         Improve comment.
70802         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
70803
70804 2003-06-07  Bruno Haible  <bruno@clisp.org>
70805
70806         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
70807         avoid AC_CONFIG_LINKS.
70808         * modules/fnmatch (Makefile.am): Use explicit creation rule for
70809         fnmatch.h, to avoid AC_CONFIG_LINKS.
70810         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
70811
70812 2003-06-07  Bruno Haible  <bruno@clisp.org>
70813
70814         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
70815         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
70816         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
70817         directory.
70818         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
70819         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
70820         directory.
70821
70822 2003-06-06  Jim Meyering  <jim@meyering.net>
70823
70824         Merge from coreutils.
70825         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
70826         Consolidate declarations and initializations of *_base* locals.
70827
70828         Merge from coreutils.
70829         This avoids a core dump on systems without GNU putenv,
70830         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
70831         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
70832         (unsetenv): New static function, from GNU libc.
70833         (rpl_putenv): Use it.
70834
70835         * lib/modechange.c: Remove trailing blanks.
70836
70837         Merge from coreutils.
70838         * lib/fsusage.c: Remove declaration of statfs.
70839         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
70840
70841         * lib/posixtm.c: Include <stdbool.h> unconditionally.
70842
70843 2003-06-06  Jim Meyering  <jim@meyering.net>
70844
70845         * lib/stdbool_.h: Renamed from stdbool.h.in.
70846
70847 2003-06-06  Jim Meyering  <jim@meyering.net>
70848             Bruno Haible  <bruno@clisp.org>
70849
70850         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
70851         Adjust Makefile.am snippet not to redirect directly to target.
70852         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
70853
70854 2003-06-05  Paul Eggert  <eggert@twinsun.com>
70855
70856         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
70857         mismatch, look in future quarters as well as past.  This fixes a
70858         bug when processing fall-backwards gaps immediately after a long
70859         period of daylight-saving time.
70860
70861         * lib/mktime.c: Assume freestanding C89 or better.
70862         (HAVE_LIMITS_H): Remove.  Assume it's 1.
70863         (__P): Remove; not used.
70864         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
70865         (mktime, not_equal_tm, print_tm, check_result,
70866         main): Use prototypes.  Use const * where appropriate.
70867         (main): Fix typo in testing code that uncovered by above changes.
70868         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
70869
70870 2003-06-04  Paul Eggert  <eggert@twinsun.com>
70871
70872         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
70873         locale.h, localeconv.  This merges changes from coreutils.
70874
70875         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
70876         It can be removed after the next Autoconf is released.
70877         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
70878         needed.
70879
70880 2003-06-04  Paul Eggert  <eggert@twinsun.com>
70881
70882         * lib/mktime.c: Fix Debian bug 177940
70883         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
70884         (localtime_offset): Now long int, not time_t, because we want it
70885         to be guaranteed to be signed.  All uses changed.
70886         (__mktime_internal): If overflow would occur when adding offset,
70887         don't add it.
70888
70889         Merge 'human' changes from coreutils.  Rewrite to support
70890         locale-specific notations like thousands separators.
70891         * lib/human.c: Simplify authorship notice.
70892         Include human.h immediately after config.h.
70893         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
70894         <limits.h>: Do not include, since human.h does.
70895         (SIZE_MAX, UINTMAX_MAX): New macros.
70896         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
70897         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
70898         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
70899         (power_letter): Renamed from suffixes.
70900         (generate_suffix_backwards): Remove.
70901         (adjust_value): Now takes int style (because of human.h changes)
70902         and long double value (for greater precision on some platforms).
70903         (group_number): New function.
70904         (human_readable): Use it.  Use integer options, not enum.
70905         Put the options before the sizes in the arg list.
70906         Support all the new options.
70907         The old human_readable function has been removed;
70908         use inttostr.h instead.
70909         (human_readable, default_block_size, humblock):
70910         Use uintmax_t, not int, for block sizes.
70911         (human_readable_inexact, block_size_types): Remove.
70912         (block_size_opts): New constant.
70913         (human_options): Renamed from human_block_size, with new signature
70914         that allows block sizes up to UINTMAX_MAX.  All callers changed.
70915         * lib/human.h: Add copyright and authorship notice.
70916         Include <limits.h> and <stdbool.h> unconditionally.
70917         (PARAMS): Remove.  All uses removed.
70918         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
70919         (enum human_inexact_style): Remove tag; now a nameless enum.
70920         (human_floor, human_ceiling, human_round_to_even): Now have
70921         values 2, 0, 1 rather than -1, 1, 0.
70922         (human_group_digits, human_suppress_point_zero, human_autoscale,
70923         human_base_1024, human_SI, human_B): New constants.
70924         (human_readable_inexact, human_block_size): Remove.
70925         (human_readable): Size args are now uintmax_t, not int.
70926         (human_options): New decl.
70927
70928         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
70929         unnecessary now that we assume C89 or better.  This change
70930         imported from coreutils.
70931
70932         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
70933         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
70934         in the 2003-05-30 sync from glibc.
70935
70936         .h files should stand alone, but we shouldn't include <sys/types.h>
70937         if we can get away with just <stddef.h>.
70938
70939         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
70940         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
70941         rather than <sys/types.h>, as we merely need size_t.
70942         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
70943         to get size_t.
70944         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
70945         Include <stdio.h>, to get FILE.
70946         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
70947         memcasecmp.h has included <stddef.h> and all we need is size_t.
70948         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
70949         our interface, instead of including <sys/types.h>
70950
70951 2003-06-04  Paul Eggert  <eggert@twinsun.com>
70952
70953         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
70954         now, as glibc mktime is buggy on non-glibc systems.
70955
70956 2003-06-03  Karl Berry  <karl@gnu.org>
70957
70958         * config/config.sub: update from prep.
70959
70960 2003-06-02  Paul Eggert  <eggert@twinsun.com>
70961
70962         [from coreutils]
70963         Fix some minor time-related bugs with POSIX time arguments.
70964         Some valid time stamps were being rejected (notably -1, and
70965         time stamps before 1900 on 64-bit hosts).  And some invalid
70966         time stamps were being accepted, e.g. September 31.
70967
70968         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
70969         that we can return (time_t) -1 successfully.
70970         * lib/posixtm.c: Likewise.
70971         [HAVE_STDBOOL_H]: Include <stdbool.h>.
70972         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
70973         (t): Remove static var.
70974         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
70975         of static var.  All uses changed.
70976         (year): Do not reject years before 1900; they can occur with
70977         64-bit time_t.
70978         (posix_time_parse): Do not check for out-of-range components;
70979         that is now the caller's responsibility, since our checks were
70980         only approximations.
70981         (posixtime): Use mktime to check for out-of-range components,
70982         since it knows them exactly.
70983         If mktime returns (time_t) -1, check whether an error actually occurred
70984         by invoking localtime on -1.
70985         (main) [TEST_POSIXTIME]: Check for input data errors, and report
70986         posixtime failures better.
70987         Improve the test data (in comments only).
70988
70989 2003-06-02  Karl Berry  <karl@gnu.org>
70990
70991         * config/mkinstalldirs (version): new variable.
70992         (--version): new option.
70993         (usage): improve message.
70994
70995 2003-05-30  Karl Berry  <karl@gnu.org>
70996
70997         * lib/mktime.c: update from libc.
70998
70999 2003-05-30  Bruno Haible  <bruno@clisp.org>
71000
71001         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
71002         * config/config.rpath: Upgrade to gettext-0.12.1.
71003
71004 2003-05-30  Bruno Haible  <bruno@clisp.org>
71005
71006         * m4/gettext.m4: Upgrade to gettext-0.12.1.
71007         * m4/nls.m4: New file, from gettext-0.12.1.
71008         * m4/po.m4: New file, from gettext-0.12.1.
71009         * m4/progtest.m4: Upgrade to gettext-0.12.1.
71010
71011 2003-05-30  Bruno Haible  <bruno@clisp.org>
71012
71013         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
71014         * lib/localcharset.h: Likewise.
71015         * lib/localcharset.c: Likewise.
71016
71017 2003-05-29  Karl Berry  <karl@gnu.org>
71018
71019         * config/config.rpath: update from gettext.
71020
71021 2003-05-28  Paul Eggert  <eggert@twinsun.com>
71022
71023         Assume the headers required for C89 freestanding compilers.
71024         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
71025         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
71026         * m4/human.m4 (gl_HUMAN): Likewise.
71027         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
71028         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
71029         * m4/userspec.m4 (gl_USERSPEC): Likewise.
71030         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
71031         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
71032         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
71033
71034 2003-05-28  Paul Eggert  <eggert@twinsun.com>
71035
71036         Assume the headers required for C89 freestanding compilers.
71037         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
71038         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
71039         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
71040         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
71041         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
71042         define, since <limits.h> is guaranteed to do that.
71043         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
71044         * lib/exclude.c: Include <stdbool.h> unconditionally.
71045         * lib/tempname.c: Include <stddef.h> unconditionally.
71046         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
71047         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
71048         <stddef.h> does that.
71049         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
71050         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
71051         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
71052         needed.
71053         * lib/xstrtol.c: Likewise.
71054         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
71055         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
71056
71057         * lib/addext.c (addext): Use assignment rather than cast, to avoid
71058         warnings on some platforms.
71059
71060         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
71061         arbitrarily.
71062
71063 2003-05-26  Jim Meyering  <jim@meyering.net>
71064
71065         Merge in a change from coreutils:
71066         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
71067         that is guaranteed to be `no'.  Use `no_such_member' to indicate
71068         that condition, rather than `-1' which is slightly misleading.
71069         Change the name of the cache variable to have the gl_ prefix.
71070         Prompted by a patch from Richard Dawe for DJGPP.
71071
71072 2003-05-24  Karl Berry  <karl@gnu.org>
71073
71074         * config/config.guess: update from prep.
71075
71076 2003-05-22  Karl Berry  <karl@gnu.org>
71077
71078         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
71079
71080 2003-05-20  Karl Berry  <karl@gnu.org>
71081
71082         * config/config.guess: update from prep.
71083
71084 2003-05-18  Karl Berry  <karl@gnu.org>
71085
71086         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
71087         might actually be set by the user.
71088
71089         * config/depcomp, install-sh, mdate-sh: update from automake.
71090
71091 2003-05-17  Bruno Haible  <bruno@clisp.org>
71092
71093         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
71094         invalid expansion for AC_EGREP_CPP.
71095         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
71096         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
71097         Suggested by Akim Demaille <akim@epita.fr> in
71098         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
71099
71100 2003-05-12  Jim Meyering  <jim@meyering.net>
71101
71102         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
71103         the space-padded-by-default conversion specifiers, %e, %k, %l.
71104
71105 2003-05-12  Bruno Haible  <bruno@clisp.org>
71106
71107         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
71108         the string is longer than 4 KB.
71109
71110 2003-05-11  Karl Berry  <karl@gnu.org>
71111
71112         * config/config.{guess,sub}: update from prep.
71113
71114 2003-05-09  Bruno Haible  <bruno@clisp.org>
71115
71116         * modules/error: Add m4/strerror_r.m4 to file list.
71117
71118 2003-05-03  Bruno Haible  <bruno@clisp.org>
71119
71120         Upgrade to Unicode-4.0.
71121         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
71122         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
71123         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
71124         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
71125         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
71126         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
71127         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
71128         Change width of U+E0100..U+E01EF from 1 to 0.
71129
71130 2003-04-25  Jim Meyering  <jim@meyering.net>
71131
71132         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
71133         of type size_t, not int.
71134
71135 2003-04-25  Bruno Haible  <bruno@clisp.org>
71136
71137         * lib/copy-file.c: Include <stddef.h>, for size_t.
71138
71139 2003-04-21  Paul Eggert  <eggert@twinsun.com>
71140
71141         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
71142         code which expansion is under static control.  Patch imported from
71143         Akim Demaille's patch to Bison; see
71144         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
71145
71146 2003-04-14  Bruno Haible  <bruno@clisp.org>
71147
71148         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
71149
71150 2003-04-11  Jim Meyering  <jim@meyering.net>
71151
71152         Merge changes from Coreutils.
71153
71154         2003-03-22  Jim Meyering  <jim@meyering.net>
71155
71156         * lib/strftime.c (widen): Cast alloca return value to proper type.
71157
71158         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
71159
71160         From GNU libc.
71161         * lib/strftime.c (my_strftime): Handle very large width
71162         specifications for numeric values correctly.  Improve checks for
71163         overflow.
71164
71165         2003-01-19  Jim Meyering  <jim@meyering.net>
71166
71167         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
71168         definitions.
71169         (nl_get_alt_digit) [! defined my_strftime]: Define.
71170         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
71171         _nl_get_alt_digit and _nl_get_walt_digit.
71172
71173         * lib/strftime.c (my_strftime): Merge in locale-related changes from
71174         libc. These changes have no effect outside of _LIBC.
71175
71176 2003-04-10  Bruno Haible  <bruno@clisp.org>
71177
71178         * modules/findprog: New file.
71179         * MODULES.html.sh (func_all_modules): Add it.
71180
71181 2003-04-10  Bruno Haible  <bruno@clisp.org>
71182
71183         * m4/findprog.m4: New file.
71184         * m4/eaccess.m4: New file.
71185
71186 2003-04-10  Bruno Haible  <bruno@clisp.org>
71187
71188         * lib/findprog.h: New file, from GNU gettext.
71189         * lib/findprog.c: New file, from GNU gettext.
71190
71191 2003-04-05  Jim Meyering  <jim@meyering.net>
71192
71193         Merge changes from Coreutils.
71194
71195         * lib/exclude.h (PARAMS): Remove definition and uses.
71196         * lib/exclude.c: Remove uses of `PARAMS'.
71197
71198         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
71199         Add test-cases for DOS filenames. Declare program_name.
71200         (main): Set up program_name.  Patch by Rich Dawe.
71201
71202         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
71203         error from mntctl.
71204         Use mntctl's return value to drive the entry-processing loop, since
71205         we can't rely on the value of the vmt_length member in the last
71206         entry.  On some systems doing so could result in exhausting
71207         virtual memory.  Based in part on a patch from Mike Jetzer.
71208
71209 2003-04-04  Bruno Haible  <bruno@clisp.org>
71210
71211         * modules/linebreak: New file.
71212         * MODULES.html.sh (func_all_modules): Add it.
71213
71214 2003-04-04  Bruno Haible  <bruno@clisp.org>
71215
71216         * m4/linebreak.m4: New file.
71217
71218 2003-04-04  Bruno Haible  <bruno@clisp.org>
71219
71220         * lib/linebreak.h: New file, from GNU gettext.
71221         * lib/linebreak.c: New file, from GNU gettext with slight
71222         modifications.
71223         * lib/lbrkprop.h: New file, from GNU gettext.
71224
71225 2003-04-03  Bruno Haible  <bruno@clisp.org>
71226
71227         * modules/utf8-ucs4: New file.
71228         * modules/utf16-ucs4: New file.
71229         * modules/ucs4-utf8: New file.
71230         * modules/ucs4-utf16: New file.
71231         * MODULES.html.sh (func_all_modules): Add them.
71232
71233 2003-04-03  Bruno Haible  <bruno@clisp.org>
71234
71235         * m4/utf-ucs4.m4: New file.
71236         * m4/ucs4-utf.m4: New file.
71237
71238 2003-04-03  Bruno Haible  <bruno@clisp.org>
71239
71240         * lib/utf8-ucs4.h: New file, from GNU gettext.
71241         * lib/utf16-ucs4.h: New file, from GNU gettext.
71242         * lib/ucs4-utf8.h: New file, from GNU gettext.
71243         * lib/ucs4-utf16.h: New file, from GNU gettext.
71244
71245 2003-04-02  Bruno Haible  <bruno@clisp.org>
71246
71247         * modules/binary-io: New file.
71248         * MODULES.html.sh (func_all_modules): Add it.
71249
71250 2003-04-02  Bruno Haible  <bruno@clisp.org>
71251
71252         * lib/binary-io.h: New file, from GNU gettext.
71253
71254 2003-04-01  Bruno Haible  <bruno@clisp.org>
71255
71256         * modules/pathname: New file.
71257         * MODULES.html.sh (func_all_modules): Add it.
71258
71259 2003-04-01  Bruno Haible  <bruno@clisp.org>
71260
71261         * lib/pathname.h: New file, from GNU gettext.
71262         * lib/concatpath.c: New file, from GNU gettext.
71263
71264 2003-03-30  Bruno Haible  <bruno@clisp.org>
71265
71266         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
71267
71268 2003-03-30  Bruno Haible  <bruno@clisp.org>
71269
71270         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
71271         function chown() doesn't exist.
71272
71273 2003-03-28  Bruno Haible  <bruno@clisp.org>
71274
71275         * modules/copy-file: New file.
71276         * MODULES.html.sh (func_all_modules): Add it.
71277
71278 2003-03-28  Bruno Haible  <bruno@clisp.org>
71279
71280         * m4/copy-file.m4: New file.
71281
71282 2003-03-28  Bruno Haible  <bruno@clisp.org>
71283
71284         * lib/copy-file.h: New file, from GNU gettext.
71285         * lib/copy-file.c: New file, from GNU gettext.
71286
71287 2003-03-18  Jim Meyering  <jim@meyering.net>
71288
71289         * lib/quote.c (quote_n): Fix typo in comment.
71290
71291 2003-03-18  Bruno Haible  <bruno@clisp.org>
71292
71293         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
71294         checking.
71295         * m4/onceonly_2_57.m4: Likewise.
71296
71297 2003-03-17  Bruno Haible  <bruno@clisp.org>
71298
71299         * m4/onceonly.m4: Require autoconf 2.54 or newer.
71300         (m4_quote): Remove macro.
71301         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
71302
71303 2003-03-14  Jim Meyering  <jim@meyering.net>
71304
71305         Merge changes from Coreutils.
71306         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
71307         to be const, in order to avoid warnings.
71308         (obstack_room): Likewise.
71309         (obstack_empty_p): Likewise.
71310
71311 2003-03-14  Bruno Haible  <bruno@clisp.org>
71312
71313         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
71314         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
71315
71316 2003-03-13  Paul Eggert  <eggert@twinsun.com>
71317
71318         Merge changes from Bison.
71319         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
71320         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
71321         when compiling Bison 1.875's `bitset bset = obstack_alloc
71322         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
71323         * lib/hash.c: Include <stdbool.h> unconditionally.
71324
71325 2003-03-13  Paul Eggert  <eggert@twinsun.com>
71326
71327         * m4/onceonly.m4 (m4_quote): New macro.
71328         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
71329         Quote AC_FOREACH variable-expansions properly.
71330
71331 2003-03-13  Paul Eggert  <eggert@twinsun.com>
71332
71333         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
71334
71335 2003-03-09  Paul Eggert  <eggert@twinsun.com>
71336
71337         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
71338         Reported by Bruce Becker; see:
71339         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
71340
71341 2003-03-03  Paul Eggert  <eggert@twinsun.com>
71342             Bruno Haible  <bruno@clisp.org>
71343
71344         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
71345         Reported by John Hughes, see
71346         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
71347
71348 2003-02-20  Bruno Haible  <bruno@clisp.org>
71349
71350         * MODULES.html.sh (func_all_modules): Add poll.
71351
71352 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
71353
71354         * modules/poll: New file.
71355
71356 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
71357
71358         * lib/poll_.h: New file.
71359         * lib/poll.c: New file.
71360
71361 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
71362
71363         * m4/poll.m4: New file.
71364
71365 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
71366
71367         * modules/mathl: New file.
71368
71369 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
71370
71371         * lib/mathl.h: New file.
71372         * lib/acosl.c: New file.
71373         * lib/asinl.c: New file.
71374         * lib/atanl.c: New file.
71375         * lib/ceill.c: New file.
71376         * lib/cosl.c: New file.
71377         * lib/expl.c: New file.
71378         * lib/floorl.c: New file.
71379         * lib/frexpl.c: New file.
71380         * lib/ldexpl.c: New file.
71381         * lib/logl.c: New file.
71382         * lib/sincosl.c: New file.
71383         * lib/sinl.c: New file.
71384         * lib/sqrtl.c: New file.
71385         * lib/tanl.c: New file.
71386         * lib/trigl.c: New file.
71387         * lib/trigl.h: New file.
71388
71389 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
71390
71391         * m4/mathl.m4: New file.
71392
71393 2003-02-18  Bruno Haible  <bruno@clisp.org>
71394
71395         * MODULES.html.sh (func_all_modules): Add mathl.
71396
71397 2003-02-17  Bruno Haible  <bruno@clisp.org>
71398
71399         * modules/mkdtemp: New module.
71400         * MODULES.html.sh (func_all_modules): Add it.
71401
71402 2003-02-17  Bruno Haible  <bruno@clisp.org>
71403
71404         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
71405
71406 2003-02-17  Bruno Haible  <bruno@clisp.org>
71407
71408         * lib/mkdtemp.h: New file, from GNU gettext.
71409         * lib/mkdtemp.c: New file, from GNU gettext.
71410
71411 2003-02-02  Jim Meyering  <jim@meyering.net>
71412
71413         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
71414         e.g. glibc-2.2.93.
71415
71416 2003-01-31  Bruno Haible  <bruno@clisp.org>
71417
71418         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
71419         'rpl_rename'.
71420         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
71421         'rpl_strnlen'.
71422         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
71423         'rpl_strtod'.
71424         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
71425         'rpl_utime'.
71426
71427 2003-01-31  Bruno Haible  <bruno@clisp.org>
71428
71429         * lib/rename.c: #undef rename before defining rpl_rename.
71430         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
71431
71432 2003-01-30  Bruno Haible  <bruno@clisp.org>
71433
71434         * modules/vasnprintf, modules/vasprintf: New modules.
71435         * MODULES.html.sh (func_all_modules): Add them.
71436
71437 2003-01-30  Bruno Haible  <bruno@clisp.org>
71438
71439         * m4/signed.m4: New file, from GNU gettext.
71440         * m4/longdouble.m4: New file, from GNU gettext.
71441         * m4/wchar_t.m4: New file, from GNU gettext.
71442         * m4/wint_t.m4: New file, from GNU gettext.
71443         * m4/vasnprintf.m4: New file.
71444         * m4/vasprintf.m4: New file.
71445
71446 2003-01-30  Bruno Haible  <bruno@clisp.org>
71447
71448         * lib/printf-args.h: New file, from GNU gettext.
71449         * lib/printf-args.c: New file, from GNU gettext.
71450         * lib/printf-parse.h: New file, from GNU gettext.
71451         * lib/printf-parse.c: New file, from GNU gettext.
71452         * lib/vasnprintf.h: New file, from GNU gettext.
71453         * lib/vasnprintf.c: New file, from GNU gettext.
71454         * lib/asnprintf.c: New file, from GNU gettext.
71455         * lib/vasprintf.h: New file, from GNU gettext with modifications.
71456         * lib/vasprintf.c: New file, from GNU gettext.
71457         * lib/asprintf.c: New file, from GNU gettext.
71458
71459 2003-01-29  Bruno Haible  <bruno@clisp.org>
71460
71461         * modules/stpncpy: New module.
71462         * MODULES.html.sh (func_all_modules): Add it.
71463
71464 2003-01-29  Bruno Haible  <bruno@clisp.org>
71465
71466         * m4/stpncpy.m4: New file.
71467
71468 2003-01-29  Bruno Haible  <bruno@clisp.org>
71469
71470         * lib/stpncpy.h: New file, from GNU gettext with modifications.
71471         * lib/stpncpy.c: New file, from GNU gettext with modifications.
71472
71473 2003-01-28  Bruno Haible  <bruno@clisp.org>
71474
71475         * modules/c-ctype: New module.
71476         * MODULES.html.sh (func_all_modules): Add it.
71477
71478 2003-01-28  Bruno Haible  <bruno@clisp.org>
71479
71480         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
71481         Paul Eggert.
71482         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
71483         Paul Eggert.
71484
71485 2003-01-27  Bruno Haible  <bruno@clisp.org>
71486
71487         * modules/xsetenv: New module.
71488         * MODULES.html.sh (func_all_modules): Add it.
71489
71490 2003-01-27  Bruno Haible  <bruno@clisp.org>
71491
71492         * lib/xsetenv.h: New file, from GNU gettext.
71493         * lib/xsetenv.c: New file, from GNU gettext.
71494
71495 2003-01-23  Jim Meyering  <jim@meyering.net>
71496
71497         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
71498         from working on systems without dirfd (at least Irix and OSF1/Tru64).
71499
71500 2003-01-23  Bruno Haible  <bruno@clisp.org>
71501
71502         * modules/minmax: New module.
71503         * MODULES.html.sh (func_all_modules): Add it.
71504
71505 2003-01-23  Bruno Haible  <bruno@clisp.org>
71506
71507         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
71508         Eggert.
71509
71510 2003-01-22  Bruno Haible  <bruno@clisp.org>
71511
71512         * modules/exit: New module.
71513         * MODULES.html.sh (func_all_modules): Add it.
71514
71515 2003-01-22  Bruno Haible  <bruno@clisp.org>
71516
71517         * lib/exit.h: New file, from GNU gettext.
71518
71519 2003-01-19  Bruno Haible  <bruno@clisp.org>
71520
71521         * gnulib-tool: Recognize option --extract-maintainer.
71522         (func_get_maintainer): New function.
71523         * modules/*: Add Maintainer entry.
71524
71525 2003-01-16  Jim Meyering  <jim@meyering.net>
71526
71527         * m4/regex.m4: The `regex' struct is both input and output.
71528         Initialize it before each use.  Patch by Tim Waugh.
71529
71530 2003-01-16  Bruno Haible  <bruno@clisp.org>
71531
71532         * MODULES.html.sh: Add a table of contents. Add the module name as
71533         leftmost column. Add hyperlinks.
71534
71535 2003-01-15  Bruno Haible  <bruno@clisp.org>
71536
71537         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
71538
71539 2003-01-15  Bruno Haible  <bruno@clisp.org>
71540
71541         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
71542         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
71543         suffix.
71544
71545 2003-01-15  Bruno Haible  <bruno@clisp.org>
71546
71547         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
71548
71549 2003-01-15  Bruno Haible  <bruno@clisp.org>
71550
71551         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
71552         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
71553
71554 2003-01-14  Jim Meyering  <jim@meyering.net>
71555
71556         * lib/same.c (same_name): Tweak a comment.
71557
71558 2003-01-14  Bruno Haible  <bruno@clisp.org>
71559
71560         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
71561         when a string comparison is sufficient.
71562
71563 2003-01-14  Bruno Haible  <bruno@clisp.org>
71564
71565         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
71566         'unsigned int'.
71567
71568 2003-01-14  Bruno Haible  <bruno@clisp.org>
71569
71570         * lib/hash-pjw.c: Add comment about low quality of this function.
71571
71572 2003-01-13  Bruno Haible  <bruno@clisp.org>
71573
71574         * modules/stpcpy: Distribute lib/stpcpy.h.
71575         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
71576
71577 2003-01-13  Bruno Haible  <bruno@clisp.org>
71578
71579         * modules/*: Add a description.
71580         * modules/strpbrk: Fix Makefile.am snippet.
71581         * modules/strtoimax: Fix dependencies.
71582         * modules/strtoumax: Likewise.
71583
71584 2003-01-13  Bruno Haible  <bruno@clisp.org>
71585
71586         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
71587         * modules/alloca (Makefile.am): All object files depend on alloca.h.
71588         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
71589
71590 2003-01-13  Bruno Haible  <bruno@clisp.org>
71591
71592         * gnulib-tool (func_create_testdir): Store config/* files in the main
71593         directory.
71594         * config.rpath: Move to ...
71595         * config/config.rpath: ... here.
71596         * modules/gettext: Contains config/config.rpath, not config.rpath.
71597         * modules/iconv: Likewise.
71598
71599 2003-01-12  Paul Eggert  <eggert@twinsun.com>
71600
71601         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
71602         to avoid collisions with libcurses and libreadline.
71603
71604         * m4/getstr.m4: Remove.
71605         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
71606
71607 2003-01-12  Paul Eggert  <eggert@twinsun.com>
71608
71609         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
71610         to avoid collisions with libcurses and libreadline.
71611
71612         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
71613         * lib/getstr.h, getstr.c: Remove.
71614         * lib/getline.c: Include "getline.h", to check interface.
71615         Move body of old getstr.c here: this defines MIN_CHUNK and
71616         declares getdelim2, which is renamed from getstr.
71617         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
71618
71619         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
71620         All uses changed.
71621         * lib/linebuffer.h: Likewise.
71622         (readline): Remove backward-compatibility macro.
71623
71624 2003-01-12  Paul Eggert  <eggert@twinsun.com>
71625
71626         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
71627         to avoid collisions with libcurses and libreadline.
71628         * getstr: Remove.
71629         * MODULES.html.sh: Remove getstr.
71630         * modules/getline: Depend on unlocked-io, not getstr.
71631
71632 2003-01-12  Jim Meyering  <jim@meyering.net>
71633
71634         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
71635
71636 2003-01-10  Bruno Haible  <bruno@clisp.org>
71637
71638         * modules/alloca: Change Makefile.am requirements. Simplify Include
71639         requirements. Add lib/alloca_.h to file list.
71640
71641 2003-01-10  Bruno Haible  <bruno@clisp.org>
71642
71643         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
71644
71645 2003-01-10  Bruno Haible  <bruno@clisp.org>
71646
71647         * lib/alloca_.h: New file.
71648         * lib/getdate.y: Unconditionally include alloca.h.
71649         * lib/makepath.c: Likewise.
71650         * lib/setenv.c: Likewise.
71651         * lib/userspec.c: Likewise.
71652
71653 2003-01-09  Karl Berry  <karl@gnu.org>
71654
71655         * MODULES.html.sh: include `dirname $0` in PATH, to find
71656         gnulib-tool.
71657
71658 2003-01-09  Bruno Haible  <bruno@clisp.org>
71659
71660         * modules/stdbool: Change configure.ac, Makefile.am requirements.
71661         Simplify Include requirements. Add lib/stdbool.h.in to file list.
71662
71663 2003-01-09  Bruno Haible  <bruno@clisp.org>
71664
71665         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
71666
71667 2003-01-09  Bruno Haible  <bruno@clisp.org>
71668
71669         * lib/stdbool.h.in: New file.
71670
71671 2003-01-09  Bruno Haible  <bruno@clisp.org>
71672
71673         * gnulib-tool (func_all_modules): Ignore files ending in ~.
71674         * MODULES.html.sh: Likewise.
71675
71676 2003-01-08  Jim Meyering  <jim@meyering.net>
71677
71678         * lib/full-write.c: Undefine and define-away `const' after inclusion
71679         of errno.h, not before.  Suggestion from Bruno Haible.
71680
71681 2003-01-08  Bruno Haible  <bruno@clisp.org>
71682
71683         * modules/full-read: Depend on full-write.
71684
71685 2003-01-08  Bruno Haible  <bruno@clisp.org>
71686
71687         * lib/safe-read.c: Include specification header first, to ensure its
71688         selfcontainedness.
71689         * lib/full-write.c: Likewise.
71690
71691 2003-01-07  Jim Meyering  <jim@meyering.net>
71692
71693         * lib/full-write.c: Rework so that it may serve to define full_read,
71694         too.
71695         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
71696
71697 2003-01-07  Bruno Haible  <bruno@clisp.org>
71698
71699         * lib/strtoimax.c: Include <stdint.h> as an alternative to
71700         <inttypes.h>.
71701         * lib/xstrtol.h: Likewise.
71702         * lib/xstrtoimax.c: Likewise.
71703         * lib/xstrtoumax.c: Likewise.
71704         * lib/human.h: Likewise.
71705
71706         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
71707         on systems that have <inttypes.h> but not <stdint.h>.
71708
71709 2003-01-07  Bruno Haible  <bruno@clisp.org>
71710
71711         * MODULES.html.sh: Add copyright notice.
71712         (missed_files): Omit CVS directory entries.
71713         (func_module): Make it work with sed-3.02.
71714         * MODULES.txt: Remove file.
71715
71716 2003-01-06  Jim Meyering  <jim@meyering.net>
71717
71718         * lib/version-etc.c: Update year in translatable copyright string.
71719
71720 2003-01-03  Karl Berry  <karl@gnu.org>
71721
71722         * config/config.{guess,sub}: update from prep.
71723
71724 2003-01-02  Karl Berry  <karl@gnu.org>
71725
71726         * doc/COPYING.DOC: belatedly updated to 1.2.
71727
71728 2003-01-01  Karl Berry  <karl@gnu.org>
71729
71730         * gnulib-tool (func_verify_module): report module name $module in
71731         error message, not $1.
71732         * gnulib-tool (create-testdir): don't complain if destdir couldn't
71733         be created, only if it doesn't exist.
71734         * gnulib-tool (last_checkin_date): don't expand the $Date here.
71735
71736 2002-12-31  Paul Eggert  <eggert@twinsun.com>
71737
71738         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
71739
71740 2002-12-31  Paul Eggert  <eggert@twinsun.com>
71741
71742         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
71743         memcmp if strcoll doesn't work.
71744
71745 2002-12-31  Bruno Haible  <bruno@clisp.org>
71746
71747         * lib/utime.c (utime_null): No need to call ftruncate if the file was
71748         nonempty.
71749
71750 2002-12-31  Bruno Haible  <bruno@clisp.org>
71751
71752         * lib/memcoll.c (STRCOLL): New macro.
71753         (memcoll): Use it.
71754
71755 2002-12-31  Bruno Haible  <bruno@clisp.org>
71756
71757         * lib/localcharset.h: New file.
71758         * lib/localcharset.c: Include it.
71759         * lib/unicodeio.c: Likewise.
71760
71761 2002-12-31  Bruno Haible  <bruno@clisp.org>
71762
71763         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
71764         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
71765
71766 2002-12-31  Bruno Haible  <bruno@clisp.org>
71767
71768         * lib/getline.h: Include <stddef.h>, for size_t.
71769
71770         * lib/unicodeio.h: Include <stddef.h>, for size_t.
71771         * lib/unicodeio.c: Don't include <stddef.h>.
71772
71773 2002-12-31  Bruno Haible  <bruno@clisp.org>
71774
71775         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
71776         HAVE_TM_ZONE.
71777
71778 2002-12-24  Karl Berry  <karl@gnu.org>
71779
71780         * config/config.guess: update from prep.
71781
71782 2002-12-24  Bruno Haible  <bruno@clisp.org>
71783
71784         General infrasructure.
71785         * m4/README: Rewritten.
71786         * m4/onceonly.m4: New file.
71787         * m4/onceonly_2_57.m4: New file.
71788
71789         Module atexit.
71790         * m4/atexit.m4: New file.
71791
71792         Module strtod.
71793         * m4/strtod.m4: New file.
71794
71795         Module strtol.
71796         * m4/strtol.m4: New file.
71797
71798         Module strtoul.
71799         * m4/strtoul.m4: New file.
71800
71801         Module memchr.
71802         * m4/memchr.m4: New file.
71803
71804         Module memcmp.
71805         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
71806         (jm_FUNC_MEMCMP): Invoke it.
71807
71808         Module memcpy.
71809         * m4/memcpy.m4: New file.
71810
71811         Module memmove.
71812         * m4/memmove.m4: New file.
71813
71814         Module memset.
71815         * m4/memset.m4: New file.
71816
71817         Module strcspn.
71818         * m4/strcspn.m4: New file.
71819
71820         Module strpbrk.
71821         * m4/strpbrk.m4: New file.
71822
71823         Module strstr.
71824         * m4/strstr.m4: New file.
71825
71826         Module strerror.
71827         * m4/strerror.m4: New file.
71828
71829         Module mktime.
71830         * m4/mktime.m4: Renamed from jm-mktime.m4.
71831         (gl_PREREQ_MKTIME): New macro.
71832         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
71833
71834         Module malloc.
71835         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
71836         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
71837         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
71838
71839         Module realloc.
71840         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
71841         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
71842         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
71843
71844         Module strftime.
71845         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
71846         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
71847         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
71848         gl_TM_GMTOFF.
71849         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
71850
71851         Module xalloc.
71852         * m4/xalloc.m4: New file.
71853
71854         Module alloca.
71855         * m4/alloca.m4: New file.
71856
71857         Module putenv.
71858         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
71859         (jm_FUNC_PUTENV): Invoke it.
71860
71861         Module setenv.
71862         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
71863         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
71864         when invoked twice.
71865         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
71866         gt_FUNC_SETENV.
71867
71868         Module memrchr.
71869         * m4/memrchr.m4: New file.
71870
71871         Module stpcpy.
71872         * m4/stpcpy.m4: New file.
71873
71874         Module strcase.
71875         * m4/strcase.m4: New file.
71876
71877         Module strdup.
71878         * m4/strdup.m4: New file.
71879
71880         Module strnlen.
71881         * m4/strnlen.m4: New file.
71882
71883         Module strndup.
71884         * m4/strndup.m4: New file.
71885
71886         Module xstrtod.
71887         * m4/xstrtod.m4: New file.
71888
71889         Module xstrtol.
71890         * m4/xstrtol.m4: New file.
71891
71892         Module getdate.
71893         * m4/getdate.m4: New file.
71894
71895         Module unlocked-io.
71896         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
71897         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
71898         * m4/jm-glibc-io.m4n: Remove file.
71899
71900         Module long-options.
71901         * m4/long-options.m4: New file.
71902
71903         Module md5.
71904         * m4/md5.m4: New file.
71905
71906         Module sha.
71907         * m4/sha.m4: New file.
71908
71909         Module getstr.
71910         * m4/getstr.m4: New file.
71911
71912         Module getline.
71913         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
71914         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
71915         <sys/types.h>, for size_t. Use the function name gnu_getline, not
71916         simply getline. Infoke gl_PREREQ_GETLINE.
71917
71918         Module obstack.
71919         * m4/obstack.m4: New file.
71920
71921         Module hash.
71922         * m4/hash.m4: New file.
71923
71924         Module readtokens.
71925         * m4/readtokens.m4: New file.
71926
71927         Module strverscmp.
71928         * m4/strverscmp.m4: New file.
71929
71930         Module stdbool.
71931         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
71932         OSF/1.
71933
71934         Module strtoll.
71935         * m4/strtoll.m4: New file.
71936
71937         Module strtoull.
71938         * m4/strtoull.m4: New file.
71939
71940         Module strtoimax.
71941         * m4/strtoimax.m4: New file.
71942
71943         Module strtoumax.
71944         * m4/strtoumax.m4: New file.
71945
71946         Module xstrtoimax.
71947         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
71948         jm_AC_PREREQ_XSTRTOIMAX.
71949         Moved the strtol prerequisites to strtol.m4.
71950         Moved the strtoll prerequisites to strtoll.m4.
71951         Moved the strtoimax prerequisites to strtoimax.m4.
71952
71953         Module xstrtoumax.
71954         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
71955         jm_AC_PREREQ_XSTRTOUMAX.
71956         Moved the strtoul prerequisites to strtoul.m4.
71957         Moved the strtoull prerequisites to strtoull.m4.
71958         Moved the strtoumax prerequisites to strtoumax.m4.
71959
71960         Module chown.
71961         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
71962         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
71963
71964         Module dup2.
71965         * m4/dup2.m4: New file.
71966
71967         Module ftruncate.
71968         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
71969         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
71970
71971         Module getgroups.
71972         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
71973         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
71974
71975         Module gettimeofday.
71976         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
71977         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
71978         gl_PREREQ_GETTIMEOFDAY.
71979
71980         Module mkdir.
71981         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
71982         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
71983
71984         Module mkstemp.
71985         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
71986         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
71987         jm_AC_TYPE_UINTMAX_T.
71988         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
71989
71990         Module stat.
71991         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
71992         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
71993
71994         Module lstat.
71995         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
71996         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
71997
71998         Module timespec.
71999         * m4/timespec.m4 (gl_TIMESPEC): New macro.
72000         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
72001         * m4/st_mtim.m4: Indentation.
72002
72003         Module nanosleep.
72004         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
72005         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
72006         gl_PREREQ_NANOSLEEP.
72007
72008         Module regex.
72009         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
72010         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
72011         (gl_REGEX): New macro.
72012
72013         Module rename.
72014         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
72015         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
72016
72017         Module rmdir.
72018         * m4/rmdir.m4: New file.
72019
72020         Module utime.
72021         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
72022         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
72023         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
72024
72025         Module dirname.
72026         * m4/dirname.m4: New file.
72027
72028         Module getopt.
72029         * m4/getopt.m4: New file.
72030
72031         Module unistd-safer.
72032         * m4/unistd-safer.m4: New file.
72033
72034         Module fnmatch.
72035         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
72036         declaration.
72037         (gl_PREREQ_FNMATCH_EXTRA): New macro.
72038         (gl_FUNC_FNMATCH_POSIX): New macro.
72039         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
72040         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
72041         simply fnmatch.
72042
72043         Module exclude.
72044         * m4/exclude.m4: New file.
72045
72046         Module human.
72047         * m4/human.m4: New file.
72048
72049         Module acl.
72050         * m4/acl.m4: Nop.
72051
72052         Module backupfile.
72053         * m4/backupfile.m4: New file.
72054         * m4/d-ino.m4: Indentation.
72055
72056         Module fsusage.
72057         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
72058         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
72059         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
72060
72061         Module dirfd.
72062         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
72063         requirements.
72064
72065         Module euidaccess.
72066         * m4/euidaccess.m4: New file.
72067
72068         Module file-type.
72069         * m4/file-type.m4: New file.
72070
72071         Module fileblocks.
72072         * m4/fileblocks.m4: New file.
72073
72074         Module filemode.
72075         * m4/filemode.m4: New file.
72076
72077         Module isdir.
72078         * m4/isdir.m4: New file.
72079
72080         Module lchown.
72081         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
72082         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
72083
72084         Module makepath.
72085         * m4/makepath.m4: New file.
72086
72087         Module modechange.
72088         * m4/modechange.m4: New file.
72089
72090         Module mountlist.
72091         * m4/mountlist.m4: New file.
72092         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
72093         Indentation.
72094
72095         Module path-concat.
72096         * m4/path-concat.m4: New file.
72097
72098         Module pathmax.
72099         * m4/pathmax.m4: New file.
72100
72101         Module same.
72102         * m4/same.m4: New file.
72103
72104         Module save-cwd.
72105         * m4/save-cwd.m4: New file.
72106
72107         Module savedir.
72108         * m4/savedir.m4: New file.
72109
72110         Module xgetcwd.
72111         * m4/xgetcwd.m4: New file.
72112         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
72113
72114         Module xreadlink.
72115         * m4/xreadlink.m4: New file.
72116
72117         Module safe-read.
72118         * m4/safe-read.m4: New file.
72119
72120         Module safe-write.
72121         * m4/safe-write.m4: New file.
72122
72123         Module closeout.
72124         * m4/closeout.m4: New file.
72125
72126         Module stdio-safer.
72127         * m4/stdio-safer.m4: New file.
72128
72129         Module getpass.
72130         * m4/getpass.m4: New file.
72131
72132         Module getugroups.
72133         * m4/getugroups.m4: New file.
72134
72135         Module group-member.
72136         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
72137         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
72138
72139         Module idcache.
72140         * m4/idcache.m4: New file.
72141
72142         Module userspec.
72143         * m4/userspec.m4: New file.
72144
72145         Module gettime.
72146         * m4/clock_time.m4: New file.
72147         * m4/gettime.m4: New file.
72148
72149         Module settime.
72150         * m4/settime.m4: New file.
72151
72152         Module posixtm.
72153         * m4/posixtm.m4: New file.
72154
72155         Module gethostname.
72156         * m4/gethostname.m4: New file.
72157
72158         Module canon-host.
72159         * m4/canon-host.m4: New file.
72160
72161         Module gettext.
72162         * m4/codeset.m4: New file, from gettext-0.11.5.
72163         * m4/gettext.m4: New file, from gettext-0.11.5.
72164         * m4/glibc21.m4: New file, from gettext-0.11.5.
72165         * m4/iconv.m4: New file, from gettext-0.11.5.
72166         * m4/intdiv0.m4: New file, from gettext-0.11.5.
72167         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
72168         * m4/inttypes.m4: New file, from gettext-0.11.5.
72169         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
72170         * m4/isc-posix.m4: New file, from gettext-0.11.5.
72171         * m4/lcmessage.m4: New file, from gettext-0.11.5.
72172         * m4/lib-ld.m4: New file, from gettext-0.11.5.
72173         * m4/lib-link.m4: New file, from gettext-0.11.5.
72174         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
72175         * m4/progtest.m4: New file, from gettext-0.11.5.
72176         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
72177         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
72178         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
72179
72180         Module localcharset.
72181         * m4/localcharset.m4: New file.
72182
72183         Module hard-locale.
72184         * m4/hard-locale.m4: New file.
72185
72186         Module mbswidth.
72187         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
72188         onceonly macros.
72189         * m4/mbrtowc.m4: Add comment.
72190
72191         Module memcasecmp.
72192         * m4/memcasecmp.m4: New file.
72193
72194         Module memcoll.
72195         * m4/memcoll.m4: New file.
72196
72197         Module unicodeio.
72198         * m4/unicodeio.m4: New file.
72199
72200         Module rpmatch.
72201         * m4/rpmatch.m4: New file.
72202
72203         Module yesno.
72204         * m4/yesno.m4: New file.
72205
72206         Module exitfail.
72207         * m4/exitfail.m4: New file.
72208
72209         Module c-stack.
72210         * m4/c-stack.m4 (gl_C_STACK): New macro.
72211         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
72212
72213         Module error.
72214         * m4/error.m4 (gl_ERROR): New macro.
72215         (jm_PREREQ_ERROR): Use onceonly macros.
72216
72217         Module fatal.
72218         * m4/fatal.m4: New file.
72219
72220         Module getloadavg.
72221         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
72222         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
72223
72224         Module getpagesize.
72225         * m4/getpagesize.m4: New file.
72226
72227         Module getusershell.
72228         * m4/getusershell.m4: New file.
72229
72230         Module physmem.
72231         * m4/physmem.m4: New file.
72232
72233         Module posixver.
72234         * m4/posixver.m4: New file.
72235
72236         Module quotearg.
72237         * m4/quotearg.m4: New file.
72238
72239         Module quote.
72240         * m4/quote.m4: New file.
72241
72242         Module readutmp.
72243         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
72244
72245         Module sig2str.
72246         * m4/sig2str.m4: New file.
72247
72248         Other.
72249         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
72250         ulonglong.m4.
72251         * m4/intmax_t.m4: New file.
72252         * m4/d-type.m4: Indentation.
72253         * m4/jm-macros.m4: Update.
72254         * m4/prereq.m4 (jm_PREREQ): Update.
72255         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
72256         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
72257         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
72258         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
72259         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
72260         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
72261         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
72262         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
72263         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
72264         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
72265         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
72266         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
72267         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
72268         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
72269         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
72270         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
72271         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
72272         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
72273         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
72274
72275 2002-12-24  Bruno Haible  <bruno@clisp.org>
72276
72277         * MODULES.txt: Update according to m4/ changes.
72278
72279         Module gettext.
72280         * config.rpath: New file, from gettext-0.11.5.
72281
72282         * modules/*: New module descriptions.
72283         * gnulib-tool: New file.
72284         * MODULES.html.sh: New file.
72285
72286 2002-12-21  Karl Berry  <karl@gnu.org>
72287
72288         * doc/fdl.texi: update to version 1.2.
72289
72290 2002-12-19  Karl Berry  <karl@gnu.org>
72291
72292         * config/config.guess: update from prep.
72293
72294 2002-12-18  Bruno Haible  <bruno@clisp.org>
72295
72296         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
72297         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
72298
72299 2002-12-17  Bruno Haible  <bruno@clisp.org>
72300
72301         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
72302         stdlib.h, string.h.
72303
72304 2002-12-17  Bruno Haible  <bruno@clisp.org>
72305
72306         * lib/canon-host.c (strdup): Remove unused declaration.
72307
72308         * lib/fsusage.c: Include full_read.h.
72309         (get_fs_usage): Use full_read instead of safe_read.
72310
72311         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
72312
72313 2002-12-12  Karl Berry  <karl@gnu.org>
72314
72315         * config/config.guess: update from prep.
72316
72317 2002-12-11  Bruno Haible  <bruno@clisp.org>
72318
72319         * m4/setenv.m4: New file, from gettext-0.11.5.
72320
72321 2002-12-11  Bruno Haible  <bruno@clisp.org>
72322
72323         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
72324         not unsetenv().
72325         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
72326         modifications:
72327
72328         2002-12-11  Bruno Haible  <bruno@clisp.org>
72329
72330                 * setenv.c (alloca): Fall back to malloc.
72331                 (freea): New macro.
72332                 (setenv): Use freea() to free memory allocated with alloca().
72333
72334         2002-11-13  Bruno Haible  <bruno@clisp.org>
72335
72336                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
72337                 function declarations.
72338                 * unsetenv.c (unsetenv): Likewise.
72339
72340         2002-03-04  Bruno Haible  <bruno@clisp.org>
72341
72342                 Portability to AIX 4.3.3.
72343                 * unsetenv.c: New file, extracted from setenv.c.
72344                 * setenv.c: Move the unsetenv() function to unsetenv.c.
72345
72346         2001-12-20  Bruno Haible  <bruno@clisp.org>
72347
72348                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
72349                 use malloc instead. For SunOS 4.
72350
72351         2001-12-11  Bruno Haible  <bruno@clisp.org>
72352
72353                 * setenv.c: Declare alloca.
72354                 (compar_fn_t): New typedef.
72355                 (KNOWN_VALUE, STORE_VALUE): Use it.
72356
72357         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
72358         setenv.h.
72359
72360 2002-12-10  Paul Eggert  <eggert@twinsun.com>
72361
72362         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
72363         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
72364         Choose values that are less likely to collide with system fnmatch
72365         options.
72366         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
72367         defined (e.g., a pure POSIX system).
72368         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
72369         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
72370
72371 2002-12-06  Paul Eggert  <eggert@twinsun.com>
72372
72373         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
72374         a pain in practice to deal with generated m4 files.  This change
72375         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
72376
72377         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
72378         and jm-glibc-io.m4, as they are no longer a special case.
72379         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
72380         kludge and the auto-generation stuff.  Check only whether the
72381         functions are declared, not whether they exist, since older hosts
72382         that don't declare the functions can't use the optimization anyway.
72383
72384 2002-12-06  Jim Meyering  <jim@meyering.net>
72385
72386         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
72387
72388         Merge in changes from libc's misc/error.c, in preparation
72389         for the merge of gnulib's changes back into libc.
72390
72391         * lib/error.c (_): Define only if not already defined.
72392         Move definition to follow all #include directives.
72393         Include unlocked-io.h only if !_LIBC.
72394         [_LIBC]: Include <libio/libioP.h>.
72395         [USE_IN_LIBIO]: Include <libio/iolibio.h>
72396         (fflush): Tweak definition to use INTUSE.
72397         (putc): Define.
72398
72399 2002-12-05  Paul Eggert  <eggert@twinsun.com>
72400
72401         * lib/alloca.c [defined emacs]: Include "lisp.h".
72402         (xalloc_die) [defined emacs]: New macro.
72403         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
72404         [! defined emacs]: Include <xalloc.h>.
72405         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
72406         (pointer): Typedef to POINTER_TYPE *.
72407         (malloc): Remove decl; we now always use xmalloc.
72408         (alloca): Use old-style definition, since Emacs needs this.
72409         Check for arithmetic overflow when computing combined size.
72410
72411 2002-12-04  Paul Eggert  <eggert@twinsun.com>
72412
72413         Do not generate unlocked-io.h automatically, since it's easier to
72414         maintain it by hand.
72415
72416         * lib/unlocked-io.h: New file, from GNU diffutils,
72417         but with proper copyright notice and attribution.
72418         * lib/gen-uio: Remove.
72419         * lib/Makefile.am: Add copyright notice.
72420         (libfetish_a_SOURCES): Add unlocked-io.h.
72421         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
72422         (DISTCLEANFILES, io_functions): Remove macros.
72423         (EXTRA_DIST): Remove gen_uio.
72424         (unlocked-io.h): Remove rule.
72425
72426 2002-12-04  Jim Meyering  <jim@meyering.net>
72427
72428         Reflect the fact that stat.c and lstat.c are no longer generated.
72429         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
72430         (DISTCLEANFILES): Likewise.
72431         (EXTRA_DIST): Likewise.
72432         (all_local): Don't depend on stat.c or lstat.c.
72433         (stat.c, lstat.c): Remove rules.
72434         (EXTRA_DIST): Remove xstat.in.
72435
72436         * lib/xstat.in: Remove file.  Contents moved into stat.c.
72437         * lib/stat.c: New file.  Contents mostly from xstat.in.
72438         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
72439         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
72440
72441         * lib/safe-read.c: Rework so that it may serve to define safe_write,
72442         too.
72443         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
72444
72445 2002-12-03  Jim Meyering  <jim@meyering.net>
72446
72447         * lib/safe-read.c, safe-write.c: Change variable names and comments,
72448         but not semantics, to minimize the differences between these two files.
72449         (safe_read): Change comment to mention SAFE_READ_ERROR.
72450
72451         * lib/safe-read.c (IS_EINTR): Define.
72452         (safe_read): Use IS_EINTR in place of in-function cpp directives.
72453
72454 2002-12-02  Jim Meyering  <jim@meyering.net>
72455
72456         * lib/safe-read.c (EINTR): Define.
72457         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
72458         (INT_MAX): Provide fallback.
72459         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
72460
72461         * lib/safe-read.h (SAFE_READ_ERROR): Define.
72462
72463 2002-12-02  Bruno Haible  <bruno@clisp.org>
72464
72465         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
72466         Define, taken from safe-read.c.
72467         (INT_MAX): Provide fallback.
72468         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
72469         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
72470
72471         * lib/safe-read.c (EINTR): Remove definition.
72472         (safe_read): Don't use EINTR if it is absent.
72473
72474 2002-12-01  Jim Meyering  <jim@meyering.net>
72475
72476         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
72477         zero.
72478         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
72479
72480 2002-11-27  Paul Eggert  <eggert@twinsun.com>
72481
72482         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
72483         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
72484         with `if (! (value < limit)) abort ();', for readability.
72485
72486 2002-11-26  Karl Berry  <karl@gnu.org>
72487
72488         * lib/strdup.c: copy from libc again, with jim's ok.
72489         * lib/.cppi-disable: re-add strdup.c
72490
72491 2002-11-25  Karl Berry  <karl@gnu.org>
72492
72493         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
72494         instead of "strtol.c".
72495
72496 2002-11-25  Karl Berry  <karl@gnu.org>
72497
72498         * config/install-sh: update from automake for variable quoting, $0 in
72499         error msgs, etc.
72500
72501         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
72502         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
72503         entry.
72504
72505 2002-11-25  Jim Meyering  <jim@meyering.net>
72506
72507         * lib/mktime.c: Sync from libc, now that it has the latest fix.
72508
72509 2002-11-24  Karl Berry  <karl@gnu.org>
72510
72511         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
72512         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
72513
72514 2002-11-24  Jim Meyering  <jim@meyering.net>
72515
72516         Update from coreutils:
72517
72518         * lib/mktime.c: Merge in changes from libc.
72519
72520         Avoid a link-time failure on some Linux systems.
72521         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
72522         (otherwise).
72523         (__mon_yday): Declare with the STATIC attribute.
72524         (__mktime_internal): Likewise.
72525         Based on a report from Greg Schafer.
72526
72527 2002-11-23  Jim Meyering  <jim@meyering.net>
72528
72529         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
72530         Use `unsigned', not `int', as type of index.
72531
72532         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
72533
72534         * lib/fsusage.c: Remove unneeded parentheses around operands of
72535         `defined'.
72536
72537 2002-11-22  Paul Eggert  <eggert@twinsun.com>
72538
72539         * lib/quotearg.h: Allow multiple inclusion by surrounding with
72540         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
72541         so that we can be included first.
72542         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
72543         * lib/quotearg.c: Include quotearg.h immediately after config.h.
72544         No need to include stddef.h or sys/types.h any more.
72545         Surround local include files with "", not "<>".
72546         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
72547         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
72548         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
72549         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
72550         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
72551         (ISPRINT): Remove; no longer needed now that we assume C89.
72552
72553         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
72554         Preserve errno.
72555
72556         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
72557         quotearg_char): Use SIZE_MAX rather than
72558         (size_t) -1 when we are talking about "infinity".
72559
72560         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
72561
72562 2002-11-22  Paul Eggert  <eggert@twinsun.com>
72563
72564         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
72565         hint that one should use `if (! x) abort ();' rather than `assert
72566         (x);', and anyway it's one less thing to worry about configuring.
72567         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
72568         hash_rehash, hash_insert): Use abort rather than assert.
72569
72570 2002-11-22  Bruno Haible  <bruno@clisp.org>
72571
72572         * lib/safe-read.h: Assume C89. Add comments.
72573         (safe_read): Change return type to size_t.
72574         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
72575         byte counts > SSIZE_MAX correctly.
72576         * lib/safe-write.h: New file.
72577         * lib/safe-write.c: New file.
72578         * lib/full-read.h: New file.
72579         * lib/full-read.c: New file.
72580         * lib/full-write.h: Assume C89. Add comments.
72581         * lib/full-write.c: Include safe-write.h.
72582         (full_write): Rewritten to use safe_write.
72583         Suggested by Jim Meyering and Paul Eggert.
72584
72585 2002-11-21  Jim Meyering  <jim@meyering.net>
72586
72587         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
72588
72589         Merge in changes from the coreutils.
72590
72591         2002-09-25  Paul Eggert  <eggert@twinsun.com>
72592         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
72593         <stdint.h>.
72594         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
72595         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
72596         int.  Work more efficiently if X is the same width as uintmax_t.
72597         Do not compare X to -1, to avoid bogus compiler warning.
72598         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
72599         Don't assume that f_frsize and f_bsize are the same type.
72600
72601         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
72602         warning on FreeBSD.
72603
72604         * lib/makepath.c (make_path): Restore umask *before* creating the final
72605         component.
72606         (make_path): Minor reformatting.
72607
72608         * lib/xmalloc.c: Adjust to work with new autoconf macros,
72609         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
72610         HAVE_MALLOC/HAVE_REALLOC.
72611
72612         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
72613         dummy ones.  At least on GNU/Linux systems, `auto' means something
72614         else.
72615         From Michael Stone.
72616
72617 2002-11-21  Bruno Haible  <bruno@clisp.org>
72618
72619         Remove case insensitive option matching.
72620         * lib/argmatch.h (argcasematch): Remove declaration.
72621         (ARGCASEMATCH): Remove macro.
72622         (__xargmatch_internal): Remove case_sensitive argument.
72623         (XARGMATCH): Update.
72624         (XARGCASEMATCH): Remove macro.
72625         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
72626         case_sensitive argument.
72627         (argcasematch): Remove function.
72628         (__xargmatch_internal): Remove case_sensitive argument.
72629         (main): Use XARGMATCH instead of XARGCASEMATCH.
72630
72631         * lib/xmalloc.c: Change compile-time error message. Add comment about
72632         required autoconf version.
72633
72634 2002-11-20  Paul Eggert  <eggert@twinsun.com>
72635
72636         Merge argmatch cleanups from Bison.  Assume C89.
72637
72638         * lib/argmatch.c: Include config.h here, not in argmatch.h.
72639         Include stdlib.h, for EXIT_FAILURE.
72640         Always include <string.h>, since we assume C89.
72641         (EXIT_FAILURE): Remove pre-C89 bug workaround.
72642         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
72643         Include <stddef.h> instead, since it's all we need for size_t.
72644         (PARAMS): Remove.  All uses removed.
72645         (ARRAY_CARDINALITY): Do not bother to #undef.
72646         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
72647         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
72648         Remove unnecessary parentheses.
72649         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
72650         Insert necessary parentheses.
72651         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
72652         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
72653
72654 2002-11-19  Bruno Haible  <bruno@clisp.org>
72655
72656         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
72657         * lib/mbswidth.h: Include <stddef.h>, for size_t.
72658
72659         * lib/mbswidth.h (PARAMS): Remove macro.
72660         (mbswidth, mbsnwidth): Use ANSI C function declarations.
72661         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
72662
72663         * lib/gcd.h (PARAMS): Remove macro.
72664         (gcd): Use ANSI C function declarations.
72665         * lib/gcd.c (gcd): Likewise.
72666
72667 2002-11-15  Bruno Haible  <bruno@clisp.org>
72668
72669         * lib/strcspn.c: Include <stddef.h>.
72670         (strcspn): Use ANSI C function declaration. Change return type to
72671         size_t. Use NULL.
72672         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
72673         (strpbrk): Use NULL.
72674         * lib/strpbrk.h (PARAMS): Remove macro.
72675         (strpbrk): Use ANSI C function declaration.
72676         * lib/strstr.c: Don't include <sys/types.h>.
72677         * lib/strstr.h (PARAMS): Remove macro.
72678         (strstr): Use ANSI C function declarations.
72679
72680 2002-11-14  Karl Berry  <karl@gnu.org>
72681
72682         * config/mkinstalldirs: `do' on separate line, instead of
72683         `for var; do'.
72684
72685 2002-11-06  Bruno Haible  <bruno@clisp.org>
72686
72687         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
72688         * lib/gcd.c (gcd): Likewise.
72689
72690 2002-11-05  Bruno Haible  <bruno@clisp.org>
72691
72692         * lib/gcd.h: New file, from gettext-0.11.5.
72693         * lib/gcd.c: New file, from gettext-0.11.5.
72694
72695 2002-11-05  Bruno Haible  <bruno@clisp.org>
72696
72697         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
72698         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
72699         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
72700         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
72701
72702         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
72703         <libintl.h>.
72704         * lib/makepath.c: Include gettext.h instead of <locale.h> and
72705         <libintl.h>.
72706
72707         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
72708         * lib/human.c: Include gettext.h instead of <libintl.h>.
72709         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
72710         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
72711         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
72712         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
72713         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
72714         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
72715         (textdomain): Remove definition.
72716         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
72717
72718         * lib/long-options.c: Remove include of <libintl.h> and definition of
72719         _.
72720         * lib/same.c: Remove include of <libintl.h> and definition of _.
72721
72722 2002-11-04  Owen Taylor  <otaylor@redhat.com>
72723
72724         * lib/config.charset: A few additions for Solaris.
72725
72726 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
72727
72728         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
72729         * lib/localcharset.c (locale_charset): Declare as extern "C".
72730
72731 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
72732
72733         * lib/config.charset: msdos in uk_UA uses CP1125.
72734
72735 2002-11-04  Bruno Haible  <bruno@clisp.org>
72736
72737         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
72738         * lib/strcase.h: New file, from GNU gettext-0.11.5.
72739         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
72740         * lib/strstr.h: New file, from GNU gettext-0.11.5.
72741         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
72742
72743 2002-11-04  Bruno Haible  <bruno@clisp.org>
72744
72745         * lib/localcharset.c (locale_charset): Don't return an empty string.
72746
72747 2002-11-04  Bruno Haible  <bruno@clisp.org>
72748
72749         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
72750         aliases.
72751
72752 2002-11-04  Bruno Haible  <bruno@clisp.org>
72753
72754         * lib/config.charset: Update for newest glibc. Add canonical names
72755         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
72756
72757 2002-11-04  Bruno Haible  <bruno@clisp.org>
72758
72759         * lib/config.charset: Add support for NetBSD.
72760
72761 2002-11-04  Bruno Haible  <bruno@clisp.org>
72762
72763         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
72764
72765 2002-11-01  Bruno Haible  <bruno@clisp.org>
72766
72767         * configure.in: Add AC_CONFIG_AUX_DIR call.
72768         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
72769         test/Makefile.
72770         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
72771
72772 2002-09-28  Karl Berry  <karl@gnu.org>
72773
72774         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
72775         installed automake until the next release, since changes have been
72776         made.
72777
72778 2002-09-25  Karl Berry  <karl@gnu.org>
72779
72780         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
72781         * lib/getopt*: copy from libc/posix.
72782         * lib/gettext.h: copy from gettext.
72783         * lib/.cppi-disable: add strdup.c, gettext.h.
72784
72785 2002-09-25  Karl Berry  <karl@gnu.org>
72786
72787         * config/srclist.txt: enable gettext.h check.
72788         * config/config.{guess,sub}: update from prep.
72789         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
72790                 from automake 1.6.3.
72791         See srclist*.
72792
72793 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
72794
72795         * regex.c (PATFETCH): Remove the translating fetch.
72796         (PATFETCH_RAW): Rename to PATFETCH.
72797         (set_image_of_range): New fun.
72798         (SET_RANGE_TABLE_WORK_AREA): Use it.
72799         (regex_compile): Don't translate the pattern chars so eagerly.
72800         Only do it when inserting an `exactn' bytecode or when handling
72801         a char-range.
72802         (mutually_exclusive_p): Avoid empty statement.
72803
72804 2002-07-06  Jim Meyering  <meyering@lucent.com>
72805
72806         * m4/README: Don't mention Makefile.am.in.
72807         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
72808
72809 2002-07-01  Jim Meyering  <meyering@lucent.com>
72810
72811         * lib/c-stack.c: Include sys/time.h.
72812         From Volker Borchert.
72813
72814 2002-06-26  Paul Eggert  <eggert@twinsun.com>
72815
72816         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
72817
72818 2002-06-26  Paul Eggert  <eggert@twinsun.com>
72819
72820         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
72821         New macro.  Use it uniformly instead of
72822         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
72823         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
72824         reported by Vin Shelton.
72825
72826 2002-06-22  Paul Eggert  <eggert@twinsun.com>
72827
72828         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
72829         Do not assume SA_SIGINFO behavior.
72830         Bug reported by Jim Meyering on NetBSD 1.5.2.
72831
72832 2002-06-22  Jim Meyering  <meyering@lucent.com>
72833
72834         * m4/c-stack.m4: New file, from diffutils-2.8.2.
72835         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
72836
72837         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
72838         now that configure.ac uses AC_GNU_SOURCE.
72839         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
72840         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
72841
72842         Update to latest tools.  Suggestions from Paul Eggert.
72843         * m4/stdbool.m4: New file, from diffutils-2.8.2.
72844         * m4/gnu-source.m4: Update from diffutils-2.8.2.
72845         * m4/fnmatch.m4: Likewise.
72846         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
72847         to AC_HEADER_STDBOOL
72848
72849 2002-06-22  Jim Meyering  <meyering@lucent.com>
72850
72851         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
72852         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
72853
72854 2002-06-22  Jim Meyering  <meyering@lucent.com>
72855
72856         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
72857
72858         * lib/exitfail.c, exitfail.h: Likewise.
72859         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
72860
72861         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
72862         of fnmatch.h.
72863         (EXTRA_DIST): Add fnmatch_loop.c.
72864         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
72865
72866         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
72867         * lib/fnmatch.c: Update from diffutils-2.8.2.
72868         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
72869         * lib/fnmatch.h: Remove file.
72870
72871 2002-06-21  Jim Meyering  <meyering@lucent.com>
72872
72873         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
72874         * m4/mbrtowc.m4: Likewise.
72875
72876         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
72877         * m4/mbswidth.m4: Reflect name change:
72878         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
72879         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
72880
72881         * m4/lib-link.m4: Update from gettext-0.11.2.
72882         * m4/gettext.m4: Likewise.
72883
72884         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
72885         From Alfred M. Szmidt.
72886
72887 2002-06-18  Paul Eggert  <eggert@twinsun.com>
72888
72889         * lib/file-type.h: Report an error if neither S_ISREG nor
72890         S_IFREG is defined, instead of using a test specific to glibc
72891         2.2.  This should be safe, since POSIX requires S_ISREG and
72892         Unix Version 7 had S_IFREG.  We don't need to check for
72893         <sys/types.h> since we don't use any symbols that it defines.
72894
72895 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
72896
72897         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
72898         $@-t, so that each temporary file name is unique and valid in the first
72899         8 characters, for operation under DOS.
72900
72901 2002-06-15  Paul Eggert  <eggert@twinsun.com>
72902
72903         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
72904
72905 2002-06-15  Jim Meyering  <meyering@lucent.com>
72906
72907         Work even with DJGPP 2.03, which lacks support for symlinks.
72908         From Richard Dawe.
72909         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
72910         is defined.
72911         * lib/lchown.c (S_ISLNK): Likewise.
72912
72913 2002-06-15  Jim Meyering  <meyering@lucent.com>
72914
72915         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
72916         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
72917         have been included before this file.
72918
72919 2002-06-14  Jim Meyering  <meyering@lucent.com>
72920
72921         * lib/file-type.h: Use the version from diffutils-2.8.2.
72922         * lib/file-type.c: Likewise.
72923
72924 2002-06-07  Jim Meyering  <meyering@lucent.com>
72925
72926         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
72927         They're needed at least for NetBSD 1.5.2.
72928         ($statxfs_includes): Include those same headers.
72929         ($statxfs_includes): Include sys/vfs.h if available.
72930         ($statxfs_includes): Likewise for sys/statvfs.h.
72931         Check for the following members in both structs statfs and statvfs:
72932         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
72933
72934 2002-06-01  Jim Meyering  <meyering@lucent.com>
72935
72936         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
72937         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
72938
72939 2002-05-28  Jim Meyering  <meyering@lucent.com>
72940
72941         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
72942         Reported by Volker Borchert.
72943
72944 2002-05-27  Jim Meyering  <meyering@lucent.com>
72945
72946         Fix a problem seen only on nonconforming systems whereby ls.c's
72947         use of localtime, and then of gettimeofday would cause trouble:
72948         the localtime call used to initialize rpl_gettimeofday's save
72949         mechanism would clobber ls's current local time information so
72950         that in any long listing the first file would always be listed
72951         with date 1970-01-01.  Analysis by Volker Borchert.
72952
72953         * lib/gettimeofday.c (localtime): Undefine.
72954         (rpl_localtime): New function.
72955
72956 2002-05-27  Jim Meyering  <meyering@lucent.com>
72957
72958         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
72959         localtime.
72960
72961         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
72962         use the replacement function; it wouldn't resolve at link time.
72963         Reported by Volker Borchert.
72964
72965 2002-05-22  Jim Meyering  <meyering@lucent.com>
72966
72967         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
72968         file-type.h.
72969         * lib/file-type.h: New file.
72970         * lib/file-type.c (file_type): New file/function.  Extracted from
72971         diffutils.
72972
72973 2002-04-30  Jim Meyering  <meyering@lucent.com>
72974
72975         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
72976
72977 2002-04-29  Paul Eggert  <eggert@twinsun.com>
72978
72979         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
72980
72981 2002-04-29  Paul Eggert  <eggert@twinsun.com>
72982
72983         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
72984         Do not check for alloca.h (no longer used) or stdbool.h (was never
72985         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
72986
72987 2002-04-29  Paul Eggert  <eggert@twinsun.com>
72988
72989         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
72990
72991 2002-04-29  Jim Meyering  <meyering@lucent.com>
72992
72993         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
72994         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
72995         Use AC_FUNC_STRNLEN here instead.
72996
72997         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
72998         With autoconf-2.53a, it's part of AC_PROG_CC.
72999
73000 2002-04-28  Paul Eggert  <eggert@twinsun.com>
73001
73002         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
73003         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
73004
73005 2002-04-28  Paul Eggert  <eggert@twinsun.com>
73006
73007         * lib/sig2str.h, lib/sig2str.c: New files.
73008         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
73009
73010 2002-04-28  Paul Eggert  <eggert@twinsun.com>
73011
73012         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
73013         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
73014         of 127, since 64 is the largest conceivable number for ancient
73015         nonstandard hosts.
73016         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
73017
73018 2002-04-28  Jim Meyering  <meyering@lucent.com>
73019
73020         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
73021
73022 2002-04-24  Jim Meyering  <meyering@lucent.com>
73023
73024         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
73025         (jm_PREREQ): Use it.
73026
73027         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
73028         mach/mach.h fcntl.h.
73029         Check for this function: setlocale.
73030
73031 2002-04-24  Jim Meyering  <meyering@lucent.com>
73032
73033         * lib/gettext.h: New file, from Gettext.
73034         * lib/Makefile.am (INCLUDES): Remove -I../intl.
73035         (libfetish_a_SOURCES): Add gettext.h.
73036
73037 2002-04-16  Jim Meyering  <meyering@lucent.com>
73038
73039         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
73040         ut_pid, ut_id, ut_exit.
73041
73042 2002-04-16  Jim Meyering  <meyering@lucent.com>
73043
73044         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
73045         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
73046         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
73047
73048 2002-04-12  Jim Meyering  <meyering@lucent.com>
73049
73050         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
73051         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
73052         existence of the getmntinfo function.  Needed for Darwin 5.3.
73053
73054         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
73055         This is necessary at least on Darwin 5.3.
73056
73057         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
73058         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
73059         strnlen.o in the library, and that makes some versions of ranlib
73060         object.
73061
73062 2002-04-12  Jim Meyering  <meyering@lucent.com>
73063
73064         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
73065
73066 2002-04-09  Jim Meyering  <meyering@lucent.com>
73067
73068         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
73069         to be more precise.  Rather than saying we're checking whether the
73070         function `works', say what we're testing.
73071         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
73072         Reported by Bruno Haible.
73073
73074 2002-03-10  Jim Meyering  <meyering@lucent.com>
73075
73076         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
73077         Suggestion from Santiago Vila.
73078
73079 2002-03-08  Jim Meyering  <meyering@lucent.com>
73080
73081         * lib/rename.c: Mention that this wrapper is needed also on
73082         mips-dec-ultrix4.4 systems.
73083
73084 2002-03-02  Jim Meyering  <meyering@lucent.com>
73085
73086         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
73087         not HAVE_CLOCK_SETTIME.
73088
73089 2002-02-27  Paul Eggert  <eggert@twinsun.com>
73090
73091         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
73092         Check for clock_settime.
73093
73094 2002-02-27  Paul Eggert  <eggert@twinsun.com>
73095
73096         * lib/nanosleep.h: Rename to....
73097         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
73098
73099         * lib/gettime.c: New file.
73100         * lib/settime.c: New file.
73101         * lib/stime.c: Remove.
73102
73103         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
73104         timespec.h.  Remove nanosleep.h.
73105
73106 2002-02-25  Paul Eggert  <eggert@twinsun.com>
73107
73108         * m4/acl.m4: New file.
73109         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
73110         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
73111
73112 2002-02-25  Paul Eggert  <eggert@twinsun.com>
73113
73114         * lib/acl.c, lib/acl.h: New files.
73115         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
73116
73117 2002-02-24  Jim Meyering  <meyering@lucent.com>
73118
73119         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
73120         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
73121         cause trouble.  Reported by Nelson Beebe.
73122
73123 2002-02-23  Paul Eggert  <eggert@twinsun.com>
73124
73125         * lib/path-concat.c (xpath_concat): Reorder code to pacify
73126         compilers that don't know that xalloc_die never returns.
73127
73128 2002-02-20  Jim Meyering  <meyering@lucent.com>
73129
73130         * lib/getdate.c: Regenerate using bison-1.33.
73131
73132 2002-02-17  Jim Meyering  <meyering@lucent.com>
73133
73134         * config/config.guess (main): Don't use `head -1'; it's no longer
73135         portable. Use `sed 1q' instead.
73136
73137 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
73138
73139         * m4/codeset.m4: Upgrade to gettext-0.11.
73140         * m4/gettext.m4: Upgrade to gettext-0.11.
73141         * m4/glibc21.m4: Upgrade to gettext-0.11.
73142         * m4/iconv.m4: Upgrade to gettext-0.11.
73143         * m4/isc-posix.m4: Upgrade to gettext-0.11.
73144         * m4/lcmessage.m4: Upgrade to gettext-0.11.
73145         * m4/lib-ld.m4: New file, from gettext-0.11.
73146         * m4/lib-link.m4: New file, from gettext-0.11.
73147         * m4/lib-prefix.m4: New file, from gettext-0.11.
73148         * m4/progtest.m4: Upgrade to gettext-0.11.
73149
73150 2002-02-15  Paul Eggert  <eggert@twinsun.com>
73151
73152         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
73153         (jm_PREREQ): Use it.
73154
73155 2002-02-15  Paul Eggert  <eggert@twinsun.com>
73156
73157         * lib/posixver.c, lib/posixver.h: New files.
73158         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
73159
73160 2002-02-02  Paul Eggert  <eggert@twinsun.com>
73161             Bruno Haible  <bruno@clisp.org>
73162
73163         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
73164         (fwrite_success_callback): New declaration.
73165         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
73166         print_unicode_char. Call failure callback instead of error.
73167         (fwrite_success_callback): New function.
73168         (exit_failure_callback): New function.
73169         (fallback_failure_callback): New function.
73170         (print_unicode_char): Call unicode_to_mb.
73171
73172 2002-01-26  Jim Meyering  <meyering@lucent.com>
73173
73174         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
73175         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
73176
73177 2002-01-26  Jim Meyering  <meyering@lucent.com>
73178
73179         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
73180
73181 2002-01-22  Paul Eggert  <eggert@twinsun.com>
73182
73183         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
73184
73185 2002-01-22  Jim Meyering  <meyering@lucent.com>
73186
73187         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
73188         Otherwise, some versions of automake would omit the rule that makes
73189         Makefile from Makefile.in.
73190
73191 2002-01-21  Paul Eggert  <eggert@twinsun.com>
73192
73193         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
73194         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
73195         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
73196         (memcoll): Set errno to zero if there is no error.
73197
73198         * lib/quotearg.c (quotearg_buffer_restyled):
73199         Fix bug with quoting buffers containing NUL when backslashing escapes.
73200         This bug was exposed by the other changes in this patch.
73201         (quotearg_n_options): New arg ARGSIZE.
73202         All callers changed.
73203         (quoting_options_from_style): New function.
73204         (quotearg_n_style): Use it.
73205         (quotearg_n_style_mem): New function.
73206
73207         * lib/quotearg.h (quotearg_n_style_mem): New function.
73208
73209 2002-01-19  Jim Meyering  <meyering@lucent.com>
73210
73211         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
73212         Remove useless quotes: DF_PROG="df".
73213         * m4/strnlen.m4: New file.
73214
73215 2002-01-16  Paul Eggert  <eggert@twinsun.com>
73216
73217         * lib/backupfile.c (ISDIGIT): Comment fix.
73218         * lib/getdate.y (ISDIGIT): Likewise.
73219         * lib/posixtm.c (ISDIGIT, year): Likewise.
73220         * lib/strverscmp.c (ISDIGIT): Likewise.
73221         * lib/userspec.c (ISDIGIT): Likewise.
73222
73223 2002-01-16  Jim Meyering  <meyering@lucent.com>
73224
73225         * lib/getdate.y: Add three semicolons, each just before a closing
73226         brace. Bison (as of version 1.31) no longer papers over that mistake.
73227
73228 2002-01-05  Jim Meyering  <meyering@lucent.com>
73229
73230         * lib/version-etc.c (version_etc_copyright): Update copyright year.
73231
73232 2001-12-19  Paul Eggert  <eggert@twinsun.com>
73233
73234         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
73235         not silently exit merely because the output buffer happens to
73236         have nothing pending.
73237
73238 2001-12-18  Paul Eggert  <eggert@twinsun.com>
73239
73240         See the big note in ../ChangeLog.
73241         * lib/human.c (suffixes): Prefer K to k for 1024.
73242         (generate_suffix_backwards): New function.
73243         (human_readable_inexact): Use it.
73244         * lib/xstrtol.c (__xstrtol): If there is no number but there
73245         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
73246         Accept 'K' as well as 'k'.
73247
73248 2001-12-15  Jim Meyering  <meyering@lucent.com>
73249
73250         * lib/regex.h (__restrict_arr): Update from libc.
73251
73252         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
73253         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
73254         (STREQ): Define.
73255
73256 2001-12-14  Jim Meyering  <meyering@lucent.com>
73257
73258         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
73259         Suggestion from Bruno Haible.
73260
73261 2001-12-10  Jim Meyering  <meyering@lucent.com>
73262
73263         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
73264         xrealloc, Instead, include "xalloc.h".
73265         (initbuffer): Don't cast xmalloc return value to char*.
73266         (readline): Reword comment.
73267         Don't cast xrealloc return value to char*
73268         Return NULL, not 0.
73269
73270 2001-12-09  Jim Meyering  <meyering@lucent.com>
73271
73272         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
73273         about `signed and unsigned type in conditional expression'.
73274         * lib/posixtm.c (posix_time_parse): Likewise.
73275
73276         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
73277
73278         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
73279         to avoid a pedantic warning.
73280
73281         * lib/getstr.c: Don't include assert.h.
73282         (getstr): Remove warning-evoking assertions.
73283         Return -1 if offset parameter is out of bounds.
73284         Change the type of a local from int to size_t.
73285
73286         * lib/strftime.c (my_strftime_localtime_r): Include this function
73287         definition in the `#if ! HAVE_TM_GMTOFF' block.
73288
73289         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
73290         Include xalloc.h instead.
73291
73292 2001-12-02  Jim Meyering  <meyering@lucent.com>
73293
73294         * lib/tempname.c: Don't declare getenv, thus reverting the change of
73295         2001-11-18.  It's no longer necessary, now that stdlib.h is always
73296         included.
73297
73298         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
73299         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
73300
73301 2001-11-30  Akim Demaille  <akim@epita.fr>
73302
73303         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
73304         before being defined.
73305
73306 2001-11-27  Paul Eggert  <eggert@twinsun.com>
73307
73308         * lib/quotearg.h (quotearg_n, quotearg_n_style):
73309         First arg is int, not unsigned.
73310         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
73311         (SIZE_MAX, UINT_MAX): New macros.
73312         (quotearg_n_options): Abort if N is negative.
73313         Avoid overflow check on hosts where size_t is 64 bits and int
73314         is 32 bits, as overflow is impossible there.
73315         Fix off-by-one typo that caused unnecessary reallocation.
73316
73317 2001-11-27  Jim Meyering  <meyering@lucent.com>
73318
73319         * lib/tempname.c: Merge with version from libc.
73320         * lib/regex.c: Likewise.
73321
73322         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
73323         systems for which STDC_HEADERS is 0, it was not included, resulting in
73324         a warning about an integer-to-pointer conversion problem with getenv.
73325         Reported by Volker Borchert.
73326
73327 2001-11-26  Jim Meyering  <meyering@lucent.com>
73328
73329         * lib/gtod.h: Remove file.
73330         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
73331         * lib/gettimeofday.c: Don't include gtod.h.
73332         (GTOD_init): Remove function.
73333         (rpl_gettimeofday): Do its job here instead, rather than aborting.
73334         Suggestion from Volker Borchert.
73335
73336 2001-11-23  Jim Meyering  <meyering@lucent.com>
73337
73338         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
73339         it.
73340         * lib/hash.c (struct hash_table): Define it here instead.
73341
73342 2001-11-22  Jim Meyering  <meyering@lucent.com>
73343
73344         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
73345
73346 2001-11-20  Jim Meyering  <meyering@lucent.com>
73347
73348         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
73349         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
73350
73351 2001-11-19  Jim Meyering  <meyering@lucent.com>
73352
73353         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
73354         directory.  Use "conftestXXXXXX" as the template.
73355         Suggestion from Paul Eggert.
73356
73357         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
73358         immediately, so the test doesn't mistakenly hit the max-open-files
73359         limit.
73360
73361 2001-11-18  Paul Eggert  <eggert@twinsun.com>
73362
73363         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
73364         (TEMPORARIES): New macro.
73365         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
73366         removes an artificial limitation (e.g. HP-UX 10.20, where
73367         TMP_MAX is 17576).
73368
73369 2001-11-18  Jim Meyering  <meyering@lucent.com>
73370
73371         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
73372
73373 2001-11-18  Jim Meyering  <meyering@lucent.com>
73374
73375         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
73376         on SunOS 4.
73377
73378         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
73379         files will be created before anything else.
73380
73381 2001-11-17  Paul Eggert  <eggert@twinsun.com>
73382
73383         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
73384         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
73385
73386 2001-11-17  Jim Meyering  <meyering@lucent.com>
73387
73388         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
73389         Prompted by a report from Bob Proulx.
73390
73391         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
73392         Instead, require UTILS_FUNC_MKSTEMP.
73393
73394 2001-11-17  Jim Meyering  <meyering@lucent.com>
73395
73396         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
73397         Now, that's done as part of AC_FUNC_STRTOD.
73398
73399 2001-11-17  Jim Meyering  <meyering@lucent.com>
73400
73401         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
73402         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
73403         rather than group writable.  Patch by Juan F. Codagnone.
73404
73405         * lib/readtokens.c: Remove explicit declarations of xmalloc and
73406         xrealloc, Instead, include "xalloc.h".
73407
73408         * lib/mountlist.c: Include unlocked-io.h after all system headers.
73409         Remove explicit declarations of xmalloc, xrealloc,
73410         and xstrdup.  Instead, include "xalloc.h".
73411
73412         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
73413         unlocked-io.h.
73414         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
73415         Likewise.
73416         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
73417
73418         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
73419         Reported by Padraig Brady.
73420
73421         * lib/mkstemp.c: #undef mkstemp.
73422         Include config.h.
73423         (rpl_mkstemp): Rename from mkstemp.
73424         Protoize.
73425
73426 2001-11-16  Jim Meyering  <meyering@lucent.com>
73427
73428         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
73429         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
73430         determine the amount of total physical memory, use pstat_getstatic.
73431         HPUX-11 doesn't define _SC_PHYS_PAGES.
73432         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
73433         If sysconf couldn't be used to determine the amount of available
73434         physical memory, use both pstat_getstatic and pstat_getdynamic.
73435         Based on a patch from Bob Proulx.
73436
73437 2001-11-10  Jim Meyering  <meyering@lucent.com>
73438
73439         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
73440         (jm_PREREQ): Use it.
73441
73442 2001-11-09  Jim Meyering  <meyering@lucent.com>
73443
73444         * m4/jm-macros.m4: Require autoconf-2.52f.
73445         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
73446         Use these AC_-prefixed names, not the AM_-prefixed ones.
73447
73448         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
73449
73450 2001-11-05  Jim Meyering  <meyering@lucent.com>
73451
73452         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
73453
73454 2001-11-04  Jim Meyering  <meyering@lucent.com>
73455
73456         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
73457         $DEFS.
73458
73459 2001-11-03  Jim Meyering  <meyering@lucent.com>
73460
73461         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
73462         of AC_DEFUN.
73463
73464         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
73465         know the name of the variable in the macro definition.
73466
73467 2001-11-03  Jim Meyering  <meyering@lucent.com>
73468
73469         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
73470         in argmatch_to_argument call.
73471
73472         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
73473         argument.
73474
73475         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
73476         e.g., a fault due to an attempt to free a NULL pointer.
73477
73478 2001-11-01  Jim Meyering  <meyering@lucent.com>
73479
73480         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
73481         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
73482
73483 2001-11-01  Jim Meyering  <meyering@lucent.com>
73484
73485         * lib/dirfd.c, lib/dirfd.h: New files.
73486         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
73487
73488         * lib/hash.c (hash_print) [TESTING]: Clean up.
73489
73490 2001-10-22  Paul Eggert  <eggert@twinsun.com>
73491
73492         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
73493         to avoid a warning if -Wall.
73494
73495 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
73496
73497         * README: New file
73498         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
73499         (per RMS's instructions, this is now the canonical source)
73500         * lgpl/, gpl/: New directories.
73501
73502 2001-10-21  Paul Eggert  <eggert@twinsun.com>
73503
73504         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
73505
73506 2001-10-21  Jim Meyering  <meyering@lucent.com>
73507
73508         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
73509         this code would end up calling gettext even in packages built
73510         with --disable-nls.
73511         * lib/getopt.c (_): Likewise.
73512         * lib/regex.c (_): Likewise.
73513
73514 2001-10-20  Paul Eggert  <eggert@twinsun.com>
73515
73516         * m4/error.m4 (jm_PREREQ_ERROR):
73517         Do not invoke AC_CHECK_FUNCS with strerror_r, as
73518         AC_FUNC_STRERROR_R does that.
73519         Check for strerror declaration.
73520
73521         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
73522         are supposed to have them these days.
73523         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
73524         Merge changes from latest Autoconf CVS.
73525         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
73526         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
73527         POSIX decided to standardize on the int flavor of strerror_r.
73528
73529 2001-10-20  Paul Eggert  <eggert@twinsun.com>
73530
73531         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
73532         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
73533         Use strerror_r that is only a macro, even if it is not a function.
73534         (strerror): Check for HAVE_DECL_STRERROR before declaring.
73535         (private_strerror): Use prototypes, not old-style function definition.
73536         (print_errno_message): New function.
73537         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
73538         char*-flavored one.
73539         (error_tail, error, error_at_line): Use it.
73540
73541 2001-10-11  Jim Meyering  <meyering@lucent.com>
73542
73543         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
73544         and quote_n (1, ... to avoid clobbering a buffer.
73545
73546 2001-10-05  Jim Meyering  <meyering@lucent.com>
73547
73548         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
73549         hash-pjw.h.
73550         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
73551         * lib/hash-pjw.h: New file.
73552
73553 2001-09-30  Jim Meyering  <meyering@lucent.com>
73554
73555         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
73556         `struct fsstat' has the `f_fstypename' member.
73557         Use that to define FS_TYPE, which is now used to make
73558         the getfsstat link test tighter.
73559
73560 2001-09-30  Jim Meyering  <meyering@lucent.com>
73561
73562         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
73563         Include <sys/ucred.h>, for Apple Darwin.
73564         Include sys/mount.h and sys/fs_types.h only if available.
73565         (FS_TYPE): Define.
73566         (read_filesystem_list): Use FS_TYPE.
73567
73568 2001-09-29  Paul Eggert  <eggert@twinsun.com>
73569
73570         * lib/exclude.c (excluded_filename): 0 -> false, since it's
73571         a boolean context.
73572
73573 2001-09-29  Jim Meyering  <meyering@lucent.com>
73574
73575         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
73576         [one-argument getmntent function]): Include stdio.h before mntent.h.
73577         SunOS 4.1.x needs it for the declaration of `FILE'.
73578         Patch by Volker Borchert.
73579
73580         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
73581         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
73582         sys/fs_types.h, and make the link-test for getfsstat guard #include
73583         directives with appropriate #if HAVE_*_H tests so that we can
73584         detect getfsstat on Apple Darwin1.3.7 systems.
73585         Reported by Nelson Beebe.
73586         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
73587
73588 2001-09-28  Paul Eggert  <eggert@twinsun.com>
73589
73590         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
73591         #defines strtoimax.  Also treat the other strto* functions
73592         like strtoimax.
73593
73594         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
73595         Check for strtoul and strtoumax,
73596         as those declarations are made even in the signed case.
73597         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
73598         Likewise, for strtol and strtoimax.
73599
73600 2001-09-28  Paul Eggert  <eggert@twinsun.com>
73601
73602         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
73603         #defines strtoimax.  Also treat the other strto* functions
73604         like strtoimax.
73605
73606         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
73607         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
73608         (strtoimax, strtoumax): Do not declare if already defined as a macro.
73609
73610 2001-09-26  Jim Meyering  <meyering@lucent.com>
73611
73612         Most macros in unlocked-io.h had the wrong number of arguments.
73613         * lib/gen-uio: New script.
73614         (USE_UNLOCKED_IO): Define to 1 if not already defined.
73615         * lib/unlocked-io.hin: Remove file.
73616         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
73617         rather than trying to embed it here.
73618         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
73619         Reported by Padraig Brady.
73620
73621 2001-09-25  Volker Borchert  <bt@teknon.de>
73622
73623         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
73624         `result'.
73625
73626 2001-09-24  Jim Meyering  <meyering@lucent.com>
73627
73628         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
73629
73630 2001-09-23  Jim Meyering  <meyering@lucent.com>
73631
73632         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
73633         instead of the mere test for existence of mntent.h.  The latter
73634         would get a false-positive on AIX 3.4 systems.
73635         In the outer getmntent if-block, don't die if neither of the getmntent
73636         tests succeeds.  Instead, just fall through and continue with the
73637         remaining tests.
73638
73639 2001-09-23  Jim Meyering  <meyering@lucent.com>
73640
73641         * lib/mountlist.c: Remove useless parentheses in #if directives.
73642         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
73643         the deprecated MOUNTED symbol is no longer defined in mntent.h.
73644
73645 2001-09-22  Jim Meyering  <meyering@lucent.com>
73646
73647         * m4/gettext.m4: New file.  From gettext.
73648         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
73649         * m4/progtest.m4: Likewise
73650         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
73651         * m4/glibc21.m4: Likewise.
73652
73653         * m4/libintl.m4: Remove.  No longer used.
73654
73655 2001-09-22  Jim Meyering  <meyering@lucent.com>
73656
73657         * lib/localcharset.c: Update from latest gettext.
73658         * lib/config.charset: Likewise.
73659
73660 2001-09-20  Jim Meyering  <meyering@lucent.com>
73661
73662         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
73663         strtoimax.
73664         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
73665         strtoumax.
73666
73667 2001-09-20  Jim Meyering  <meyering@lucent.com>
73668
73669         * lib/xstrtol.c (strtoimax): Guard declaration with
73670         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
73671         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
73672         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
73673         (strtoumax): Likewise, for completeness (it wasn't necessary).
73674
73675 2001-09-17  Paul Eggert  <eggert@twinsun.com>
73676
73677         * lib/strtoimax.c (HAVE_LONG_LONG):
73678         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
73679         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
73680         to work around bug in IBM C compiler.
73681
73682 2001-09-17  Jim Meyering  <meyering@lucent.com>
73683
73684         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
73685         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
73686         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
73687         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
73688         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
73689         whenever the right hand side need not be expanded by the shell.
73690
73691 2001-09-16  Paul Eggert  <eggert@twinsun.com>
73692
73693         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
73694         library.  It's not correct, as some older glibcs are buggy.
73695         fnmatch wasn't fixed until glibc 2.2.
73696
73697         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
73698         special shell magic here.
73699
73700 2001-09-16  Jim Meyering  <meyering@lucent.com>
73701
73702         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
73703         * m4/jm-macros.m4: Require it.
73704
73705 2001-09-16  Jim Meyering  <meyering@lucent.com>
73706
73707         * lib/mkdir.c: New file.
73708
73709 2001-09-15  Jim Meyering  <meyering@lucent.com>
73710
73711         * m4/jm-macros.m4: Check for help2man.
73712
73713 2001-09-11  Jim Meyering  <meyering@lucent.com>
73714
73715         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
73716         The body, by Paul Eggert, was moved here from configure.in.
73717         * m4/jm-macros.m4: Require UTILS_HOST_OS.
73718
73719 2001-09-04  Paul Eggert  <eggert@twinsun.com>
73720
73721         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
73722         (jm_PREREQ): Use it.
73723
73724 2001-09-04  Paul Eggert  <eggert@twinsun.com>
73725
73726         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
73727         Use ssize_t, not int, to store result of readlink.
73728         Check for ssize_t overflow as well as size_t overflow,
73729         as POSIX says the result of readlink is implementation-defined
73730         when ssize_t overflows.
73731         Remove unnecessary cast to char*.
73732         Use free+malloc instead of realloc, as the storage doesn't need
73733         to be preserved and it's clearer and can be more efficient that way.
73734         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
73735         * lib/xreadlink.h (xreadlink): Update prototype.
73736
73737 2001-09-04  Paul Eggert  <eggert@twinsun.com>
73738
73739         * lib/xgetcwd.c: Revert some of the previous change; intead,
73740         fix the HAVE_GETCWD_NULL code to behave more like the
73741         !HAVE_GETCWD_NULL code used to.
73742
73743         Include "xalloc.h".
73744         (xgetcwd): Do not return NULL when memory is exhausted; instead,
73745         invoke xalloc_die.
73746
73747 2001-09-03  Paul Eggert  <eggert@twinsun.com>
73748
73749         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
73750         sys/param.h, as pathmax.h includes them.
73751
73752 2001-09-03  Paul Eggert  <eggert@twinsun.com>
73753
73754         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
73755         (jm_PREREQ_XGETCWD): New macro.
73756
73757         * m4/getcwd.m4: New file.
73758
73759 2001-09-03  Paul Eggert  <eggert@twinsun.com>
73760
73761         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
73762         like the HAVE_GETCWD_NULL code.
73763         Include pathmax.h if not HAVE_GETCWD.
73764         Do not include xalloc.h.
73765         (INITIAL_BUFFER_SIZE): New symbol.
73766         Do not use xmalloc / xrealloc, since the caller is responsible for
73767         handling errors.  Preserve errno around `free' during failure.
73768         Do not overrun buffer when using getwd.
73769
73770 2001-09-03  Paul Eggert  <eggert@twinsun.com>
73771
73772         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
73773         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
73774         getcwd (NULL, 0).
73775
73776 2001-09-03  Paul Eggert  <eggert@twinsun.com>
73777
73778         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
73779         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
73780         spotted by Jim Meyering.
73781
73782 2001-09-03  Jim Meyering  <meyering@lucent.com>
73783
73784         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
73785         failure.
73786
73787 2001-09-02  Jim Meyering  <meyering@lucent.com>
73788
73789         * lib/error.c: Update from GNU libc.
73790
73791 2001-09-01  Jim Meyering  <meyering@lucent.com>
73792
73793         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
73794         Used by df.
73795
73796 2001-09-01  Jim Meyering  <meyering@lucent.com>
73797
73798         * lib/xreadlink.c: New file.
73799         * lib/xreadlink.h: New file.
73800         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
73801         xreadlink.h.
73802
73803         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
73804         doesn't conflict with sparc Solaris 7's definition in
73805         /usr/include/sys/int_types.h.
73806
73807         * lib/exclude.c: Use `""', not `<>' to #include non-system header
73808         files.
73809         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
73810         and strncasecmp as r-values.  Unixware didn't have declarations.
73811
73812 2001-08-31  Paul Eggert  <eggert@twinsun.com>
73813
73814         * lib/xstrtol.h: Add copyright notice.
73815         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
73816         LONGINT_INVALID_SUFFIX_CHAR.
73817
73818 2001-08-31  Paul Eggert  <eggert@twinsun.com>
73819
73820         * lib/xstrtol.c (strtoimax): New decl.
73821
73822 2001-08-31  Paul Eggert  <eggert@twinsun.com>
73823
73824         * lib/xgetcwd.c: Don't include pathmax.h.
73825         Include stdlib.h and unistd.h if available.
73826         Include xalloc.h.
73827         (xmalloc, xstrdup, free): Remove decls.
73828         (xgetcwd): Don't assume sizes fit in unsigned.
73829         Check for overflow when computing sizes.
73830         Simplify reallocation code.
73831
73832 2001-08-31  Paul Eggert  <eggert@twinsun.com>
73833
73834         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
73835         a directory's st_size can have an arbitrary value, so the old
73836         usage could waste an arbitrary amount of memory.  All uses
73837         changed.
73838         * lib/savedir.h: Update prototype.
73839
73840 2001-08-31  Paul Eggert  <eggert@twinsun.com>
73841
73842         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
73843
73844         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
73845         old strtoimax.c.
73846
73847         Also, make the following further changes to make this file's
73848         configuration more similar to that of strtol.c:
73849         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
73850         (strtoumax, uintmax_t, strtoull, strtol): Remove.
73851         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
73852         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
73853         changed to signed values.
73854
73855         And make the following changes as well:
73856         Fix copyright notice, as 1999 was missing.
73857         (verify): New macro.
73858         (strtoimax): Check sizes at compile-time, not run-time.
73859         Prefer strtol to strtoll if both work.
73860         (main): Remove; it was not that useful and was a pain to maintain.
73861
73862         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
73863
73864 2001-08-31  Jim Meyering  <meyering@lucent.com>
73865
73866         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
73867         Use an initial, malloc'd, buffer of length 128 rather than
73868         a statically allocated one of length 1024.
73869
73870 2001-08-30  Paul Eggert  <eggert@twinsun.com>
73871
73872         Simplify code, partly by assuming autoconf 2.52 semantics.
73873
73874         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
73875
73876         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
73877         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
73878         All uses removed.
73879         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
73880         Move AC_REQUIRE to next-to-top level, to avoid confusion.
73881         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
73882         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
73883         jm_AC_HEADER_INTTYPES_H.
73884         * m4/jm-macros.m4 (jm_MACROS): Likewise.
73885
73886         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
73887
73888         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
73889         Quote first arg of AC_DEFUN.
73890         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
73891         since they are needed to parse the include file even if we need
73892         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
73893         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
73894         but with opposite signedness.
73895
73896 2001-08-30  Paul Eggert  <eggert@twinsun.com>
73897
73898         Merge 'exclude' changes from tar 1.13.22.
73899         This fixes one or two unlikely storage allocation overflow bugs,
73900         but doesn't change user-visible behavior otherwise.
73901
73902 2001-08-30  Paul Eggert  <eggert@twinsun.com>
73903
73904         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
73905         (jm_PREREQ_EXCLUDE): New macro.
73906
73907 2001-08-30  Paul Eggert  <eggert@twinsun.com>
73908
73909         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
73910         tm to be declared.
73911
73912 2001-08-30  Paul Eggert  <eggert@twinsun.com>
73913
73914         * lib/hash.c: Remove '2001' from copyright notice.
73915
73916 2001-08-30  Paul Eggert  <eggert@twinsun.com>
73917
73918         * lib/full-write.h: New file.
73919         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
73920         * lib/full-write.c: Correct credits, as cccp.c no longer
73921         exists and anyway it was so heavily changed from the old cccp
73922         code as to be unrecognizable.  Include full-write.h.
73923         (full_write) Return size_t, with short writes meaning failure.
73924         All callers changed.  This fixes a bug with large buffers
73925         on 64-bit hosts.
73926         * lib/utime.c: Include full-write.h.
73927
73928 2001-08-30  Paul Eggert  <eggert@twinsun.com>
73929
73930         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
73931         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
73932         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
73933         Include if available.
73934         (<xalloc.h>): Include
73935         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
73936         (verify): New macro.  Use it to verify that EXCLUDE macros do not
73937         collide with FNM macros.
73938         (struct patopts): New struct.
73939         (struct exclude): Use it, as exclude patterns now come with options.
73940         (new_exclude): Support above changes.
73941         (new_exclude, add_exclude_file):
73942         Initial size must now be a power of two to simplify overflow checking.
73943         (free_exclude, fnmatch_no_wildcards): New function.
73944         (excluded_filename): No longer requires options arg, as the options
73945         are determined by add_exclude.  Now returns bool, not int.
73946         (excluded_filename, add_exclude):
73947         Add support for the fancy new exclusion options.
73948         (add_exclude, add_exclude_file): Now takes int options arg.
73949         Check for arithmetic overflow when computing sizes.
73950         (add_exclude_file): xrealloc might modify errno, so don't
73951         realloc until after errno might be used.
73952
73953         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
73954         New macros.
73955         (free_exclude): New decl.
73956         (add_exclude, add_exclude_file): Now takes int options arg.
73957         (excluded_filename): No longer requires options arg, as the options
73958         are determined by add_exclude.  Now returns bool, not int.
73959
73960 2001-08-30  Paul Eggert  <eggert@twinsun.com>
73961
73962         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
73963
73964 2001-08-27  Jim Meyering  <meyering@lucent.com>
73965
73966         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
73967
73968         * lib/version-etc.c (N_): Remove definition.
73969         Revert most of last change.
73970         Instead, simply don't mark the `Copyright...' string for translation.
73971         Based on advice from Paul Eggert.
73972
73973         * lib/strtoxmax.c: Tweak comment.
73974
73975 2001-08-26  Jim Meyering  <meyering@lucent.com>
73976
73977         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
73978
73979         * m4/xstrtoimax.m4: New file.
73980         * m4/xstrtoumax.m4: Add comments explaining why we
73981         AC_REPLACE_FUNCS(strtol).
73982
73983 2001-08-26  Jim Meyering  <meyering@lucent.com>
73984
73985         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
73986         of copyright with `%s' so translators don't get an untranslated
73987         message in 2002.
73988         (COPYRIGHT_YEAR): Define.
73989         (version_etc): Use fprintf rather than fputs.
73990         Suggestion from Ulrich Drepper.
73991
73992         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
73993
73994         * lib/strtoll.c: New file, from GNU libc.
73995         * lib/xstrtoimax.c: New file.
73996
73997         * lib/xstrtol.h: Add xstrtoimax.
73998         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
73999         * lib/strtoimax.c: New file.  Likewise, but first define
74000         STRTOUXMAX_SIGNED.
74001
74002         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
74003         ...
74004         * lib/strtoxmax.c: ... then renamed to this.
74005
74006 2001-08-18  Paul Eggert  <eggert@twinsun.com>
74007
74008         * m4/inttypes.m4: Add AC_PREREQ(2.13).
74009         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
74010         (jm_AC_TYPE_INTMAX_T): New macro.
74011         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
74012
74013         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
74014
74015         * m4/longlong.m4: Renamed from ulonglong.m4.
74016         * m4/inttypes.m4: Renamed from inttypes_h.m4.
74017         * m4/uintmax_t.m4: Removed.
74018
74019 2001-08-13  Paul Eggert  <eggert@twinsun.com>
74020
74021         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
74022         Port to Solaris 8, where 'sed' requires a space after the 'r'
74023         command, and where sh dislikes "$/".  Clean up the spacing a bit.
74024         Redirect output to $tmp just once.
74025
74026 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
74027
74028         * lib/addext.c (<errno.h>): Include.
74029         (errno): Declare if not defined.
74030         (addext): Work correctly when pathconf returns -1 and leaves
74031         errno alone because there is no limit.  Also, work even if
74032         pathconf returns a value greater than SIZE_MAX.
74033
74034 2001-08-12  Jim Meyering  <meyering@lucent.com>
74035
74036         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
74037         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
74038         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
74039         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
74040         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
74041         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
74042         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
74043         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
74044         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
74045         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
74046         utime.m4, utimes.m4, xstrtoumax.m4:
74047         Quote the first argument in each use of AC_DEFUN.
74048
74049 2001-08-12  Jim Meyering  <meyering@lucent.com>
74050
74051         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
74052         Simply `return getcwd (NULL, 0);'.
74053         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
74054         Use 1300 as initial value for length, not PATH_MAX.
74055
74056         * lib/pathmax.h: Clean up cpp syntax.
74057
74058 2001-08-12  Jim Meyering  <meyering@lucent.com>
74059
74060         * lib/gettimeofday.c: New file.
74061         * lib/gtod.h: New file.
74062         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
74063
74064 2001-08-05  Jim Meyering  <meyering@lucent.com>
74065
74066         * m4/jm-macros.m4: Require autoconf-2.52.
74067
74068 2001-08-04  Jim Meyering  <meyering@lucent.com>
74069
74070         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
74071         stmt, to get in sync with glibc.
74072
74073 2001-08-03  Paul Eggert  <eggert@twinsun.com>
74074
74075         The following changes are from gettext 0.10.39 as maintained by
74076         Bruno Haible.
74077
74078         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
74079         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
74080         with inverted sense.  All uses changed.
74081
74082         * lib/mbswidth.c: Don't include <limits.h>.
74083         Include <stdlib.h> and <string.h> unconditionally.
74084         (iswcntrl, mbsinit, ISCNTRL): New macros.
74085         (mbsnwidth): Use K&R style function declarations.
74086         Don't bother checking for MB_LEN_MAX == 1, since the compiler
74087         can optimize it when MB_CUR_MAX == 1.
74088         The width of control characters is zero, not 1.
74089
74090 2001-08-03  Paul Eggert  <eggert@twinsun.com>
74091
74092         The following changes are from gettext 0.10.39 as maintained by
74093         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
74094
74095         * m4/codeset.m4: Upgrade to serial AM1.
74096         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
74097         all uses changed.  Quote first arg of AC_DEFUN.
74098         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
74099
74100         * m4/iconv.m4: Upgrade to serial AM2.
74101         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
74102         Add --with-libconv-prefix.
74103         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
74104         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
74105         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
74106         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
74107         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
74108
74109         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
74110         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
74111         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
74112         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
74113         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
74114         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
74115         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
74116         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
74117         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
74118
74119         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
74120         string.h any more.
74121
74122         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
74123         not the default value.
74124
74125         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
74126         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
74127         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
74128         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
74129         Also check for iswcntrl, used for wcwidth fallback.
74130         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
74131         to Autoconf 2.13.
74132
74133 2001-08-03  Jim Meyering  <meyering@lucent.com>
74134
74135         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
74136         as it was in the original.  Reported by Paul Eggert.
74137
74138 2001-07-16  Jim Meyering  <meyering@lucent.com>
74139
74140         * m4/gettimeofday.m4: New file.
74141         Prompted by a report from Bernhard Baehr.
74142
74143 2001-07-15  Jim Meyering  <meyering@lucent.com>
74144
74145         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
74146         stuff. Now it's in ../Makefile.cfg.
74147
74148 2001-07-15  Jim Meyering  <meyering@lucent.com>
74149
74150         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
74151         (BUILT_SOURCES): Add unlocked-io.h.
74152         (io_functions): Define.
74153         (unlocked-io.h): New rule.
74154         (DISTCLEANFILES): Add unlocked-io.h.
74155         (all-local): Depend on unlocked-io.h, to ensure it is created.
74156
74157         * lib/unlocked-io.hin: New file
74158
74159         * lib/regex.c: Update from glibc.
74160
74161 2001-07-05  Jim Meyering  <meyering@lucent.com>
74162
74163         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
74164         recommendation.
74165         (libfetish_a_SOURCES): Put all .h files here instead.
74166         Remove a thus-exposed (better checks in automake) duplicate and
74167         two unnecessary .h files.
74168
74169 2001-07-04  Jim Meyering  <meyering@lucent.com>
74170
74171         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
74172         that generates jm-glibc-io.m4 so that it doesn't trigger any make
74173         distcheck failure.
74174
74175 2001-07-02  Jim Meyering  <meyering@lucent.com>
74176
74177         The following changes were prompted by suggestions from Bruno Haible.
74178
74179         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
74180         is now generated.
74181         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
74182         definition of EXTRA_DIST.
74183         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
74184         ensure that the generated file is created/updated whenever the list
74185         of $(unlocked_functions) is changed.
74186         (jm-glibc-io.m4): New rule.
74187         (unlocked-io.h): New rule -- currently unused.
74188
74189 2001-06-24  Jim Meyering  <meyering@lucent.com>
74190
74191         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
74192         unmatched right bracket, rather than kludging it with an extra,
74193         falsely-matching quote in a comment.  Patch by Akim Demaille.
74194
74195 2001-06-11  Jim Meyering  <meyering@lucent.com>
74196
74197         * lib/regex.c: Update from GNU libc.
74198
74199 2001-05-27  Jim Meyering  <meyering@lucent.com>
74200
74201         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
74202         Check for ut_type in struct utmp.
74203
74204 2001-05-27  Jim Meyering  <meyering@lucent.com>
74205
74206         * lib/readutmp.h (UT_TYPE): Define.
74207
74208 2001-05-24  Jim Meyering  <meyering@lucent.com>
74209
74210         * lib/argmatch.c: Include "quote.h".
74211         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
74212         quote function.  Reported by Göran Uddeborg.
74213
74214 2001-05-22  Jim Meyering  <meyering@lucent.com>
74215
74216         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
74217         now that we use the package-supplied version unconditionally.
74218         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
74219
74220 2001-05-21  Jim Meyering  <meyering@lucent.com>
74221
74222         * m4/regex.m4: Change a couple backticks to single quotes to avoid
74223         shell syntax errors.
74224
74225 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
74226
74227         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
74228
74229 2001-05-20  Paul Eggert  <eggert@twinsun.com>
74230
74231         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
74232         Don't bother to check library strftime, since
74233         we'll be using our own my_strftime function anyway.
74234         Define my_strftime instead of strftime.
74235
74236 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
74237
74238         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
74239         which is not yet declared.
74240
74241 2001-05-15  Jim Meyering  <meyering@lucent.com>
74242
74243         * m4/regex.m4: Use proper quoting so brackets appear in the test
74244         program.
74245         Reported by, and with help from, Bruno Haible.
74246
74247 2001-05-13  Jim Meyering  <meyering@lucent.com>
74248
74249         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
74250         undefined.
74251
74252 2001-05-11  Paul Eggert  <eggert@twinsun.com>
74253
74254         dirname code cleanup.  base_name now behaves more compatibly
74255         with POSIX basename when given file names that have trailing
74256         slashes, and similarly for dir_name.  Add new primitives
74257         base_len and dir_len.  Put the directory-name-related decls
74258         into dirname.h.
74259
74260         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
74261         * lib/backupfile.c (base_name): Likewise.
74262         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
74263         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
74264         * lib/makepath.c (strip_trailing_slashes): Likewise.
74265         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
74266         ISSLASH): Likewise.
74267         * lib/rename.c (strip_trailing_slashes): Likewise.
74268         * lib/same.c (base_name): Likewise.
74269         * lib/stripslash.c (ISSLASH): Likewise.
74270
74271         * lib/addext.c: Include <dirname.h> after size_t is defined.
74272         * lib/backupfile.c: Likewise.
74273
74274         * lib/addext.c (addext): Use base_len to trim redundant
74275         trailing slashes instead of doing it ourselves.
74276         But do not trim the last slash if it is not redundant.
74277
74278         * lib/backupfile.c (find_backup_file_name,
74279         max_backup_version): Use base_len instead of rolling it ourselves.
74280         Handle the case of "" and (on DOS) "C:" correctly.
74281
74282         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
74283         needed. Include <string.h>, <dirname.h>.
74284         (base_name): Allow file names ending in slashes, other than names
74285         that are all slashes.  In this case, return the basename followed
74286         by the slashes.  This is more general, and can be used in places
74287         where the original base_name purposely had an assertion failure.
74288         (base_len): New function.
74289
74290         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
74291         Do not include <assert.h>; no longer needed.
74292         Include xalloc.h.
74293         (memrchr): Remove decl.
74294         (dir_name_r): Remove.
74295         (dir_len): Renamed from dirlen.  All callers changed.
74296         Rewrite in terms of base_name, for simplicity and consistency.
74297         (dir_name): Never return NULL.  All callers changed.
74298         Do not include <stdlib.h> in test program; no longer needed.
74299         return 0; is fine for test program.
74300
74301         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
74302         New macros.
74303         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
74304
74305         * lib/path-concat.c (path_concat): Use base_len to compute
74306         base length, not strlen; this means we cannot rely on memcpy
74307         to null-terminate.
74308
74309         * lib/same.c (STREQ): Remove.
74310         (same_name): Handle the case where the basename ends in trailing '/'.
74311
74312         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
74313         a slash was stripped.  Do not strip the last slash after a
74314         file system prefix.
74315
74316 2001-05-11  Paul Eggert  <eggert@twinsun.com>
74317
74318         * lib/Makefile.am (libfetish_a_SOURCES):
74319         Add strftime.c, since we now compile it on all hosts.
74320
74321         * lib/strftime.c (my_strftime):
74322         Define to nstrftime if emacs, but only if my_strftime is not defined.
74323         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
74324         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
74325         Add one more extra argument: a nanoseconds value.
74326         All uses changed.
74327         (ns): New macro.
74328         (my_strftime function): Add %N format.
74329         (emacs_strftimeu): Renamed from emacs_strftime,
74330         with extra ut argument.
74331
74332 2001-05-09  Paul Eggert  <eggert@twinsun.com>
74333
74334         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
74335
74336 2001-04-21  Jim Meyering  <meyering@lucent.com>
74337
74338         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
74339         doesn't interfere.
74340
74341 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
74342
74343         * m4/ftruncate.m4: Check for chsize.
74344         Link with ftruncate.o unconditionally if ftruncate is missing.
74345         This was required when cross-compiling to i586-mingw32msvc.
74346
74347 2001-04-08  Jim Meyering  <meyering@lucent.com>
74348
74349         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
74350         recomputed; that's necessary when the offset spans a DST transition.
74351         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
74352
74353 2001-04-02  Jim Meyering  <meyering@lucent.com>
74354
74355         * lib/regex.h, regex.c: Update from GNU libc.
74356
74357 2001-03-24  Jim Meyering  <meyering@lucent.com>
74358
74359         * m4/jm-macros.m4: Require autoconf-2.49d.
74360
74361 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
74362
74363         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
74364
74365 2001-03-19  Paul Eggert  <eggert@twinsun.com>
74366
74367         * lib/version-etc.c (version_etc_copyright): Update to 2001.
74368
74369 2001-03-17  Jim Meyering  <meyering@lucent.com>
74370
74371         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
74372         now that the version in autoconf is equivalent.
74373         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
74374
74375         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
74376         Suggestion from Akim Demaille.
74377
74378         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
74379         (jm_PREREQ_TEMPNAME): New function.
74380
74381 2001-03-16  Paul Eggert  <eggert@twinsun.com>
74382
74383         * lib/tempname.c (uint64_t): Define to uintmax_t if
74384         not defined, and if UINT64_MAX is not defined.
74385         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
74386         Reported by John David Anglin.
74387
74388 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
74389
74390         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
74391         resolve alias if codeset is empty.
74392         * lib/config.charset (BeOS): Use wildcard syntax.
74393
74394 2001-03-13  Jim Meyering  <meyering@lucent.com>
74395
74396         * lib/path-concat.c (path_concat)
74397         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
74398         concatenating e.g., `C:' and `foo'.
74399         From Bruno Haible.
74400
74401 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
74402
74403         * lib/localcharset.c (locale_charset): Don't use
74404         setlocale(LC_CTYPE,NULL). Don't return NULL.
74405         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
74406
74407 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
74408
74409         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
74410         support for DOS/DJGPP.
74411
74412 2001-03-01  Paul Eggert  <eggert@twinsun.com>
74413
74414         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
74415         lacks mkstemp.  Compile our own tempname.c if we compile our own
74416         mkstemp.c, as mkstemp relies on tempname.
74417
74418 2001-03-01  Jim Meyering  <meyering@lucent.com>
74419
74420         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
74421         AH_VERBATIM really does output its argument verbatim.
74422
74423 2001-02-28  Paul Eggert  <eggert@twinsun.com>
74424
74425         * lib/Makefile.am (libfetish_a_SOURCES):
74426         Add dup-safer.c, fopen-safer.c.
74427         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
74428
74429         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
74430         * lib/unistd-safer.h: New files.
74431
74432 2001-02-25  Paul Eggert  <eggert@twinsun.com>
74433
74434         The mkstemp replacement is taken from glibc 2.2.2, with some
74435         portability fixes for use outside glibc, as follows:
74436
74437         * lib/tempname.c (struct_stat64): New macro.
74438         (direxists, __gen_tempname): Use it.
74439         This avoids a portability problem with Solaris 8.
74440
74441         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
74442         (<stddef.h>, <stdint.h>, <string.h>):
74443         Include only if STDC_HEADERS || _LIBC.
74444         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
74445         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
74446         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
74447         (__set_errno): Define this macro if <errno.h> doesn't.
74448         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
74449         Define these macros if <stdio.h> doesn't.
74450         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
74451         Define these macros if <sys/stat.h>
74452         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
74453         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
74454         __xstat64): Define if not _LIBC.
74455         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
74456         (__gen_tempname): Invoke gettimeofday only if
74457         HAVE_GETTIMEOFDAY || _LIBC;
74458         otherwise, fall back on plain "time".
74459         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
74460
74461         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
74462
74463         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
74464
74465 2001-02-18  Paul Eggert  <eggert@twinsun.com>
74466
74467         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
74468
74469 2001-02-17  Paul Eggert  <eggert@twinsun.com>
74470
74471         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
74472         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
74473         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
74474         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
74475
74476 2001-02-17  Paul Eggert  <eggert@twinsun.com>
74477
74478         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
74479         Remove workaround macros for hosts that have mbrtowc but not
74480         mbstate_t, as we now insist on proper declarations for both
74481         before using mbrtowc.
74482
74483 2001-02-17  Jim Meyering  <meyering@lucent.com>
74484
74485         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
74486         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
74487         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
74488         UnixWare 7.1.1.
74489
74490         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
74491         rather than AC_CACHE_VAL.
74492
74493 2001-02-17  Jim Meyering  <meyering@lucent.com>
74494
74495         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
74496         around included file name.
74497
74498         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
74499
74500         * lib/strftime.c: Update from GNU libc (the only changes were to
74501         comments).
74502
74503 2001-02-17  Jim Meyering  <meyering@lucent.com>
74504
74505         * lib/regex.c: Update from libc.
74506
74507 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
74508
74509         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
74510         clash.
74511
74512 2001-02-16  Paul Eggert  <eggert@twinsun.com>
74513
74514         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
74515         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
74516         Reported by Mark Hounschell via Paul Eggert.
74517
74518 2001-02-07  Jim Meyering  <meyering@lucent.com>
74519
74520         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
74521
74522 2001-02-05  Jim Meyering  <meyering@lucent.com>
74523
74524         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
74525         it includes the patch required for `large file' support with at least
74526         HP-UX's 10.20 /bin/cc.
74527
74528 2001-02-03  Jim Meyering  <meyering@lucent.com>
74529
74530         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
74531         AS_IF, now that it works once again (mysteriously).
74532         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
74533
74534 2001-01-30  Jim Meyering  <meyering@lucent.com>
74535
74536         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
74537         * m4/chown.m4: Rename conftestchown to conftest.chown.
74538         * m4/rename.m4: s/conftestdir/conftest.d1/ and
74539         s/conftestdir2/conftest.d2/.
74540         * m4/utimes.m4: s/conftestdata/conftest.data/
74541         Inspired by Pavel Roskin's change in autoconf.
74542
74543 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
74544
74545         * lib/config.charset: Update for FreeBSD 4.2.
74546
74547 2001-01-27  Jim Meyering  <meyering@lucent.com>
74548
74549         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
74550         a use of AS_IF.
74551         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
74552
74553 2001-01-26  Jim Meyering  <meyering@lucent.com>
74554
74555         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
74556         quotearg.c includes it.
74557
74558 2001-01-26  Jim Meyering  <meyering@lucent.com>
74559
74560         * lib/quotearg.c: Include stddef.h.
74561         * lib/quote.c: Include stddef.h.
74562         Reported by Axel Kittenberger.
74563
74564         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
74565         line in double quotes so that it evokes a better diagnostic.
74566         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
74567         Reported by Axel Kittenberger.
74568
74569 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
74570
74571         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
74572         as if it was a `charset'.
74573
74574 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
74575
74576         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
74577         has const.
74578
74579 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
74580
74581         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
74582         to avoid a warning.  Add back 'const' to inptr.
74583
74584 2001-01-20  Jim Meyering  <meyering@lucent.com>
74585
74586         Be sure that headers are checked before used in code compiled
74587         for the type checks.
74588         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
74589         In place of that, invoke jm_CHECK_ALL_TYPES.
74590         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
74591         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
74592         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
74593         The check for ssize_t was mistakenly run before the test for unistd.h.
74594
74595         The configure-time check for stdbool.h was missing.
74596         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
74597         (jm_PREREQ_HASH): New function.
74598
74599 2001-01-17  Jim Meyering  <meyering@lucent.com>
74600
74601         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
74602         for autoconf-2.49c.
74603         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
74604
74605 2001-01-16  Jim Meyering  <meyering@lucent.com>
74606
74607         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
74608         From Bruno Haible.
74609
74610 2001-01-14  Jim Meyering  <meyering@lucent.com>
74611
74612         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
74613         foo and bar.  Create conftestdir/ in the script, not in the C code.
74614         Remove directories in the script, not in the C code.
74615         Remove conftestdir{,2} before trying to create the directory.
74616         Make the entire configure script fail if the mkdir fails.
74617
74618 2001-01-14  Jim Meyering  <meyering@lucent.com>
74619
74620         * lib/rename.c: New file.  From Volker Borchert.
74621         Include stdlib.h, string.h or strings.h, and xalloc.h.
74622         Use strip_trailing_slashes rather than open-coding it.
74623
74624 2001-01-03  Paul Eggert  <eggert@twinsun.com>
74625
74626         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
74627
74628 2001-01-03  Jim Meyering  <meyering@lucent.com>
74629
74630         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
74631         of local `inptr' to avoid warning with some system declarations of
74632         iconv.
74633
74634 2001-01-02  Volker Borchert  <bt@teknon.de>
74635
74636         * m4/rename.m4: New file.
74637         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
74638
74639 2001-01-01  Jim Meyering  <meyering@lucent.com>
74640
74641         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
74642         even on systems with utmpx.h.  It's necessary for the declaration of
74643         utmp's ut_user member.  Reported by Andreas Jaeger.
74644
74645         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
74646         available. They are required for the declarations of getgrgid and
74647         getpwuid resp.
74648         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
74649         Reported by Andreas Jaeger.
74650
74651 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
74652
74653         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
74654         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
74655         so `make install' also works in VPATH builds.
74656
74657 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
74658
74659         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
74660         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
74661         can be used in subdirectories.
74662
74663 2000-12-29  Paul Eggert  <eggert@twinsun.com>
74664
74665         * lib/modechange.c: Do not assume that mode_t uses the
74666         traditional octal encoding.  E.g. "chmod 1 FOO" should set
74667         the other-execute bit of FOO even if S_IXOTH != 1.
74668
74669         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
74670         WOTH, XOTH, ALLM): New macros.
74671         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
74672          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
74673         Use them.
74674         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
74675         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
74676         (mode_compile):
74677         No need to use uintmax_t; unsigned long is long enough.
74678         Don't bother to get suffix since we don't use it.
74679
74680 2000-12-26  Jim Meyering  <meyering@lucent.com>
74681
74682         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
74683         better with autoheader.
74684
74685 2000-12-24  Jim Meyering  <meyering@lucent.com>
74686
74687         * lib/hash.c (is_prime): Return explicit boolean values.
74688         (hash_get_first): Return NULL to appease Irix5.6's 89.
74689         Reported by Nelson Beebe.
74690
74691 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
74692
74693         * lib/localcharset.c (locale_charset): Add support for Win32.
74694
74695 2000-12-18  Paul Eggert  <eggert@twinsun.com>
74696
74697         * lib/physmem.h, lib/physmem.c: New files.
74698
74699         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
74700         (noinst_HEADERS): Add physmem.h.
74701
74702         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
74703         't' for compatibility with Solaris 8 sort.
74704
74705 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
74706
74707         * lib/config.charset: Add support for BeOS.
74708
74709 2000-12-17  Jim Meyering  <meyering@lucent.com>
74710
74711         * m4/dos.m4 (jm_AC_DOS): New file and macro.
74712         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
74713
74714 2000-12-16  Jim Meyering  <meyering@lucent.com>
74715
74716         This bug had a serious impact on chown: `chown N:M FILE' (for integer
74717         N and M) would have treated it like `chown N:N FILE'.
74718
74719         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
74720
74721 2000-12-16  Jim Meyering  <meyering@lucent.com>
74722
74723         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
74724         SHELLS_FILE to a file name that's useful on djgpp systems.
74725         Include stdlib.h.
74726         (ADDITIONAL_DEFAULT_SHELLS): Define.
74727         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
74728         Based mostly on a patch from Prashant TR.
74729
74730 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
74731
74732         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
74733         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
74734         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
74735
74736 2000-12-08  Andreas Schwab  <schwab@suse.de>
74737
74738         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
74739         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
74740
74741 2000-12-07  Jim Meyering  <meyering@lucent.com>
74742
74743         * lib/stripslash.c (ISSLASH): Define.
74744         (strip_trailing_slashes): Use ISSLASH rather than comparing against
74745         `/'.
74746         From Prashant TR.
74747
74748         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
74749         (dir_name_r): Declare this function as static.
74750         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
74751         manifest itself on a name containing a mix of slashes and
74752         backslashes.
74753         Make this function work with names starting with a DOS-style
74754         drive letter and colon prefix.
74755         (dir_name): Append `.' if necessary.
74756         Based mostly on patches from Prashant TR and Eli Zaretskii.
74757
74758         * lib/dirname.h (dir_name_r): Remove prototype.
74759
74760 2000-12-06  Paul Eggert  <eggert@twinsun.com>
74761
74762         * m4/off_t-format.m4: Remove this file.
74763         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
74764
74765 2000-12-06  Jim Meyering  <meyering@lucent.com>
74766
74767         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
74768         replacement strtoull, we may well need the replacement strtoul, too.
74769         Check for declarations of strtoul and strtoull.
74770         Check for strtol.  Mainly as a cue to cause automake to include
74771         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
74772         Check for limits.h -- strtol.c needs it.
74773
74774 2000-12-05  Jim Meyering  <meyering@lucent.com>
74775
74776         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
74777
74778 2000-12-04  Jim Meyering  <meyering@lucent.com>
74779
74780         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
74781         Also include memory.h, stdlib.h, unistd.h if appropriate.
74782         Reported by Andreas Jaeger (conflicting declaration of malloc).
74783
74784 2000-12-02  Jim Meyering  <meyering@lucent.com>
74785
74786         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
74787         * m4/jm-macros.m4 (jm_MACROS): require it.
74788
74789 2000-12-02  Jim Meyering  <meyering@lucent.com>
74790
74791         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
74792
74793 2000-12-01  Paul Eggert  <eggert@twinsun.com>
74794
74795         * lib/memrchr.c: Include <config.h> before any system include file.
74796
74797 2000-11-30  Jim Meyering  <meyering@lucent.com>
74798
74799         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
74800
74801 2000-11-30  Jim Meyering  <meyering@lucent.com>
74802
74803         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
74804
74805 2000-11-29  Paul Eggert  <eggert@twinsun.com>
74806
74807         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
74808
74809 2000-11-26  Jim Meyering  <meyering@lucent.com>
74810
74811         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
74812
74813 2000-11-22  Paul Eggert  <eggert@twinsun.com>
74814
74815         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
74816         size of (size_t) -1; it's not portable.
74817
74818 2000-11-17  Jim Meyering  <meyering@lucent.com>
74819
74820         * lib/strstr.c: Update from GNU libc.
74821
74822 2000-11-17  Akim Demaille  <akim@epita.fr>
74823
74824         * lib/obstack.h: Formatting changes.
74825         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
74826         prevent type checking.
74827         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
74828         cast the value to (void *): assigning a `foo *' to a `void *'
74829         variable is valid.
74830         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
74831
74832 2000-11-16  Jim Meyering  <meyering@lucent.com>
74833
74834         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
74835
74836 2000-11-11  Jim Meyering  <meyering@lucent.com>
74837
74838         * lib/error.c: Add a couple #includes, merging from GNU libc version.
74839
74840 2000-11-10  Jim Meyering  <meyering@lucent.com>
74841
74842         * lib/obstack.h: Update from GNU libc.
74843         * lib/obstack.c: Likewise.
74844
74845 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
74846
74847         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
74848
74849 2000-11-06  Paul Eggert  <eggert@twinsun.com>
74850
74851         * lib/getusershell.c (setusershell): Use rewind rather than
74852         fseek/fseeko, to avoid configuration hassles with fseeko.
74853         Don't bother opening SHELLS_FILE if shellstream is NULL;
74854         it's not necessary.
74855
74856 2000-11-05  Jim Meyering  <meyering@lucent.com>
74857
74858         * lib/makepath.h (make_dir): Declare.
74859         * lib/makepath.c (make_dir): Remove `static' attribute.
74860         Tweak a comment.
74861
74862 2000-11-04  Jim Meyering  <meyering@lucent.com>
74863
74864         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
74865
74866 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
74867
74868         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
74869         last one in a bucket, advance to the next bucket.
74870
74871 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
74872
74873         * lib/fnmatch.c: Do not comment out all the code if we are using
74874         the GNU C library, because in some cases we are replacing buggy
74875         code in the GNU C library itself.
74876
74877 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
74878
74879         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
74880         (regex_compile): Catch bogus \(\1\).
74881
74882 2000-10-30  Paul Eggert  <eggert@twinsun.com>
74883
74884         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
74885         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
74886         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
74887
74888 2000-10-30  Paul Eggert  <eggert@twinsun.com>
74889
74890         * lib/error.h, getline.h, modechange.h:
74891         Remove "2000" from Copyright line, as the file hasn't been
74892         changed this year other than in the copyright notice.
74893
74894         * lib/xalloc.h: Add "2000" to Copyright line, as this file
74895         was changed this year.
74896
74897 2000-10-29  Jim Meyering  <meyering@lucent.com>
74898
74899         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
74900         renaming.
74901         * m4/ls-mntd-fs.m4: Likewise
74902
74903 2000-10-29  Jim Meyering  <meyering@lucent.com>
74904
74905         * lib/xstat.in: Fix grammar in comment.
74906
74907 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
74908
74909         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
74910         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
74911         doesn't define __restrict_arr.
74912
74913 2000-10-28  Jim Meyering  <meyering@lucent.com>
74914
74915         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
74916         (jm_PREREQ_MEMCHR): New function.
74917
74918 2000-10-28  Jim Meyering  <meyering@lucent.com>
74919
74920         * lib/memchr.c: Update from libc.
74921         Adjust for portability:
74922         [HAVE_STDLIB_H]: Include stdlib.h.
74923         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
74924         Undef __memchr, too.
74925         [!weak_alias]: Define __memchr to memchr.
74926
74927         * lib/regex.c: Update from libc.
74928         * lib/regex.h: Likewise.
74929         * lib/getopt1.c: Likewise.
74930         * lib/memcmp.c: Likewise.
74931
74932         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
74933         Avoid using fseek, when possible -- it's broken by design.
74934         Patch by Ulrich Drepper.
74935
74936 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
74937
74938         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
74939         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
74940         Giving in to popular pressure to shut up the compiler with casts.
74941
74942 2000-10-26  Jim Meyering  <meyering@lucent.com>
74943
74944         * lib/strftime.c: Update from libc.
74945
74946 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
74947
74948         * regex.c: More `unsigned char' -> `re_char' changes.
74949         Also change several `int' into `re_wchar_t'.
74950         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
74951         (PUSH_FAILURE_POINTER): Don't cast any more.
74952         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
74953         We want GCC to complain, since this piece of code makes
74954         re_match non-reentrant, which *should* be fixed.
74955         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
74956         (EXTEND_BUFFER): Use RETALLOC.
74957         (SET_LIST_BIT): Don't cast.
74958         (re_wchar_t): New type.
74959         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
74960         that those two functions will always properly return.
74961         (IMMEDIATE_QUIT_CHECK): Cast to void.
74962         (analyse_first): Use recursion rather than an explicit stack.
74963         (re_compile_fastmap): Can't fail anymore.
74964         (re_search_2): Don't check re_compile_fastmap for failure.
74965         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
74966         Now also sets the new value (passed in a new argument).
74967         (re_match_2_internal): Use it.
74968         Also, use a new var `reg' of type size_t when looping through regs
74969         rather than reuse the inappropriate `mcnt'.
74970
74971 2000-10-25  Jim Meyering  <meyering@lucent.com>
74972
74973         * lib/obstack.c: Update from libc.
74974
74975 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
74976
74977         * regex.c (regex_compile): Change the way of handling a range from
74978         a char less than 256 to a char not less than 256.
74979
74980 2000-10-24  Andrew Innes  <andrewi@gnu.org>
74981
74982         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
74983         NT-Emacs only.
74984         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
74985         so that re_search functions only quit when callers expect them to.
74986
74987 2000-10-23  Jim Meyering  <meyering@lucent.com>
74988
74989         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
74990         wrong.  That set_locale call must not have any side effects.
74991         From Paul Eggert.
74992
74993 2000-10-22  Jim Meyering  <meyering@lucent.com>
74994
74995         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
74996         [CYCLIC]: Remove now-unused definition.
74997
74998         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
74999         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
75000         Suggestion from Ulrich Drepper.
75001
75002 2000-10-21  Jim Meyering  <meyering@lucent.com>
75003
75004         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
75005         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
75006         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
75007
75008 2000-10-21  Jim Meyering  <meyering@lucent.com>
75009
75010         * lib/dirname.c (memrchr): Declare if necessary.
75011         (dir_name): Remove the restriction that there be no
75012         trailing slashes.  Now, this code skips past them, effectively
75013         ignoring them.
75014         [TEST_DIRNAME] (main): New unit tests.
75015
75016         * lib/memrchr.c: New file from GNU libc.
75017         Undef __memrchr, too.
75018         [!weak_alias]: Define __memrchr to memrchr.
75019         Guard weak_alias use with `#ifdef weak_alias'.
75020
75021 2000-10-21  Jim Meyering  <meyering@lucent.com>
75022
75023         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
75024         (dir_name): Use dir_name_r.
75025         * lib/dirname.h (dir_name_r): Declare it.
75026
75027 2000-10-17  Jim Meyering  <meyering@lucent.com>
75028
75029         * lib/quote.h (PARAMS): Define and use.
75030         Reported by Akim Demaille.
75031
75032         * lib/getopt.c: Update from libc.
75033
75034 2000-10-16  Jim Meyering  <meyering@lucent.com>
75035
75036         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
75037         setlocale.
75038         From Jan Fedak.
75039
75040 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
75041
75042         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
75043
75044 2000-09-25  Jim Meyering  <meyering@lucent.com>
75045
75046         * lib/md5.h (rol): Define (from GnuPG).
75047
75048         * lib/sha.c: Give credit (GnuPG) where due.
75049         (M): Use rol rather than open-coding it.
75050         Add a FIXME comment.
75051
75052 2000-09-21  Jim Meyering  <meyering@lucent.com>
75053
75054         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
75055         Reported by Michael Stone.
75056
75057 2000-09-20  Jim Meyering  <meyering@lucent.com>
75058
75059         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
75060         (noinst_HEADERS): Add sha.h.
75061         Based on code from Scott G. Miller and from GnuPG.
75062
75063 2000-09-18  Jim Meyering  <meyering@lucent.com>
75064
75065         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
75066         LIBS. Otherwise, everyone ends up linking with -lelf for some
75067         configurations.
75068         Reported by Mike Stone.
75069
75070 2000-09-15  Jim Meyering  <meyering@lucent.com>
75071
75072         * lib/regex.c: Update from libc.
75073
75074 2000-09-10  Jim Meyering  <meyering@lucent.com>
75075
75076         * lib/getopt.c (_getopt_internal): Update from glibc.
75077
75078 2000-09-09  Jim Meyering  <meyering@lucent.com>
75079
75080         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
75081         think it should be used as a general replacement for isascii.
75082         * lib/fnmatch.c: Likewise.
75083         * lib/mbswidth.c: Likewise
75084         * lib/regex.c: Likewise.
75085
75086         Don't use atoi.
75087         * lib/userspec.c: Include sys/param.h and limits.h.
75088         Include xstrtol.h.
75089         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
75090         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
75091         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
75092         UID, GID.  Check range.
75093
75094 2000-09-06  Jim Meyering  <meyering@lucent.com>
75095
75096         * lib/getopt.c (_getopt_internal): Update from glibc.
75097
75098 2000-08-30  Jim Meyering  <meyering@lucent.com>
75099
75100         * lib/strftime.c: Merge in changes from GNU libc.
75101
75102 2000-08-26  Jim Meyering  <meyering@lucent.com>
75103
75104         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
75105         * m4/fpending.m4: New file.
75106
75107 2000-08-26  Jim Meyering  <meyering@lucent.com>
75108
75109         * lib/closeout.c: Include "__fpending.h".
75110         (close_stdout_status): Return right away if there's nothing to flush.
75111
75112         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
75113         * lib/__fpending.c: New file.
75114         * lib/__fpending.h: New file.
75115
75116 2000-08-20  Jim Meyering  <meyering@lucent.com>
75117
75118         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
75119         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
75120         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
75121
75122 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
75123
75124         Improve fileutils installation on systems where running
75125         programs (like install) can't be unlinked.
75126         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
75127         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
75128
75129 2000-08-07  Paul Eggert  <eggert@twinsun.com>
75130
75131         Standardize on "memory exhausted" instead of "Memory exhausted"
75132         or "virtual memory exhausted".
75133         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
75134         "virtual memory exhausted".
75135         * lib/same.c (same_name): Invoke xalloc_die instead of printing
75136         our own message.
75137         * lib/userspec.c (parse_user_spec): Likewise.
75138         * lib/bumpalloc.h: comment fix
75139         * lib/same.c, userspec.c: Include xalloc.h.
75140
75141         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
75142         not char *const and pointing to a constant array.
75143         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
75144         (xrealloc): Comment fix.
75145
75146         * lib/userspec.c (parse_user_spec):
75147         Don't translate a message until just before returning,
75148         to avoid unnecessary translation.
75149
75150 2000-08-07  Jim Meyering  <meyering@lucent.com>
75151
75152         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
75153         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
75154         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
75155         getgroups.c, gethostname.c, getopt.h, group-member.c,
75156         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
75157         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
75158         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
75159         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
75160         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
75161         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
75162         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
75163         yesno.c: Back out Copyright date changes for each file with no change
75164         this year.  This eases coordination with other programs using the same
75165         source code modules.  From Paul Eggert.
75166
75167 2000-08-06  Paul Eggert  <eggert@twinsun.com>
75168
75169         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
75170         not char, for compatibility with glibc 2.1.3 strftime.c.
75171
75172 2000-08-03  Greg McGary  <greg@mcgary.org>
75173
75174         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
75175         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
75176         (EXTEND_BUFFER): Use them.
75177
75178 2000-08-01  Jim Meyering  <meyering@lucent.com>
75179
75180         * lib/dirname.c (ISSLASH): Define.
75181         (BACKSLASH_IS_PATH_SEPARATOR): Define.
75182         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
75183         both `\' and `/' may be use as path separators.
75184         Based on a patch from Prashant TR.
75185
75186 2000-07-31  Paul Eggert  <eggert@twinsun.com>
75187
75188         * lib/quotearg.c (quotearg_n_options): Don't make the initial
75189         slot vector a constant, since it might get modified.
75190
75191 2000-07-31  Jim Meyering  <meyering@lucent.com>
75192
75193         * lib/xmalloc.c: Use `virtual memory exhausted', not
75194         `Memory exhausted'.
75195         * lib/obstack.c (print_and_abort): Likewise.
75196
75197 2000-07-30  Paul Eggert  <eggert@twinsun.com>
75198
75199         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
75200         buffer, so that the caller can always quote one small
75201         component of a "memory exhausted" message in slot 0.
75202         From a suggestion by Jim Meyering.
75203
75204 2000-07-30  Jim Meyering  <meyering@lucent.com>
75205
75206         * lib/makepath.c (make_path): Quote the other instance, too.
75207
75208         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
75209         (STATIC_BUF_SIZE): Define.
75210         (quotearg_n_options): Use only statically allocated storage when
75211         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
75212         than STATIC_BUF_SIZE.
75213
75214 2000-07-29  Jim Meyering  <meyering@lucent.com>
75215
75216         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
75217         * lib/dirname.c (dir_name): Likewise.
75218
75219         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
75220         `/'.
75221
75222         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
75223         (dir_name): Assert that there are no trailing slashes.
75224
75225 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
75226
75227         * lib/mbswidth.h (mbswidth): Add a flags argument.
75228         (mbswidth): New declaration.
75229         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
75230         * lib/mbswidth.c (mbswidth): Add a flags argument.
75231         (mbsnwidth): New function.
75232
75233 2000-07-24  Jim Meyering  <meyering@lucent.com>
75234
75235         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
75236
75237 2000-07-23  Paul Eggert  <eggert@twinsun.com>
75238
75239         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
75240
75241 2000-07-23  Paul Eggert  <eggert@twinsun.com>
75242
75243         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
75244         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
75245         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
75246         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
75247         invoke multibyte primitives.
75248
75249 2000-07-23  Paul Eggert  <eggert@twinsun.com>
75250
75251         * lib/quotearg.c:
75252         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
75253         so that mbstate_t is always defined.
75254
75255         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
75256         be 1 in at least one GCC installation, and this configuration
75257         error is likely to be common.  Ignoring MB_LEN_MAX hurts
75258         performance on hosts that have mbrtowc but have only unibyte
75259         locales, but I assume these hosts are rare.
75260
75261 2000-07-23  Paul Eggert  <eggert@twinsun.com>
75262
75263         * lib/mbswidth.c (_XOPEN_SOURCE):
75264         Don't define; this causes problems on Solaris 7.
75265         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
75266
75267 2000-07-23  Jim Meyering  <meyering@lucent.com>
75268
75269         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
75270         too: getgrgid, getpwuid, getuid.
75271
75272 2000-07-23  Jim Meyering  <meyering@lucent.com>
75273
75274         * lib/basename.c (base_name): Add an assertion.
75275
75276 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
75277
75278         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
75279         shadow its mbsinit function.
75280
75281 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
75282
75283         * lib/mbswidth.h: New file.
75284         * lib/mbswidth.c: New file.
75285         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
75286         (noinst_HEADERS): Add mbswidth.h.
75287
75288 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
75289
75290         * lib/config.charset: Add support for FreeBSD. Improve support for
75291         HP-UX and IRIX 6.
75292
75293 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
75294
75295         * m4/mbswidth.m4: New file.
75296         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
75297
75298 2000-07-15  Jim Meyering  <meyering@lucent.com>
75299
75300         * lib/makepath.c: Include quote.h.
75301         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
75302         corresponding argument in a `quote (...)' call.
75303         Give better diagnostics.
75304
75305         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
75306         (noinst_HEADERS): Add quote.h.
75307
75308         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
75309         from tar's src/misc.c.
75310         * lib/quote.h: New file.  Prototypes for same.
75311
75312 2000-07-14  Paul Eggert  <eggert@twinsun.com>
75313
75314         From a suggestion by Bruno Haible.
75315         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
75316         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
75317         to decide whether to define the BeOS workaround macro;
75318         this adjusts to the change to AC_MBSTATE_T.
75319
75320 2000-07-14  Jim Meyering  <meyering@lucent.com>
75321
75322         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
75323         jm_AC_TYPE_UINTMAX_T.
75324
75325 2000-07-13  Paul Eggert  <eggert@twinsun.com>
75326
75327         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
75328
75329         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
75330         quotearg_buffer_restyled): Add support for
75331         clocale_quoting_style.  Undo previous change to
75332         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
75333         and "{RIGHT QUOTATION MARK}" msgids.
75334
75335 2000-07-10  Paul Eggert  <eggert@twinsun.com>
75336
75337         From a suggestion by Bruno Haible.
75338         * m4/mbstate_t.m4 (AC_MBSTATE_T):
75339         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
75340         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
75341         and mbstate_t, to a single-part test that simply defines mbstate_t.
75342         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
75343         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
75344
75345 2000-07-10  Jim Meyering  <meyering@lucent.com>
75346
75347         * m4/strerror_r.m4: Mirror the correction made in autoconf.
75348
75349         * m4/gnu-source.m4: Output to confdefs.h directly.
75350         Suggestion from Akim Demaille.
75351
75352 2000-07-09  Paul Eggert  <eggert@twinsun.com>
75353
75354         The old behavior of quoting `like this' doesn't look good with
75355         newer, ISO-style fonts.  See:
75356         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
75357
75358         Instead, quote "like this" by default.  Let the translator
75359         tailor the locale-specific quoting behavior by providing
75360         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
75361
75362         * lib/quotearg.c (N_): New macro.
75363         (gettext_default): New function.
75364         (quotearg_buffer_restyled): Use
75365         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
75366         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
75367
75368 2000-07-09  Jim Meyering  <meyering@lucent.com>
75369
75370         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
75371         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
75372
75373         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
75374         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
75375
75376 2000-07-09  Jim Meyering  <meyering@lucent.com>
75377
75378         * lib/Most files: Update copyright dates to include 2000.
75379
75380 2000-07-08  Jim Meyering  <meyering@lucent.com>
75381
75382         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
75383         if not defined.
75384         (xgethostname): Remove now-unnecessary #ifdef.
75385         Move declaration of `err' into loop where it's used.
75386
75387 2000-07-05  Paul Eggert  <eggert@twinsun.com>
75388         and Bruno Haible  <haible@clisp.cons.org>
75389
75390         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
75391         only if the test for an object-type mbstate_t fails.  This
75392         prevents us from mistakenly reporting that mbstate_t is a
75393         system object type after we "#define mbstate_t int" to work
75394         around its lack.
75395
75396 2000-07-05  Paul Eggert  <eggert@twinsun.com>
75397         and Bruno Haible  <haible@clisp.cons.org>
75398
75399         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
75400
75401 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
75402
75403         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
75404         to strerror_r.
75405         Include <ctype.h> for use of isalpha.
75406
75407 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
75408
75409         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
75410         by allocating a larger buffer. Test the gethostname return value for
75411         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
75412         returns an error and ENAMETOOLONG isn't defined.
75413
75414 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
75415
75416         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
75417         dimension.
75418
75419 2000-07-04  Jim Meyering  <meyering@lucent.com>
75420
75421         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
75422         of the deprecated AC_CHECKING.
75423
75424 2000-07-04  Jim Meyering  <meyering@lucent.com>
75425
75426         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
75427         Reported by Bruno Haible.
75428
75429 2000-07-04  Jim Meyering  <meyering@lucent.com>
75430
75431         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
75432         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
75433         lacks mbrtowc.
75434
75435 2000-07-03  Paul Eggert  <eggert@twinsun.com>
75436
75437         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
75438         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
75439
75440 2000-07-03  Paul Eggert  <eggert@twinsun.com>
75441         and Bruno Haible  <haible@clisp.cons.org>
75442
75443         * lib/quotearg.c (mbrtowc):
75444         Assign to *pwc, and return 1 only if result is nonzero.
75445         (iswprint): Use ISPRINT when substituting our own mbrtowc.
75446
75447 2000-07-03  Jim Meyering  <meyering@lucent.com>
75448
75449         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
75450
75451 2000-07-03  Jim Meyering  <meyering@lucent.com>
75452
75453         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
75454         This is necessary to get a definition of e.g., UTMP_FILE on
75455         HP-UX 10.20.
75456         From Bob Proulx.
75457
75458 2000-07-02  Jim Meyering  <meyering@lucent.com>
75459
75460         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
75461
75462         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
75463         AC_LIBOBJ(function_name).
75464         * m4/chown.m4: Likewise.
75465         * m4/fnmatch.m4: Likewise.
75466         * m4/ftruncate.m4: Likewise.
75467         * m4/getgroups.m4: Likewise.
75468         * m4/getline.m4: Likewise.
75469         * m4/group-member.m4: Likewise.
75470         * m4/jm-macros.m4: Likewise.
75471         * m4/lstat.m4: Likewise.
75472         * m4/malloc.m4: Likewise.
75473         * m4/memcmp.m4: Likewise.
75474         * m4/nanosleep.m4: Likewise.
75475         * m4/putenv.m4: Likewise.
75476         * m4/realloc.m4: Likewise.
75477         * m4/regex.m4: Likewise.
75478         * m4/stat.m4: Likewise.
75479         * m4/strftime.m4: Likewise.
75480
75481 2000-07-02  Jim Meyering  <meyering@lucent.com>
75482
75483         * lib/quotearg.c (mbstate_t): Don't define here.
75484
75485 2000-07-02  Jim Meyering  <meyering@lucent.com>
75486
75487         * lib/nanosleep.c (SIGCONT): Define if not already defined.
75488
75489 2000-07-01  Jim Meyering  <meyering@lucent.com>
75490
75491         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
75492
75493 2000-07-01  Jim Meyering  <meyering@lucent.com>
75494
75495         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
75496         problem.
75497
75498 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
75499
75500         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
75501         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
75502
75503 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
75504
75505         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
75506         per change in ../m4/ls-mntd-fs.m4.
75507         (read_filesystem_list): Ignore symbolic links.
75508
75509 2000-06-29  Jim Meyering  <meyering@lucent.com>
75510
75511         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
75512         for declaration of strcmp.
75513
75514         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
75515
75516         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
75517         Avoid warning by casting result to `char *' to remove `const'.
75518
75519 2000-06-28  Jim Meyering  <meyering@lucent.com>
75520
75521         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
75522         included by quotearg.c, for which we perform this test.  From
75523         Bruno Haible.
75524
75525 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
75526
75527         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
75528         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
75529         <utmpx.h> exists, put readutmp.o into LIBOBJS.
75530
75531 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
75532
75533         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
75534
75535 2000-06-26  Paul Eggert  <eggert@twinsun.com>
75536
75537         savedir now sets errno on failure and invokes xmalloc to get memory.
75538         Fix a couple of other minor bugs while we're at it.
75539
75540         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
75541         (NAMLEN): Remove macro.
75542         (malloc, realloc): Remove decls.
75543         (stpcpy): Likewise.
75544         ("xalloc.h"): Include.
75545         (NAME_SIZE_DEFAULT): New macro.
75546         (savedir): Use xmalloc / xrealloc to allocate memory.
75547         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
75548         Skip "" directory entries.
75549         Use strlen to calculate directory entry length, since the old method
75550         is rarely used these days and isn't worth supporting.
75551         Don't use a pointer after freeing it.
75552         Check for integer overflow when calculating allocation size.
75553         Use memcpy to copy entries, instead of stpcpy.
75554         Set errno properly when returning NULL.
75555         Check for readdir error.
75556
75557 2000-06-26  Jim Meyering  <meyering@lucent.com>
75558
75559         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
75560
75561 2000-06-25  Jim Meyering  <meyering@lucent.com>
75562
75563         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
75564         Linux header bug when _XOPEN_SOURCE is defined to 500.
75565
75566 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
75567
75568         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
75569         deficiency.
75570
75571 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
75572
75573         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
75574         Include xalloc.h.
75575         Don't include <stdlib.h>.  Don't declare malloc, realloc.
75576
75577 2000-06-24  Jim Meyering  <meyering@lucent.com>
75578
75579         * m4/strerror_r.m4: Revive this file -- to try out an experimental
75580         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
75581         for which strerror does return char*, but which lacks a conveniently
75582         accessible declaration of the function.  If the compile-test says
75583         strerror_r doesn't work, then resort to a `run'-test that works on
75584         BeOS and segfaults on DEC Unix.
75585
75586 2000-06-24  Jim Meyering  <meyering@lucent.com>
75587
75588         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
75589
75590 2000-06-23  Paul Eggert  <eggert@twinsun.com>
75591
75592         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
75593         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
75594
75595 2000-06-23  Paul Eggert  <eggert@twinsun.com>
75596
75597         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
75598         (mbrtowc, mbstate_t): Define substitutes if
75599         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
75600         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
75601         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
75602
75603 2000-06-23  Jim Meyering  <meyering@lucent.com>
75604
75605         * m4/afs.m4: Add missing AC_MSG_RESULT.
75606         Reported by Bruno Haible.
75607
75608         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
75609         Suggestion from Bruno Haible.
75610
75611 2000-06-23  Jim Meyering  <meyering@lucent.com>
75612
75613         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
75614
75615 2000-06-21  Jim Meyering  <meyering@lucent.com>
75616
75617         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
75618
75619 2000-06-21  Jim Meyering  <meyering@lucent.com>
75620
75621         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
75622         (noinst_HEADERS): Add getstr.h.
75623
75624         * lib/getline.c (getstr): Move into a separate file.
75625         * lib/getstr.c (getstr): New file, extracted from getline.c, with
75626         the following changes: new parameter, delim2; both delim[12]
75627         parameters have type `int', not `char'.  The latter would lose
75628         with 8-bit delimiters.
75629         * lib/getstr.h: New file.
75630
75631 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
75632
75633         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
75634         than 1024, return a memory chunk of least possible size, instead
75635         of size PATH_MAX + 2. In the loop, increment the size proportionally.
75636         Use free/xmalloc instead of xrealloc to avoid copying for very long
75637         paths.
75638
75639 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
75640
75641         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
75642         the empty string.
75643
75644 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
75645
75646         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
75647         address, not strdup.  Include <stdlib.h> and don't declare free().
75648
75649 2000-06-19  Jim Meyering  <meyering@lucent.com>
75650
75651         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
75652
75653 2000-06-18  Jim Meyering  <meyering@lucent.com>
75654
75655         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
75656
75657         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
75658         `checking whether...' message to be consistent with that of the
75659         lstat test.
75660
75661 2000-06-18  Jim Meyering  <meyering@lucent.com>
75662
75663         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
75664         Besides, these days every porting target provides a mkdir function.
75665
75666         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
75667         needed. (this snippet comes from src/system.h).
75668
75669 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
75670
75671         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
75672
75673 2000-06-15  Paul Eggert  <eggert@twinsun.com>
75674
75675         * lib/human.c (adjust_value): New function.
75676         (human_readable_inexact): Apply rounding style even when
75677         printing approximate values.
75678
75679 2000-06-14  Paul Eggert  <eggert@twinsun.com>
75680
75681         * lib/human.c (human_readable_inexact): Allow an input block
75682         size that is not a multiple of the output block size, and vice versa.
75683         Reported by Piergiorgio Sartor.
75684
75685 2000-06-14  Paul Eggert  <eggert@twinsun.com>
75686
75687         * lib/getdate.y (get_date): Apply relative times after time
75688         zone indicator, not before.  Reported by Todd A. Jacobs.
75689
75690 2000-06-13  Jim Meyering  <meyering@lucent.com>
75691
75692         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
75693
75694         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
75695
75696 2000-06-12  Paul Eggert  <eggert@twinsun.com>
75697
75698         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
75699
75700 2000-06-12  Jim Meyering  <meyering@lucent.com>
75701
75702         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
75703         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
75704         optional argument.
75705         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
75706         the optional argument, `lib'.
75707
75708 2000-06-08  Jim Meyering  <meyering@lucent.com>
75709
75710         * m4/largefile.m4: Remove file (now that it's part of autoconf).
75711
75712 2000-06-04  Paul Eggert  <eggert@twinsun.com>
75713
75714         Rewrite largefile configuration so that we don't need to run
75715         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
75716         AC_CANONICAL_HOST in configure.in -- jmm]
75717
75718         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
75719         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
75720         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
75721         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
75722         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
75723         All uses changed.
75724         Instead of inspecting the output of getconf, try to compile the
75725         test program without and with the macro definition.
75726         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
75727         for getconf.  Instead, check for the needed flags by compiling
75728         test programs.
75729
75730 2000-06-04  Paul Eggert  <eggert@twinsun.com>
75731
75732         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
75733
75734 2000-06-04  Jim Meyering  <meyering@lucent.com>
75735
75736         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
75737         SunOS 4.1.4 for which gid_t is an unsigned type.
75738
75739 2000-06-03  Jim Meyering  <meyering@lucent.com>
75740
75741         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
75742         now that autoconf requires that.
75743
75744         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
75745         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
75746         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
75747
75748 2000-06-03  Jim Meyering  <meyering@lucent.com>
75749
75750         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
75751
75752 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
75753
75754         * m4/glibc21.m4: New file.
75755         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
75756
75757 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
75758
75759         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
75760         newer, don't install charset.alias.
75761         * lib/config.charset: Change the Linux/glibc rules so they become empty
75762         on glibc-2.1 or newer.
75763
75764 2000-06-02  Jim Meyering  <meyering@lucent.com>
75765
75766         * lib/mountlist.c: Back out last change.  Instead, do this...
75767         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
75768         me_dummy member using the same `ignore'-testing code.
75769         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
75770         fs_type strings.
75771         From Mark D. Roth.
75772
75773 2000-05-29  Jim Meyering  <meyering@lucent.com>
75774
75775         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
75776         mounts with the `ignore' attribute.  Based on a patch from
75777         Mark D. Roth.
75778
75779 2000-05-28  Jim Meyering  <meyering@lucent.com>
75780
75781         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
75782         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
75783         * m4/stat.m4: Likewise.
75784         * m4/lstat.m4: Likewise.
75785         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
75786
75787         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
75788         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
75789
75790 2000-05-26  Jim Meyering  <meyering@lucent.com>
75791
75792         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
75793
75794 2000-05-24  Jim Meyering  <meyering@lucent.com>
75795
75796         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
75797         autoconf requires that.
75798         * m4/lib-check.m4: Likewise.
75799         * m4/jm-macros.m4: Likewise.
75800         * m4/strftime.m4: Likewise.
75801
75802         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
75803         AC_CHECK_DECLS, now that autoconf requires that.
75804
75805 2000-05-22  Jim Meyering  <meyering@lucent.com>
75806
75807         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
75808         * m4/lstat.m4: Likewise.
75809
75810 2000-05-22  Jim Meyering  <meyering@lucent.com>
75811
75812         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
75813
75814 2000-05-20  Jim Meyering  <meyering@lucent.com>
75815
75816         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
75817         (jm_PREREQ): Use it.
75818
75819 2000-05-18  Jim Meyering  <meyering@lucent.com>
75820
75821         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
75822         back, too, since it may have been modified by allocate_entry.
75823         (hash_delete): Rewrite to use neither the assignment operator
75824         nor the comma operator in an if-expression.
75825
75826 2000-05-15  Paul Eggert  <eggert@twinsun.com>
75827
75828         * lib/closeout.c:
75829         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
75830         Remove; no longer needed.
75831         "quotearg.h": Add include.
75832         (file_name): Do not bother to explicitly initialize to NULL; it's less
75833         efficient on some hosts.
75834         (close_stdout_status): Remove test as to whether stdout was already
75835         closed; it breaks for the case "echo x | sort >&-".
75836         Quote file name colons.
75837         Do not assume that _("write error") lacks format strings.
75838
75839 2000-05-15  Jim Meyering  <meyering@lucent.com>
75840
75841         * lib/version-etc.c (version_etc_copyright): Update the copyright
75842         string used in all --version output.
75843
75844 2000-05-14  Jim Meyering  <meyering@lucent.com>
75845
75846         * lib/closeout.c (close_stdout_set_file_name): New function.
75847         (close_stdout_status): Use new file-scoped global.
75848         Return right away if fstat says the stdout file descriptor is invalid.
75849         * lib/closeout.h (close_stdout_set_file_name): Declare.
75850
75851 2000-05-10  Jim Meyering  <meyering@lucent.com>
75852
75853         * lib/closeout.c [default_exit_status]: New file-scoped variable.
75854         (close_stdout_set_status): New function.
75855         * lib/closeout.h (close_stdout_set_status): Declare.
75856
75857 2000-05-09  Jim Meyering  <meyering@lucent.com>
75858
75859         * m4/gettext.m4: Rename this...
75860         * m4/libintl.m4: ...to this.
75861
75862 2000-05-08  Jim Meyering  <meyering@lucent.com>
75863
75864         * lib/long-options.c: Don't include closeout.h.
75865         (parse_long_options): Don't call close_stdout for --version.
75866
75867 2000-05-06  Paul Eggert  <eggert@twinsun.com>
75868
75869         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
75870         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
75871         2.1.3 bug.  This avoids a clash when files like regex.c define
75872         _GNU_SOURCE.
75873
75874 2000-05-06  Jim Meyering  <meyering@lucent.com>
75875
75876         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
75877         (AC_REPLACE_FUNCS): Add strnlen.
75878
75879         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
75880         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
75881
75882         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
75883         AC_SEARCH_LIBS call for nanosleep.
75884         (LIB_NANOSLEEP): Set and AC_SUBST.
75885
75886 2000-05-06  Jim Meyering  <meyering@lucent.com>
75887
75888         * lib/strnlen.c: Undefine __strnlen and strnlen.
75889         [!weak_alias]: Define __strnlen to strnlen.
75890
75891         * lib/atexit.c: New file, from libiberty.
75892
75893 2000-05-06  Jim Meyering  <meyering@lucent.com>
75894
75895         * lib/closeout.c (close_stdout_status): Also check for errors on the
75896         stderr stream.
75897
75898 2000-05-05  Jim Meyering  <meyering@lucent.com>
75899
75900         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
75901         AC_SEARCH_LIBS call for clock_gettime.
75902         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
75903
75904         * m4/search-libs.m4: Update from autoconf.
75905
75906         su doesn't work on Solaris 2.6.
75907         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
75908         <shadow.h>.  Reported by Dragos Harabor.
75909
75910 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
75911
75912         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
75913         memcpy instead of xmalloc, xrealloc, path_concat.
75914         (locale_charset): Treat empty environment variables as absent.
75915         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
75916
75917 2000-05-04  Jim Meyering  <meyering@lucent.com>
75918
75919         * lib/getopt.c: Update from glibc.
75920         * lib/obstack.c: Likewise.
75921         * lib/obstack.h: Likewise.
75922         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
75923         file
75924
75925         * lib/regex.h: Likewise.
75926         * lib/strndup.c: Likewise.
75927         * lib/strnlen.c: New file, from glibc.
75928
75929 2000-05-03  Jim Meyering  <meyering@lucent.com>
75930
75931         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
75932
75933 2000-05-02  Paul Eggert  <eggert@twinsun.com>
75934
75935         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
75936         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
75937         compile-time test, rather than inspecting host and OS, to
75938         decide whether to define _LARGEFILE_SOURCE.
75939
75940 2000-05-01  Jim Meyering  <meyering@lucent.com>
75941
75942         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
75943
75944         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
75945         Based on a patch from Bruno Haible.
75946
75947 2000-05-01  Jim Meyering  <meyering@lucent.com>
75948
75949         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
75950
75951 2000-04-29  Jim Meyering  <meyering@lucent.com>
75952
75953         * lib/path-concat.c: Declare strdup only if it's not defined.
75954         * lib/canon-host.c: Likewise.
75955
75956 2000-04-28  Jim Meyering  <meyering@lucent.com>
75957
75958         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
75959         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
75960         is included first, then limits.h is included by locale.h by libintl.h.
75961         From John David Anglin.
75962
75963 2000-04-25  Jim Meyering  <meyering@lucent.com>
75964
75965         * lib/makepath.c (S_IRWXUGO): Define.
75966         (make_path): Always perform explicit chmod if MODE specifies any
75967         of the `special' permission bits.  Prompted by a bug report against
75968         install from Mate Wierdl and Joost van Baal.
75969
75970 2000-04-18  Jim Meyering  <meyering@lucent.com>
75971
75972         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
75973         (jm_PREREQ): Use it.
75974
75975 2000-04-18  Jim Meyering  <meyering@lucent.com>
75976
75977         * lib/README: New file.
75978
75979         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
75980         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
75981
75982 2000-04-17  Jim Meyering  <meyering@lucent.com>
75983
75984         Get it right :-)
75985         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
75986         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
75987         Suggestion from Akim Demaille.
75988
75989 2000-04-17  Jim Meyering  <meyering@lucent.com>
75990
75991         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
75992         the definition of it to rpl_strftime also defined-away the system's
75993         declaration.
75994
75995 2000-04-15  Jim Meyering  <meyering@lucent.com>
75996
75997         Use `C' to denote so-called `contiguous' files, the same way
75998         that tar does.
75999         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
76000         (ftypelet): Use S_ISCTG.
76001         From Michael Deutschmann.
76002
76003 2000-04-14  Jim Meyering  <meyering@lucent.com>
76004
76005         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
76006         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
76007         clobbered.
76008
76009 2000-04-14  Jim Meyering  <meyering@lucent.com>
76010
76011         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
76012
76013 2000-04-13  Jim Meyering  <meyering@lucent.com>
76014
76015         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
76016         AH_VERBATIM to insert required #ifndef into config.h.in.
76017         Suggestion from Akim Demaille.
76018
76019 2000-04-12  Jim Meyering  <meyering@lucent.com>
76020
76021         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
76022         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
76023         Christian Krackowizer.
76024
76025         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
76026         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
76027         (AC_SYS_LARGEFILE): Require.
76028         (AM_C_PROTOTYPES): Require.
76029
76030 2000-04-08  Jim Meyering  <meyering@lucent.com>
76031
76032         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
76033         names don't conflict.  Reported by Eli Zaretskii.
76034
76035 2000-04-07  Jim Meyering  <meyering@lucent.com>
76036
76037         * lib/putenv.c: Move inclusion of errno.h so it follows that of
76038         sys/types.h, to work around system header problems on AIX 3.2.5.
76039         From Bruno Haible.
76040
76041 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
76042
76043         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
76044         bug.  Deal with the different error behavior of Irix iconv.
76045
76046 2000-04-05  Paul Eggert  <eggert@twinsun.com>
76047
76048         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
76049         IRIX if the installer said otherwise.
76050
76051 2000-04-05  Jim Meyering  <meyering@lucent.com>
76052
76053         Portability tweaks required for ultrix4.3.
76054         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
76055         (jm_CHECK_DECLS): Add getutent to the list of functions.
76056         (_jm_DECL_HEADERS): Add utmpx.h.
76057         From John David Anglin.
76058
76059         * m4/strftime.m4: Back out the 2000-04-02 change.
76060         Instead of that change, simply undefine putenv in the test program.
76061
76062 2000-04-05  Jim Meyering  <meyering@lucent.com>
76063
76064         Portability tweaks required for ultrix4.3.
76065         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
76066         getutent.
76067         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
76068         * lib/canon-host.c: Declare strdup.
76069         * lib/path-concat.c: Likewise.
76070         From John David Anglin.
76071
76072 2000-04-04  Jim Meyering  <meyering@lucent.com>
76073
76074         Be more DOS 8.3-friendly.
76075         * lib/ref-add.sin: Renamed from ref-add.sed.in.
76076         * lib/ref-del.sin: Renamed from ref-del.sed.in.
76077         * lib/Makefile.am: Reflect renaming.
76078         Reported by Eli Zaretskii.
76079
76080         Use a temporary file name that won't clash with `charset.alias'
76081         in the DOS 8.3 name space.
76082         * lib/Makefile.am (charset_tmp): Define.
76083         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
76084         (uninstall-local): Likewise.
76085         Reported by Eli Zaretskii.
76086
76087 2000-04-03  Jim Meyering  <meyering@lucent.com>
76088
76089         * m4/gettext.m4: Fix typo in comment.
76090
76091         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
76092         textutils/configure.in).  Suggestion from Paul Eggert.
76093         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
76094
76095 2000-04-02  Paul Eggert  <eggert@twinsun.com>
76096
76097         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
76098         variable in the shell rather than using putenv, which isn't
76099         portable.  This avoids the configure-time inter-test dependency
76100         on the potentially-renamed putenv function.
76101
76102 2000-03-30  Paul Eggert  <eggert@twinsun.com>
76103
76104         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
76105         before checking struct stat.st_blksize, so that
76106         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
76107
76108 2000-03-29  Paul Eggert  <eggert@twinsun.com>
76109
76110         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
76111         since strftime.c uses HAVE_STRFTIME to decide whether to use
76112         the underlying strftime.
76113
76114 2000-03-29  Paul Eggert  <eggert@twinsun.com>
76115
76116         * lib/time/strftime.c (my_strftime): Make sure we call the system
76117         strftime, not ourselves, when invoking the underlying strftime.
76118
76119 2000-03-24  Jim Meyering  <meyering@lucent.com>
76120
76121         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
76122         (charset_alias): Define.
76123         (install-exec-local): Factor out common code.
76124         (uninstall-local): Split lines longer than 80.
76125         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
76126         (SUFFIXES): Define.
76127         (.sed.in.sed): New rule.  Don't redirect directly to $@.
76128         (CLEANFILES): Add ref-add.sed and ref-del.sed.
76129
76130 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
76131
76132         * lib/config.charset: Output a line containing "Packages using this
76133         file".
76134         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
76135         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
76136         ref-del.sed): New rules.
76137
76138 2000-03-17  Jim Meyering  <meyering@lucent.com>
76139
76140         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
76141         Otherwise, include <strings.h>
76142
76143 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
76144
76145         * lib/unicodeio.c (utf8_wctomb): New function.
76146         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
76147         format instead of in UCS-4 with platform dependent endianness.
76148
76149 2000-03-10  Jim Meyering  <meyering@lucent.com>
76150
76151         * m4/lib-check.m4: Look for getspnam in -lgen, too.
76152         From Marco Franzen.
76153
76154 2000-03-07  Paul Eggert  <eggert@twinsun.com>
76155
76156         * lib/savedir.c (savedir): Work even if directory size is
76157         negative; this can happen with some screwy NFS configurations.
76158
76159 2000-03-06  Jim Meyering  <meyering@lucent.com>
76160
76161         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
76162         if it's NULL (because we ran out of memory).  From Bruno Haible.
76163
76164 2000-03-05  Jim Meyering  <meyering@lucent.com>
76165
76166         * lib/localcharset.c ("path-concat.h"): Include.
76167         (get_charset_aliases): Use path_concat instead of ANSI string
76168         concatenation.
76169
76170         * lib/unicodeio.h (PARAMS): Define.
76171         Use it to guard prototype.
76172
76173 2000-03-04  Jim Meyering  <meyering@lucent.com>
76174
76175         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
76176         for lib/localcharset.c.
76177
76178 2000-03-04  Jim Meyering  <meyering@lucent.com>
76179
76180         * lib/Makefile.am (install-exec-local): Create $(libdir) before
76181         installing into it.
76182         (uninstall-local): Uncomment this rule so `make distcheck' works
76183         once again.
76184
76185         * lib/unicodeio.c (<errno.h>): Include it.
76186         (errno): Declare if not defined.
76187
76188         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
76189
76190         * lib/config.charset: New version, incorporating remarks from a linux
76191         i18n mailing list.  From Bruno Haible.
76192
76193 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
76194
76195         * m4/codeset.m4: New file.
76196         * m4/iconv.m4: New file.
76197         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
76198
76199 2000-03-03  Jim Meyering  <meyering@lucent.com>
76200
76201         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
76202
76203 2000-03-02  Jim Meyering  <meyering@lucent.com>
76204
76205         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
76206         the messages come out on separate lines.
76207
76208         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
76209         rather than jm_CHECK_DECLARATIONS.
76210         * m4/decl.m4: Remove now-unused file.
76211
76212         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
76213         geteuid.
76214
76215 2000-03-02  Jim Meyering  <meyering@lucent.com>
76216
76217         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
76218
76219 2000-03-01  Jim Meyering  <meyering@lucent.com>
76220
76221         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
76222         * lib/unicodeio.c: Likewise.
76223
76224 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
76225
76226         * lib/config.charset: New file.
76227         * lib/localcharset.c: New file.
76228         * lib/unicodeio.h, lib/unicodeio.c: New files.
76229         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
76230         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
76231         (noinst_HEADERS): Add unicodeio.h.
76232         (all-local, install-exec-local, charset.alias): New targets.
76233
76234 2000-02-28  Paul Eggert  <eggert@twinsun.com>
76235
76236         * lib/quotearg.c (ALERT_CHAR): New macro.
76237         (quotearg_buffer_restyled): Use it.
76238
76239 2000-02-27  Jim Meyering  <meyering@lucent.com>
76240
76241         * m4/check-decl.m4: Add getenv to the list.
76242
76243 2000-02-27  Jim Meyering  <meyering@lucent.com>
76244
76245         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
76246         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
76247
76248         * lib/backupfile.c: Guard inclusion of stdlib.h with
76249         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
76250         Declare malloc if needed.
76251
76252         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
76253         `#ifndef HAVE_DECL..'
76254         now that autoconf always defines the HAVE_DECL_ symbols.
76255         * lib/human.c: Likewise.
76256         * lib/same.c: Likewise.
76257         * lib/strtoumax.c: Likewise.
76258
76259         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
76260         declaration check was not run.
76261         * lib/hash.c: Likewise.
76262         * lib/human.c: Likewise.
76263         * lib/same.c: Likewise.
76264         * lib/strtoumax.c: Likewise.
76265
76266         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
76267         `.', then first look up the entire `.'-containing string as a login
76268         name.
76269
76270 2000-02-23  Jim Meyering  <meyering@lucent.com>
76271
76272         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
76273         in place of my hack.
76274
76275 2000-02-18  Paul Eggert  <eggert@twinsun.com>
76276
76277         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
76278         (textint): New typedef.
76279         (parser_control): Member year changed from int to textint.
76280         All uses changed.
76281         (YYSTYPE): Removed; replaced by %union with int and textint members.
76282         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
76283         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
76284         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
76285         (tSNUMBER, tUNUMBER): Now of type <textintval>.
76286         (date, number, to_year): Use width of number in digits, not its value,
76287         to determine whether it's a 2-digit year, or a 2-digit time.
76288         (yylex): Store number of digits of numeric tokens.
76289         Reported by John Kendall.
76290
76291         (parser_control): Changed from struct parser_control to typedef (for
76292         consistency).  All uses changed.
76293
76294         (tID): Removed; not used.
76295         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
76296
76297 2000-02-14  Paul Eggert  <eggert@twinsun.com>
76298
76299         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
76300         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
76301
76302 2000-02-12  Jim Meyering  <meyering@lucent.com>
76303
76304         * lib/userspec.c (ISDIGIT): Define it.
76305         (isdigit): Remove definition.
76306         (is_number): Use ISDIGIT, not isdigit.
76307         <libintl.h>: Include.
76308         (_ and N_): Define.
76309         (parse_user_spec): Mark translatable strings.
76310
76311 2000-02-10  Jim Meyering  <meyering@lucent.com>
76312
76313         With these changes, nanosleep.[ch] are finally enough like the other
76314         lib/* replacement files to compile on a few more losing systems.
76315
76316         * lib/nanosleep.h: Don't include config.h.
76317         Remove prototype from declaration of nanosleep.
76318         (PARAMS): Remove now-unneeded definition.
76319         * lib/nanosleep.c: #undef nanosleep.
76320         (rpl_nanosleep): Rename from nanosleep.
76321
76322 2000-02-10  Jim Meyering  <meyering@lucent.com>
76323
76324         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
76325         gnu_nanosleep to rpl_nanosleep.
76326
76327 2000-02-09  Jim Meyering  <meyering@lucent.com>
76328
76329         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
76330         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
76331
76332 2000-02-08  Akim Demaille  <akim@epita.fr>
76333
76334         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
76335         `[' and `]' and remove uses of `changequote'.
76336         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
76337         (AC_SYS_LARGEFILE): Likewise.
76338         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
76339         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
76340         of changequote.
76341         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
76342         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
76343         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
76344         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
76345
76346 2000-02-05  Jim Meyering  <meyering@lucent.com>
76347
76348         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
76349         Remove explicit use of AC_HEADER_TIME.  It is required by
76350         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
76351         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
76352         in autoconf whereby the expansion of the latter ended up preceding
76353         the expansion of its prerequisite, AC_HEADER_TIME.
76354         Reported by Volker Borchert.
76355
76356 2000-02-03  Jim Meyering  <meyering@lucent.com>
76357
76358         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
76359
76360 2000-02-03  Jim Meyering  <meyering@lucent.com>
76361
76362         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
76363         rather than with `#if HAVE_UTMPNAME'.
76364
76365 2000-02-02  Jim Meyering  <meyering@lucent.com>
76366
76367         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
76368         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
76369         Reported by Eli Zaretskii.
76370
76371 2000-02-01  Jim Meyering  <meyering@lucent.com>
76372
76373         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
76374
76375 2000-01-31  Jim Meyering  <meyering@lucent.com>
76376
76377         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
76378         functions.  Add the time.h and sys/time.h headers along with the
76379         AC_REQUIRE'ment of AC_HEADER_TIME.
76380
76381 2000-01-31  Jim Meyering  <meyering@lucent.com>
76382
76383         * lib/nanosleep.h (nanosleep): Guard declaration with
76384         `#if ! HAVE_DECL_NANOSLEEP'.
76385         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
76386         the declaration in that vendor's sys/timers.h.
76387         Reported by Christian Krackowizer.
76388
76389         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
76390         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
76391         (ISPRINT): Likewise.
76392         Reported by Tom Tromey.
76393
76394 2000-01-30  Jim Meyering  <meyering@lucent.com>
76395
76396         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
76397
76398         * m4/prereq.m4 (utmp_includes): Define.
76399         Check for ut_user and ut_name members in both struct utmpx
76400         and struct utmp.
76401
76402 2000-01-30  Jim Meyering  <meyering@lucent.com>
76403
76404         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
76405         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
76406         header files where only utmpx.ut_user is declared.
76407
76408         * lib/readutmp.h (UT_USER): Define.
76409
76410 2000-01-29  Jim Meyering  <meyering@lucent.com>
76411
76412         * m4/lib-check.m4: New file containing library-related checks from
76413         fileutils and sh-utils (textutils had none).
76414
76415 2000-01-28  Jim Meyering  <meyering@lucent.com>
76416
76417         * m4/perl.m4: Change format of warning message to look more like that
76418         from the missing script.  Suggestion from François Pinard.
76419
76420 2000-01-25  Jim Meyering  <meyering@lucent.com>
76421
76422         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
76423         well as time.h in the compile check.
76424         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
76425         Fix typo in cross-compiling case: s/yes/no/.
76426
76427 2000-01-23  Jim Meyering  <meyering@lucent.com>
76428
76429         * m4/jm-macros.m4: Move df-related tests here from
76430         fileutils/configure.in
76431
76432         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
76433         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
76434
76435         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
76436         s/space/ac_fsusage_space/.
76437         (jm_FILE_SYSTEM_USAGE): Take two parameters.
76438
76439         * m4/ftruncate.m4: New file (derived from part of
76440         fileutils/configure.in).
76441         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
76442         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
76443
76444         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
76445         AC_SUBST these here, rather than just in sh-util/configure.in, so
76446         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
76447         all the same.
76448         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
76449         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
76450         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
76451         (AC_SUBST(POW_LIBM)): Likewise.
76452         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
76453
76454 2000-01-23  Jim Meyering  <meyering@lucent.com>
76455
76456         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
76457         obstack.c.
76458
76459 2000-01-22  Jim Meyering  <meyering@lucent.com>
76460
76461         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
76462
76463         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
76464
76465         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
76466         configure.in
76467         (AC_CHECK_HEADERS): Likewise for sh-utils.
76468         (AC_CHECK_HEADERS): Likewise for textutils.
76469         Merge the three lists of headers.
76470
76471         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
76472         from fileutils' configure.in.
76473
76474         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
76475         code. Moved tests into their own function (_jm_DECL_HEADERS) in
76476         check-decl.m4.
76477
76478         * m4/check-decl.m4: Use #if rather than #ifdef.
76479         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
76480         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
76481         (_jm_DECL_HEADERS): Define new function.
76482         (jm_CHECK_DECLARATIONS): Require it.
76483
76484 2000-01-22  Jim Meyering  <meyering@lucent.com>
76485
76486         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
76487         [! HAVE_DECL_STRTOULL]: Declare strtoull.
76488         Required for some AIX systems.  Reported by Christian Krackowizer.
76489         [TESTING] (main): New function.
76490
76491         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
76492         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
76493         letters.
76494
76495         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
76496         iswprint.
76497
76498         * lib/strverscmp.c (ISDIGIT): Define.
76499         (strverscmp): Use ISDIGIT, not isdigit.
76500
76501 2000-01-19  Jim Meyering  <meyering@lucent.com>
76502
76503         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
76504         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
76505         defines `struct timespec' in <sys/time.h>
76506
76507         * m4/c-bs-a.m4: Remove uses of changequote altogether.
76508         Thanks to Akim for explaining.
76509
76510 2000-01-17  Paul Eggert  <eggert@twinsun.com>
76511
76512         * lib/nanosleep.c (nanosleep):
76513         Don't use SA_INTERRUPT to decide whether to call sigaction, as
76514         POSIX.1 doesn't require SA_INTERRUPT and some systems
76515         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
76516         it's been part of POSIX.1 since day 1 (in 1988).
76517
76518 2000-01-17  Jim Meyering  <meyering@lucent.com>
76519
76520         * lib/interlock: Remove unused file.  Reported by François Pinard.
76521
76522 2000-01-16  Paul Eggert  <eggert@twinsun.com>
76523
76524         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
76525         alert, backslash, formfeed, and vertical tab unnecessarily in
76526         shell quoting style.
76527
76528 2000-01-16  Jim Meyering  <meyering@lucent.com>
76529
76530         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
76531         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
76532         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
76533         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
76534
76535 2000-01-16  Jim Meyering  <meyering@lucent.com>
76536
76537         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
76538         because the latter didn't work.
76539
76540 2000-01-15  Jim Meyering  <meyering@lucent.com>
76541
76542         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
76543         (AC_REPLACE_FUNCS): Add memcpy and memset.
76544         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
76545         Add strpbrk.
76546         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
76547
76548 2000-01-12  Jim Meyering  <meyering@lucent.com>
76549
76550         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
76551         (jm_PREREQ): Use it.
76552         (jm_PREREQ_READUTMP): New macro.
76553         (jm_PREREQ): Use it.
76554
76555 2000-01-11  Paul Eggert  <eggert@twinsun.com>
76556
76557         Quote multibyte characters correctly.
76558         * m4/c-bs-a.m4: New file.
76559         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
76560         (jm_PREREQ): Use it.
76561
76562 2000-01-11  Paul Eggert  <eggert@twinsun.com>
76563
76564         * m4/uintmax_t.m4: Port to autoconf 2.13.
76565
76566 2000-01-08  Jim Meyering  <meyering@ascend.com>
76567
76568         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
76569         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
76570
76571 2000-01-04  Jim Meyering  <meyering@ascend.com>
76572
76573         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
76574         jm_STRUCT_DIRENT_D_TYPE.
76575         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
76576         jm_STRUCT_DIRENT_D_INO.
76577         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
76578         jm_STRUCT_UTIMBUF.
76579         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
76580         renamings.
76581         * m4/utime.m4: Likewise.
76582
76583         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
76584         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
76585
76586 2000-01-03  Paul Eggert  <eggert@twinsun.com>
76587
76588         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
76589         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
76590
76591 2000-01-02  Jim Meyering  <meyering@ascend.com>
76592
76593         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
76594         remember if this is necessary.
76595
76596 1999-12-26  Jim Meyering  <meyering@ascend.com>
76597
76598         * m4/jm-macros.m4: Use it here.
76599         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
76600
76601 1999-12-23  Jim Meyering  <meyering@ascend.com>
76602
76603         * m4/jm-macros.m4: Check for clock_gettime (moved from
76604         fileutils/configure.in)
76605         Check for gettimeofday.
76606
76607 1999-12-20  Jim Meyering  <meyering@ascend.com>
76608
76609         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
76610         autoconf-2.14a-1999-12-20.
76611
76612 1999-12-19  Jim Meyering  <meyering@ascend.com>
76613
76614         * m4/lstat-slash.m4: New file.
76615         * m4/jm-macros.m4: Use the new macro:
76616         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
76617
76618 1999-12-07  Jim Meyering  <meyering@ascend.com>
76619
76620         * m4/perl.m4: Require that File::Compare be available, too.
76621         Too many systems seem to lack it.
76622
76623         * m4/strftime.m4: Add checks for most of the cpp macros tested in
76624         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
76625
76626 1999-11-18  Paul Eggert  <eggert@twinsun.com>
76627
76628         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
76629         problem with the QNX 4.25 shell, which doesn't propagate exit
76630         status of failed commands inside shell assignments.
76631
76632 1999-11-17  Jim Meyering  <meyering@ascend.com>
76633
76634         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
76635
76636 1999-11-07  Jim Meyering  <meyering@ascend.com>
76637
76638         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
76639
76640 1999-11-06  Jim Meyering  <meyering@ascend.com>
76641
76642         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
76643         * m4/jm-macros.m4 (jm_MACROS): Use it here.
76644
76645 1999-11-05  Jim Meyering  <meyering@ascend.com>
76646
76647         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
76648         configure.in of textutils, fileutils, and sh-utils into this one
76649         (shared between those packages) file.
76650         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
76651         AC_STRUCT_ST_BLKSIZE.
76652
76653 1999-11-03  Jim Meyering  <meyering@ascend.com>
76654
76655         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
76656         of AC_CHECK_TYPE checks includes unistd.h.
76657         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
76658         Suggestion from Akim Demaille.
76659
76660 1999-10-30  Jim Meyering  <meyering@ascend.com>
76661
76662         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
76663         m4-quoted string.
76664         * m4/ls-mntd-fs.m4: Likewise.
76665         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
76666         * m4/jm-winsz1.m4: Likewise.
76667
76668         * m4/const.m4: Remove file, since the fix made it into the experimental
76669         version of autoconf.
76670         * m4/mktime.m4: Likewise.
76671
76672         * m4/check-type.m4: Remove file, now that the latest version of
76673         AC_CHECK_TYPE takes a third arg to specify additional #includes.
76674
76675         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
76676         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
76677         AC_CHECK_TYPE.
76678
76679 1999-10-04  Jim Meyering  <meyering@ascend.com>
76680
76681         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
76682
76683 1999-09-22  Paul Eggert  <eggert@twinsun.com>
76684
76685         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
76686         2.95.1 bug with HP-UX 10.20.
76687
76688 1999-09-17  Jim Meyering  <meyering@ascend.com>
76689
76690         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
76691         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
76692         due to missing strdup (against sh-utils-2.0).
76693
76694 1999-08-29  Jim Meyering  <meyering@ascend.com>
76695
76696         * m4/jm-macros.m4: Require jm_BISON.
76697         * m4/bison.m4: New file.
76698
76699 1999-08-17  Paul Eggert  <eggert@twinsun.com>
76700
76701         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
76702         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
76703
76704 1999-08-05  Jim Meyering  <meyering@ascend.com>
76705
76706         * m4/getline.m4: Rename test file from conftestdata to conftest.data
76707         to avoid conflicts with `conftest' on 8+3 filesystems.
76708         Suggestion from Eli Zaretskii.
76709
76710 1999-08-04  Jim Meyering  <meyering@ascend.com>
76711
76712         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
76713         fileutils and sh-utils (textutils's getline test was inadequate).
76714         (AM_FUNC_GETLINE): Run this test.
76715         (AC_CHECK_FUNCS): Check for getdelim.
76716         Reported by Bob Proulx.
76717
76718 1999-08-02  Jim Meyering  <meyering@ascend.com>
76719
76720         * m4/jm-macros.m4: Add a comment.
76721
76722 1999-08-01  Paul Eggert  <eggert@twinsun.com>
76723
76724         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
76725         <inttypes.h> defines strtoumax as a macro (and not as a
76726         function).
76727
76728 1999-08-01  Paul Eggert  <eggert@twinsun.com>
76729
76730         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
76731         that we can shift, multiply and divide unsigned long long
76732         values; Ultrix cc can't do it.
76733
76734 1999-08-01  Paul Eggert  <eggert@twinsun.com>
76735
76736         * m4/mktime.m4: New file, which is a preview of what should appear
76737         in the next public autoconf release.
76738
76739 1999-08-01  Paul Eggert  <eggert@twinsun.com>
76740
76741         * m4/lfs.m4: Remove this file.
76742         * m4/largefile.m4: New file.  It contains the old contents of
76743         lfs.m4, except that all names with prefix AC_LFS have been
76744         changed to use the prefix AC_SYS_LARGEFILE instead, to be
76745         compatible with future autoconf versions.  Also, some minor m4
76746         quoting problems have been fixed.
76747
76748 1999-08-01  Paul Eggert  <eggert@twinsun.com>
76749
76750         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
76751         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
76752         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
76753         and simplify the shell code.
76754
76755 1999-08-01  Jim Meyering  <meyering@ascend.com>
76756
76757         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
76758         m4.
76759
76760 1999-07-20  Jim Meyering  <meyering@ascend.com>
76761
76762         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
76763
76764 1999-07-15  Jim Meyering  <meyering@ascend.com>
76765
76766         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
76767
76768 1999-05-22  Jim Meyering  <meyering@ascend.com>
76769
76770         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
76771
76772 1999-05-20  Jim Meyering  <meyering@ascend.com>
76773
76774         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
76775         Add a colon after each `then' in case $4 is empty.
76776
76777 1999-05-16  Jim Meyering  <meyering@ascend.com>
76778
76779         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
76780
76781 1999-05-10  Jim Meyering  <meyering@ascend.com>
76782
76783         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
76784
76785         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
76786         AC_FUNC_MKTIME.
76787
76788 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
76789
76790         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
76791
76792 1999-05-04  Paul Eggert  <eggert@twinsun.com>
76793
76794         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
76795         not CPPFLAGS, so that linking works correctly in IRIX.
76796
76797 1999-04-30  Paul Eggert  <eggert@twinsun.com>
76798
76799         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
76800
76801 1999-04-20  Paul Eggert  <eggert@twinsun.com>
76802
76803         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
76804         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
76805         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
76806         jm_AC_TYPE_UNSIGNED_LONG_LONG.
76807         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
76808
76809         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
76810
76811 1999-04-20  Jim Meyering  <meyering@ascend.com>
76812
76813         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
76814         AC_REPLACE xstroull if necessary.  From Paul Eggert.
76815         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
76816
76817 1999-04-18  Jim Meyering  <meyering@ascend.com>
76818
76819         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
76820         * m4/jm-macros.m4: Use it.
76821
76822 1999-04-06  Jim Meyering  <meyering@ascend.com>
76823
76824         * m4/strftime.m4: Remove test for %f.
76825
76826 1999-03-29  Jim Meyering  <meyering@ascend.com>
76827
76828         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
76829         superset of the AC_TYPE_* checks in the textutils, fileutils,
76830         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
76831         AC_TYPE_PID_T.
76832
76833 1999-03-28  Jim Meyering  <meyering@ascend.com>
76834
76835         * m4/jm-macros.m4: Define GNU_PACKAGE here.
76836         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
76837         replaced e.g., in the *.sh files of the sh-utils.
76838
76839 1999-03-20  Jim Meyering  <meyering@ascend.com>
76840
76841         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
76842         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
76843         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
76844
76845 1999-03-19  Jim Meyering  <meyering@ascend.com>
76846
76847         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
76848
76849 1999-03-12  Jim Meyering  <meyering@ascend.com>
76850
76851         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
76852
76853 1999-03-07  Jim Meyering  <meyering@ascend.com>
76854
76855         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
76856         declared.
76857
76858 1999-02-17  Jim Meyering  <meyering@ascend.com>
76859
76860         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
76861         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
76862
76863 1999-02-07  Jim Meyering  <meyering@ascend.com>
76864
76865         * m4/group-member.m4: New file -- extracted from sh-utils'
76866         configure.in.
76867
76868         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
76869         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
76870
76871 1999-02-06  Jim Meyering  <meyering@ascend.com>
76872
76873         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
76874         * m4/fnmatch.m4: Likewise.
76875         * m4/getgroups.m4: Likewise.
76876         * m4/lstat.m4: Likewise.
76877         * m4/malloc.m4: Likewise.
76878         * m4/putenv.m4: Likewise.
76879         * m4/realloc.m4: Likewise.
76880         * m4/regex.m4: Likewise.
76881         * m4/stat.m4: Likewise.
76882         * m4/strftime.m4: Likewise.
76883         Suggestion from Alain Magloire.
76884
76885         * m4/chown.m4: Use `.$ac_objext', not `.o'.
76886         * m4/fnmatch.m4: Likewise.
76887         * m4/getgroups.m4: Likewise.
76888         * m4/getline.m4: Likewise.
76889         * m4/lstat.m4: Likewise.
76890         * m4/malloc.m4: Likewise.
76891         * m4/memcmp.m4: Likewise.
76892         * m4/putenv.m4: Likewise.
76893         * m4/realloc.m4: Likewise.
76894         * m4/regex.m4: Likewise.
76895         * m4/stat.m4: Likewise.
76896         * m4/strftime.m4: Likewise.
76897         Suggestion from Alain Magloire.
76898
76899         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
76900         an argument.
76901
76902         * m4/regex.m4: Add a run-time Test for proper operation of
76903         re_compile_pattern.
76904
76905 1999-01-31  Jim Meyering  <meyering@ascend.com>
76906
76907         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
76908
76909 1999-01-30  Jim Meyering  <meyering@ascend.com>
76910
76911         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
76912
76913         * m4/jm-mktime.m4: Make this a wrapper around the official
76914         AM_FUNC_MKTIME rather than my private copy, now that the official one
76915         is up to date.
76916         * m4/mktime.m4: Remove file.
76917
76918         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
76919         * m4/uptime.m4: Likewise.
76920         * m4/uintmax_t.m4: Likewise.
76921
76922 1999-01-28  Jim Meyering  <meyering@ascend.com>
76923
76924         * m4/jm-macros.m4: Use jm_AFS.
76925         * m4/afs.m4: New file (from fileutils' configure.in).
76926
76927         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
76928         * m4/chown.m4: Likewise.
76929         * m4/d-ino.m4: Likewise.
76930         * m4/d-type.m4: Likewise.
76931         * m4/fnmatch.m4: Likewise.
76932         * m4/getgroups.m4: Likewise.
76933         * m4/gettext.m4: Likewise.
76934         * m4/jm-mktime.m4: Likewise.
76935         * m4/jm-winsz2.m4: Likewise.
76936         * m4/lcmessage.m4: Likewise.
76937         * m4/ls-mntd-fs.m4: Likewise.
76938         * m4/malloc.m4: Likewise.
76939         * m4/memcmp.m4: Likewise.
76940         * m4/putenv.m4: Likewise.
76941         * m4/realloc.m4: Likewise.
76942         * m4/st_mtim.m4: Likewise.
76943         * m4/strftime.m4: Likewise.
76944
76945 1999-01-16  Jim Meyering  <meyering@ascend.com>
76946
76947         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
76948         (ARGMATCH_DIE_DECL): Define.
76949
76950 1999-01-12  Jim Meyering  <meyering@ascend.com>
76951
76952         * m4/Makefile.am.in: Rewrite to avoid using fmt.
76953         Reported by Lars Hecking.
76954
76955 1999-01-10  Jim Meyering  <meyering@ascend.com>
76956
76957         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
76958         gross kludge.
76959         * m4/inttypes_h.m4: Likewise.
76960         * m4/lstat.m4: Likewise.
76961         * m4/malloc.m4: Likewise.
76962         * m4/readdir.m4: Likewise.
76963         * m4/realloc.m4: Likewise.
76964         * m4/st_dm_mode.m4: Likewise.
76965         * m4/stat.m4: Likewise.
76966         * m4/utimbuf.m4: Likewise.
76967         * m4/utimes.m4: Likewise.
76968
76969         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
76970         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
76971         comments in config.h.in are meaningful.
76972
76973         * m4/jm-macros.m4: Require autoconf-2.13 here.
76974
76975         * m4/regex.m4: By default, don't use the included regex.c on systems
76976         with glibc 2.  Suggestion from Uli Drepper.
76977
76978 1999-01-02  Jim Meyering  <meyering@ascend.com>
76979
76980         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
76981
76982 1998-12-18  Jim Meyering  <meyering@ascend.com>
76983
76984         * m4/Makefile.am.in (Makefile.am): Simplify rule.
76985         Based on a suggestion from Lars Hecking.
76986
76987 1998-11-16  Paul Eggert  <eggert@twinsun.com>
76988
76989         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
76990
76991 1998-11-16  Jim Meyering  <meyering@ascend.com>
76992
76993         * m4/lfs.m4: Double-quote the `uname...` expression.
76994
76995 1998-11-14  Jim Meyering  <meyering@ascend.com>
76996
76997         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
76998         * m4/stat.m4: Likewise.
76999
77000 1998-11-03  Jim Meyering  <meyering@ascend.com>
77001
77002         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
77003         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
77004
77005 1998-10-18  Jim Meyering  <meyering@ascend.com>
77006
77007         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
77008
77009 1998-10-17  Jim Meyering  <meyering@ascend.com>
77010
77011         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
77012         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
77013         calls for those previously hard-coded headers.  Instead, take a new
77014         parameter.
77015         (jm_CHECK_DECLARATIONS): Reflect interface change.
77016         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
77017         (jm_CHECK_DECL_LOCALTIME_R): New macro.
77018
77019         * m4/mktime.m4: Test for spring-forward gap before long-running test.
77020
77021 1998-10-14  Jim Meyering  <meyering@ascend.com>
77022
77023         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
77024         instead of "TZ=America/Vancouver".  From Paul Eggert.
77025
77026 1998-10-11  Jim Meyering  <meyering@ascend.com>
77027
77028         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
77029         This adds a test for a recently added compatibility fix for mktime.c.
77030         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
77031
77032 1998-09-27  Jim Meyering  <meyering@ascend.com>
77033
77034         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
77035
77036         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
77037         ../configure.in, including a change from Gordon Matzigkeit to allow
77038         cross-compiling for the Hurd.
77039
77040         * m4/glibc.m4: New file/macro to test for the GNU C Library
77041         versions 1 and 2.  From Gordon Matzigkeit.
77042         Indent.
77043
77044 1998-09-21  Jim Meyering  <meyering@ascend.com>
77045
77046         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
77047
77048 1998-08-18  Paul Eggert  <eggert@twinsun.com>
77049
77050         Port nanosecond-resolution times to UnixWare 2.1.2 and
77051         pedantic Solaris 2.6.
77052
77053         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
77054         AC_STRUCT_ST_MTIM.
77055         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
77056         Generate name of ns member, instead of just 1 or undef.
77057         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
77058
77059 1998-08-15  Jim Meyering  <meyering@ascend.com>
77060
77061         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
77062         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
77063         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
77064         instead of jm_TYPE_SSIZE_T.
77065
77066 1998-08-12  Jim Meyering  <meyering@ascend.com>
77067
77068         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
77069
77070 1998-08-02  Jim Meyering  <meyering@ascend.com>
77071
77072         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
77073         in acconfig.h manually.
77074
77075 1998-07-31  Paul Eggert  <eggert@twinsun.com>
77076
77077         * m4/st_mtim.m4: New file.
77078
77079 1998-07-28  Jim Meyering  <meyering@ascend.com>
77080
77081         * m4/utimes.m4: Undef stat.
77082
77083 1998-07-25  Jim Meyering  <meyering@ascend.com>
77084
77085         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
77086         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
77087
77088 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
77089
77090         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
77091         uid and gid actually remain unchanged.
77092
77093 1998-07-07  Jim Meyering  <meyering@ascend.com>
77094
77095         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
77096
77097 1998-07-04  Jim Meyering  <meyering@ascend.com>
77098
77099         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
77100         to prove that this macro can be used in packages without regex.c.
77101
77102 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
77103
77104         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
77105         is to be used.
77106
77107 1998-07-03  Jim Meyering  <meyering@ascend.com>
77108
77109         * m4/gettext.m4: Add -lintl if it's found to be necessary.
77110
77111         * m4/gettext.m4: New file -- from gettext-0.10.35.
77112         * m4/lcmessage.m4: Likewise.
77113         * m4/progtest.m4: Likewise.
77114
77115         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
77116         * m4/jm-macros.m4: Require the new macro.
77117
77118 1998-06-29  Jim Meyering  <meyering@ascend.com>
77119
77120         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
77121         for the definition of NGROUPS (used in a system header included
77122         by sys/mount.h).
77123
77124 1998-06-28  Jim Meyering  <meyering@ascend.com>
77125
77126         * m4/ls-mntd-fs.m4: New file.
77127         * m4/fstypename.m4: New file.
77128
77129         * m4/jm-macros.m4: Require the new macro.
77130         * m4/jm-glibc-io.m4: New file.
77131
77132 1998-05-19  Jim Meyering  <meyering@ascend.com>
77133
77134         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
77135         * m4/lchown.m4: New file.
77136
77137         * m4/Makefile.am.in: New file.
77138         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
77139
77140 1998-05-14  Jim Meyering  <meyering@ascend.com>
77141
77142         * m4/Makefile.am (EXTRA_DIST): Add them.
77143         * m4/jm-macros.m4: New file.
77144         * m4/utimbuf.m4: New file.
77145
77146 1998-05-12  Jim Meyering  <meyering@ascend.com>
77147
77148         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
77149
77150 1998-05-11  Jim Meyering  <meyering@ascend.com>
77151
77152         * m4/isc-posix.m4: New file.
77153
77154 1998-05-10  Jim Meyering  <meyering@ascend.com>
77155
77156         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
77157
77158 1998-05-09  Jim Meyering  <meyering@ascend.com>
77159
77160         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
77161         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
77162         with automake.
77163
77164         * m4/ssize_t.m4: New file.
77165         * m4/mktime.m4: Remove file -- the new automake has this now.
77166
77167 1998-04-26  Jim Meyering  <meyering@ascend.com>
77168
77169         * m4/assert.m4: New file.
77170         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
77171
77172 1998-04-05  Jim Meyering  <meyering@ascend.com>
77173
77174         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
77175         (jm_PREREQ): Use it here.
77176
77177 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
77178
77179         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
77180         in acconfig.h.
77181
77182 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
77183
77184         * m4/prereq.m4: New file.
77185         * m4/error.m4: New file.
77186         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
77187
77188 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
77189
77190         * m4/getline.m4: Don't set am_cv_func_working_getline before the
77191         cache-check for the same variable -- that defeated the purpose of
77192         the test; the test program was never run.  This was a problem only
77193         on systems with losing getline functions -- HP-UX 10.20 is one.
77194         Reported by Bjorn Helgaas.
77195
77196 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
77197
77198         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
77199
77200 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
77201
77202         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
77203
77204         * m4/const.m4: New file.  Use an initializer in this declaration
77205         typedef int charset[2]; const charset x;
77206         Reported by Bob Glickstein.
77207
77208 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
77209
77210         * m4/chown.m4: Fix reversed types on -1 args to chown.
77211         From Kaveh Ghazi.
77212
77213 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
77214
77215         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
77216         Add lseek and memchr.
77217
77218         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
77219         T.E.Dickey <dickey@clark.net> said that some older preprocessors
77220         have a 20-character limit on names.
77221
77222 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
77223
77224         * m4/inttypes_h.m4: New file.
77225         * m4/uintmax_t.m4: New file.
77226         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
77227
77228
77229         -----
77230
77231         Local Variables:
77232         coding: utf-8
77233         End:
77234
77235         Copyright (C) 1997-2011 Free Software Foundation, Inc.
77236
77237         Copying and distribution of this file, with or without
77238         modification, are permitted provided the copyright notice
77239         and this notice are preserved.