41b018e7e92596899adcfdd8552c8a44bcc66f69
[gnulib.git] / ChangeLog
1 2009-04-26  Bruno Haible  <bruno@clisp.org>
2
3         Simplify calling convention of u*_conv_from_encoding.
4         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
5         u32_conv_from_encoding): Expect a resultbuf argument and return the
6         result directly as a pointer.
7         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
8         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
9         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
10         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
11         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
12         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
13         Update.
14         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
15         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
16         * lib/vasnprintf.c (VASNPRINTF): Update.
17         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
18         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
19         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
20         * NEWS: Mention the change.
21
22 2009-04-26  Bruno Haible  <bruno@clisp.org>
23
24         Simplify calling convention of u*_conv_to_encoding.
25         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
26         u32_conv_to_encoding): Expect a resultbuf argument and return the
27         result directly as a pointer.
28         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
29         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
30         freeing scaled_offsets if mem_iconveha failed.
31         * lib/unicase/u-casexfrm.h (FUNC): Update.
32         * lib/uninorm/u-normxfrm.h (FUNC): Update.
33         * lib/vasnprintf.c (VASNPRINTF): Update.
34         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
35         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
36         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
37         * NEWS: Mention the change.
38
39 2009-04-26  Bruno Haible  <bruno@clisp.org>
40
41         Avoid test failures on AIX and OSF/1.
42         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
43         malloc(0).
44         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
45         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
46         Likewise.
47         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
48         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
49         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
50         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
51         * doc/posix-functions/malloc.texi: Document the portability problem
52         related to malloc(0).
53
54 2009-04-26  Bruno Haible  <bruno@clisp.org>
55
56         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
57         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
58         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
59
60 2009-04-25  Bruno Haible  <bruno@clisp.org>
61
62         Avoid link error when creating a namespace clean library.
63         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
64         as macro with arguments if already defined as an alias.
65         * lib/signbitf.c (gl_signbitf): Don't undefine.
66         * lib/signbitd.c (gl_signbitd): Don't undefine.
67         * lib/signbitl.c (gl_signbitl): Don't undefine.
68
69 2009-04-25  Jim Meyering  <meyering@redhat.com>
70
71         vc-list-files: fix another quoting bug
72         * build-aux/vc-list-files: Avoid sed backslash expansion
73         of pathological directory names.
74
75 2009-04-25  Eric Blake  <ebb9@byu.net>
76
77         vc-list-files: fix shell quoting error
78         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
79         timestamp.
80
81 2009-04-25  Jim Meyering  <meyering@redhat.com>
82
83         vc-list-files: restore lost functionality with subdir argument
84         * build-aux/vc-list-files: When given a non-"." sub-directory
85         argument, substitute the $dir/ prefix back onto each resulting name.
86         Otherwise, coreutils' root_tests check would fail.
87
88 2009-04-24  Eric Blake  <ebb9@byu.net>
89
90         vc-list-files: ignore git symlinks
91         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
92         than ls-files, to ignore git symlinks.
93
94         maint.mk: import improvements from m4
95         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
96         (move_if_change): Delete unused macro.
97         (news-date-check, vc-diff-check): Support VPATH builds.
98         (announcement): Likewise.  Split --bootstrap-tools list...
99         (boostrap-tools): ...into separate list, which can be overridden
100         in cfg.mk.
101         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
102         requiring dependency on useless-if-before-free module.
103         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
104         Support VPATH builds.
105
106 2009-04-24  Jim Meyering  <meyering@redhat.com>
107
108         maint.mk: remove coreutils-specific rules and variables
109         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
110         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
111         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
112
113         maint.mk: remove obsolete rule
114         * top/maint.mk (rel-check): Remove rule.
115         (WGET, WGETFLAGS): Remove now-unused variables.
116
117 2009-04-24  Simon Josefsson  <simon@josefsson.org>
118
119         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
120         consistency.
121
122         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
123         '$(PATH_SEPARATOR)' instead of ':'.
124
125 2009-04-24  Simon Josefsson  <simon@josefsson.org>
126
127         * lib/getopt1.c (main): Use 'const' for static array.
128
129 2009-04-24  Simon Josefsson  <simon@josefsson.org>
130
131         * top/maint.mk: Sync with coreutils.
132         * NEWS: Explain incompatibilities.
133
134 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
135             Bruno Haible  <bruno@clisp.org>
136
137         Fix cross-compilation results.
138         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
139         statement, as third argument of AC_TRY_RUN.
140         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
141         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
142         Likewise.
143         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
144         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
145         Likewise.
146         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
147         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
148         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
149
150 2009-04-20  Bruno Haible  <bruno@clisp.org>
151
152         Avoid test failure on mingw.
153         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
154
155 2009-04-20  Bruno Haible  <bruno@clisp.org>
156
157         Avoid compilation error on mingw.
158         * modules/localename-tests (Depends-on): Add locale.
159
160 2009-04-19  Bruno Haible  <bruno@clisp.org>
161
162         Support for building a shared library on Windows platforms.
163         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
164         (main): Test the presence of UNINORM_NFC here.
165         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
166         (main): Test the presence of UNINORM_NFD here.
167         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
168         (main): Test the presence of UNINORM_NFKC here.
169         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
170         (main): Test the presence of UNINORM_NFKD here.
171
172 2009-04-19  Bruno Haible  <bruno@clisp.org>
173
174         Avoid a compiler warning.
175         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
176         Change type of variable 'sequence'.
177
178 2009-04-19  Bruno Haible  <bruno@clisp.org>
179
180         * modules/configmake (Makefile.am): When the contents of configmake.h
181         does not change, arrange to preserve its modification time.
182
183 2009-04-17  Simon Josefsson  <simon@josefsson.org>
184
185         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
186         gettext domain.
187
188 2009-04-16  Jim Meyering  <meyering@redhat.com>
189
190         useless-if-before-free: improve conversion code
191         * build-aux/useless-if-before-free: Adjust code-in-comment to match
192         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
193
194 2009-04-14  Bruno Haible  <bruno@clisp.org>
195
196         * modules/fcntl (Depends-on): Add extensions.
197         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
198
199 2009-04-12  Ben Pfaff  <blp@gnu.org>
200
201         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
202         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
203
204 2009-03-20  Ben Pfaff  <blp@gnu.org>
205
206         Make rename replace existing destinations on Windows.
207         * m4/rename.m4: Add test for Mingw.
208         * lib/rename.c: Add rename replacement that uses MoveFileEx with
209         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
210         * doc/posix-functions/rename.texi: Document.
211
212 2009-04-10  Bruno Haible  <bruno@clisp.org>
213
214         New include file "iconveh.h".
215         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
216         * lib/striconveh.h: Include it.
217         (enum iconv_ilseq_handler): Remove definition.
218         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
219         striconveh.h.
220         * lib/striconveha.c: Include striconveh.h.
221         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
222         * modules/striconveh (Files): Add lib/iconveh.h.
223         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
224         lib/striconveh.h.
225
226 2009-04-10  Bruno Haible  <bruno@clisp.org>
227
228         * lib/uniconv.h: Update comment.
229
230 2009-04-10  Bruno Haible  <bruno@clisp.org>
231
232         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
233         always.
234         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
235         * lib/unistr/u16-mbtouc-aux.c: Likewise.
236         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
237         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
238         "unistring-notinline.h", so that the function gets defined always.
239         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
240         * lib/unistr/u8-uctomb.c: Likewise.
241         * lib/unistr/u16-mbtouc.c: Likewise.
242         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
243         * lib/unistr/u16-uctomb.c: Likewise.
244         * lib/unistr/u32-mbtouc.c: Likewise.
245         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
246         * lib/unistr/u32-uctomb.c: Likewise.
247
248 2009-04-10  Bruno Haible  <bruno@clisp.org>
249
250         Mark 'utime' obsolete.
251         * modules/utime (Status, Notice): New sections.
252         Suggested by Jim Meyering.
253
254         Fix cross-compile guess for utime test.
255         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
256         autoconf.
257         * doc/posix-functions/utime.texi: Give more precisions.
258         Reported by Jan <ipif@ymail.com>.
259
260 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
261
262         filevercmp: correct today's change
263         * lib/filevercmp.c: Also handle coreutils' test inputs.
264         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
265
266         Fix regression in 'filevercmp' module. Thanks Sven Joachim
267         for reporting it.
268         * lib/filevercmp.c: Special handle for "", "." and "..".
269         * tests/test-filevercmp.c: Enlarge the set suite.
270
271 2009-04-07  Jim Meyering  <meyering@redhat.com>
272
273         useless-if-before-free: show how to remove braced useless free, too
274         * build-aux/useless-if-before-free: still only in a comment, though.
275
276 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
277
278         maint.mk: import changes to syntax-check macros from coreutils
279         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
280         Use them in the relevant macros.
281
282 2009-04-06  Bruno Haible  <bruno@clisp.org>
283
284         Fix unportable use of bit-fields.
285         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
286         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
287         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
288
289 2009-04-06  Bruno Haible  <bruno@clisp.org>
290
291         Avoid test failures on AIX and OSF/1.
292         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
293         that malloc(0) = NULL.
294         * tests/unicase/test-u8-tolower.c (check): Likewise.
295         * tests/unicase/test-u8-totitle.c (check): Likewise.
296         * tests/unicase/test-u8-toupper.c (check): Likewise.
297         * tests/unicase/test-u16-casefold.c (check): Likewise.
298         * tests/unicase/test-u16-tolower.c (check): Likewise.
299         * tests/unicase/test-u16-totitle.c (check): Likewise.
300         * tests/unicase/test-u16-toupper.c (check): Likewise.
301         * tests/unicase/test-u32-casefold.c (check): Likewise.
302         * tests/unicase/test-u32-tolower.c (check): Likewise.
303         * tests/unicase/test-u32-totitle.c (check): Likewise.
304         * tests/unicase/test-u32-toupper.c (check): Likewise.
305         * tests/uninorm/test-u8-nfc.c (check): Likewise.
306         * tests/uninorm/test-u8-nfd.c (check): Likewise.
307         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
308         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
309         * tests/uninorm/test-u16-nfc.c (check): Likewise.
310         * tests/uninorm/test-u16-nfd.c (check): Likewise.
311         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
312         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
313         * tests/uninorm/test-u32-nfc.c (check): Likewise.
314         * tests/uninorm/test-u32-nfd.c (check): Likewise.
315         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
316         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
317
318 2009-04-05  Bruno Haible  <bruno@clisp.org>
319
320         Work around an autoconf limitation.
321         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
322         comment line if it would be longer than 3 KB.
323
324 2009-04-05  Bruno Haible  <bruno@clisp.org>
325
326         Avoid test failure with libiconv-1.13.
327         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
328         of the expected test results.
329
330 2009-04-05  Bruno Haible  <bruno@clisp.org>
331
332         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
333         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
334         that it should be installed.
335
336 2009-04-05  Bruno Haible  <bruno@clisp.org>
337
338         * gnulib-tool: New option --copy-file.
339         (func_usage): Document it.
340         (func_dest_tmpfilename): Moved out of func_import.
341         (func_add_file, func_update_file): New functions, extracted from
342         func_import.
343         (func_import): Update.
344
345 2009-04-05  Karl Berry  <karl@gnu.org>
346
347         * README: prominently mention gnulib-tool.
348         Rearrange sections so getting the code is near the top.
349
350 2009-04-05  Bruno Haible  <bruno@clisp.org>
351
352         * lib/unicase.h: Mention u*_cmp2.
353         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
354         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
355         * lib/unicase/ulc-casecmp.c: Likewise.
356         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
357         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
358         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
359         unistr/u8-cmp.
360         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
361         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
362         unistr/u16-cmp.
363         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
364         unistr/u32-cmp.
365
366         * lib/uninorm.h: Mention u*_cmp2.
367         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
368         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
369         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
370         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
371         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
372         unistr/u8-cmp.
373         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
374         unistr/u16-cmp.
375         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
376         unistr/u32-cmp.
377
378         New module 'unistr/u32-cmp2'.
379         * lib/unistr/u32-cmp2.c: New file.
380         * modules/unistr/u32-cmp2: New file.
381
382         New module 'unistr/u16-cmp2'.
383         * lib/unistr/u16-cmp2.c: New file.
384         * modules/unistr/u16-cmp2: New file.
385
386         New module 'unistr/u8-cmp2'.
387         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
388         * lib/unistr/u8-cmp2.c: New file.
389         * lib/unistr/u-cmp2.h: New file.
390         * modules/unistr/u8-cmp2: New file.
391
392 2009-04-05  Bruno Haible  <bruno@clisp.org>
393
394         * lib/unictype.h (uc_property_is_valid): New macro.
395         * tests/unictype/test-pr_byname.c (main): Use it.
396
397         * lib/unistr.h: Doc fixes.
398         * lib/uniconv.h: Doc fixes.
399         * lib/unictype.h: Doc fixes.
400
401 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
402
403         Port coreutils 7.2 to Solaris 8.
404
405         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
406         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
407         for Solaris 8.  This is a bit of a hack, as it means it's the
408         caller's responsibility to add -lnsl if needed, but most likely it
409         won't be needed since only getaddrinfo uses this and getaddrinfo
410         isn't needed on Solaris 8.
411
412         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
413         problem to Solaris 8 encountered with coreutils 7.2, which
414         resulted in a message "fnmatch.c:292: warning: passing argument 4
415         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
416         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
417
418 2009-04-03  Simon Josefsson  <simon@josefsson.org>
419
420         * m4/ld-version-script.m4: Add FIXME comment.
421
422 2009-04-02  Simon Josefsson  <simon@josefsson.org>
423
424         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
425         SOVERSION variable.
426
427 2009-04-02  Bruno Haible  <bruno@clisp.org>
428
429         * Makefile (info, html, dvi, pdf): Combine the rules.
430         Suggested by Jim Meyering.
431
432 2009-04-01  Bruno Haible  <bruno@clisp.org>
433
434         * Makefile (info, html, dvi, pdf): New targets.
435         Reported by Reuben Thomas <rrt@sc3d.org>.
436
437 2009-04-01  Bruno Haible  <bruno@clisp.org>
438
439         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
440         can be put into PATH.
441         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
442
443 2009-04-01  Bruno Haible  <bruno@clisp.org>
444
445         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
446
447 2009-04-01  Bruno Haible  <bruno@clisp.org>
448
449         Rename module 'visibility'.
450         * modules/lib-symbol-visibility: Renamed from modules/visibility.
451         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
452         * doc/gnulib.texi: Update.
453         * MODULES.html.sh (Misc): Update.
454         * NEWS: Mention the change.
455
456 2009-04-01  Simon Josefsson  <simon@josefsson.org>
457
458         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
459         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
460         Eric Blake <ebb9@byu.net> for review.
461         * MODULES.html.sh: Add lib-msvc-compat.
462         * doc/gnulib.texi: Link to new section.
463         * m4/ld-output-def.m4: New file.
464         * doc/ld-output-def.texi: New file.
465
466 2009-04-01  Simon Josefsson  <simon@josefsson.org>
467
468         Rename ld-version-script to lib-symbol-versions.  Suggested by
469         Bruno Haible <bruno@clisp.org>.
470         * modules/ld-version-script: Renamed to lib-symbol-versions.
471         * doc/ld-version-script.texi: Fix module name.
472         * MODULES.html.sh: Add lib-symbol-versions.
473
474 2009-03-31  Simon Josefsson  <simon@josefsson.org>
475
476         * modules/u64-tests: New file.
477         * tests/test-u64.c: New file.
478
479 2009-03-04  Simon Josefsson  <simon@josefsson.org>
480
481         * MODULES.html.sh: Mention u64.
482         * modules/u64: New module.
483         * modules/crypto/sha512: Depend on u64 module instead of providing
484         u64.h.
485
486 2009-03-27  Eric Blake  <ebb9@byu.net>
487
488         test-strerror: make debugging EAI_SYSTEM easier
489         * modules/getaddrinfo-tests (Depends-on): Add strerror.
490         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
491         failure was EAI_SYSTEM.
492
493 2009-03-25  Bruno Haible  <bruno@clisp.org>
494
495         Fix a problem with --enable-relocatable on Solaris 7.
496         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
497         since 2008-02-24.
498
499 2009-03-25  Eric Blake  <ebb9@byu.net>
500
501         test-sockets: avoid gcc warning
502         * tests/test-sockets.c (main): Silence compiler warning.
503
504 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
505
506         New modules nproc, pthread, contributed by Glen Lenker.
507
508         * MODULES.html.sh: Add pthread, nproc.
509         * lib/nproc.c: New file.
510         * lib/nproc.h: New file.
511         * lib/pthread.in.h: New file.
512         * m4/pthread.m4: New file.
513         * modules/nproc: New file.
514         * modules/pthread: New file.
515
516 2009-03-24  Simon Josefsson  <simon@josefsson.org>
517
518         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
519         New variable.
520
521 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
522
523         filevercmp: handle simple~ and numbered.~3~ backup suffixes
524         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
525         * tests/test-filevercmp.c: Add tests for backup suffixes.
526
527 2009-03-24  Simon Josefsson  <simon@josefsson.org>
528
529         * modules/stdlib (Depends-on): Add stdint, needed when defining
530         struct random_data on, for example, HP-UX 10.20.  Reported by
531         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
532
533 2009-03-24  Simon Josefsson  <simon@josefsson.org>
534
535         * lib/readline.c (readline): Call fflush on stdout after printing
536         prompt.
537
538 2009-03-20  Bruno Haible  <bruno@clisp.org>
539
540         Remove dependency from 'close' module to -lws2_32 on native Windows.
541         * lib/close-hook.h: New file.
542         * lib/close-hook.c: New file.
543         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
544         w32sock.h.
545         (_gl_close_fd_maybe_socket): Remove function.
546         (rpl_close): Invoke execute_all_close_hooks instead of
547         _gl_close_fd_maybe_socket.
548         * lib/sockets.c: Include close-hook.h, w32sock.h.
549         (close_fd_maybe_socket): New function, essentially from lib/close.c.
550         (close_sockets_hook): New variable.
551         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
552         (gl_sockets_cleanup): Unregister it.
553         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
554         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
555         * modules/close-hook: New file.
556         * modules/close (Files): Remove lib/w32sock.h.
557         (Depends-on): Add close-hook.
558         (Link): Remove section.
559         * modules/sockets (Files): Add lib/w32sock.h.
560         (Depends-on): Add close-hook.
561         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
562         invocation.
563         * NEWS: Mention that LIB_CLOSE is gone.
564
565 2009-03-23  Eric Blake  <ebb9@byu.net>
566
567         signal-tests: test previous patch
568         * tests/test-signal.c: New file.
569         * modules/signal-tests: Likewise.
570
571         signal.h: always support 'volatile sig_atomic_t'
572         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
573         (gl_SIGNAL_H_DEFAULTS): Add a default.
574         * modules/signal (Makefile.am): Substitute if needed.
575         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
576         users can blindly add volatile.
577         * doc/posix-headers/signal.texi (signal.h): Document it.
578         Reported by Matthew Woehlke.
579
580 2009-03-23  Jim Meyering  <meyering@redhat.com>
581
582         pathmax: PATH_MAX: use pathconf only when available
583         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
584         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
585         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
586         This avoids a link failure in a PSP cross-compilation environment
587         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
588
589         * lib/vasnprintf.c (divide): Fix typo in comment.
590
591 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
592
593         * gnulib-tool (func_filter_filelist): Fix comment.
594
595 2009-03-20  Bruno Haible  <bruno@clisp.org>
596
597         Make sockets.h self-contained.
598         * lib/sockets.c: Include sockets.h first.
599         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
600
601 2009-03-19  Eric Blake  <ebb9@byu.net>
602
603         doc: mention more functions added in cygwin 1.7.0
604         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
605         addition.
606         * doc/posix-functions/log2f.texi: Likewise.
607
608 2009-03-19  Jim Meyering  <meyering@redhat.com>
609
610         fsusage: avoid syntax error due to statement-before-declaration
611         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
612         after all declarations.  Reported by Matthew Woehlke in
613         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
614
615 2009-03-18  Eric Blake  <ebb9@byu.net>
616
617         build-aux/compile: sync from automake
618         * build-aux/compile: New file, from automake.
619         * config/srclist.txt: Mention build-aux/compile.
620
621 2009-03-17  Bruno Haible  <bruno@clisp.org>
622
623         * lib/git-merge-changelog.c: Fix typo in comment.
624         Reported by Reuben Thomas <rrt@sc3d.org>.
625
626 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
627
628         * m4/regex.m4: update and improve help for
629         --without-included-regex.
630
631 2009-03-17  Simon Josefsson  <simon@josefsson.org>
632
633         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
634         failure on missing include files.
635
636 2009-03-17  Eric Blake  <ebb9@byu.net>
637
638         doc: mention more functions added in cygwin 1.7.0
639         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
640         addition.
641         * doc/posix-functions/fwscanf.texi: Likewise.
642         * doc/posix-functions/swprintf.texi: Likewise.
643         * doc/posix-functions/swscanf.texi: Likewise.
644         * doc/posix-functions/vfwprintf.texi: Likewise.
645         * doc/posix-functions/vfwscanf.texi: Likewise.
646         * doc/posix-functions/vswprintf.texi: Likewise.
647         * doc/posix-functions/vswscanf.texi: Likewise.
648         * doc/posix-functions/vwprintf.texi: Likewise.
649         * doc/posix-functions/vwscanf.texi: Likewise.
650         * doc/posix-functions/wcscasecmp.texi: Likewise.
651         * doc/posix-functions/wcsdup.texi: Likewise.
652         * doc/posix-functions/wcsftime.texi: Likewise.
653         * doc/posix-functions/wcsncasecmp.texi: Likewise.
654         * doc/posix-functions/wprintf.texi: Likewise.
655         * doc/posix-functions/wscanf.texi: Likewise.
656         * doc/glibc-functions/gethostbyname2.texi: Likewise.
657
658 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
659
660         maint.mk: really add $(AM_MAKEFLAGS)
661         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
662         was inadvertently omitted in the last commit.
663         Spotted by Bruno Haible.
664
665         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
666         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
667         $(AM_MAKEFLAGS)' rather than plain `make'.
668
669         gnulib-tool: execute $MAKE not make
670         * gnulib-tool: Default $MAKE to 'make'.
671         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
672         than make.  Initialize $MAKE in the do-autobuild script.
673
674         gnulib-tool: use $MAKE not make in generated files
675         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
676         make, in generated files.  Initialize $MAKE in the do-autobuild
677         script.
678
679         * top/GNUmakefile (_have-git-version-gen): Fix typo.
680
681         GNUmakefile: disable parallelism only for multiple, recursive targets
682         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
683         additions in the Makefile.
684         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
685         by Automake.
686         (.NOTPARALLEL): Only disable parallel builds if multiple targets
687         are listed on the command line and at least one of them is
688         listed in $(ALL_RECURSIVE_TARGETS).
689
690 2009-03-14  Bruno Haible  <bruno@clisp.org>
691
692         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
693         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
694         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
695         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
696         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
697         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
698         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
699         unistr/u8-uctomb.
700         * modules/unistr/u8-strchr (Depends-on): Likewise.
701         * modules/unistr/u8-strrchr (Depends-on): Likewise.
702         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
703         unistr/u16-uctomb.
704         * modules/unistr/u16-strchr (Depends-on): Likewise.
705         * modules/unistr/u16-strrchr (Depends-on): Likewise.
706
707 2009-03-12  Bruno Haible  <bruno@clisp.org>
708
709         Work around select() bug on Interix 3.5.
710         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
711         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
712         * m4/select.m4: New file.
713         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
714         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
715         * modules/select (Files): Add m4/select.m4.
716         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
717         * modules/nanosleep (Depends-on): Add select.
718         * modules/poll (Depends-on): Likewise.
719         * doc/posix-functions/select.texi: Mention the Interix bug.
720         Reported by Markus Duft <mduft@gentoo.org>.
721
722         * lib/select.c: Renamed from lib/winsock-select.c.
723         * modules/select (Files): Add lib/select.c, remove
724         lib/winsock-select.c.
725         (configure.ac): Update.
726
727 2009-03-12  Jim Meyering  <meyering@redhat.com>
728
729         avoid gcc warnings about unused macro definitions
730         * lib/readtokens.c (STREQ): Remove unused definition.
731         * lib/xmalloc.c (SIZE_MAX): Likewise.
732         * lib/openat-die.c (N_): Likewise.
733         * lib/mountlist.c (SIZE_MAX): Remove definition.
734         Instead, include <stdint.h>.
735         * lib/readutmp.c: Likewise.
736         * modules/readutmp (Depends-on): Add stdint.
737         * modules/mountlist (Depends-on): Add stdint.
738         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
739
740 2009-03-10  Bruno Haible  <bruno@clisp.org>
741
742         Tests for module 'mbmemcasecoll'.
743         * modules/mbmemcasecoll-tests: New file.
744         * tests/test-mbmemcasecoll1.sh: New file.
745         * tests/test-mbmemcasecoll2.sh: New file.
746         * tests/test-mbmemcasecoll3.sh: New file.
747         * tests/test-mbmemcasecoll.c: New file.
748
749         New module 'mbmemcasecoll'.
750         * lib/mbmemcasecoll.h: New file.
751         * lib/mbmemcasecoll.c: New file.
752         * modules/mbmemcasecoll: New file.
753
754         * tests/test-mbmemcasecmp.h: New file, extracted from
755         tests/test-mbmemcasecmp.c.
756         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
757         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
758         (main): Update.
759         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
760
761 2009-03-09  Bruno Haible  <bruno@clisp.org>
762
763         Tests for module 'mbmemcasecmp'.
764         * modules/mbmemcasecmp-tests: New file.
765         * tests/test-mbmemcasecmp1.sh: New file.
766         * tests/test-mbmemcasecmp2.sh: New file.
767         * tests/test-mbmemcasecmp3.sh: New file.
768         * tests/test-mbmemcasecmp.c: New file.
769
770         New module 'mbmemcasecmp'.
771         * lib/mbmemcasecmp.h: New file.
772         * lib/mbmemcasecmp.c: New file.
773         * modules/mbmemcasecmp: New file.
774
775 2009-03-09  Bruno Haible  <bruno@clisp.org>
776
777         Tests for module 'unicase/ulc-casecoll'.
778         * modules/unicase/ulc-casecoll-tests: New file.
779         * tests/unicase/test-ulc-casecoll1.sh: New file.
780         * tests/unicase/test-ulc-casecoll2.sh: New file.
781         * tests/unicase/test-ulc-casecoll.c: New file.
782
783         New module 'unicase/ulc-casecoll'.
784         * lib/unicase.h (ulc_casecoll): New declaration.
785         * lib/unicase/ulc-casecoll.c: New file.
786         * modules/unicase/ulc-casecoll: New file.
787
788         New module 'unicase/ulc-casexfrm'.
789         * lib/unicase.h (ulc_casexfrm): New declaration.
790         * lib/unicase/ulc-casexfrm.c: New file.
791         * modules/unicase/ulc-casexfrm: New file.
792
793 2009-03-09  Bruno Haible  <bruno@clisp.org>
794
795         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
796         invocations.
797
798         * m4/mbscasecmp.m4: Remove file.
799         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
800         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
801
802         * m4/mbscasestr.m4: Remove file.
803         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
804         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
805
806         * m4/mbschr.m4: Remove file.
807         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
808         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
809
810         * m4/mbscspn.m4: Remove file.
811         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
812         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
813
814         * m4/mbslen.m4: Remove file.
815         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
816         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
817
818         * m4/mbsncasecmp.m4: Remove file.
819         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
820         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
821
822         * m4/mbsnlen.m4: Remove file.
823         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
824         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
825
826         * m4/mbspbrk.m4: Remove file.
827         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
828         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
829
830         * m4/mbspcasecmp.m4: Remove file.
831         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
832         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
833
834         * m4/mbsrchr.m4: Remove file.
835         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
836         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
837
838         * m4/mbssep.m4: Remove file.
839         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
840         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
841
842         * m4/mbsspn.m4: Remove file.
843         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
844         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
845
846         * m4/mbsstr.m4: Remove file.
847         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
848         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
849
850         * m4/mbstok_r.m4: Remove file.
851         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
852         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
853
854         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
855
856         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
857         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
858
859         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
860
861 2009-03-08  Bruno Haible  <bruno@clisp.org>
862
863         Tests for module 'unicase/ulc-casecmp'.
864         * modules/unicase/ulc-casecmp-tests: New file.
865         * tests/unicase/test-ulc-casecmp1.sh: New file.
866         * tests/unicase/test-ulc-casecmp2.sh: New file.
867         * tests/unicase/test-ulc-casecmp.c: New file.
868
869         New module 'unicase/ulc-casecmp'.
870         * lib/unicase.h (ulc_casecmp): New declaration.
871         * lib/unicase/ulc-casecmp.c: New file.
872         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
873         'const SRC_UNIT *'.
874         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
875         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
876         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
877         * modules/unicase/ulc-casecmp: New file.
878
879         Tests for module 'unicase/u32-is-cased'.
880         * modules/unicase/u32-is-cased-tests: New file.
881         * tests/unicase/test-u32-is-cased.c: New file.
882
883         Tests for module 'unicase/u16-is-cased'.
884         * modules/unicase/u16-is-cased-tests: New file.
885         * tests/unicase/test-u16-is-cased.c: New file.
886
887         Tests for module 'unicase/u8-is-cased'.
888         * modules/unicase/u8-is-cased-tests: New file.
889         * tests/unicase/test-u8-is-cased.c: New file.
890         * tests/unicase/test-is-cased.h: New file.
891
892         New module 'unicase/u32-is-cased'.
893         * lib/unicase/u32-is-cased.c: New file.
894         * modules/unicase/u32-is-cased: New file.
895
896         New module 'unicase/u16-is-cased'.
897         * lib/unicase/u16-is-cased.c: New file.
898         * modules/unicase/u16-is-cased: New file.
899
900         New module 'unicase/u8-is-cased'.
901         * lib/unicase/u8-is-cased.c: New file.
902         * lib/unicase/u-is-cased.h: New file.
903         * modules/unicase/u8-is-cased: New file.
904
905         Tests for module 'unicase/u32-is-casefolded'.
906         * modules/unicase/u32-is-casefolded-tests: New file.
907         * tests/unicase/test-u32-is-casefolded.c: New file.
908
909         Tests for module 'unicase/u16-is-casefolded'.
910         * modules/unicase/u16-is-casefolded-tests: New file.
911         * tests/unicase/test-u16-is-casefolded.c: New file.
912
913         Tests for module 'unicase/u8-is-casefolded'.
914         * modules/unicase/u8-is-casefolded-tests: New file.
915         * tests/unicase/test-u8-is-casefolded.c: New file.
916         * tests/unicase/test-is-casefolded.h: New file.
917
918         New module 'unicase/u32-is-casefolded'.
919         * lib/unicase/u32-is-casefolded.c: New file.
920         * modules/unicase/u32-is-casefolded: New file.
921
922         New module 'unicase/u16-is-casefolded'.
923         * lib/unicase/u16-is-casefolded.c: New file.
924         * modules/unicase/u16-is-casefolded: New file.
925
926         New module 'unicase/u8-is-casefolded'.
927         * lib/unicase/u8-is-casefolded.c: New file.
928         * modules/unicase/u8-is-casefolded: New file.
929
930         Tests for module 'unicase/u32-is-titlecase'.
931         * modules/unicase/u32-is-titlecase-tests: New file.
932         * tests/unicase/test-u32-is-titlecase.c: New file.
933
934         Tests for module 'unicase/u16-is-titlecase'.
935         * modules/unicase/u16-is-titlecase-tests: New file.
936         * tests/unicase/test-u16-is-titlecase.c: New file.
937
938         Tests for module 'unicase/u8-is-titlecase'.
939         * modules/unicase/u8-is-titlecase-tests: New file.
940         * tests/unicase/test-u8-is-titlecase.c: New file.
941         * tests/unicase/test-is-titlecase.h: New file.
942
943         New module 'unicase/u32-is-titlecase'.
944         * lib/unicase/u32-is-titlecase.c: New file.
945         * modules/unicase/u32-is-titlecase: New file.
946
947         New module 'unicase/u16-is-titlecase'.
948         * lib/unicase/u16-is-titlecase.c: New file.
949         * modules/unicase/u16-is-titlecase: New file.
950
951         New module 'unicase/u8-is-titlecase'.
952         * lib/unicase/u8-is-titlecase.c: New file.
953         * modules/unicase/u8-is-titlecase: New file.
954
955         Tests for module 'unicase/u32-is-lowercase'.
956         * modules/unicase/u32-is-lowercase-tests: New file.
957         * tests/unicase/test-u32-is-lowercase.c: New file.
958
959         Tests for module 'unicase/u16-is-lowercase'.
960         * modules/unicase/u16-is-lowercase-tests: New file.
961         * tests/unicase/test-u16-is-lowercase.c: New file.
962
963         Tests for module 'unicase/u8-is-lowercase'.
964         * modules/unicase/u8-is-lowercase-tests: New file.
965         * tests/unicase/test-u8-is-lowercase.c: New file.
966         * tests/unicase/test-is-lowercase.h: New file.
967
968         New module 'unicase/u32-is-lowercase'.
969         * lib/unicase/u32-is-lowercase.c: New file.
970         * modules/unicase/u32-is-lowercase: New file.
971
972         New module 'unicase/u16-is-lowercase'.
973         * lib/unicase/u16-is-lowercase.c: New file.
974         * modules/unicase/u16-is-lowercase: New file.
975
976         New module 'unicase/u8-is-lowercase'.
977         * lib/unicase/u8-is-lowercase.c: New file.
978         * modules/unicase/u8-is-lowercase: New file.
979
980         Tests for module 'unicase/u32-is-uppercase'.
981         * modules/unicase/u32-is-uppercase-tests: New file.
982         * tests/unicase/test-u32-is-uppercase.c: New file.
983
984         Tests for module 'unicase/u16-is-uppercase'.
985         * modules/unicase/u16-is-uppercase-tests: New file.
986         * tests/unicase/test-u16-is-uppercase.c: New file.
987
988         Tests for module 'unicase/u8-is-uppercase'.
989         * modules/unicase/u8-is-uppercase-tests: New file.
990         * tests/unicase/test-u8-is-uppercase.c: New file.
991         * tests/unicase/test-is-uppercase.h: New file.
992
993         New module 'unicase/u32-is-uppercase'.
994         * lib/unicase/u32-is-uppercase.c: New file.
995         * modules/unicase/u32-is-uppercase: New file.
996
997         New module 'unicase/u16-is-uppercase'.
998         * lib/unicase/u16-is-uppercase.c: New file.
999         * modules/unicase/u16-is-uppercase: New file.
1000
1001         New module 'unicase/u8-is-uppercase'.
1002         * lib/unicase/u8-is-uppercase.c: New file.
1003         * modules/unicase/u8-is-uppercase: New file.
1004
1005         New module 'unicase/u32-is-invariant'.
1006         * lib/unicase/u32-is-invariant.c: New file.
1007         * modules/unicase/u32-is-invariant: New file.
1008
1009         New module 'unicase/u16-is-invariant'.
1010         * lib/unicase/u16-is-invariant.c: New file.
1011         * modules/unicase/u16-is-invariant: New file.
1012
1013         New module 'unicase/u8-is-invariant'.
1014         * lib/unicase/u8-is-invariant.c: New file.
1015         * lib/unicase/invariant.h: New file.
1016         * lib/unicase/u-is-invariant.h: New file.
1017         * modules/unicase/u8-is-invariant: New file.
1018
1019         Tests for module 'unicase/u32-casecoll'.
1020         * modules/unicase/u32-casecoll-tests: New file.
1021         * tests/unicase/test-u32-casecoll.c: New file.
1022
1023         Tests for module 'unicase/u16-casecoll'.
1024         * modules/unicase/u16-casecoll-tests: New file.
1025         * tests/unicase/test-u16-casecoll.c: New file.
1026
1027         Tests for module 'unicase/u8-casecoll'.
1028         * modules/unicase/u8-casecoll-tests: New file.
1029         * tests/unicase/test-u8-casecoll.c: New file.
1030
1031         New module 'unicase/u32-casecoll'.
1032         * lib/unicase/u32-casecoll.c: New file.
1033         * modules/unicase/u32-casecoll: New file.
1034
1035         New module 'unicase/u16-casecoll'.
1036         * lib/unicase/u16-casecoll.c: New file.
1037         * modules/unicase/u16-casecoll: New file.
1038
1039         New module 'unicase/u8-casecoll'.
1040         * lib/unicase/u8-casecoll.c: New file.
1041         * lib/unicase/u-casecoll.h: New file.
1042         * modules/unicase/u8-casecoll: New file.
1043
1044         New module 'unicase/u32-casexfrm'.
1045         * lib/unicase/u32-casexfrm.c: New file.
1046         * modules/unicase/u32-casexfrm: New file.
1047
1048         New module 'unicase/u16-casexfrm'.
1049         * lib/unicase/u16-casexfrm.c: New file.
1050         * modules/unicase/u16-casexfrm: New file.
1051
1052         New module 'unicase/u8-casexfrm'.
1053         * lib/unicase/u8-casexfrm.c: New file.
1054         * lib/unicase/u-casexfrm.h: New file.
1055         * modules/unicase/u8-casexfrm: New file.
1056
1057         Tests for module 'unicase/u32-casecmp'.
1058         * modules/unicase/u32-casecmp-tests: New file.
1059         * tests/unicase/test-u32-casecmp.c: New file.
1060
1061         Tests for module 'unicase/u16-casecmp'.
1062         * modules/unicase/u16-casecmp-tests: New file.
1063         * tests/unicase/test-u16-casecmp.c: New file.
1064
1065         Tests for module 'unicase/u8-casecmp'.
1066         * modules/unicase/u8-casecmp-tests: New file.
1067         * tests/unicase/test-u8-casecmp.c: New file.
1068         * tests/unicase/test-casecmp.h: New file.
1069
1070         New module 'unicase/u32-casecmp'.
1071         * lib/unicase/u32-casecmp.c: New file.
1072         * modules/unicase/u32-casecmp: New file.
1073
1074         New module 'unicase/u16-casecmp'.
1075         * lib/unicase/u16-casecmp.c: New file.
1076         * modules/unicase/u16-casecmp: New file.
1077
1078         New module 'unicase/u8-casecmp'.
1079         * lib/unicase/u8-casecmp.c: New file.
1080         * lib/unicase/u-casecmp.h: New file.
1081         * modules/unicase/u8-casecmp: New file.
1082
1083         Tests for module 'unicase/u32-casefold'.
1084         * modules/unicase/u32-casefold-tests: New file.
1085         * tests/unicase/test-u32-casefold.c: New file.
1086
1087         Tests for module 'unicase/u16-casefold'.
1088         * modules/unicase/u16-casefold-tests: New file.
1089         * tests/unicase/test-u16-casefold.c: New file.
1090
1091         Tests for module 'unicase/u8-casefold'.
1092         * modules/unicase/u8-casefold-tests: New file.
1093         * tests/unicase/test-u8-casefold.c: New file.
1094
1095         New module 'unicase/u32-casefold'.
1096         * lib/unicase/u32-casefold.c: New file.
1097         * modules/unicase/u32-casefold: New file.
1098
1099         New module 'unicase/u16-casefold'.
1100         * lib/unicase/u16-casefold.c: New file.
1101         * modules/unicase/u16-casefold: New file.
1102
1103         New module 'unicase/u8-casefold'.
1104         * lib/unicase/u8-casefold.c: New file.
1105         * lib/unicase/u-casefold.h: New file.
1106         * modules/unicase/u8-casefold: New file.
1107
1108         New module 'unicase/tocasefold'.
1109         * lib/unicase/casefold.h: New file.
1110         * lib/unicase/tocasefold.c: New file.
1111         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
1112         * modules/unicase/tocasefold: New file.
1113
1114         Tests for module 'unicase/u32-totitle'.
1115         * modules/unicase/u32-totitle-tests: New file.
1116         * tests/unicase/test-u32-totitle.c: New file.
1117
1118         Tests for module 'unicase/u16-totitle'.
1119         * modules/unicase/u16-totitle-tests: New file.
1120         * tests/unicase/test-u16-totitle.c: New file.
1121
1122         Tests for module 'unicase/u8-totitle'.
1123         * modules/unicase/u8-totitle-tests: New file.
1124         * tests/unicase/test-u8-totitle.c: New file.
1125
1126         New module 'unicase/u32-totitle'.
1127         * lib/unicase/u32-totitle.c: New file.
1128         * modules/unicase/u32-totitle: New file.
1129
1130         New module 'unicase/u16-totitle'.
1131         * lib/unicase/u16-totitle.c: New file.
1132         * modules/unicase/u16-totitle: New file.
1133
1134         New module 'unicase/u8-totitle'.
1135         * lib/unicase/u8-totitle.c: New file.
1136         * lib/unicase/u-totitle.h: New file.
1137         * modules/unicase/u8-totitle: New file.
1138
1139         Tests for module 'unicase/u32-tolower'.
1140         * modules/unicase/u32-tolower-tests: New file.
1141         * tests/unicase/test-u32-tolower.c: New file.
1142
1143         Tests for module 'unicase/u16-tolower'.
1144         * modules/unicase/u16-tolower-tests: New file.
1145         * tests/unicase/test-u16-tolower.c: New file.
1146
1147         Tests for module 'unicase/u8-tolower'.
1148         * modules/unicase/u8-tolower-tests: New file.
1149         * tests/unicase/test-u8-tolower.c: New file.
1150
1151         New module 'unicase/u32-tolower'.
1152         * lib/unicase/u32-tolower.c: New file.
1153         * modules/unicase/u32-tolower: New file.
1154
1155         New module 'unicase/u16-tolower'.
1156         * lib/unicase/u16-tolower.c: New file.
1157         * modules/unicase/u16-tolower: New file.
1158
1159         New module 'unicase/u8-tolower'.
1160         * lib/unicase/u8-tolower.c: New file.
1161         * modules/unicase/u8-tolower: New file.
1162
1163         Tests for module 'unicase/u32-toupper'.
1164         * modules/unicase/u32-toupper-tests: New file.
1165         * tests/unicase/test-u32-toupper.c: New file.
1166
1167         Tests for module 'unicase/u16-toupper'.
1168         * modules/unicase/u16-toupper-tests: New file.
1169         * tests/unicase/test-u16-toupper.c: New file.
1170
1171         Tests for module 'unicase/u8-toupper'.
1172         * modules/unicase/u8-toupper-tests: New file.
1173         * tests/unicase/test-u8-toupper.c: New file.
1174
1175         New module 'unicase/u32-toupper'.
1176         * lib/unicase/u32-toupper.c: New file.
1177         * modules/unicase/u32-toupper: New file.
1178
1179         New module 'unicase/u16-toupper'.
1180         * lib/unicase/u16-toupper.c: New file.
1181         * modules/unicase/u16-toupper: New file.
1182
1183         New module 'unicase/u8-toupper'.
1184         * lib/unicase/u8-toupper.c: New file.
1185         * modules/unicase/u8-toupper: New file.
1186
1187         New module 'unicase/u32-casemap'.
1188         * lib/unicase/u32-casemap.c: New file.
1189         * modules/unicase/u32-casemap: New file.
1190
1191         New module 'unicase/u16-casemap'.
1192         * lib/unicase/u16-casemap.c: New file.
1193         * modules/unicase/u16-casemap: New file.
1194
1195         New module 'unicase/u8-casemap'.
1196         * lib/unicase/unicasemap.h: New file.
1197         * lib/unicase/u8-casemap.c: New file.
1198         * lib/unicase/u-casemap.h: New file.
1199         * modules/unicase/u8-casemap: New file.
1200
1201         New module 'unicase/special-casing'.
1202         * lib/unicase/special-casing.h: New file.
1203         * lib/unicase/special-casing.c: New file.
1204         * lib/unicase/special-casing-table.gperf: New file, generated by
1205         gen-uni-tables.c.
1206         * modules/unicase/special-casing: New file.
1207
1208         Tests for module 'unicase/locale-language'.
1209         * modules/unicase/locale-language-tests: New file.
1210         * tests/unicase/test-locale-language.sh: New file.
1211         * tests/unicase/test-locale-language.c: New file.
1212
1213         New module 'unicase/locale-language'.
1214         * lib/unicase/locale-language.c: New file.
1215         * lib/unicase/locale-languages.gperf: New file.
1216         * modules/unicase/locale-language: New file.
1217
1218         Generate more tables for case conversion and case folding.
1219         * lib/gen-uni-tables.c (SCC_*): New enum items.
1220         (struct special_casing_rule): New type.
1221         (casing_rules, num_casing_rules, allocated_casing_rules): New
1222         variables.
1223         (add_casing_rule, fill_casing_rules): New functions.
1224         (struct casefold_rule): New type.
1225         (casefolding_rules, num_casefolding_rules,
1226         allocated_casefolding_rules): New variables.
1227         (fill_casefolding_rules): New function.
1228         (unicode_casefold): New variable.
1229         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
1230         sort_casing_rules, output_casing_rules): New functions.
1231         (main): Accept to more arguments: SpecialCasing.txt and
1232         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
1233         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
1234         Output mapping for casefolding.
1235
1236         * lib/unicase.h: Include stdbool.h, uninorm.h.
1237         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
1238         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
1239         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
1240         arguments.
1241         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
1242         resultp arguments.
1243         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
1244         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
1245         resultp arguments.
1246         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
1247         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
1248         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
1249         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
1250         declarations.
1251         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
1252
1253 2009-03-08  Bruno Haible  <bruno@clisp.org>
1254
1255         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
1256         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
1257         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
1258         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
1259
1260 2009-03-07  Bruno Haible  <bruno@clisp.org>
1261
1262         Adjust u*_normcmp, u*_normcoll API.
1263         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
1264         u16_normcoll, u32_normcoll): Change failure conventions.
1265         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
1266         errno and return -1.
1267         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
1268
1269 2009-03-07  Bruno Haible  <bruno@clisp.org>
1270
1271         Tests for module 'uninorm/u32-normcoll'.
1272         * modules/uninorm/u32-normcoll-tests: New file.
1273         * tests/uninorm/test-u32-normcoll.c: New file.
1274
1275         Tests for module 'uninorm/u16-normcoll'.
1276         * modules/uninorm/u16-normcoll-tests: New file.
1277         * tests/uninorm/test-u16-normcoll.c: New file.
1278
1279         Tests for module 'uninorm/u8-normcoll'.
1280         * modules/uninorm/u8-normcoll-tests: New file.
1281         * tests/uninorm/test-u8-normcoll.c: New file.
1282
1283 2009-03-07  Bruno Haible  <bruno@clisp.org>
1284
1285         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
1286         tests/uninorm/test-u32-normcmp.c.
1287         * tests/uninorm/test-u32-normcmp.c: Include it.
1288         (test_nonascii): New function, extracted from main. Add some more
1289         tests.
1290         (main): Invoke test_ascii and test_nonascii.
1291         * modules/uninorm/u32-normcmp-tests (Files): Add
1292         tests/uninorm/test-u32-normcmp.h.
1293         (Depends-on): Remove uninorm/u32-normcmp.
1294
1295         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
1296         tests/uninorm/test-u16-normcmp.c.
1297         * tests/uninorm/test-u16-normcmp.c: Include it.
1298         (test_nonascii): New function, extracted from main. Add some more
1299         tests.
1300         (main): Invoke test_ascii and test_nonascii.
1301         * modules/uninorm/u16-normcmp-tests (Files): Add
1302         tests/uninorm/test-u16-normcmp.h.
1303         (Depends-on): Remove uninorm/u16-normcmp.
1304
1305         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
1306         tests/uninorm/test-u8-normcmp.c.
1307         * tests/uninorm/test-u8-normcmp.c: Include it.
1308         (test_nonascii): New function, extracted from main. Add some more
1309         tests.
1310         (main): Invoke test_ascii and test_nonascii.
1311         * modules/uninorm/u8-normcmp-tests (Files): Add
1312         tests/uninorm/test-u8-normcmp.h.
1313         (Depends-on): Remove uninorm/u8-normcmp.
1314
1315 2009-03-07  Bruno Haible  <bruno@clisp.org>
1316
1317         New module 'uninorm/u32-normcoll'.
1318         * lib/uninorm/u32-normcoll.c: New file.
1319         * modules/uninorm/u32-normcoll: New file.
1320
1321         New module 'uninorm/u16-normcoll'.
1322         * lib/uninorm/u16-normcoll.c: New file.
1323         * modules/uninorm/u16-normcoll: New file.
1324
1325         New module 'uninorm/u8-normcoll'.
1326         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
1327         declarations.
1328         * lib/uninorm/u8-normcoll.c: New file.
1329         * lib/uninorm/u-normcoll.h: New file.
1330         * modules/uninorm/u8-normcoll: New file.
1331
1332         New module 'uninorm/u32-normxfrm'.
1333         * lib/uninorm/u32-normxfrm.c: New file.
1334         * modules/uninorm/u32-normxfrm: New file.
1335
1336         New module 'uninorm/u16-normxfrm'.
1337         * lib/uninorm/u16-normxfrm.c: New file.
1338         * modules/uninorm/u16-normxfrm: New file.
1339
1340         New module 'uninorm/u8-normxfrm'.
1341         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
1342         declarations.
1343         * lib/uninorm/u8-normxfrm.c: New file.
1344         * lib/uninorm/u-normxfrm.h: New file.
1345         * modules/uninorm/u8-normxfrm: New file.
1346
1347 2009-03-07  Bruno Haible  <bruno@clisp.org>
1348
1349         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
1350         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
1351         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
1352
1353 2009-03-07  Bruno Haible  <bruno@clisp.org>
1354
1355         New module 'memxfrm'.
1356         * lib/memxfrm.h: New file.
1357         * lib/memxfrm.c: New file.
1358         * modules/memxfrm: New file.
1359
1360 2009-03-07  Bruno Haible  <bruno@clisp.org>
1361
1362         New module 'memcmp2'.
1363         * lib/memcmp2.h: New file.
1364         * lib/memcmp2.c: New file.
1365         * modules/memcmp2: New file.
1366
1367 2009-03-07  Bruno Haible  <bruno@clisp.org>
1368
1369         Tests for module 'uninorm/decomposing-form'.
1370         * modules/uninorm/decomposing-form-tests: New file.
1371         * tests/uninorm/test-decomposing-form.c: New file.
1372
1373         New module 'uninorm/decomposing-form'.
1374         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
1375         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
1376         Add 'decomposing_variant' field.
1377         * lib/uninorm/decomposing-form.c: New file.
1378         * lib/uninorm/nfc.c (uninorm_nfc): Update.
1379         * lib/uninorm/nfd.c (uninorm_nfd): Update.
1380         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
1381         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
1382         * modules/uninorm/decomposing-form: New file.
1383         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
1384         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
1385
1386 2009-03-07  Bruno Haible  <bruno@clisp.org>
1387
1388         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
1389         strings.
1390
1391 2009-03-06  Bruno Haible  <bruno@clisp.org>
1392
1393         Tests for module 'uninorm/u32-normcmp'.
1394         * tests/uninorm/test-u32-normcmp.c: New file.
1395         * modules/uninorm/u32-normcmp-tests: New file.
1396
1397         Tests for module 'uninorm/u16-normcmp'.
1398         * tests/uninorm/test-u16-normcmp.c: New file.
1399         * modules/uninorm/u16-normcmp-tests: New file.
1400
1401         Tests for module 'uninorm/u8-normcmp'.
1402         * tests/uninorm/test-u8-normcmp.c: New file.
1403         * modules/uninorm/u8-normcmp-tests: New file.
1404
1405         New module 'uninorm/u32-normcmp'.
1406         * lib/uninorm/u32-normcmp.c: New file.
1407         * modules/uninorm/u32-normcmp: New file.
1408
1409         New module 'uninorm/u16-normcmp'.
1410         * lib/uninorm/u16-normcmp.c: New file.
1411         * modules/uninorm/u16-normcmp: New file.
1412
1413         New module 'uninorm/u8-normcmp'.
1414         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
1415         declarations.
1416         * lib/uninorm/u8-normcmp.c: New file.
1417         * lib/uninorm/u-normcmp.h: New file.
1418         * modules/uninorm/u8-normcmp: New file.
1419
1420 2009-03-06  Bruno Haible  <bruno@clisp.org>
1421
1422         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
1423         Reported by Eric Blake.
1424
1425 2009-03-06  Eric Blake  <ebb9@byu.net>
1426             Bruno Haible  <bruno@clisp.org>
1427
1428         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
1429         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
1430         condition.
1431         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
1432         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
1433         condition.
1434         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
1435
1436 2009-03-06  Eric Blake  <ebb9@byu.net>
1437
1438         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
1439         to avoid compiler warnings.
1440         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
1441
1442 2009-03-05  Bruno Haible  <bruno@clisp.org>
1443
1444         * tests/test-ftell.c (main): Disable test beyond end of file on
1445         FreeMiNT.
1446         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
1447
1448 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
1449
1450         * lib/filevercmp.c: Move hidden files up in ordering.
1451         * tests/test-filevercmp.c: Add tests for hidden files.
1452
1453 2009-03-04  Bruno Haible  <bruno@clisp.org>
1454
1455         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
1456         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
1457         AM_CFLAGS.
1458         Reported by Simon Josefsson.
1459
1460 2009-03-03  Bruno Haible  <bruno@clisp.org>
1461
1462         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
1463         Reported by Simon Josefsson.
1464
1465         * doc/ld-version-script.texi: Update node reference.
1466
1467 2009-03-03  Bruno Haible  <bruno@clisp.org>
1468
1469         * modules/visibility (License): Change to 'unlimited'.
1470         Suggested by Simon Josefsson.
1471
1472 2009-03-03  Jim Meyering  <meyering@redhat.com>
1473
1474         unlinkdir: cannot_unlink_dir may modify process state
1475         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
1476         it's neither thread-safe nor appropriate for use in a library.
1477
1478 2009-03-03  Eric Blake  <ebb9@byu.net>
1479
1480         test-closein: silence test under Darwin
1481         * tests/test-closein.sh: Ignore stderr from cat, since we don't
1482         care if it dies from EPIPE or EBADF.
1483
1484 2009-03-03  Bruno Haible  <bruno@clisp.org>
1485
1486         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
1487         earlier.
1488         * doc/visibility.texi: Fix @node and @section.
1489
1490 2009-03-03  Simon Josefsson  <simon@josefsson.org>
1491
1492         * doc/gnulib.texi: Link to sections for ld version script and
1493         visibility.
1494         * doc/visibility.texi: Add @node and @section.
1495         * modules/ld-version-script: New module.
1496         * m4/ld-version-script.m4: New file.
1497         * doc/ld-version-script.texi: New file.
1498
1499 2009-03-02  David Lutterkort  <lutter@redhat.com>
1500
1501         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
1502         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1503
1504 2009-03-02  Bruno Haible  <bruno@clisp.org>
1505
1506         * doc/visibility.texi: Mention libtool's -export-symbols option.
1507
1508 2009-03-02  Jim Meyering  <meyering@redhat.com>
1509
1510         announce-gen: new option: --no-print-checksums
1511         * build-aux/announce-gen (usage): Describe it.
1512         (print_checksums): Print a newline here, not in the [*] footnote.
1513         (main): Honor it.
1514
1515 2009-03-01  Bruno Haible  <bruno@clisp.org>
1516
1517         Use socklen_t in the native Windows replacements prototypes.
1518         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
1519         instead of 'int'.
1520         * lib/getsockopt.c (rpl_getsockopt): Likewise.
1521         * lib/setsockopt.c (rpl_setsockopt): Likewise.
1522         * modules/getsockopt (Depends-on): Add socklen.
1523         * modules/setsockopt (Depends-on): Add socklen.
1524
1525 2009-03-01  Bruno Haible  <bruno@clisp.org>
1526
1527         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
1528         least 4.2.
1529
1530 2009-03-01  Eric Blake  <ebb9@byu.net>
1531             Bruno Haible  <bruno@clisp.org>
1532
1533         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
1534         error messages.
1535         * lib/wait-process.c (wait_subprocess): Omit error message about
1536         deadly signal sent to the child of termsigp != NULL.
1537
1538 2009-03-01  Eric Blake  <ebb9@byu.net>
1539
1540         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
1541
1542 2009-03-01  Bruno Haible  <bruno@clisp.org>
1543
1544         Avoid a gcc warning.
1545         * tests/test-sched.c (b): Make global.
1546         Reported by Eric Blake.
1547
1548 2009-01-19  Martin Lambers  <marlam@marlam.de>
1549
1550         Provide POSIX semantics for socket timeout options on W32.
1551         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
1552         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
1553         * modules/setsockopt: Depend on sys_time module for struct timeval.
1554         * modules/getsockopt: Depend on sys_time module for struct timeval.
1555
1556 2009-03-01  Simon Josefsson  <simon@josefsson.org>
1557
1558         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
1559         __USE_GNU, for consistency with netdb.in.h.
1560         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
1561
1562 2009-03-01  Bruno Haible  <bruno@clisp.org>
1563
1564         More support for FreeMiNT.
1565         * lib/fseeko.c (rpl_fseeko): Complete last commit.
1566         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
1567
1568 2009-03-01  Bruno Haible  <bruno@clisp.org>
1569
1570         More support for FreeMiNT.
1571         * lib/fpurge.c (fpurge): Correct last commit.
1572         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
1573
1574 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1575
1576         Fix unportable awk script in vc-list-files.
1577         * build-aux/vc-list-files: In the replacement awk script, use
1578         substr with a second argument of 1, not zero.
1579         Report by Simon Josefsson.
1580
1581 2009-02-28  Bruno Haible  <bruno@clisp.org>
1582
1583         More support for FreeMiNT.
1584         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
1585         to FreeMiNT today.
1586         * lib/fwriting.c (fwriting): Likewise.
1587         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
1588
1589 2009-02-28  Bruno Haible  <bruno@clisp.org>
1590
1591         * tests/test-freadseek.c (main): Disable test beyond end of file on
1592         FreeMiNT.
1593         * tests/test-ftello.c (main): Likewise.
1594         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
1595
1596 2009-02-28  Bruno Haible  <bruno@clisp.org>
1597
1598         Add tentative support for FreeMiNT.
1599         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
1600         * lib/fpurge.c (fpurge): Likewise.
1601         * lib/freadable.c (freadable): Likewise.
1602         * lib/freading.c (freading): Likewise.
1603         * lib/freadptr.c (freadptr): Likewise.
1604         * lib/freadseek.c (freadptrinc): Likewise.
1605         * lib/fseeko.c (rpl_fseeko): Likewise.
1606         * lib/fseterr.c (fseterr): Likewise.
1607         * lib/fwritable.c (fwritable): Likewise.
1608         * lib/fwriting.c (fwriting): Likewise.
1609         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
1610         Hourihane.
1611         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
1612
1613 2009-02-28  Bruno Haible  <bruno@clisp.org>
1614
1615         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
1616         SIGCHLD.
1617         Reported by Jim Meyering.
1618
1619 2009-02-28  Bruno Haible  <bruno@clisp.org>
1620
1621         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
1622         Mention the results of these tests on various platforms.
1623         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
1624         order.
1625         * doc/posix-functions/printf.texi: Likewise.
1626         * doc/posix-functions/snprintf.texi: Likewise.
1627         * doc/posix-functions/sprintf.texi: Likewise.
1628         * doc/posix-functions/vfprintf.texi: Likewise.
1629         * doc/posix-functions/vprintf.texi: Likewise.
1630         * doc/posix-functions/vsnprintf.texi: Likewise.
1631         * doc/posix-functions/vsprintf.texi: Likewise.
1632         * doc/glibc-functions/obstack_printf.texi: Likewise.
1633         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
1634
1635 2009-02-28  Bruno Haible  <bruno@clisp.org>
1636
1637         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
1638         Reported by Loïc Minier <lool@dooz.org>.
1639
1640 2009-02-27  Bruno Haible  <bruno@clisp.org>
1641
1642         * gnulib-tool (func_import): Make the sed expression used to create the
1643         sed script for updating the .gitignore file POSIX compliant.
1644         Reported by Eric Blake.
1645
1646 2009-02-27  Bruno Haible  <bruno@clisp.org>
1647
1648         * gnulib-tool (sed): Don't alias as "sed --posix".
1649         Reported by Eric Blake.
1650
1651 2009-02-27  Bruno Haible  <bruno@clisp.org>
1652
1653         Avoid test link errors.
1654         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
1655         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
1656         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
1657         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
1658         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1659
1660 2009-02-27  Bruno Haible  <bruno@clisp.org>
1661
1662         Avoid spurious "(cached)" in configure output.
1663         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
1664         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
1665         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
1666         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
1667         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
1668         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
1669         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
1670         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
1671         Reported by Eric Blake.
1672
1673 2009-02-27  Eric Blake  <ebb9@byu.net>
1674
1675         printf: fix regression in previous patch
1676         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
1677
1678 2009-02-27  Bruno Haible  <bruno@clisp.org>
1679
1680         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
1681         value.
1682         * lib/stdint.in.h: Likewise.
1683         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
1684
1685 2009-02-27  Eric Blake  <ebb9@byu.net>
1686
1687         doc: mention more functions added in cygwin 1.7.0
1688         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
1689         addition.
1690         * doc/posix-functions/open_wmemstream.texi: Likewise.
1691         * doc/posix-functions/wcsnlen.texi: Likewise.
1692         * doc/posix-functions/wcsnrtombs.texi: Likewise.
1693         * doc/posix-functions/wcstod.texi: Likewise.
1694         * doc/posix-functions/wcstof.texi: Likewise.
1695         * doc/posix-functions/wcstoimax.texi: Likewise.
1696         * doc/posix-functions/wcstok.texi: Likewise.
1697         * doc/posix-functions/wcstoumax.texi: Likewise.
1698
1699         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
1700         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
1701         * doc/posix-functions/fprintf.texi: Update.
1702         * doc/posix-functions/printf.texi: Update.
1703         * doc/posix-functions/snprintf.texi: Update.
1704         * doc/posix-functions/sprintf.texi: Update.
1705         * doc/posix-functions/vfprintf.texi: Update.
1706         * doc/posix-functions/vprintf.texi: Update.
1707         * doc/posix-functions/vsnprintf.texi: Update.
1708         * doc/posix-functions/vsprintf.texi: Update.
1709         * doc/glibc-functions/obstack_printf.texi: Update.
1710         * doc/glibc-functions/obstack_vprintf.texi: Update.
1711
1712 2009-02-26  Eric Blake  <ebb9@byu.net>
1713
1714         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
1715         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
1716         compilation bug by using runtime conversion.
1717         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
1718         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
1719         * modules/ceill-tests (Files): Use nan.h.
1720         * modules/floorl-tests (Files): Likewise.
1721         * modules/frexpl-tests (Files): Likewise.
1722         * modules/isnanl-tests (Files): Likewise.
1723         * modules/ldexpl-tests (Files): Likewise.
1724         * modules/roundl-tests (Files): Likewise.
1725         * modules/truncl-tests (Files): Likewise.
1726         * tests/test-ceill.c (main): Use a working NaN.
1727         * tests/test-floorl.c (main): Likewise.
1728         * tests/test-frexpl.c (main): Likewise.
1729         * tests/test-isnan.c (test_long_double): Likewise.
1730         * tests/test-isnanl.h (main): Likewise.
1731         * tests/test-ldexpl.h (main): Likewise.
1732         * tests/test-roundl.h (main): Likewise.
1733         * tests/test-truncl.h (main): Likewise.
1734         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
1735
1736 2009-02-26  Eric Blake  <ebb9@byu.net>
1737             Bruno Haible  <bruno@clisp.org>
1738
1739         Work around a *printf bug with %ls on Solaris.
1740         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
1741         precision is specified, sprintf stops converting the wide string
1742         argument when the number of bytes that have been produced by this
1743         conversion equals or exceeds the precision.
1744         * doc/posix-functions/fprintf.texi: Update.
1745         * doc/posix-functions/printf.texi: Update.
1746         * doc/posix-functions/snprintf.texi: Update.
1747         * doc/posix-functions/sprintf.texi: Update.
1748         * doc/posix-functions/vfprintf.texi: Update.
1749         * doc/posix-functions/vprintf.texi: Update.
1750         * doc/posix-functions/vsnprintf.texi: Update.
1751         * doc/posix-functions/vsprintf.texi: Update.
1752         * doc/glibc-functions/obstack_printf.texi: Update.
1753         * doc/glibc-functions/obstack_vprintf.texi: Update.
1754
1755 2009-02-26  Eric Blake  <ebb9@byu.net>
1756
1757         stdlib: favor compiler check of random.h
1758         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
1759         to avoid an ObjC random.h installed by Swarm.
1760
1761 2009-02-26  Bruno Haible  <bruno@clisp.org>
1762
1763         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
1764         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
1765         Reported by Gary V. Vaughan <gary@gnu.org>.
1766
1767 2009-02-26  Bruno Haible  <bruno@clisp.org>
1768
1769         Fix *printf behaviour regarding the %ls directive.
1770         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
1771         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
1772         NEED_PRINTF_DIRECTIVE_LS.
1773         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
1774         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
1775         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
1776         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
1777         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
1778         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
1779         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
1780         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
1781         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
1782         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
1783         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
1784         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
1785         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
1786         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1787         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
1788         * doc/posix-functions/fprintf.texi: Update.
1789         * doc/posix-functions/printf.texi: Update.
1790         * doc/posix-functions/snprintf.texi: Update.
1791         * doc/posix-functions/sprintf.texi: Update.
1792         * doc/posix-functions/vfprintf.texi: Update.
1793         * doc/posix-functions/vprintf.texi: Update.
1794         * doc/posix-functions/vsnprintf.texi: Update.
1795         * doc/posix-functions/vsprintf.texi: Update.
1796         * doc/glibc-functions/obstack_printf.texi: Update.
1797         * doc/glibc-functions/obstack_vprintf.texi: Update.
1798         Reported by Eric Blake.
1799
1800 2009-02-25  Bruno Haible  <bruno@clisp.org>
1801
1802         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
1803         with known value.
1804         Reported by Gary V. Vaughan <gary@gnu.org>.
1805
1806 2009-02-25  Bruno Haible  <bruno@clisp.org>
1807
1808         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
1809         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
1810         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
1811         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
1812         Reported by Gary V. Vaughan <gary@gnu.org>.
1813
1814 2009-02-25  Bruno Haible  <bruno@clisp.org>
1815
1816         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
1817         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
1818         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
1819         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
1820         Reported by Gary V. Vaughan <gary@gnu.org>.
1821
1822 2009-02-25  Eric Blake  <ebb9@byu.net>
1823
1824         tests: skip fseek/ftell tests if ungetc is broken
1825         * m4/ungetc.m4: New file.
1826         * modules/fseek-tests: Split test, so ungetc dependency is
1827         separate from rest of test.
1828         * modules/fseeko-tests: Likewise.
1829         * modules/ftell-tests: Likewise.
1830         * modules/ftello-tests: Likewise.
1831         * tests/test-fseek.c (main): Isolate ungetc dependency.
1832         * tests/test-fseeko.c (main): Likewise.
1833         * tests/test-ftell.c (main): Likewise.
1834         * tests/test-ftello.c (main): Likewise.
1835         * tests/test-fseek2.sh: New file.
1836         * tests/test-fseeko2.sh: Likewise.
1837         * tests/test-ftell2.sh: Likewise.
1838         * tests/test-ftello2.sh: Likewise.
1839
1840 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
1841
1842         test-getaddrinfo: fix usage of skip return code 77
1843         * tests/test-gettaddrinfo.c: Return skip code 77 only
1844         for first occurance of skip (4x77 is not 77)
1845
1846 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
1847
1848         strtod: avoid C99 decl-after-statement
1849         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
1850
1851 2009-02-24  Eric Blake  <ebb9@byu.net>
1852
1853         strtod: detect HP-UX 11.31 bug
1854         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
1855         Reported by Gary V. Vaughan.
1856
1857 2009-02-23  Bruno Haible  <bruno@clisp.org>
1858
1859         Fix invalid read past end of memory block.
1860         * lib/vasnprintf.c (DCHAR_SET): Define.
1861         (local_wcslen): Define only when needed.
1862         (local_strnlen, local_wcsnlen): New functions.
1863         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
1864         directives that involve a conversion ourselves.
1865         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
1866         wcsnlen, mbrtowc, wcrtomb.
1867         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
1868         * tests/test-vasprintf-posix.c (test_function): Likewise.
1869         * tests/test-snprintf-posix.h (test_function): Likewise.
1870         * tests/test-sprintf-posix.h (test_function): Likewise.
1871         Reported by Ben Pfaff <blp@cs.stanford.edu>.
1872
1873 2009-02-22  Bruno Haible  <bruno@clisp.org>
1874
1875         Implement new clarified decomposition of Hangul syllables.
1876         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
1877         of type LTV, return only a pairwise decomposition.
1878         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
1879         Likewise.
1880         * tests/uninorm/test-decomposition.c (main): Updated expected result.
1881         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
1882         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
1883
1884 2009-02-22  Bruno Haible  <bruno@clisp.org>
1885
1886         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
1887         zero-length results and shrink excess allocated memory.
1888         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
1889         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
1890         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
1891         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
1892         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
1893         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
1894         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
1895         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
1896         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
1897         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
1898         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
1899         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
1900
1901 2009-02-21  Bruno Haible  <bruno@clisp.org>
1902
1903         * doc/gnulib.texi: Include safe-alloc.texi earlier.
1904         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
1905         spaces after a period. Put a space between a macro name and its
1906         argument list. Trivial rewordings.
1907         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
1908         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
1909         (main): Return 0 explicitly.
1910
1911 2009-02-21  Bruno Haible  <bruno@clisp.org>
1912
1913         Tests for module 'uninorm/filter'.
1914         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
1915         * modules/uninorm/filter-tests: New file.
1916
1917         New module 'uninorm/filter'.
1918         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
1919         uninorm_filter_flush, uninorm_filter_free): New declarations.
1920         * lib/uninorm/uninorm-filter.c: New file.
1921         * modules/uninorm/filter: New file.
1922
1923 2009-02-21  Bruno Haible  <bruno@clisp.org>
1924
1925         Tests for module 'uninorm/nfkc'.
1926         * tests/uninorm/test-nfkc.c: New file.
1927         * tests/uninorm/test-u8-nfkc.c: New file.
1928         * tests/uninorm/test-u16-nfkc.c: New file.
1929         * tests/uninorm/test-u32-nfkc.c: New file.
1930         * tests/uninorm/test-u32-nfkc-big.sh: New file.
1931         * tests/uninorm/test-u32-nfkc-big.c: New file.
1932         * modules/uninorm/nfkc-tests: New file.
1933
1934         New module 'uninorm/nfkc'.
1935         * lib/uninorm/nfkc.c: New file.
1936         * modules/uninorm/nfkc: New file.
1937
1938         Tests for module 'uninorm/nfkd'.
1939         * tests/uninorm/test-nfkd.c: New file.
1940         * tests/uninorm/test-u8-nfkd.c: New file.
1941         * tests/uninorm/test-u16-nfkd.c: New file.
1942         * tests/uninorm/test-u32-nfkd.c: New file.
1943         * tests/uninorm/test-u32-nfkd-big.sh: New file.
1944         * tests/uninorm/test-u32-nfkd-big.c: New file.
1945         * modules/uninorm/nfkd-tests: New file.
1946
1947         New module 'uninorm/nfkd'.
1948         * lib/uninorm/nfkd.c: New file.
1949         * modules/uninorm/nfkd: New file.
1950
1951         Tests for module 'uninorm/nfc'.
1952         * tests/uninorm/test-nfc.c: New file.
1953         * tests/uninorm/test-u8-nfc.c: New file.
1954         * tests/uninorm/test-u16-nfc.c: New file.
1955         * tests/uninorm/test-u32-nfc.c: New file.
1956         * tests/uninorm/test-u32-nfc-big.sh: New file.
1957         * tests/uninorm/test-u32-nfc-big.c: New file.
1958         * modules/uninorm/nfc-tests: New file.
1959
1960         New module 'uninorm/nfc'.
1961         * lib/uninorm/nfc.c: New file.
1962         * modules/uninorm/nfc: New file.
1963
1964         Tests for module 'uninorm/nfd'.
1965         * tests/uninorm/test-nfd.c: New file.
1966         * tests/uninorm/test-u8-nfd.c: New file.
1967         * tests/uninorm/test-u16-nfd.c: New file.
1968         * tests/uninorm/test-u32-nfd.c: New file.
1969         * tests/uninorm/test-u32-nfd-big.sh: New file.
1970         * tests/uninorm/test-u32-nfd-big.c: New file.
1971         * tests/uninorm/test-u32-normalize-big.h: New file.
1972         * tests/uninorm/test-u32-normalize-big.c: New file.
1973         * tests/uninorm/NormalizationTest.txt: New file, created from
1974         Unicode 5.1.0 NormalizationTest.txt.
1975         * modules/uninorm/nfd-tests: New file.
1976
1977         New module 'uninorm/nfd'.
1978         * lib/uninorm/nfd.c: New file.
1979         * modules/uninorm/nfd: New file.
1980
1981         New module 'uninorm/u32-normalize'.
1982         * lib/uninorm/u32-normalize.c: New file.
1983         * modules/uninorm/u32-normalize: New file.
1984
1985         New module 'uninorm/u16-normalize'.
1986         * lib/uninorm/u16-normalize.c: New file.
1987         * modules/uninorm/u16-normalize: New file.
1988
1989         New module 'uninorm/u8-normalize'.
1990         * lib/uninorm/u8-normalize.c: New file.
1991         * lib/uninorm/normalize-internal.h: New file.
1992         * lib/uninorm/u-normalize-internal.h: New file.
1993         * modules/uninorm/u8-normalize: New file.
1994
1995         New module 'uninorm/decompose-internal'.
1996         * lib/uninorm/decompose-internal.c: New file.
1997         * modules/uninorm/decompose-internal: New file.
1998
1999         Tests for module 'uninorm/composition'.
2000         * tests/uninorm/test-composition.c: New file.
2001         * modules/uninorm/composition-tests: New file.
2002
2003         New module 'uninorm/composition'.
2004         * lib/uninorm/composition.c: New file.
2005         * lib/uninorm/composition-table.gperf: New file, generated by
2006         gen-uni-tables.
2007         * modules/uninorm/composition: New file.
2008
2009         Tests for module 'uninorm/compat-decomposition'.
2010         * tests/uninorm/test-compat-decomposition.c: New file.
2011         * modules/uninorm/compat-decomposition-tests: New file.
2012
2013         New module 'uninorm/compat-decomposition'.
2014         * lib/uninorm/decompose-internal.h: New file.
2015         * lib/uninorm/compat-decomposition.c: New file.
2016         * modules/uninorm/compat-decomposition: New file.
2017
2018         Tests for module 'uninorm/canonical-decomposition'.
2019         * tests/uninorm/test-canonical-decomposition.c: New file.
2020         * modules/uninorm/canonical-decomposition-tests: New file.
2021
2022         New module 'uninorm/canonical-decomposition'.
2023         * lib/uninorm/canonical-decomposition.c: New file.
2024         * modules/uninorm/canonical-decomposition: New file.
2025
2026         Tests for module 'uninorm/decomposition'.
2027         * tests/uninorm/test-decomposition.c: New file.
2028         * modules/uninorm/decomposition-tests: New file.
2029
2030         New module 'uninorm/decomposition'.
2031         * lib/uninorm/decomposition.c: New file.
2032         * modules/uninorm/decomposition: New file.
2033
2034         New module 'uninorm/decomposition-table'.
2035         * lib/uninorm/decomposition-table.h: New file.
2036         * lib/uninorm/decomposition-table.c: New file.
2037         * lib/uninorm/decomposition-table1.h: New file, generated by
2038         gen-uni-tables.
2039         * lib/uninorm/decomposition-table2.h: New file, generated by
2040         gen-uni-tables.
2041         * modules/uninorm/decomposition-table: New file.
2042
2043         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
2044         (UC_DECOMP_*): New enumeration items.
2045         (get_decomposition): New function.
2046         (struct decomp_table): New type.
2047         (output_decomposition, output_decomposition_tables): New functions.
2048         (unicode_composition_exclusions): New variable.
2049         (fill_composition_exclusions, debug_output_composition_tables): New
2050         functions.
2051         (main): Accept one more argument. Invoke fill_composition_exclusions.
2052         Output decomposition and composition tables.
2053
2054         New module 'uninorm/base'.
2055         * lib/uninorm.h: New file.
2056         * lib/unictype.h: Update comment.
2057         * modules/uninorm/base: New file.
2058
2059 2009-02-21  David Lutterkort  <lutter@redhat.com>
2060
2061         Tests for module 'safe-alloc'.
2062         * tests/test-safe-alloc.c: New file.
2063         * modules/safe-alloc-tests: New file.
2064
2065         New module 'safe-alloc'.
2066         * lib/safe-alloc.h: New file.
2067         * lib/safe-alloc.c: New file.
2068         * m4/safe-alloc.m4: New file.
2069         * modules/safe-alloc: New file.
2070         * doc/safe-alloc.texi: New file.
2071         * doc/gnulib.texi: Include it.
2072         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
2073         safe-alloc.
2074
2075 2009-02-18  Bruno Haible  <bruno@clisp.org>
2076
2077         Fix link error on non-glibc systems.
2078         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
2079         variable.
2080         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2081
2082 2009-02-18  Jim Meyering  <meyering@redhat.com>
2083
2084         fts: avoid used-uninitialized error due to recent change
2085         * lib/fts.c (fts_read): Guard uses of the new member,
2086         parent->fts_n_dirs_remaining, since it's not relevant for
2087         the parent of a directory specified on the command-line.
2088
2089 2009-02-17  James Youngman  <jay@gnu.org>
2090             Bruno Haible  <bruno@clisp.org>
2091
2092         * m4/include_next.m4: Reformulate comment.
2093
2094 2009-02-16  Jim Meyering  <meyering@redhat.com>
2095
2096         fts: add #if guards so that the fts_lgpl module still builds
2097         * lib/fts.c: Guard just-added hash-table-using parts with
2098         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
2099         Reported by Simon Josefsson.
2100
2101 2009-02-15  Bruno Haible  <bruno@clisp.org>
2102
2103         * modules/array-mergesort-tests: New file.
2104         * tests/test-array-mergesort.c: New file.
2105
2106         New module 'array-mergesort'.
2107         * modules/array-mergesort: New file.
2108         * lib/array-mergesort.h: New file.
2109
2110 2009-02-15  Bruno Haible  <bruno@clisp.org>
2111
2112         Fix 2009-02-07 commit.
2113         * lib/gen-uni-tables.c (output_predicate, output_category,
2114         output_combclass, output_bidi_category, output_decimal_digit,
2115         output_digit, output_numeric, output_mirror, output_scripts,
2116         output_ident_category, output_simple_mapping): Fix format directives.
2117         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
2118
2119 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
2120
2121         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
2122         fixes are available from IBM.
2123
2124 2009-02-13  Jim Meyering  <meyering@redhat.com>
2125
2126         fts: arrange not to stat non-directories in more cases
2127         This makes GNU find (when it doesn't need to stat each file)
2128         *much* more efficient at traversing reiserfs file systems.
2129         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
2130         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
2131         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
2132         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
2133         (leaf_optimization_applies): New function.
2134         (LCO_hash, LCO_compare): New helper functions.
2135         (link_count_optimize_ok): New function.
2136         (fts_stat): Initialize new member (if dir).
2137         (fts_read): Decrement parent's fts_n_dirs_remaining count if
2138         we've just stat'ed a directory.  Skip the stat call when possible.
2139         ---
2140         Note this AFS-related exchange:
2141         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
2142         and note find's pioctl call in find/fstype.c.
2143         But that is necessary only if you want to enable the
2144         optimization for AFS, and for now, I don't.
2145
2146         fts: move a function definition "up" (no semantic change)
2147         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
2148         "up" to precede upcoming use of a related function.
2149
2150 2009-02-11  Jim Meyering  <meyering@redhat.com>
2151
2152         fts: correct internal computation of nlinks (optimization-related)
2153         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
2154         whether the current entry is a directory, so don't test it.
2155
2156 2009-02-10  Bruno Haible  <bruno@clisp.org>
2157
2158         Tests for module 'uniwbrk/ulc-wordbreaks'.
2159         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
2160         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
2161         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
2162
2163         Tests for module 'uniwbrk/u32-wordbreaks'.
2164         * modules/uniwbrk/u32-wordbreaks-tests: New file.
2165         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
2166
2167         Tests for module 'uniwbrk/u16-wordbreaks'.
2168         * modules/uniwbrk/u16-wordbreaks-tests: New file.
2169         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
2170
2171         Tests for module 'uniwbrk/u8-wordbreaks'.
2172         * modules/uniwbrk/u8-wordbreaks-tests: New file.
2173         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
2174
2175 2009-02-10  Bruno Haible  <bruno@clisp.org>
2176
2177         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
2178         property.
2179         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
2180         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
2181         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
2182
2183 2009-02-10  Simon Josefsson  <simon@josefsson.org>
2184
2185         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
2186         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
2187
2188 2009-02-10  Bruno Haible  <bruno@clisp.org>
2189
2190         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
2191         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
2192         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
2193         * lib/unilbrk/u8-possible-linebreaks.c: Update.
2194         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
2195         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
2196
2197 2009-02-09  Simon Josefsson  <simon@josefsson.org>
2198
2199         * lib/sockets.h (gl_fd_to_handle): New function.
2200
2201         * tests/test-sockets.c: Call gl_fd_to_handle.
2202
2203 2009-02-09  Bruno Haible  <bruno@clisp.org>
2204
2205         * doc/havelib.texi: Document the conventions on bi-arch systems.
2206
2207 2009-02-08  Bruno Haible  <bruno@clisp.org>
2208
2209         Document the AC_LIB_LINKFLAGS macro.
2210         * doc/havelib.texi: New file, mostly written on 2005-05-24.
2211         * doc/gnulib.texi: Include it.
2212
2213 2009-02-08  Bruno Haible  <bruno@clisp.org>
2214
2215         Fix wrong order of sections, compared to TOC.
2216         * doc/gnulib.texi: Include relocatable-maint.texi after the
2217         "Regular expressions" node, not before.
2218
2219 2009-02-08  Bruno Haible  <bruno@clisp.org>
2220
2221         Tests for module 'unicase/totitle'.
2222         * modules/unicase/totitle-tests: New file.
2223
2224         Tests for module 'unicase/tolower'.
2225         * modules/unicase/tolower-tests: New file.
2226
2227         Tests for module 'unicase/toupper'.
2228         * modules/unicase/toupper-tests: New file.
2229         * tests/unicase/test-mapping-part1.h: New file.
2230         * tests/unicase/test-mapping-part2.h: New file.
2231
2232         New module 'unicase/totitle'.
2233         * modules/unicase/totitle: New file.
2234         * lib/unicase/totitle.c: New file.
2235
2236         New module 'unicase/tolower'.
2237         * modules/unicase/tolower: New file.
2238         * lib/unicase/tolower.c: New file.
2239
2240         New module 'unicase/toupper'.
2241         * modules/unicase/toupper: New file.
2242         * lib/unicase/toupper.c: New file.
2243         * lib/unicase/simple-mapping.h: New file.
2244
2245         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
2246         (mapping_table): New structure.
2247         (output_simple_mapping): New function.
2248         (main): Invoke output_simple_mapping_test and output_simple_mapping.
2249         * modules/gen-uni-tables (Description): Update.
2250         * lib/unicase/toupper.h: New file, automatically generated by
2251         gen-uni-tables.
2252         * lib/unicase/tolower.h: New file, automatically generated by
2253         gen-uni-tables.
2254         * lib/unicase/totitle.h: New file, automatically generated by
2255         gen-uni-tables.
2256         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
2257         gen-uni-tables.
2258         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
2259         gen-uni-tables.
2260         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
2261         gen-uni-tables.
2262
2263         New module 'unicase/base'.
2264         * modules/unicase/base: New file.
2265         * lib/unicase.h: New file.
2266
2267 2009-02-08  Bruno Haible  <bruno@clisp.org>
2268
2269         New module 'uniwbrk/ulc-wordbreaks'.
2270         * modules/uniwbrk/ulc-wordbreaks: New file.
2271         * lib/uniwbrk/ulc-wordbreaks.c: New file.
2272
2273         New module 'uniwbrk/u32-wordbreaks'.
2274         * modules/uniwbrk/u32-wordbreaks: New file.
2275         * lib/uniwbrk/u32-wordbreaks.c: New file.
2276
2277         New module 'uniwbrk/u16-wordbreaks'.
2278         * modules/uniwbrk/u16-wordbreaks: New file.
2279         * lib/uniwbrk/u16-wordbreaks.c: New file.
2280
2281         New module 'uniwbrk/u8-wordbreaks'.
2282         * modules/uniwbrk/u8-wordbreaks: New file.
2283         * lib/uniwbrk/u8-wordbreaks.c: New file.
2284         * lib/uniwbrk/u-wordbreaks.h: New file.
2285
2286         New module 'uniwbrk/table'.
2287         * modules/uniwbrk/table: New file.
2288         * lib/uniwbrk/wbrktable.h: New file.
2289         * lib/uniwbrk/wbrktable.c: New file.
2290
2291         New module 'uniwbrk/wordbreak-property'.
2292         * modules/uniwbrk/wordbreak-property: New file.
2293         * lib/uniwbrk/wordbreak-property.c: New file.
2294
2295         * lib/gen-uni-tables.c (WBP_*): New enum items.
2296         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
2297         (unicode_org_wbp): New variable.
2298         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
2299         New functions.
2300         (wbp_table): New structure.
2301         (output_wbp, output_wbrk_tables): New functions.
2302         (main): Accept additional argument. Invoke fill_org_wbp,
2303         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
2304         output_wbrk_tables.
2305         * modules/gen-uni-tables (Description): Update.
2306         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
2307         gen-uni-tables.
2308
2309         New module 'uniwbrk/base'.
2310         * modules/uniwbrk/base: New file.
2311         * lib/uniwbrk.h: New file.
2312
2313 2009-02-08  Bruno Haible  <bruno@clisp.org>
2314
2315         Update to Unicode 5.1.0.
2316         * lib/gen-uni-tables.c (is_property_alphabetic): Include
2317         U+2185..U+2188.
2318         (is_property_default_ignorable_code_point): Don't include characters
2319         of category Cc or Cs and not-a-characters.
2320         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
2321         U+0D79, U+109E, U+109F, U+A60C.
2322         * lib/unictype/bidi_of.h: Regenerated.
2323         * lib/unictype/blocks.h: Regenerated.
2324         * lib/unictype/categ_C.h: Regenerated.
2325         * lib/unictype/categ_Cf.h: Regenerated.
2326         * lib/unictype/categ_Cn.h: Regenerated.
2327         * lib/unictype/categ_L.h: Regenerated.
2328         * lib/unictype/categ_Ll.h: Regenerated.
2329         * lib/unictype/categ_Lm.h: Regenerated.
2330         * lib/unictype/categ_Lo.h: Regenerated.
2331         * lib/unictype/categ_Lu.h: Regenerated.
2332         * lib/unictype/categ_M.h: Regenerated.
2333         * lib/unictype/categ_Mc.h: Regenerated.
2334         * lib/unictype/categ_Me.h: Regenerated.
2335         * lib/unictype/categ_Mn.h: Regenerated.
2336         * lib/unictype/categ_N.h: Regenerated.
2337         * lib/unictype/categ_Nd.h: Regenerated.
2338         * lib/unictype/categ_Nl.h: Regenerated.
2339         * lib/unictype/categ_No.h: Regenerated.
2340         * lib/unictype/categ_P.h: Regenerated.
2341         * lib/unictype/categ_Pd.h: Regenerated.
2342         * lib/unictype/categ_Pe.h: Regenerated.
2343         * lib/unictype/categ_Pf.h: Regenerated.
2344         * lib/unictype/categ_Pi.h: Regenerated.
2345         * lib/unictype/categ_Po.h: Regenerated.
2346         * lib/unictype/categ_Ps.h: Regenerated.
2347         * lib/unictype/categ_S.h: Regenerated.
2348         * lib/unictype/categ_Sk.h: Regenerated.
2349         * lib/unictype/categ_Sm.h: Regenerated.
2350         * lib/unictype/categ_So.h: Regenerated.
2351         * lib/unictype/categ_of.h: Regenerated.
2352         * lib/unictype/combining.h: Regenerated.
2353         * lib/unictype/ctype_alnum.h: Regenerated.
2354         * lib/unictype/ctype_alpha.h: Regenerated.
2355         * lib/unictype/ctype_graph.h: Regenerated.
2356         * lib/unictype/ctype_lower.h: Regenerated.
2357         * lib/unictype/ctype_print.h: Regenerated.
2358         * lib/unictype/ctype_punct.h: Regenerated.
2359         * lib/unictype/ctype_upper.h: Regenerated.
2360         * lib/unictype/decdigit.h: Regenerated.
2361         * lib/unictype/digit.h: Regenerated.
2362         * lib/unictype/mirror.h: Regenerated.
2363         * lib/unictype/numeric.h: Regenerated.
2364         * lib/unictype/pr_alphabetic.h: Regenerated.
2365         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
2366         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
2367         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
2368         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
2369         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
2370         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
2371         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
2372         * lib/unictype/pr_combining.h: Regenerated.
2373         * lib/unictype/pr_dash.h: Regenerated.
2374         * lib/unictype/pr_decimal_digit.h: Regenerated.
2375         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
2376         * lib/unictype/pr_deprecated.h: Regenerated.
2377         * lib/unictype/pr_diacritic.h: Regenerated.
2378         * lib/unictype/pr_extender.h: Regenerated.
2379         * lib/unictype/pr_format_control.h: Regenerated.
2380         * lib/unictype/pr_grapheme_base.h: Regenerated.
2381         * lib/unictype/pr_grapheme_extend.h: Regenerated.
2382         * lib/unictype/pr_grapheme_link.h: Regenerated.
2383         * lib/unictype/pr_id_continue.h: Regenerated.
2384         * lib/unictype/pr_id_start.h: Regenerated.
2385         * lib/unictype/pr_ideographic.h: Regenerated.
2386         * lib/unictype/pr_ignorable_control.h: Regenerated.
2387         * lib/unictype/pr_lowercase.h: Regenerated.
2388         * lib/unictype/pr_math.h: Regenerated.
2389         * lib/unictype/pr_numeric.h: Regenerated.
2390         * lib/unictype/pr_other_alphabetic.h: Regenerated.
2391         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
2392         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
2393         * lib/unictype/pr_other_id_continue.h: Regenerated.
2394         * lib/unictype/pr_other_lowercase.h: Regenerated.
2395         * lib/unictype/pr_other_math.h: Regenerated.
2396         * lib/unictype/pr_punctuation.h: Regenerated.
2397         * lib/unictype/pr_sentence_terminal.h: Regenerated.
2398         * lib/unictype/pr_soft_dotted.h: Regenerated.
2399         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
2400         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
2401         * lib/unictype/pr_unified_ideograph.h: Regenerated.
2402         * lib/unictype/pr_uppercase.h: Regenerated.
2403         * lib/unictype/pr_xid_continue.h: Regenerated.
2404         * lib/unictype/pr_xid_start.h: Regenerated.
2405         * lib/unictype/pr_zero_width.h: Regenerated.
2406         * lib/unictype/scripts.h: Regenerated.
2407         * lib/unictype/scripts_byname.gperf: Regenerated.
2408         * lib/unictype/sy_java_ident.h: Regenerated.
2409         * lib/unilbrk/lbrkprop1.h: Regenerated.
2410         * lib/unilbrk/lbrkprop2.h: Regenerated.
2411         * tests/unictype/test-categ_C.c: Regenerated.
2412         * tests/unictype/test-categ_Cf.c: Regenerated.
2413         * tests/unictype/test-categ_Cn.c: Regenerated.
2414         * tests/unictype/test-categ_L.c: Regenerated.
2415         * tests/unictype/test-categ_Ll.c: Regenerated.
2416         * tests/unictype/test-categ_Lm.c: Regenerated.
2417         * tests/unictype/test-categ_Lo.c: Regenerated.
2418         * tests/unictype/test-categ_Lu.c: Regenerated.
2419         * tests/unictype/test-categ_M.c: Regenerated.
2420         * tests/unictype/test-categ_Mc.c: Regenerated.
2421         * tests/unictype/test-categ_Me.c: Regenerated.
2422         * tests/unictype/test-categ_Mn.c: Regenerated.
2423         * tests/unictype/test-categ_N.c: Regenerated.
2424         * tests/unictype/test-categ_Nd.c: Regenerated.
2425         * tests/unictype/test-categ_Nl.c: Regenerated.
2426         * tests/unictype/test-categ_No.c: Regenerated.
2427         * tests/unictype/test-categ_P.c: Regenerated.
2428         * tests/unictype/test-categ_Pd.c: Regenerated.
2429         * tests/unictype/test-categ_Pe.c: Regenerated.
2430         * tests/unictype/test-categ_Pf.c: Regenerated.
2431         * tests/unictype/test-categ_Pi.c: Regenerated.
2432         * tests/unictype/test-categ_Po.c: Regenerated.
2433         * tests/unictype/test-categ_Ps.c: Regenerated.
2434         * tests/unictype/test-categ_S.c: Regenerated.
2435         * tests/unictype/test-categ_Sk.c: Regenerated.
2436         * tests/unictype/test-categ_Sm.c: Regenerated.
2437         * tests/unictype/test-categ_So.c: Regenerated.
2438         * tests/unictype/test-ctype_alnum.c: Regenerated.
2439         * tests/unictype/test-ctype_alpha.c: Regenerated.
2440         * tests/unictype/test-ctype_graph.c: Regenerated.
2441         * tests/unictype/test-ctype_lower.c: Regenerated.
2442         * tests/unictype/test-ctype_print.c: Regenerated.
2443         * tests/unictype/test-ctype_punct.c: Regenerated.
2444         * tests/unictype/test-ctype_upper.c: Regenerated.
2445         * tests/unictype/test-decdigit.h: Regenerated.
2446         * tests/unictype/test-digit.h: Regenerated.
2447         * tests/unictype/test-numeric.h: Regenerated.
2448         * tests/unictype/test-pr_alphabetic.c: Regenerated.
2449         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
2450         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
2451         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
2452         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
2453         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
2454         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
2455         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
2456         * tests/unictype/test-pr_combining.c: Regenerated.
2457         * tests/unictype/test-pr_dash.c: Regenerated.
2458         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
2459         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
2460         * tests/unictype/test-pr_deprecated.c: Regenerated.
2461         * tests/unictype/test-pr_diacritic.c: Regenerated.
2462         * tests/unictype/test-pr_extender.c: Regenerated.
2463         * tests/unictype/test-pr_format_control.c: Regenerated.
2464         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
2465         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
2466         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
2467         * tests/unictype/test-pr_id_continue.c: Regenerated.
2468         * tests/unictype/test-pr_id_start.c: Regenerated.
2469         * tests/unictype/test-pr_ideographic.c: Regenerated.
2470         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
2471         * tests/unictype/test-pr_lowercase.c: Regenerated.
2472         * tests/unictype/test-pr_math.c: Regenerated.
2473         * tests/unictype/test-pr_numeric.c: Regenerated.
2474         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
2475         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
2476         Regenerated.
2477         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
2478         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
2479         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
2480         * tests/unictype/test-pr_other_math.c: Regenerated.
2481         * tests/unictype/test-pr_punctuation.c: Regenerated.
2482         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
2483         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
2484         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
2485         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
2486         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
2487         * tests/unictype/test-pr_uppercase.c: Regenerated.
2488         * tests/unictype/test-pr_xid_continue.c: Regenerated.
2489         * tests/unictype/test-pr_xid_start.c: Regenerated.
2490         * tests/unictype/test-pr_zero_width.c: Regenerated.
2491
2492         Update to Unicode 5.1.0.
2493         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
2494         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
2495         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
2496         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
2497         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
2498         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
2499         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
2500         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
2501         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
2502         (nonspacing_table_ind): Update.
2503         * tests/uniwidth/test-uc_width2.sh: Update expected result.
2504
2505         Update to Unicode 5.1.0.
2506         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
2507         code transform.
2508         * lib/uniname/uniname.c (unicode_character_name,
2509         unicode_name_character): Add the range 0x1Fxxx to the code transform.
2510         * lib/uniname/uninames.h: Regenerated.
2511         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
2512
2513 2009-02-07  Bruno Haible  <bruno@clisp.org>
2514
2515         Merge gen-ctype and gen-lbrk into a single program.
2516         * lib/gen-uni-tables.c: New file, incorporating
2517         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
2518         Add directory prefixes to the names of the generated files.
2519         * lib/unictype/gen-ctype.c: Remove file.
2520         * lib/unilbrk/gen-lbrk.c: Remove file.
2521         * modules/gen-uni-tables: New file.
2522         * modules/unictype/gen-ctype: Remove file.
2523         * modules/unilbrk/gen-lbrk: Remove file.
2524
2525 2009-02-07  Bruno Haible  <bruno@clisp.org>
2526
2527         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
2528
2529         New module 'unistr/u32-strcoll'.
2530         * modules/unistr/u32-strcoll: New file.
2531         * lib/unistr/u32-strcoll.c: New file.
2532
2533         New module 'unistr/u16-strcoll'.
2534         * modules/unistr/u16-strcoll: New file.
2535         * lib/unistr/u16-strcoll.c: New file.
2536
2537         New module 'unistr/u8-strcoll'.
2538         * modules/unistr/u8-strcoll: New file.
2539         * lib/unistr/u8-strcoll.c: New file.
2540         * lib/unistr/u-strcoll.h: New file.
2541
2542 2009-02-07  Bruno Haible  <bruno@clisp.org>
2543
2544         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
2545         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
2546         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
2547         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
2548         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
2549         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
2550
2551 2009-02-07  Bruno Haible  <bruno@clisp.org>
2552
2553         Make 64-bit clean.
2554         * lib/unictype/gen-ctype.c (output_predicate, output_category,
2555         output_combclass, output_bidi_category, output_decimal_digit,
2556         output_digit, output_numeric, output_mirror, output_scripts,
2557         output_ident_category): Use proper width specifier in format strings.
2558
2559 2009-02-07  Bruno Haible  <bruno@clisp.org>
2560
2561         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
2562         failure behaviour.
2563
2564 2009-02-07  Jim Meyering  <meyering@redhat.com>
2565
2566         regex: avoid compilation failure with upcoming gcc-4.4
2567         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
2568         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
2569         "... error: integer overflow in preprocessor expression".
2570
2571 2009-02-05  Ben Pfaff  <blp@gnu.org>
2572
2573         Fix link errors on Windows when close module is used.
2574         * modules/close: Add $(LIB_CLOSE) to Link section.
2575         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
2576         $(LIB_CLOSE) on Windows.
2577
2578 2009-02-05  Jim Meyering  <meyering@redhat.com>
2579
2580         still avoid unused-parameter warnings, but do it cleanly
2581         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
2582         (get_fs_usage): Cast to void instead.
2583         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
2584         (dev_from_mount_options, read_file_system_list): Cast to void.
2585         Prompted by Bruno Haible.
2586
2587 2009-02-04  Jim Meyering  <meyering@redhat.com>
2588
2589         fsusage.c: correct copyright year
2590         * lib/fsusage.c: Reflect year in which the change is pushed into
2591
2592         avoid misc. warnings
2593         * lib/fsusage.c (UNUSED_PARAM): Define.
2594         (get_fs_usage): Mark parameter "disk" as unused.
2595         * lib/getugroups.c (getgrent): Use "void" in prototype.
2596         * lib/mountlist.c: Mark unused parameters.
2597         (read_file_system_list): Declare a local with "const".
2598         * lib/nanosleep.c (getnow): Declare static.
2599         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
2600
2601         dirfd: set errno upon failure
2602         * lib/dirfd.c: Include <errno.h>.
2603         Set errno to ENOTSUP when returning -1.
2604         * modules/dirfd (Depends-on): Add errno.
2605         Suggested by John Kodis <kodis@comcast.net>.
2606
2607 2009-02-01  Bruno Haible  <bruno@clisp.org>
2608
2609         Don't assume sizeof (long) >= sizeof (void *).
2610         * lib/memcmp.c: Include stdint.h.
2611         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
2612         srcp2 to 'const byte *'.
2613         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
2614         types to uintptr_t.
2615         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
2616         * modules/memcmp (Depends-on): Add stdint.
2617         Reported by Ozkan Sezer <sezeroz@gmail.com>.
2618
2619 2009-01-30  Eric Blake  <ebb9@byu.net>
2620
2621         fix more require-before-expand issues
2622         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
2623         expand, AC_PROG_AWK.
2624         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
2625
2626 2009-01-28  Eric Blake  <ebb9@byu.net>
2627
2628         version-etc: use consistent URL formatting
2629         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
2630         Improve formatting.  Use fputs for string without %.
2631
2632 2009-01-28  Jim Meyering  <meyering@redhat.com>
2633
2634         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
2635         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
2636         "underquoted definition of NAME" from autoconf-2.59.
2637
2638 2009-01-28  Bruno Haible  <bruno@clisp.org>
2639
2640         * doc/gnulib.texi: Add "Obsolete modules" to index.
2641
2642 2009-01-28  Jim Meyering  <meyering@redhat.com>
2643
2644         useless-if-before-free: recognize more variants
2645         * build-aux/useless-if-before-free: Also recognize e.g.,
2646         if (NULL != p) free (p);
2647
2648 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
2649
2650         test-getaddrinfo: skip (don't fail) this test when there's no network
2651         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
2652         on the presumption that it means you lack network access.
2653
2654 2009-01-26  Jim Meyering  <meyering@redhat.com>
2655
2656         fflush: avoid warnings on modern systems
2657         * lib/fflush.c (rpl_fflush): Move declarations of locals,
2658         pos and result, into scopes where they're used.
2659
2660 2009-01-26  Eric Blake  <ebb9@byu.net>
2661
2662         Silence warning reintroduced by recent extensions patch.
2663         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
2664         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
2665         autoconf.
2666
2667         Backport improved autoconf semantics of AC_DEFUN_ONCE.
2668         * m4/00gnulib.m4: New file.
2669         * gnulib-tool (func_get_filelist): Always use it.
2670         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
2671         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
2672
2673 2009-01-25  Bruno Haible  <bruno@clisp.org>
2674
2675         Make test-quotearg work on MacOS X and AIX.
2676         * tests/test-quotearg.sh: New file.
2677         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
2678         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
2679         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
2680         include <libintl.h>.
2681         (fake_locale): Remove variable.
2682         (gettext, dgettext, dcgettext): Remove functions.
2683         (main): Instead of setting a fake locale, set a real locale. Call
2684         textdomain and bindtextdomain.
2685         * modules/quotearg-tests (Files): Add the new files.
2686         (Depends-on): Add gettext, setenv, unsetenv.
2687         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
2688         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
2689         Augment TESTS_ENVIRONMENT.
2690
2691 2009-01-25  Bruno Haible  <bruno@clisp.org>
2692
2693         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
2694         fr_FR.ISO8859-1 locale on MacOS X.
2695         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
2696         ja_JP.eucJP locale on MacOS X.
2697         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
2698         zh_CN.GB18030 locale on MacOS X.
2699
2700 2009-01-25  Bruno Haible  <bruno@clisp.org>
2701
2702         Avoid link errors on MacOS X 10.3.
2703         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
2704         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
2705
2706 2009-01-25  Bruno Haible  <bruno@clisp.org>
2707
2708         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
2709         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
2710         * modules/pipe (Files): Remove m4/posix_spawn.m4.
2711         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
2712         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
2713         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
2714         posix_spawnattr_init, posix_spawnattr_setsigmask,
2715         posix_spawnattr_setflags, posix_spawnattr_destroy.
2716
2717         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
2718         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
2719         * modules/execute (Files): Remove m4/posix_spawn.m4.
2720         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
2721         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
2722         posix_spawnattr_init, posix_spawnattr_setsigmask,
2723         posix_spawnattr_setflags, posix_spawnattr_destroy.
2724
2725 2009-01-25  Bruno Haible  <bruno@clisp.org>
2726
2727         * lib/glthread/threadlib.c: Include <stdlib.h>.
2728
2729 2009-01-25  Bruno Haible  <bruno@clisp.org>
2730
2731         * lib/glthread/threadlib.c (dummy): New declaration.
2732
2733 2009-01-25  Bruno Haible  <bruno@clisp.org>
2734
2735         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
2736         multibyte characters also for the GB18030 encoding. Don't crash when
2737         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
2738
2739 2009-01-25  Bruno Haible  <bruno@clisp.org>
2740
2741         Avoid redefining 'struct random_data' on OSF/1 5.1.
2742         * lib/stdlib.in.h: Include <random.h> if it exists.
2743         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
2744         HAVE_RANDOM_H. Include <random.h> when testing whether
2745         'struct random_data' exists.
2746         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
2747
2748 2009-01-25  Bruno Haible  <bruno@clisp.org>
2749
2750         Don't install charset.alias on MacOS X >= 10.3.
2751         * lib/localcharset.c (DARWIN7): New macro.
2752         (get_charset_aliases): Hardcode the result for Darwin7.
2753         * modules/localcharset (install-exec-local): Don't install
2754         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
2755
2756 2009-01-25  Bruno Haible  <bruno@clisp.org>
2757
2758         Don't install charset.alias on mingw and Cygwin.
2759         * modules/localcharset (install-exec-local): Don't install
2760         charset.alias on mingw and Cygwin, if the file does not yet exist.
2761         The result for these platforms is hardcoded in localcharset.c.
2762
2763 2009-01-25  Bruno Haible  <bruno@clisp.org>
2764
2765         Make it possible again to use AC_GNU_SOURCE together with gnulib.
2766         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
2767         before requiring AC_USE_SYSTEM_EXTENSIONS.
2768
2769 2009-01-25  Jim Meyering  <meyering@redhat.com>
2770
2771         c-strtod: avoid warnings
2772         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
2773         "assignment discards qualifiers from pointer target type" warnings.
2774
2775 2009-01-24  Bruno Haible  <bruno@clisp.org>
2776
2777         Add support for non-UTF-8 locales on MacOS X.
2778         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
2779         canonical encodings. For Darwin 7 and newer, don't map traditional
2780         encodings to UTF-8.
2781         Reported by Vincent Lefevre <vincent@vinc17.org>
2782         at <http://savannah.gnu.org/bugs/?25235>.
2783
2784 2009-01-24  Bruno Haible  <bruno@clisp.org>
2785
2786         * doc/gnulib.texi (Obsolete modules): New section.
2787         Reported by Mike Frysinger <vapier@gentoo.org>.
2788
2789 2009-01-24  Bruno Haible  <bruno@clisp.org>
2790
2791         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
2792         (%.dvi): New rule.
2793
2794 2009-01-24  Bruno Haible  <bruno@clisp.org>
2795
2796         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
2797         Reported by Eric Blake.
2798
2799 2009-01-24  Bruno Haible  <bruno@clisp.org>
2800
2801         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
2802         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
2803         Reported by Gary V. Vaughan <gary@gnu.org>.
2804
2805 2009-01-24  Bruno Haible  <bruno@clisp.org>
2806
2807         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
2808
2809 2009-01-23  Bruno Haible  <bruno@clisp.org>
2810
2811         Make c-strtod, c-strtold usable in libraries.
2812         * lib/c-strtod.c: Include string.h instead of xalloc.h.
2813         (C_STRTOD): Call strdup instead of xstrdup.
2814         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
2815         * modules/c-strtold (Depends-on): Likewise.
2816         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
2817         * NEWS: Mention the change.
2818         Reported by Michael Gold <mgold@ncf.ca>.
2819
2820 2009-01-23  Jim Meyering  <meyering@redhat.com>
2821
2822         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
2823         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
2824         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
2825
2826 2009-01-23  Simon Josefsson  <simon@josefsson.org>
2827
2828         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
2829         GNU CoreUtils.
2830         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
2831         * modules/version-etc (Description): Update.
2832
2833 2009-01-22  Bruno Haible  <bruno@clisp.org>
2834
2835         Cache the C locale object.
2836         * lib/c-strtod.c (c_locale_cache): New variable.
2837         (c_locale): New function.
2838         (C_STRTOD): Use it, and don't call freelocale.
2839         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
2840         Suggested by Paolo Bonzini.
2841
2842 2009-01-21  Bruno Haible  <bruno@clisp.org>
2843
2844         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
2845         conditions other than overflow.
2846
2847 2009-01-21  Bruno Haible  <bruno@clisp.org>
2848
2849         * lib/c-strtod.c: Include errno.h.
2850         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
2851         value from STRTOD_L and STRTOD.
2852
2853 2009-01-21  Bruno Haible  <bruno@clisp.org>
2854         and Jim Meyering  <meyering@redhat.com>
2855
2856         nanosleep: skip configure test (fail it) for apple universal builds
2857         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
2858         universal builds, assume that nanosleep does not work.
2859         * modules/nanosleep (Depends-on): Add multiarch.
2860
2861         mktime: skip configure test (fail it) for apple universal builds
2862         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
2863         universal builds, assume that mktime does not work.
2864         * modules/mktime (Depends-on): Add multiarch.
2865
2866 2009-01-21  Eric Blake  <ebb9@byu.net>
2867
2868         multiarch: avoid expand-before-require warning
2869         * modules/multiarch (configure.ac): Require, rather than expand,
2870         gl_MULTIARCH.
2871         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
2872         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
2873         enforce that all clients require it.  Partial reversion of
2874         2008-12-29 patch.
2875
2876         error: avoid expand-before-require warning
2877         * modules/errno (configure.ac): Require, rather than expand,
2878         gl_HEADER_ERRNO_H.
2879         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
2880         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
2881         enforce that all clients require it.
2882
2883         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
2884         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
2885         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
2886         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
2887
2888 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
2889
2890         Revert:
2891         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
2892
2893         regex: do not depend on obsolete modules.
2894         * modules/regex: Remove memcmp and memmove.
2895
2896 2009-01-20  Bruno Haible  <bruno@clisp.org>
2897
2898         Make the 'link' module link on Windows NT 4.
2899         * lib/link.c (_WIN32_WINNT): Don't define.
2900         (CreateHardLinkFuncType): New type.
2901         (CreateHardLinkFunc, initialized): New variables.
2902         (initialize): New function.
2903         (link): Invoke CreateHardLink indirectly through the function pointer.
2904
2905 2009-01-20  Bruno Haible  <bruno@clisp.org>
2906
2907         Fix compilation failure on mingw.
2908         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
2909
2910 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
2911
2912         * doc/c-strtod.texi: Mention a couple of restrictions.
2913
2914 2009-01-20  Jim Meyering  <meyering@redhat.com>
2915
2916         gettimeofday: move more declarations out of functions
2917         * lib/gettimeofday.c: Move extern declarations of tzset and
2918         gmtime out of containing functions.  Prompted by Bruno Haible.
2919
2920 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
2921
2922         regex: do not depend on obsolete modules.
2923         * modules/regex: Remove memcmp and memmove.
2924
2925 2009-01-19  Bruno Haible  <bruno@clisp.org>
2926
2927         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
2928         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
2929         gl_BIGENDIAN, not AC_C_BIGENDIAN.
2930         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
2931         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
2932
2933 2009-01-19  Bruno Haible  <bruno@clisp.org>
2934
2935         * tests/test-link.c: Include <errno.h>.
2936         (main): Exit with code 77 when a hard link cannot be created due to
2937         the file system.
2938         * tests/test-link.sh: Skip test when a hard link cannot be created due
2939         to the file system.
2940         Suggested by Eric Blake.
2941
2942 2009-01-19  Martin Lambers  <marlam@marlam.de>
2943
2944         * modules/link-tests: New file.
2945         * tests/test-link.sh: New file.
2946         * tests/test-link.c: New file.
2947
2948 2009-01-19  Eric Blake  <ebb9@byu.net>
2949
2950         doc: mention another function added in cygwin 1.7.0
2951         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
2952         Another new function in cygwin 1.7.
2953
2954 2009-01-19  Bruno Haible  <bruno@clisp.org>
2955
2956         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
2957         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
2958         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
2959         gl_BIGENDIAN, not AC_C_BIGENDIAN.
2960         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
2961         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
2962         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
2963         * m4/md4.m4 (gl_MD4): Likewise.
2964         * m4/md5.m4 (gl_MD5): Likewise.
2965         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
2966         * m4/sha1.m4 (gl_SHA1): Likewise.
2967         * m4/sha256.m4 (gl_SHA256): Likewise.
2968         * m4/sha512.m4 (gl_SHA512): Likewise.
2969
2970 2009-01-19  Bruno Haible  <bruno@clisp.org>
2971
2972         * modules/uniname/uniname-tests (Depends-on): Add progname.
2973         * tests/uniname/test-uninames.c: Include progname.h.
2974         (main): Call set_program_name.
2975
2976         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
2977         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
2978         (main): Call set_program_name.
2979
2980         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
2981         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
2982         (main): Call set_program_name.
2983
2984         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
2985         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
2986         (main): Call set_program_name.
2987
2988         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
2989         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
2990         (main): Call set_program_name.
2991
2992         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
2993         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
2994         (main): Call set_program_name.
2995
2996         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
2997         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
2998         (main): Call set_program_name.
2999
3000         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
3001         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
3002         (main): Call set_program_name.
3003
3004         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
3005         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
3006         (main): Call set_program_name.
3007
3008 2009-01-19  Eric Blake  <ebb9@byu.net>
3009
3010         test-unistd: test previous patch
3011         * tests/test-unistd.c: Test *_FILENO macros.
3012
3013         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
3014         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
3015         Guarantee a definition.
3016         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
3017         * modules/unistd-safer (Depends-on): Add dependency on unistd.
3018         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
3019         * lib/dup-safer.c (STDERR_FILENO): Likewise.
3020         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
3021         Likewise.
3022         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
3023         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
3024         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
3025         Likewise.
3026         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
3027         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
3028         (STDERR_FILENO): Likewise.
3029         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
3030         (STDERR_FILENO): Likewise.
3031         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
3032         (STDERR_FILENO): Likewise.
3033         Reported by Elbert Pol.
3034
3035 2009-01-19  Eric Blake  <ebb9@byu.net>
3036
3037         doc: mention more functions added in cygwin 1.7.0
3038         * doc/posix-functions/abort.texi (abort): Update wording related
3039         to cygwin.
3040         * doc/posix-functions/daylight.texi (daylight): Likewise.
3041         * doc/posix-functions/optarg.texi (optarg): Likewise.
3042         * doc/posix-functions/optarg.texi (opterr): Likewise.
3043         * doc/posix-functions/optarg.texi (optind): Likewise.
3044         * doc/posix-functions/optarg.texi (optopt): Likewise.
3045         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
3046         worked in 1.5.x, and was withdrawn in 1.7.
3047         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
3048         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
3049         cygwin versions.
3050         * doc/posix-functions/perror.texi (perror): Likewise.
3051         * doc/posix-functions/printf.texi (printf): Likewise.
3052         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
3053         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
3054         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
3055         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
3056         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
3057         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
3058         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
3059         Likewise.
3060         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
3061         Likewise.
3062         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
3063         this function.
3064         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
3065         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
3066         Likewise.
3067         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
3068         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
3069         * doc/posix-functions/confstr.texi (confstr): Likewise.
3070         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
3071         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
3072         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
3073         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
3074         * doc/posix-functions/fputws.texi (fputws): Likewise.
3075         * doc/posix-functions/fwide.texi (fwide): Likewise.
3076         * doc/posix-functions/getwc.texi (getwc): Likewise.
3077         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
3078         * doc/posix-functions/putwc.texi (putwc): Likewise.
3079         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
3080         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
3081         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
3082         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
3083         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
3084         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
3085         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
3086         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
3087         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
3088         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
3089         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
3090
3091 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
3092
3093         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
3094         * lib/ioctl.c: Include <sys/ioctl.h>.
3095
3096 2009-01-19  Simon Josefsson  <simon@josefsson.org>
3097
3098         * modules/getdate-tests (Depends-on): Add progname.
3099         * tests/test-getdate.c: Use progname module, to avoid link errors
3100         on non-glibc systems.
3101
3102 2009-01-18  Simon Josefsson  <simon@josefsson.org>
3103
3104         * modules/filenamecat-tests (Depends-on): Add progname.
3105         * modules/fstrcmp-tests (Depends-on): Likewise.
3106
3107         * tests/test-filenamecat.c: Use progname module, to avoid link
3108         errors on non-glibc systems.
3109         * tests/test-fstrcmp.c: Likewise.
3110
3111 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
3112
3113         gettimeofday: avoid warning: nested extern declaration of 'localtime'
3114         * lib/gettimeofday.c: Move extern declaration out of function.
3115
3116 2009-01-18  Bruno Haible  <bruno@clisp.org>
3117
3118         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
3119         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
3120         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
3121
3122 2009-01-18  Bruno Haible  <bruno@clisp.org>
3123
3124         * lib/strftime.c (MEMPCPY): Remove unused macro.
3125         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
3126
3127 2009-01-18  Martin Lambers  <marlam@marlam.de>
3128
3129         New module 'link'.
3130         * lib/unistd.in.h (link): New declaration.
3131         * lib/link.c: New file.
3132         * m4/link.m4: New file.
3133         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
3134         HAVE_LINK.
3135         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
3136         * modules/link: New file.
3137         * doc/posix-functions/link.texi: Mention the new module.
3138
3139 2009-01-18  Bruno Haible  <bruno@clisp.org>
3140
3141         * tests/test-avltree_list.c (main): Call set_program_name.
3142         * tests/test-avltree_oset.c (main): Likewise.
3143         * tests/test-obstack-printf.c: Include progname.h.
3144         (main): Call set_program_name.
3145         * tests/test-quotearg.c: Include progname.h.
3146         (main): Call set_program_name.
3147         * tests/test-xmemdup0.c: Include progname.h.
3148         (main): Call set_program_name.
3149
3150 2009-01-18  Bruno Haible  <bruno@clisp.org>
3151
3152         New module 'alphasort'.
3153         * lib/dirent.in.h (alphasort): New declaration.
3154         * lib/alphasort.c: New file, from glibc with modifications.
3155         * m4/alphasort.m4: New file.
3156         * modules/alphasort: New file.
3157         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
3158         HAVE_ALPHASORT.
3159         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
3160         HAVE_ALPHASORT.
3161         * doc/posix-functions/alphasort.texi: Mention the new module and the
3162         portability problems.
3163
3164 2009-01-18  Bruno Haible  <bruno@clisp.org>
3165
3166         New module 'scandir'.
3167         * lib/dirent.in.h (scandir): New declaration.
3168         * lib/scandir.c: New file, from glibc with modifications.
3169         * m4/scandir.m4: New file.
3170         * modules/scandir: New file.
3171         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
3172         HAVE_SCANDIR.
3173         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
3174         HAVE_SCANDIR.
3175         * doc/posix-functions/scandir.texi: Mention the new module and the
3176         portability problems.
3177
3178 2009-01-17  Bruno Haible  <bruno@clisp.org>
3179
3180         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
3181         Update documentation.
3182         (func_remove_suffix): Escape all dots in the suffix. Update
3183         documentation.
3184         (func_filter_filelist): Update documentation.
3185         Reported by Ralf Wildenhues.
3186
3187 2009-01-17  Bruno Haible  <bruno@clisp.org>
3188
3189         * modules/dprintf-posix-tests: New file.
3190         * tests/test-dprintf-posix.sh: New file.
3191         * tests/test-dprintf-posix.c: New file.
3192
3193         New modules 'dprintf', 'dprintf-posix'.
3194         * lib/stdio.in.h (dprintf): New declaration.
3195         * lib/dprintf.c: New file.
3196         * m4/dprintf.m4: New file.
3197         * m4/dprintf-posix.m4: New file.
3198         * modules/dprintf: New file.
3199         * modules/dprintf-posix: New file.
3200         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
3201         HAVE_DPRINTF, REPLACE_DPRINTF.
3202         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
3203         HAVE_DPRINTF, REPLACE_DPRINTF.
3204         * doc/posix-functions/dprintf.texi: Mention the new modules.
3205
3206 2009-01-17  Bruno Haible  <bruno@clisp.org>
3207
3208         * modules/vdprintf-posix-tests: New file.
3209         * tests/test-vdprintf-posix.sh: New file.
3210         * tests/test-vdprintf-posix.c: New file.
3211
3212         New modules 'vdprintf', 'vdprintf-posix'.
3213         * lib/stdio.in.h (vdprintf): New declaration.
3214         * lib/vdprintf.c: New file.
3215         * m4/vdprintf.m4: New file.
3216         * m4/vdprintf-posix.m4: New file.
3217         * modules/vdprintf: New file.
3218         * modules/vdprintf-posix: New file.
3219         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
3220         HAVE_VDPRINTF, REPLACE_VDPRINTF.
3221         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
3222         HAVE_VDPRINTF, REPLACE_VDPRINTF.
3223         * doc/posix-functions/vdprintf.texi: Mention the new modules.
3224
3225 2009-01-17  Bruno Haible  <bruno@clisp.org>
3226
3227         Fix replacement of fopen on mingw.
3228         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
3229         mingw.
3230
3231 2009-01-17  Bruno Haible  <bruno@clisp.org>
3232
3233         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
3234         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
3235
3236 2009-01-17  Bruno Haible  <bruno@clisp.org>
3237
3238         Avoid test-fflush2.sh failure on mingw.
3239         * tests/test-fflush2.c: Include binary-io.h.
3240         (main): Put standard input into binary mode.
3241         * modules/fflush-tests (Depends-on): Add binary-io.
3242
3243 2009-01-17  Bruno Haible  <bruno@clisp.org>
3244
3245         * lib/wchar.in.h: In another particular situation, include only the
3246         system's <wchar.h> file.
3247         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
3248         Reported by Albert Chin-A-Young <china@thewrittenword.com>
3249         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
3250
3251 2009-01-17  Bruno Haible  <bruno@clisp.org>
3252
3253         Support for stripping executables in --enable-relocatable.
3254         * build-aux/install-reloc: Expect one more argument, or an environment
3255         variable RELOC_STRIP_PROG. If set, strip the destination program and
3256         its wrapper.
3257         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
3258         RELOC_STRIP_PROG.
3259         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
3260         to set RELOCATABLE_STRIP.
3261         * NEWS: Mention the new Makefile requirement.
3262
3263 2009-01-17  Bruno Haible  <bruno@clisp.org>
3264
3265         * build-aux/install-reloc: Remove debugging information left over by
3266         C compiler on MacOS X.
3267
3268 2009-01-17  Bruno Haible  <bruno@clisp.org>
3269
3270         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
3271         * lib/progreloc.c (find_executable): Fix type of pointer passed to
3272         _NSGetExecutablePath.
3273
3274 2009-01-16  Jim Meyering  <meyering@redhat.com>
3275
3276         strerror: avoid warnings about discarding "const"
3277         * lib/strerror.c (rpl_strerror): Instead of returning a const
3278         string from each and every "case", use a variable, and add a single
3279         cast after the switch.
3280
3281 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
3282
3283         * lib/arpa_inet.in.h: Add extern "C" block for C++.
3284
3285 2009-01-16  Bruno Haible  <bruno@clisp.org>
3286
3287         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
3288         array initializer syntax that also works in C++ mode.
3289         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
3290
3291 2009-01-16  Jim Meyering  <meyering@redhat.com>
3292
3293         poll: suppress a warning
3294         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
3295         to ignore "...unsigned expression < 0 is always false" warnings.
3296
3297 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
3298
3299         poll: remove declarations of unused variables
3300         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
3301         sockbuf and optlen.
3302
3303 2009-01-15  Bruno Haible  <bruno@clisp.org>
3304
3305         Make fflush-after-ungetc POSIX compliant on BSD systems.
3306         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
3307         (clear_ungetc_buffer): Implement also for other systems.
3308         (rpl_fflush): On glibc systems, invoke
3309         clear_ungetc_buffer_preserving_position. Otherwise, invoke
3310         clear_ungetc_buffer after fetching the stream's position, not before.
3311
3312 2009-01-15  Bruno Haible  <bruno@clisp.org>
3313
3314         Make fflush-after-ungetc POSIX compliant on glibc systems.
3315         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
3316         after ungetc.
3317         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
3318         (rpl_fflush): On glibc systems, simply call the system's fflush
3319         function after clearing the ungetc buffer.
3320         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
3321         Instead, lseek only to the end of file, then use the system's fseeko
3322         for the rest. On glibc systems, reset the EOF indicator bit.
3323
3324 2009-01-15  Jim Meyering  <meyering@redhat.com>
3325
3326         openmp.m4: revert quote-adding change, for portability to older autoconf
3327         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
3328         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
3329         Simon Josefsson noticed the problem when using autoconf-2.61.
3330
3331 2009-01-15  Bruno Haible  <bruno@clisp.org>
3332
3333         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
3334         * tests/test-fflush2.c (ASSERT): Always fail.
3335         (main): Add two tests for fflush() after ungetc(), taking into account
3336         the Austin Group's clarification.
3337         Suggested by Eric Blake.
3338
3339 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
3340
3341         mktime.m4: remove K&R-style function prototypes
3342         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
3343         for the Sun C++ compiler.
3344
3345 2009-01-14  Bruno Haible  <bruno@clisp.org>
3346
3347         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
3348         while including <wchar.h>.
3349         * lib/wchar.in.h: In two particular situations on HP-UX, include only
3350         the system's <wchar.h> file.
3351         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
3352
3353 2009-01-14  Bruno Haible  <bruno@clisp.org>
3354
3355         * m4/csharp.m4: Don't mention gettext on the serial number line.
3356         * m4/csharpexec.m4: Likewise.
3357         * m4/eaccess.m4: Likewise.
3358         * m4/javaexec.m4: Likewise.
3359         * m4/sig_atomic_t.m4: Likewise.
3360         * m4/tmpdir.m4: Likewise.
3361         * m4/intldir.m4: Bump gettext version.
3362         * m4/lib-ld.m4: Likewise.
3363
3364 2009-01-14  Bruno Haible  <bruno@clisp.org>
3365
3366         * lib/progname.c (set_program_name): Add more comments.
3367         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
3368
3369 2009-01-14  Simon Josefsson  <simon@josefsson.org>
3370
3371         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
3372         were sys/stat.h does not define it.
3373
3374 2009-01-14  Jim Meyering  <meyering@redhat.com>
3375
3376         many *.m4 files: improve m4 quoting
3377         99% of this change was performed by running the following commands:
3378         git ls-files | grep '\.m4$' | xargs perl -pi \
3379           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
3380           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
3381           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
3382           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
3383         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
3384         The remainder were to add Copyright dates, increment serial numbers,
3385         undo some changes in comments, exclude m4/intl.m4, and add quotes
3386         around the "1" in ",1" where the unusual spacing prohibited the
3387         above regexps from doing the job.  For more details, see
3388         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
3389         * m4/acl.m4: Modified.
3390         * m4/afs.m4: Likewise.
3391         * m4/alloca.m4: Likewise.
3392         * m4/argp.m4: Likewise.
3393         * m4/argz.m4: Likewise.
3394         * m4/atexit.m4: Likewise.
3395         * m4/bison-i18n.m4: Likewise.
3396         * m4/bison.m4: Likewise.
3397         * m4/byteswap.m4: Likewise.
3398         * m4/c-stack.m4: Likewise.
3399         * m4/c-strtod.m4: Likewise.
3400         * m4/calloc.m4: Likewise.
3401         * m4/canonicalize-lgpl.m4: Likewise.
3402         * m4/chown.m4: Likewise.
3403         * m4/clock_time.m4: Likewise.
3404         * m4/codeset.m4: Likewise.
3405         * m4/copy-file.m4: Likewise.
3406         * m4/csharp.m4: Likewise.
3407         * m4/csharpcomp.m4: Likewise.
3408         * m4/csharpexec.m4: Likewise.
3409         * m4/d-ino.m4: Likewise.
3410         * m4/d-type.m4: Likewise.
3411         * m4/dirfd.m4: Likewise.
3412         * m4/double-slash-root.m4: Likewise.
3413         * m4/eaccess.m4: Likewise.
3414         * m4/eealloc.m4: Likewise.
3415         * m4/environ.m4: Likewise.
3416         * m4/errno_h.m4: Likewise.
3417         * m4/euidaccess.m4: Likewise.
3418         * m4/execute.m4: Likewise.
3419         * m4/fatal-signal.m4: Likewise.
3420         * m4/fchdir.m4: Likewise.
3421         * m4/fcntl_h.m4: Likewise.
3422         * m4/fileblocks.m4: Likewise.
3423         * m4/filenamecat.m4: Likewise.
3424         * m4/findprog.m4: Likewise.
3425         * m4/flexmember.m4: Likewise.
3426         * m4/fnmatch.m4: Likewise.
3427         * m4/fopen.m4: Likewise.
3428         * m4/fpending.m4: Likewise.
3429         * m4/fprintf-posix.m4: Likewise.
3430         * m4/free.m4: Likewise.
3431         * m4/frexp.m4: Likewise.
3432         * m4/frexpl.m4: Likewise.
3433         * m4/fsusage.m4: Likewise.
3434         * m4/ftruncate.m4: Likewise.
3435         * m4/gc-camellia.m4: Likewise.
3436         * m4/gc-random.m4: Likewise.
3437         * m4/gc.m4: Likewise.
3438         * m4/getaddrinfo.m4: Likewise.
3439         * m4/getcwd-abort-bug.m4: Likewise.
3440         * m4/getcwd-path-max.m4: Likewise.
3441         * m4/getdate.m4: Likewise.
3442         * m4/getdomainname.m4: Likewise.
3443         * m4/getgroups.m4: Likewise.
3444         * m4/gethostname.m4: Likewise.
3445         * m4/gethrxtime.m4: Likewise.
3446         * m4/getline.m4: Likewise.
3447         * m4/getloadavg.m4: Likewise.
3448         * m4/getndelim2.m4: Likewise.
3449         * m4/getpass.m4: Likewise.
3450         * m4/gettext.m4: Likewise.
3451         * m4/gettime.m4: Likewise.
3452         * m4/gettimeofday.m4: Likewise.
3453         * m4/gnulib-common.m4: Likewise.
3454         * m4/group-member.m4: Likewise.
3455         * m4/host-os.m4: Likewise.
3456         * m4/iconv.m4: Likewise.
3457         * m4/iconv_open.m4: Likewise.
3458         * m4/inet_ntop.m4: Likewise.
3459         * m4/inet_pton.m4: Likewise.
3460         * m4/inline.m4: Likewise.
3461         * m4/intldir.m4: Likewise.
3462         * m4/intlmacosx.m4: Likewise.
3463         * m4/intmax.m4: Likewise.
3464         * m4/intmax_t.m4: Likewise.
3465         * m4/inttypes.m4: Likewise.
3466         * m4/inttypes_h.m4: Likewise.
3467         * m4/inttypes-pri.m4: Likewise.
3468         * m4/isapipe.m4: Likewise.
3469         * m4/isnand.m4: Likewise.
3470         * m4/isnanf.m4: Likewise.
3471         * m4/isnanl.m4: Likewise.
3472         * m4/javacomp.m4: Likewise.
3473         * m4/javaexec.m4: Likewise.
3474         * m4/jm-winsz1.m4: Likewise.
3475         * m4/jm-winsz2.m4: Likewise.
3476         * m4/lchown.m4: Likewise.
3477         * m4/lcmessage.m4: Likewise.
3478         * m4/ldexpl.m4: Likewise.
3479         * m4/lib-ld.m4: Likewise.
3480         * m4/lib-link.m4: Likewise.
3481         * m4/libsigsegv.m4: Likewise.
3482         * m4/link-follow.m4: Likewise.
3483         * m4/localcharset.m4: Likewise.
3484         * m4/locale-fr.m4: Likewise.
3485         * m4/locale-ja.m4: Likewise.
3486         * m4/locale-tr.m4: Likewise.
3487         * m4/locale-zh.m4: Likewise.
3488         * m4/lock.m4: Likewise.
3489         * m4/longlong.m4: Likewise.
3490         * m4/ls-mntd-fs.m4: Likewise.
3491         * m4/lstat.m4: Likewise.
3492         * m4/malloc.m4: Likewise.
3493         * m4/mathl.m4: Likewise.
3494         * m4/mbrtowc.m4: Likewise.
3495         * m4/mbstate_t.m4: Likewise.
3496         * m4/mbswidth.m4: Likewise.
3497         * m4/memchr.m4: Likewise.
3498         * m4/memcmp.m4: Likewise.
3499         * m4/memcpy.m4: Likewise.
3500         * m4/memmem.m4: Likewise.
3501         * m4/memmove.m4: Likewise.
3502         * m4/mempcpy.m4: Likewise.
3503         * m4/memrchr.m4: Likewise.
3504         * m4/memset.m4: Likewise.
3505         * m4/minmax.m4: Likewise.
3506         * m4/mkdir-slash.m4: Likewise.
3507         * m4/mkdtemp.m4: Likewise.
3508         * m4/mktime.m4: Likewise.
3509         * m4/mmap-anon.m4: Likewise.
3510         * m4/mountlist.m4: Likewise.
3511         * m4/nanosleep.m4: Likewise.
3512         * m4/nls.m4: Likewise.
3513         * m4/nocrash.m4: Likewise.
3514         * m4/open.m4: Likewise.
3515         * m4/openat.m4: Likewise.
3516         * m4/openmp.m4: Likewise.
3517         * m4/pathmax.m4: Likewise.
3518         * m4/perl.m4: Likewise.
3519         * m4/physmem.m4: Likewise.
3520         * m4/pipe.m4: Likewise.
3521         * m4/po.m4: Likewise.
3522         * m4/poll.m4: Likewise.
3523         * m4/posixtm.m4: Likewise.
3524         * m4/posixver.m4: Likewise.
3525         * m4/printf-frexp.m4: Likewise.
3526         * m4/printf-frexpl.m4: Likewise.
3527         * m4/printf-posix.m4: Likewise.
3528         * m4/printf-posix-rpl.m4: Likewise.
3529         * m4/printf.m4: Likewise.
3530         * m4/progtest.m4: Likewise.
3531         * m4/putenv.m4: Likewise.
3532         * m4/readline.m4: Likewise.
3533         * m4/readlink.m4: Likewise.
3534         * m4/readutmp.m4: Likewise.
3535         * m4/realloc.m4: Likewise.
3536         * m4/regex.m4: Likewise.
3537         * m4/relocatable.m4: Likewise.
3538         * m4/relocatable-lib.m4: Likewise.
3539         * m4/rename-dest-slash.m4: Likewise.
3540         * m4/rename.m4: Likewise.
3541         * m4/rmdir-errno.m4: Likewise.
3542         * m4/rmdir.m4: Likewise.
3543         * m4/roundf.m4: Likewise.
3544         * m4/roundl.m4: Likewise.
3545         * m4/rpmatch.m4: Likewise.
3546         * m4/save-cwd.m4: Likewise.
3547         * m4/selinux-selinux-h.m4: Likewise.
3548         * m4/setenv.m4: Likewise.
3549         * m4/settime.m4: Likewise.
3550         * m4/sig2str.m4: Likewise.
3551         * m4/sig_atomic_t.m4: Likewise.
3552         * m4/signalblocking.m4: Likewise.
3553         * m4/signbit.m4: Likewise.
3554         * m4/sigpipe.m4: Likewise.
3555         * m4/sockets.m4: Likewise.
3556         * m4/sockpfaf.m4: Likewise.
3557         * m4/st_dm_mode.m4: Likewise.
3558         * m4/stat-time.m4: Likewise.
3559         * m4/stdbool.m4: Likewise.
3560         * m4/stdint.m4: Likewise.
3561         * m4/stdint_h.m4: Likewise.
3562         * m4/stpcpy.m4: Likewise.
3563         * m4/stpncpy.m4: Likewise.
3564         * m4/strcase.m4: Likewise.
3565         * m4/strchrnul.m4: Likewise.
3566         * m4/strcspn.m4: Likewise.
3567         * m4/strdup.m4: Likewise.
3568         * m4/strftime.m4: Likewise.
3569         * m4/strndup.m4: Likewise.
3570         * m4/strnlen.m4: Likewise.
3571         * m4/strpbrk.m4: Likewise.
3572         * m4/strptime.m4: Likewise.
3573         * m4/strsep.m4: Likewise.
3574         * m4/strtod.m4: Likewise.
3575         * m4/strtoimax.m4: Likewise.
3576         * m4/strtok_r.m4: Likewise.
3577         * m4/strtol.m4: Likewise.
3578         * m4/strtoll.m4: Likewise.
3579         * m4/strtoul.m4: Likewise.
3580         * m4/strtoull.m4: Likewise.
3581         * m4/strtoumax.m4: Likewise.
3582         * m4/strverscmp.m4: Likewise.
3583         * m4/threadlib.m4: Likewise.
3584         * m4/timegm.m4: Likewise.
3585         * m4/tm_gmtoff.m4: Likewise.
3586         * m4/tmpdir.m4: Likewise.
3587         * m4/tmpfile.m4: Likewise.
3588         * m4/tzset.m4: Likewise.
3589         * m4/uintmax_t.m4: Likewise.
3590         * m4/unlinkdir.m4: Likewise.
3591         * m4/unlocked-io.m4: Likewise.
3592         * m4/uptime.m4: Likewise.
3593         * m4/userspec.m4: Likewise.
3594         * m4/utimbuf.m4: Likewise.
3595         * m4/utime.m4: Likewise.
3596         * m4/utimes-null.m4: Likewise.
3597         * m4/utimes.m4: Likewise.
3598         * m4/vararrays.m4: Likewise.
3599         * m4/vasnprintf.m4: Likewise.
3600         * m4/vfprintf-posix.m4: Likewise.
3601         * m4/vprintf-posix.m4: Likewise.
3602         * m4/wait-process.m4: Likewise.
3603         * m4/wchar_t.m4: Likewise.
3604         * m4/wint_t.m4: Likewise.
3605         * m4/write-any-file.m4: Likewise.
3606         * m4/yield.m4: Likewise.
3607
3608 2009-01-13  Bruno Haible  <bruno@clisp.org>
3609
3610         Avoid test-copy-file.sh failures when ACL support insufficient.
3611         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
3612         TESTS_ENVIRONMENT.
3613         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
3614         Reported by Jim Meyering.
3615
3616 2009-01-13  Bruno Haible  <bruno@clisp.org>
3617
3618         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
3619         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
3620         * modules/unistdio/u8-printf-parse (Files): Likewise.
3621         * modules/unistdio/u32-printf-parse (Files): Likewise.
3622         * modules/unistdio/ulc-printf-parse (Files): Likewise.
3623
3624 2009-01-13  Simon Josefsson  <simon@josefsson.org>
3625
3626         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
3627         and m4/inttypes_h.m4 too.
3628
3629 2009-01-12  Eric Blake  <ebb9@byu.net>
3630
3631         tests: IRIX 6.2 cc can't compile -0.0 into .data
3632         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
3633         rather than at compile-time.
3634         * tests/test-floorl.c (minus_zero): Likewise.
3635         * tests/test-frexpl.c (minus_zero): Likewise.
3636         * tests/test-isnan.c (minus_zerol): Likewise.
3637         * tests/test-isnanl.h (minus_zero): Likewise.
3638         * tests/test-ldexpl.c (minus_zero): Likewise.
3639         * tests/test-roundl.c (minus_zero): Likewise.
3640         * tests/test-signbit.c (minus_zerol): Likewise.
3641         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
3642         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
3643         * tests/test-truncl.c (minus_zero): Likewise.
3644         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
3645         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
3646         Reported by Tom G. Christensen and Nelson H. F. Beebe.
3647
3648 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
3649
3650         regex: fix glibc bug 9697
3651         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
3652         handling.
3653
3654 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
3655
3656         regex: fix glibc bug 697
3657         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
3658         being NULL also if there are no backreferences.
3659
3660 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
3661
3662         regex: merge glibc changes
3663         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
3664         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
3665         re_string_skip_chars, re_string_reconstruct): Likewise.
3666         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
3667
3668 2009-01-07  Jim Meyering  <meyering@redhat.com>
3669
3670         poll: filter through cppi
3671         * lib/poll.c: Indent cpp directives to reflect nesting.
3672
3673 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
3674
3675         poll: don't return uninitialized
3676         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
3677
3678 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
3679
3680         avoid compile failure on AIX 6.1
3681         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
3682         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
3683
3684 2009-01-04  Jim Meyering  <meyering@redhat.com>
3685
3686         remove duplicate inclusion of <stdio.h>
3687         * tests/test-fprintf-posix.c: Likewise.
3688         * tests/test-printf-posix.c: Likewise.
3689         * tests/test-snprintf-posix.c: Likewise.
3690         * tests/test-sprintf-posix.c: Likewise.
3691         * tests/test-vasprintf-posix.c: Likewise.
3692         * tests/test-vfprintf-posix.c: Likewise.
3693         * tests/test-vprintf-posix.c: Likewise.
3694         * tests/test-vsnprintf-posix.c: Likewise.
3695         * tests/test-vsprintf-posix.c: Likewise.
3696
3697 2009-01-03  Jim Meyering  <meyering@redhat.com>
3698
3699         gnulib-tool: fix sed-based filtering
3700         * gnulib-tool (func_filter_filelist): Remove extra backslash
3701         in sed_fff_filter definition.
3702
3703 2009-01-02  Jim Meyering  <meyering@redhat.com>
3704
3705         strftime: avoid compilation failure on Solaris 2.6
3706         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
3707         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
3708         Don't #define mbrlen or mbsinit, since now they're guaranteed to
3709         be available.  Reported by Tom G. Christensen.  Details in
3710         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
3711
3712 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3713             Bruno Haible  <bruno@clisp.org>
3714
3715         Speed up gnulib-tool by doing more string processing through shell
3716         built-ins.
3717         * gnulib-tool (fast_func_append): New variable.
3718         (func_remove_prefix, func_remove_suffix): New functions.
3719         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
3720         (func_filter_filelist): New function.
3721         (func_get_dependencies): Use func_remove_suffix instead of sed.
3722         (func_get_automake_snippet): Use func_filter_filelist instead of a
3723         subshell and sed invocation.
3724
3725 2009-01-01  Bruno Haible  <bruno@clisp.org>
3726
3727         Fix a security bug.
3728         * gnulib-tool (func_import, import, update): Don't allow the characters
3729         '"', '$', '`', '\' in macro arguments that become part of commands that
3730         are evaluated.
3731
3732 2009-01-01  Bruno Haible  <bruno@clisp.org>
3733
3734         * gnulib-tool (func_reset_sigpipe): Add more comments.
3735
3736 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3737
3738         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
3739         func_emit_tests_Makefile_am, func_import): Abort loops early if we
3740         already know the answer.
3741
3742 2009-01-01  Jim Meyering  <meyering@redhat.com>
3743
3744         * lib/version-etc.c (version_etc_va): Update copyright year.
3745
3746 2008-12-30  Bruno Haible  <bruno@clisp.org>
3747
3748         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
3749         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
3750         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
3751
3752 2008-12-29  Eric Blake  <ebb9@byu.net>
3753
3754         multiarch: avoid autoconf AC_REQUIRE bug
3755         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
3756         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
3757         2.63 and older.
3758         Reported by Bruno Haible, and analyzed in
3759         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
3760
3761 2008-12-29  Bruno Haible  <bruno@clisp.org>
3762
3763         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
3764         files in subdirectories correctly.
3765         Reported by Ralf Wildenhues.
3766
3767 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3768
3769         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
3770         rather than 'join FILE -', for Solaris join.
3771
3772 2008-12-29  Bruno Haible  <bruno@clisp.org>
3773
3774         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
3775         quoting.
3776         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
3777         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
3778         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
3779         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
3780         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
3781         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
3782         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
3783         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
3784         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
3785         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
3786         * m4/nls.m4 (AM_NLS): Likewise.
3787         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
3788         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
3789         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
3790         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
3791         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
3792         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
3793         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
3794         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
3795         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
3796         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
3797         * m4/xsize.m4 (gl_XSIZE): Likewise.
3798         Suggested by Jim Meyering.
3799
3800 2008-11-17  Bruce Korb  <bkorb@gnu.org>
3801
3802         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
3803         * lib/parse-duration.c: use a switch instead of cascading if's.
3804
3805 2008-12-29  Eric Blake  <ebb9@byu.net>
3806
3807         wchar.h: supply WEOF on Irix 5.3
3808         * lib/wchar.in.h (wint_t): Also supply WEOF.
3809         * lib/wctype.in.h (wint_t): Likewise.
3810         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
3811         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
3812         Reported by Tom G. Christensen.
3813
3814 2008-12-26  Bruno Haible  <bruno@clisp.org>
3815
3816         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
3817         i486, i586, i686.
3818
3819 2008-12-26  Bruno Haible  <bruno@clisp.org>
3820
3821         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
3822
3823 2008-12-26  Bruno Haible  <bruno@clisp.org>
3824
3825         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
3826         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
3827         not __STDC_CONSTANT_MACROS.
3828         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
3829
3830 2008-12-25  Bruno Haible  <bruno@clisp.org>
3831
3832         Add support for universal builds to vasnprintf.
3833         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
3834         universal builds, guess no.
3835         * modules/vasnprintf-posix (Depends-on): Add multiarch.
3836         * modules/vasprintf-posix (Depends-on): Likewise.
3837         * modules/fprintf-posix (Depends-on): Likewise.
3838         * modules/vfprintf-posix (Depends-on): Likewise.
3839         * modules/snprintf-posix (Depends-on): Likewise.
3840         * modules/vsnprintf-posix (Depends-on): Likewise.
3841         * modules/sprintf-posix (Depends-on): Likewise.
3842         * modules/vsprintf-posix (Depends-on): Likewise.
3843         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
3844         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
3845         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
3846         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
3847         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
3848         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
3849         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
3850
3851         Add support for universal builds to <inttypes.h>.
3852         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
3853         _SCNu64_PREFIX): In Apple
3854         universal builds, define directly, using _LP64.
3855         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
3856         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
3857         * modules/inttypes (Depends-on): Add multiarch.
3858         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
3859
3860         Add support for universal builds to <stdint.h>.
3861         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
3862         universal builds, define directly, using _LP64.
3863         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
3864         Apple universal builds, don't test for the size and suffix of ptrdiff_t
3865         and size_t.
3866         * modules/stdint (Depends-on): Add multiarch.
3867         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
3868
3869         New module 'multiarch'.
3870         * modules/multiarch: New file.
3871         * m4/multiarch.m4: New file.
3872
3873 2008-12-25  Bruno Haible  <bruno@clisp.org>
3874
3875         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
3876
3877 2008-12-25  Bruno Haible  <bruno@clisp.org>
3878
3879         * modules/btowc (License): Relicense under LGPLv2+.
3880         * modules/mbsinit (License): Likewise.
3881         * modules/mbrtowc (License): Likewise.
3882         * modules/wcrtomb (License): Likewise.
3883         * modules/streq (License): Likewise.
3884         Reported by David Lutterkort <lutter@redhat.com>.
3885
3886 2008-12-23  Bruno Haible  <bruno@clisp.org>
3887
3888         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
3889
3890 2008-12-23  Bruno Haible  <bruno@clisp.org>
3891
3892         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
3893         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
3894         GETADDRINFO_LIB, not in LIBS.
3895         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
3896         * modules/canon-host (Link): Likewise.
3897         * NEWS: Mention the change.
3898         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
3899         GETADDRINFO_LIB.
3900
3901 2008-12-22  Bruno Haible  <bruno@clisp.org>
3902
3903         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
3904         * doc/posix-functions/iswalpha_l.texi: Likewise.
3905         * doc/posix-functions/iswblank_l.texi: Likewise.
3906         * doc/posix-functions/iswcntrl_l.texi: Likewise.
3907         * doc/posix-functions/iswctype_l.texi: Likewise.
3908         * doc/posix-functions/iswdigit_l.texi: Likewise.
3909         * doc/posix-functions/iswgraph_l.texi: Likewise.
3910         * doc/posix-functions/iswlower_l.texi: Likewise.
3911         * doc/posix-functions/iswprint_l.texi: Likewise.
3912         * doc/posix-functions/iswpunct_l.texi: Likewise.
3913         * doc/posix-functions/iswspace_l.texi: Likewise.
3914         * doc/posix-functions/iswupper_l.texi: Likewise.
3915         * doc/posix-functions/iswxdigit_l.texi: Likewise.
3916         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
3917         * doc/posix-functions/open_wmemstream.texi: Likewise.
3918         * doc/posix-functions/swscanf.texi: Likewise.
3919         * doc/posix-functions/towctrans_l.texi: Likewise.
3920         * doc/posix-functions/towlower.texi: Likewise.
3921         * doc/posix-functions/towlower_l.texi: Likewise.
3922         * doc/posix-functions/towupper.texi: Likewise.
3923         * doc/posix-functions/towupper_l.texi: Likewise.
3924         * doc/posix-functions/vfwprintf.texi: Likewise.
3925         * doc/posix-functions/vfwscanf.texi: Likewise.
3926         * doc/posix-functions/vswscanf.texi: Likewise.
3927         * doc/posix-functions/vwprintf.texi: Likewise.
3928         * doc/posix-functions/vwscanf.texi: Likewise.
3929         * doc/posix-functions/wcpcpy.texi: Likewise.
3930         * doc/posix-functions/wcpncpy.texi: Likewise.
3931         * doc/posix-functions/wcscasecmp.texi: Likewise.
3932         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
3933         * doc/posix-functions/wcscoll_l.texi: Likewise.
3934         * doc/posix-functions/wcsdup.texi: Likewise.
3935         * doc/posix-functions/wcsncasecmp.texi: Likewise.
3936         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
3937         * doc/posix-functions/wcsnlen.texi: Likewise.
3938         * doc/posix-functions/wcsnrtombs.texi: Likewise.
3939         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
3940         * doc/posix-functions/wctrans_l.texi: Likewise.
3941         * doc/posix-functions/wctype_l.texi: Likewise.
3942         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
3943         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
3944         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
3945         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
3946         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
3947         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
3948         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
3949         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
3950         * doc/glibc-functions/wcschrnul.texi: Likewise.
3951         * doc/glibc-functions/wcsftime_l.texi: Likewise.
3952         * doc/glibc-functions/wcstod_l.texi: Likewise.
3953         * doc/glibc-functions/wcstof_l.texi: Likewise.
3954         * doc/glibc-functions/wcstol_l.texi: Likewise.
3955         * doc/glibc-functions/wcstold_l.texi: Likewise.
3956         * doc/glibc-functions/wcstoll_l.texi: Likewise.
3957         * doc/glibc-functions/wcstoq.texi: Likewise.
3958         * doc/glibc-functions/wcstoul_l.texi: Likewise.
3959         * doc/glibc-functions/wcstoull_l.texi: Likewise.
3960         * doc/glibc-functions/wcstouq.texi: Likewise.
3961         * doc/glibc-functions/wmempcpy.texi: Likewise.
3962
3963 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
3964             Eric Blake  <ebb9@byu.net>
3965             Paolo Bonzini  <bonzini@gnu.org>
3966             Bruno Haible  <bruno@clisp.org>
3967
3968         Make c-stack work on Haiku.
3969         * lib/c-stack.c (SA_ONSTACK): Define fallback.
3970         (c_stack_action): Use SA_ONSTACK flag.
3971
3972 2008-12-22  Bruno Haible  <bruno@clisp.org>
3973
3974         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
3975
3976 2008-12-22  Bruno Haible  <bruno@clisp.org>
3977
3978         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
3979         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
3980         being overridden.
3981         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
3982         New macros.
3983         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
3984         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
3985         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
3986         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
3987
3988 2008-12-22  Bruno Haible  <bruno@clisp.org>
3989
3990         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
3991         from test code.
3992
3993 2008-12-22  Eric Blake  <ebb9@byu.net>
3994
3995         Avoid gcc warnings on cygwin.
3996         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
3997         Avoid unused variable.
3998         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
3999         Likewise.
4000
4001 2008-12-22  Bruno Haible  <bruno@clisp.org>
4002
4003         Remove HAVE_MBRTOWC conditionals.
4004         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
4005         (mbscasecmp): Assume mbrtowc function.
4006         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
4007         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
4008         * lib/mbschr.c: Include mbuiter.h unconditionally.
4009         (mbschr): Assume mbrtowc function.
4010         * lib/mbscspn.c: Include mbuiter.h unconditionally.
4011         (mbscspn): Assume mbrtowc function.
4012         * lib/mbslen.c: Include mbuiter.h unconditionally.
4013         (mbslen): Assume mbrtowc function.
4014         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
4015         (mbsncasecmp): Assume mbrtowc function.
4016         * lib/mbsnlen.c: Include mbiter.h unconditionally.
4017         (mbsnlen): Assume mbrtowc function.
4018         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
4019         (mbspbrk): Assume mbrtowc function.
4020         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
4021         (mbspcasecmp): Assume mbrtowc function.
4022         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
4023         (mbsrchr): Assume mbrtowc function.
4024         * lib/mbssep.c: Include mbuiter.h unconditionally.
4025         (mbssep): Assume mbrtowc function.
4026         * lib/mbsspn.c: Include mbuiter.h unconditionally.
4027         (mbsspn): Assume mbrtowc function.
4028         * lib/mbsstr.c: Include mbuiter.h unconditionally.
4029         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
4030         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
4031         (mbstok_r): Assume mbrtowc function.
4032         * lib/propername.c: Include mbuiter.h unconditionally.
4033         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
4034         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
4035         (trim2): Assume mbrtowc function.
4036         * lib/mbswidth.c (mbsinit): Remove fallback definition.
4037         (mbsnwidth): Assume mbrtowc function.
4038         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
4039         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
4040         fallback definitions.
4041         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
4042
4043 2008-12-22  Bruno Haible  <bruno@clisp.org>
4044
4045         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
4046
4047 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
4048
4049         * modules/regex: Request emulations for the mb*/wc* functions we need.
4050         * m4/regex.m4: Don't look for those functions here.
4051         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
4052
4053 2008-12-22  Bruno Haible  <bruno@clisp.org>
4054
4055         * modules/fnmatch (Depends-on): Remove duplicated dependency.
4056
4057 2008-12-21  Bruno Haible  <bruno@clisp.org>
4058
4059         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
4060         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
4061         (Include): Remove conditionalization.
4062         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
4063         (Include): Remove conditionalization.
4064         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
4065         (Include): Remove conditionalization.
4066         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
4067         * m4/mbfile.m4 (gl_MBFILE): Likewise.
4068         * NEWS: Mention the change.
4069         Reported by Alan Hourihane <alanh@fairlite.co.uk>
4070         via Sergey Poznyakoff <gray@gnu.org.ua>.
4071
4072 2008-12-21  Bruno Haible  <bruno@clisp.org>
4073
4074         * MODULES.html.sh (Extended multibyte and wide character utilities
4075         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
4076         wcrtomb, wcsrtombs.
4077         (Support for systems lacking POSIX:2008): Add accept, bind, close,
4078         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
4079         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
4080         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
4081
4082 2008-12-21  Bruno Haible  <bruno@clisp.org>
4083
4084         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
4085
4086 2008-12-21  Bruno Haible  <bruno@clisp.org>
4087
4088         * modules/wcsnrtombs-tests: New file.
4089         * tests/test-wcsnrtombs1.sh: New file.
4090         * tests/test-wcsnrtombs2.sh: New file.
4091         * tests/test-wcsnrtombs3.sh: New file.
4092         * tests/test-wcsnrtombs4.sh: New file.
4093         * tests/test-wcsnrtombs.c: New file.
4094
4095         New module 'wcsnrtombs'.
4096         * lib/wchar.in.h (wcsnrtombs): New declaration.
4097         * lib/wcsnrtombs.c: New file.
4098         * lib/wcsrtombs-state.c: New file.
4099         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
4100         (internal_state): Remove variable.
4101         * m4/wcsnrtombs.m4: New file.
4102         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
4103         compilation units.
4104         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
4105         HAVE_WCSNRTOMBS.
4106         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
4107         HAVE_WCSNRTOMBS.
4108         * modules/wcsnrtombs: New file.
4109         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
4110         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
4111
4112 2008-12-21  Bruno Haible  <bruno@clisp.org>
4113
4114         * modules/wcsrtombs-tests: New file.
4115         * tests/test-wcsrtombs1.sh: New file.
4116         * tests/test-wcsrtombs2.sh: New file.
4117         * tests/test-wcsrtombs3.sh: New file.
4118         * tests/test-wcsrtombs4.sh: New file.
4119         * tests/test-wcsrtombs.c: New file.
4120
4121         New module 'wcsrtombs'.
4122         * lib/wchar.in.h (wcsrtombs): New declaration.
4123         * lib/wcsrtombs.c: New file.
4124         * m4/wcsrtombs.m4: New file.
4125         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
4126         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
4127         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
4128         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
4129         * modules/wcsrtombs: New file.
4130         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
4131         bugs.
4132
4133 2008-12-21  Bruno Haible  <bruno@clisp.org>
4134
4135         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
4136         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
4137         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
4138         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
4139         if not correct.
4140         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
4141         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
4142         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
4143         m4/locale-zh.m4, m4/codeset.m4.
4144         * doc/posix-functions/wcrtomb.texi: Document the bug.
4145
4146 2008-12-21  Bruno Haible  <bruno@clisp.org>
4147
4148         Work around a btowc() bug on IRIX 6.5.
4149         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
4150         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
4151         REPLACE_WTOBC if not.
4152         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
4153         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
4154         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
4155
4156 2008-12-21  Bruno Haible  <bruno@clisp.org>
4157
4158         * modules/wcrtomb-tests: New file.
4159         * tests/test-wcrtomb.sh: New file.
4160         * tests/test-wcrtomb.c: New file.
4161
4162         New module 'wcrtomb'.
4163         * lib/wchar.in.h (wcrtomb): New declaration.
4164         * lib/wcrtomb.c: New file.
4165         * m4/wcrtomb.m4: New file.
4166         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
4167         HAVE_WCRTOMB.
4168         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
4169         HAVE_WCRTOMB.
4170         * modules/wcrtomb: New file.
4171         * doc/posix-functions/wcrtomb.texi: Mention the new module.
4172
4173 2008-12-21  Bruno Haible  <bruno@clisp.org>
4174
4175         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
4176         * modules/mbsrtowcs (Files): Likewise.
4177         * modules/wctob (Files): Likewise.
4178         * modules/c-strcase-tests (Files): Likewise.
4179         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
4180         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
4181         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
4182         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
4183         * modules/vasnprintf-posix-tests (Files): Likewise.
4184
4185 2008-12-21  William Pursell  <bill.pursell@gmail.com>
4186
4187         gitlog-to-changelog: pass all command-line arguments to git-log
4188         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
4189         it is sometimes convenient to filter the commits in various ways.
4190         gitlog-to-changelog only allows --since to specify a start date,
4191         but git-log itself supports many other filtering mechanisms.
4192         At the moment, I want to filter by branch name.  Rather than
4193         adding a --branch option to gitlog-to-changelog, it seems more
4194         flexible to simply pass all options directly to git-log and let
4195         git do the work.  Notice that this effectively makes --since a
4196         redundant option for gitlog-to-changelog, but removing it would
4197         require current usage to change since calls would then require
4198         an additional '--'.
4199
4200 2008-12-21  Bruno Haible  <bruno@clisp.org>
4201
4202         * modules/mbsnrtowcs-tests: New file.
4203         * tests/test-mbsnrtowcs1.sh: New file.
4204         * tests/test-mbsnrtowcs2.sh: New file.
4205         * tests/test-mbsnrtowcs3.sh: New file.
4206         * tests/test-mbsnrtowcs4.sh: New file.
4207         * tests/test-mbsnrtowcs.c: New file.
4208
4209         New module 'mbsnrtowcs'.
4210         * lib/wchar.in.h (mbsnrtowcs): New declaration.
4211         * lib/mbsnrtowcs.c: New file.
4212         * lib/mbsrtowcs-state.c: New file.
4213         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
4214         (internal_state): Remove variable.
4215         * m4/mbsnrtowcs.m4: New file.
4216         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
4217         compilation units.
4218         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
4219         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
4220         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
4221         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
4222         * modules/mbsnrtowcs: New file.
4223         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
4224         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
4225         portability problem.
4226
4227 2008-12-21  Bruno Haible  <bruno@clisp.org>
4228
4229         Work around mbsrtowcs bug.
4230         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
4231         (gl_FUNC_MBSRTOWCS): Invoke it.
4232         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
4233         m4/locale-zh.m4.
4234         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
4235
4236 2008-12-21  Bruno Haible  <bruno@clisp.org>
4237
4238         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
4239
4240 2008-12-21  Bruno Haible  <bruno@clisp.org>
4241
4242         Update doc for AIX.
4243         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
4244         16-bit wchar_t type.
4245         * doc/posix-functions/btowc.texi: Likewise.
4246         * doc/posix-functions/fgetwc.texi: Likewise.
4247         * doc/posix-functions/fgetws.texi: Likewise.
4248         * doc/posix-functions/fputwc.texi: Likewise.
4249         * doc/posix-functions/fputws.texi: Likewise.
4250         * doc/posix-functions/fwide.texi: Likewise.
4251         * doc/posix-functions/fwprintf.texi: Likewise.
4252         * doc/posix-functions/fwscanf.texi: Likewise.
4253         * doc/posix-functions/getwchar.texi: Likewise.
4254         * doc/posix-functions/getwc.texi: Likewise.
4255         * doc/posix-functions/iswalnum.texi: Likewise.
4256         * doc/posix-functions/iswalpha.texi: Likewise.
4257         * doc/posix-functions/iswblank.texi: Likewise.
4258         * doc/posix-functions/iswcntrl.texi: Likewise.
4259         * doc/posix-functions/iswctype.texi: Likewise.
4260         * doc/posix-functions/iswdigit.texi: Likewise.
4261         * doc/posix-functions/iswgraph.texi: Likewise.
4262         * doc/posix-functions/iswlower.texi: Likewise.
4263         * doc/posix-functions/iswprint.texi: Likewise.
4264         * doc/posix-functions/iswpunct.texi: Likewise.
4265         * doc/posix-functions/iswspace.texi: Likewise.
4266         * doc/posix-functions/iswupper.texi: Likewise.
4267         * doc/posix-functions/iswxdigit.texi: Likewise.
4268         * doc/posix-functions/mbrtowc.texi: Likewise.
4269         * doc/posix-functions/mbsrtowcs.texi: Likewise.
4270         * doc/posix-functions/mbstowcs.texi: Likewise.
4271         * doc/posix-functions/mbtowc.texi: Likewise.
4272         * doc/posix-functions/putwchar.texi: Likewise.
4273         * doc/posix-functions/putwc.texi: Likewise.
4274         * doc/posix-functions/swprintf.texi: Likewise.
4275         * doc/posix-functions/tolower.texi: Likewise.
4276         * doc/posix-functions/toupper.texi: Likewise.
4277         * doc/posix-functions/towctrans.texi: Likewise.
4278         * doc/posix-functions/ungetwc.texi: Likewise.
4279         * doc/posix-functions/vswprintf.texi: Likewise.
4280         * doc/posix-functions/wcrtomb.texi: Likewise.
4281         * doc/posix-functions/wcscat.texi: Likewise.
4282         * doc/posix-functions/wcschr.texi: Likewise.
4283         * doc/posix-functions/wcscmp.texi: Likewise.
4284         * doc/posix-functions/wcscoll.texi: Likewise.
4285         * doc/posix-functions/wcscpy.texi: Likewise.
4286         * doc/posix-functions/wcscspn.texi: Likewise.
4287         * doc/posix-functions/wcsftime.texi: Likewise.
4288         * doc/posix-functions/wcslen.texi: Likewise.
4289         * doc/posix-functions/wcsncat.texi: Likewise.
4290         * doc/posix-functions/wcsncmp.texi: Likewise.
4291         * doc/posix-functions/wcsncpy.texi: Likewise.
4292         * doc/posix-functions/wcspbrk.texi: Likewise.
4293         * doc/posix-functions/wcsrchr.texi: Likewise.
4294         * doc/posix-functions/wcsrtombs.texi: Likewise.
4295         * doc/posix-functions/wcsspn.texi: Likewise.
4296         * doc/posix-functions/wcsstr.texi: Likewise.
4297         * doc/posix-functions/wcstod.texi: Likewise.
4298         * doc/posix-functions/wcstof.texi: Likewise.
4299         * doc/posix-functions/wcstoimax.texi: Likewise.
4300         * doc/posix-functions/wcstok.texi: Likewise.
4301         * doc/posix-functions/wcstold.texi: Likewise.
4302         * doc/posix-functions/wcstoll.texi: Likewise.
4303         * doc/posix-functions/wcstol.texi: Likewise.
4304         * doc/posix-functions/wcstombs.texi: Likewise.
4305         * doc/posix-functions/wcstoull.texi: Likewise.
4306         * doc/posix-functions/wcstoul.texi: Likewise.
4307         * doc/posix-functions/wcstoumax.texi: Likewise.
4308         * doc/posix-functions/wcswidth.texi: Likewise.
4309         * doc/posix-functions/wcsxfrm.texi: Likewise.
4310         * doc/posix-functions/wctob.texi: Likewise.
4311         * doc/posix-functions/wctomb.texi: Likewise.
4312         * doc/posix-functions/wctrans.texi: Likewise.
4313         * doc/posix-functions/wctype.texi: Likewise.
4314         * doc/posix-functions/wcwidth.texi: Likewise.
4315         * doc/posix-functions/wmemchr.texi: Likewise.
4316         * doc/posix-functions/wmemcmp.texi: Likewise.
4317         * doc/posix-functions/wmemcpy.texi: Likewise.
4318         * doc/posix-functions/wmemmove.texi: Likewise.
4319         * doc/posix-functions/wmemset.texi: Likewise.
4320         * doc/posix-functions/wprintf.texi: Likewise.
4321         * doc/posix-functions/wscanf.texi: Likewise.
4322
4323 2008-12-21  Bruno Haible  <bruno@clisp.org>
4324
4325         Update doc for HP-UX 11.11.
4326         * doc/posix-functions/btowc.texi: Clarify that the function is missing
4327         in HP-UX version 11.00, not in all versions of HP-UX 11.
4328         * doc/posix-functions/fwide.texi: Likewise.
4329         * doc/posix-functions/fwprintf.texi: Likewise.
4330         * doc/posix-functions/fwscanf.texi: Likewise.
4331         * doc/posix-functions/inet_ntop.texi: Likewise.
4332         * doc/posix-functions/inet_pton.texi: Likewise.
4333         * doc/posix-functions/mbrlen.texi: Likewise.
4334         * doc/posix-functions/mbrtowc.texi: Likewise.
4335         * doc/posix-functions/mbsinit.texi: Likewise.
4336         * doc/posix-functions/mbsrtowcs.texi: Likewise.
4337         * doc/posix-functions/swprintf.texi: Likewise.
4338         * doc/posix-functions/swscanf.texi: Likewise.
4339         * doc/posix-functions/towctrans.texi: Likewise.
4340         * doc/posix-functions/vfwprintf.texi: Likewise.
4341         * doc/posix-functions/vswprintf.texi: Likewise.
4342         * doc/posix-functions/vwprintf.texi: Likewise.
4343         * doc/posix-functions/wcrtomb.texi: Likewise.
4344         * doc/posix-functions/wcsrtombs.texi: Likewise.
4345         * doc/posix-functions/wcsstr.texi: Likewise.
4346         * doc/posix-functions/wctob.texi: Likewise.
4347         * doc/posix-functions/wctrans.texi: Likewise.
4348         * doc/posix-functions/wmemchr.texi: Likewise.
4349         * doc/posix-functions/wmemcmp.texi: Likewise.
4350         * doc/posix-functions/wmemcpy.texi: Likewise.
4351         * doc/posix-functions/wmemmove.texi: Likewise.
4352         * doc/posix-functions/wmemset.texi: Likewise.
4353         * doc/posix-functions/wprintf.texi: Likewise.
4354         * doc/posix-functions/wscanf.texi: Likewise.
4355
4356 2008-12-21  Bruno Haible  <bruno@clisp.org>
4357
4358         Work around a portability problem.
4359         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
4360         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
4361
4362 2008-12-20  Bruno Haible  <bruno@clisp.org>
4363
4364         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
4365         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
4366         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
4367         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
4368         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
4369
4370         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
4371         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
4372         set.
4373         (GNULIB_defined_mbstate_t): New macro.
4374         (mbsinit): Redefine if REPLACE_MBSINIT is set.
4375         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
4376         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
4377         reuses the system's mbrtowc function but works around the bugs.
4378         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
4379         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
4380         macros.
4381         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
4382         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
4383         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
4384         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
4385         REPLACE_MBSINIT if mbsinit needs to be overridden.
4386         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
4387         REPLACE_MBSINIT, REPLACE_MBRTOWC.
4388         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
4389         REPLACE_MBSINIT, REPLACE_MBRTOWC.
4390         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
4391         m4/locale-zh.m4.
4392         (Depends): Add mbsinit.
4393         * modules/mbsinit (Depends): Add mbrtowc.
4394         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
4395
4396 2008-12-20  Bruno Haible  <bruno@clisp.org>
4397
4398         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
4399         so that there are no conversion errors on AIX.
4400         * tests/test-mbsrtowcs.c (main): LIkewise.
4401
4402 2008-12-20  Bruno Haible  <bruno@clisp.org>
4403
4404         Work around wctob bug on Solaris <= 9.
4405         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
4406         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
4407         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
4408         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
4409         * modules/wctob (Files): Add m4/locale-fr.m4.
4410         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
4411
4412 2008-12-20  Bruno Haible  <bruno@clisp.org>
4413
4414         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
4415         /dev/null.
4416         * tests/test-select-in.sh: Likewise.
4417         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4418
4419 2008-12-20  Bruno Haible  <bruno@clisp.org>
4420
4421         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
4422         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
4423         Cygwin 1.5.x.
4424
4425 2008-12-20  Bruno Haible  <bruno@clisp.org>
4426
4427         Ensure mbstate_t is defined on HP-UX 11.11.
4428         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
4429         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
4430         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
4431         AC_USE_SYSTEM_EXTENSIONS.
4432         * modules/fnmatch (Depends-on): Add extensions.
4433         * modules/mbrlen (Depends-on): Likewise.
4434         * modules/mbrtowc (Depends-on): Likewise.
4435         * modules/mbsinit (Depends-on): Likewise.
4436         * modules/mbsrtowcs (Depends-on): Likewise.
4437         * modules/mbswidth (Depends-on): Likewise.
4438         * modules/quotearg (Depends-on): Likewise.
4439         * modules/strftime (Depends-on): Likewise.
4440
4441 2008-12-20  Bruno Haible  <bruno@clisp.org>
4442
4443         Ensure wctob is declared on IRIX 6.5.
4444         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
4445         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
4446         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
4447         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
4448         of HAVE_WCTOB.
4449         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
4450         HAVE_WCTOB.
4451         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
4452
4453 2008-12-19  Bruno Haible  <bruno@clisp.org>
4454
4455         * modules/mbsrtowcs-tests: New file.
4456         * tests/test-mbsrtowcs1.sh: New file.
4457         * tests/test-mbsrtowcs2.sh: New file.
4458         * tests/test-mbsrtowcs3.sh: New file.
4459         * tests/test-mbsrtowcs4.sh: New file.
4460         * tests/test-mbsrtowcs.c: New file.
4461
4462         New module 'mbsrtowcs'.
4463         * lib/wchar.in.h (mbsrtowcs): New declaration.
4464         * lib/mbsrtowcs.c: New file.
4465         * m4/mbsrtowcs.m4: New file.
4466         * modules/mbsrtowcs: New file.
4467         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
4468         HAVE_MBSRTOWCS.
4469         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
4470         HAVE_MBSRTOWCS.
4471         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
4472
4473 2008-12-19  Bruno Haible  <bruno@clisp.org>
4474
4475         New module 'mbrlen'.
4476         * lib/wchar.in.h (mbrlen): New declaration.
4477         * lib/mbrlen.c: New file.
4478         * m4/mbrlen.m4: New file.
4479         * modules/mbrlen: New file.
4480         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
4481         HAVE_MBRLEN.
4482         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
4483         HAVE_MBRLEN.
4484         * doc/posix-functions/mbrlen.texi: Document the new module.
4485
4486 2008-12-19  Bruno Haible  <bruno@clisp.org>
4487
4488         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
4489         * modules/mbrtowc (Depends-on): Add verify.
4490         Suggested by Paul Eggert.
4491
4492 2008-12-18  Bruno Haible  <bruno@clisp.org>
4493
4494         * modules/mbsinit-tests: New file.
4495         * tests/test-mbsinit.sh: New file.
4496         * tests/test-mbsinit.c: New file.
4497
4498 2008-12-18  Bruno Haible  <bruno@clisp.org>
4499
4500         * modules/mbrtowc-tests: New file.
4501         * tests/test-mbrtowc1.sh: New file.
4502         * tests/test-mbrtowc2.sh: New file.
4503         * tests/test-mbrtowc3.sh: New file.
4504         * tests/test-mbrtowc4.sh: New file.
4505         * tests/test-mbrtowc.c: New file.
4506
4507         New module 'mbrtowc'.
4508         * lib/wchar.in.h (mbstate_t): Override when the system does not have
4509         mbsinit and mbrtowc.
4510         (mbrtowc): New declaration.
4511         * lib/mbrtowc.c: New file.
4512         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
4513         * modules/mbrtowc: New file.
4514         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
4515         HAVE_MBRTOWC.
4516         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
4517         HAVE_MBRTOWC.
4518         * doc/posix-functions/mbrtowc.texi: Document the new module.
4519
4520 2008-12-18  Bruno Haible  <bruno@clisp.org>
4521
4522         New module 'wctob'.
4523         * lib/wchar.in.h (wctob): New declaration.
4524         * lib/wctob.c: New file.
4525         * m4/wctob.m4: New file.
4526         * modules/wctob: New file.
4527         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
4528         HAVE_WCTOB.
4529         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
4530         * doc/posix-functions/wctob.texi: Document the new module.
4531
4532 2008-12-18  Bruno Haible  <bruno@clisp.org>
4533
4534         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
4535         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
4536
4537 2008-12-18  Simon Josefsson  <simon@josefsson.org>
4538
4539         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
4540         G. Christensen" <tgc@jupiterrise.com>.
4541
4542         * lib/flock.c: Need to include errno.h.  Reported by "Tom
4543         G. Christensen" <tgc@jupiterrise.com>.
4544
4545         * lib/flock.c: Need to include string.h.  Reported by "Tom
4546         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
4547         <ebb9@byu.net>.
4548
4549 2008-12-18  Bruno Haible  <bruno@clisp.org>
4550
4551         * m4/locale-ja.m4: New file, from GNU gettext.
4552
4553 2008-12-17  Bruno Haible  <bruno@clisp.org>
4554
4555         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
4556         Suggested by Eric Blake.
4557
4558 2008-12-17  Bruno Haible  <bruno@clisp.org>
4559
4560         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
4561
4562 2008-12-17  Bruno Haible  <bruno@clisp.org>
4563
4564         * lib/mbsinit.c: Include verify.h. Verify an assumption.
4565         * modules/mbsinit (Depends-on): Add verify.
4566         Suggested by Paul Eggert.
4567
4568 2008-12-17  Bruno Haible  <bruno@clisp.org>
4569
4570         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
4571         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
4572         gl_FUNC_MBRTOWC.
4573         * m4/mbiter.m4 (gl_MBITER): LIkewise.
4574         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
4575         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
4576         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
4577         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
4578         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
4579         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
4580         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
4581         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
4582         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
4583         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
4584         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
4585         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
4586         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
4587         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
4588         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
4589         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
4590         * modules/trim (configure.ac): Likewise.
4591
4592 2008-12-17  Bruno Haible  <bruno@clisp.org>
4593
4594         * modules/btowc-tests: New file.
4595         * tests/test-btowc1.sh: New file.
4596         * tests/test-btowc2.sh: New file.
4597         * tests/test-btowc.c: New file.
4598
4599         New module 'btowc'.
4600         * lib/wchar.in.h (btowc): New declaration.
4601         * lib/btowc.c: New file.
4602         * m4/btowc.m4: New file.
4603         * modules/btowc: New file.
4604         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
4605         HAVE_BTOWC.
4606         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
4607         * doc/posix-functions/btowc.texi: Document the new module.
4608
4609 2008-12-17  Bruno Haible  <bruno@clisp.org>
4610
4611         New module 'mbsinit'.
4612         * lib/wchar.in.h (mbsinit): New declaration.
4613         * lib/mbsinit.c: New file.
4614         * m4/mbsinit.m4: New file.
4615         * modules/mbsinit: New file.
4616         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
4617         HAVE_MBSINIT.
4618         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
4619         HAVE_MBSINIT.
4620         * doc/posix-functions/mbsinit.texi: Document the new module.
4621
4622 2008-12-16  Bruno Haible  <bruno@clisp.org>
4623
4624         * lib/unistd.in.h: Add comment.
4625         * tests/test-environ.c: Don't include <stdlib.h>.
4626
4627 2008-12-16  Bruno Haible  <bruno@clisp.org>
4628
4629         * lib/parse-duration.h (parse_duration): Document return value
4630         convention.
4631         * lib/parse-duration.c: Include specification header first. Add
4632         comments.
4633         (_): Remove macro.
4634         (parse_year_month_day, parse_hour_minute_second): Move side effects
4635         outside of strchr call.
4636         (parse_non_iso8601): Move side effects outside of isspace call.
4637         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
4638         call.
4639
4640 2008-12-16  Bruno Haible  <bruno@clisp.org>
4641
4642         * tests/test-parse-duration.sh: Produce no output when the test
4643         succeeds.
4644
4645 2008-12-16  Bruno Haible  <bruno@clisp.org>
4646
4647         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
4648         expressions.
4649
4650 2008-12-15  Bruno Haible  <bruno@clisp.org>
4651
4652         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
4653         * doc/glibc-functions/flistxattr.texi: Likewise.
4654         * doc/glibc-functions/fopencookie.texi: Likewise.
4655         * doc/glibc-functions/fremovexattr.texi: Likewise.
4656         * doc/glibc-functions/fsetxattr.texi: Likewise.
4657         * doc/glibc-functions/getxattr.texi: Likewise.
4658         * doc/glibc-functions/lgetxattr.texi: Likewise.
4659         * doc/glibc-functions/listxattr.texi: Likewise.
4660         * doc/glibc-functions/llistxattr.texi: Likewise.
4661         * doc/glibc-functions/lremovexattr.texi: Likewise.
4662         * doc/glibc-functions/lsetxattr.texi: Likewise.
4663         * doc/glibc-functions/removexattr.texi: Likewise.
4664         * doc/glibc-functions/setxattr.texi: Likewise.
4665         * doc/posix-functions/open_memstream.texi: Likewise.
4666
4667 2008-12-15  Eric Blake  <ebb9@byu.net>
4668
4669         Update doc for cygwin 1.7.
4670         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
4671         functions.
4672         * doc/posix-functions/fchmodat.texi: Likewise.
4673         * doc/posix-functions/fchownat.texi: Likewise.
4674         * doc/posix-functions/fdopendir.texi: Likewise.
4675         * doc/posix-functions/fmemopen.texi: Likewise.
4676         * doc/posix-functions/freeaddrinfo.texi: Likewise.
4677         * doc/posix-functions/fstatat.texi: Likewise.
4678         * doc/posix-functions/futimens.texi: Likewise.
4679         * doc/posix-functions/gai_strerror.texi: Likewise.
4680         * doc/posix-functions/getaddrinfo.texi: Likewise.
4681         * doc/posix-functions/getnameinfo.texi: Likewise.
4682         * doc/posix-functions/if_freenameindex.texi: Likewise.
4683         * doc/posix-functions/if_indextoname.texi: Likewise.
4684         * doc/posix-functions/if_nameindex.texi: Likewise.
4685         * doc/posix-functions/if_nametoindex.texi: Likewise.
4686         * doc/posix-functions/insque.texi: Likewise.
4687         * doc/posix-functions/linkat.texi: Likewise.
4688         * doc/posix-functions/llrint.texi: Likewise.
4689         * doc/posix-functions/llrintf.texi: Likewise.
4690         * doc/posix-functions/llrintl.texi: Likewise.
4691         * doc/posix-functions/lockf.texi: Likewise.
4692         * doc/posix-functions/lrintl.texi: Likewise.
4693         * doc/posix-functions/mkdirat.texi: Likewise.
4694         * doc/posix-functions/mkfifoat.texi: Likewise.
4695         * doc/posix-functions/mknodat.texi: Likewise.
4696         * doc/posix-functions/mq_close.texi: Likewise.
4697         * doc/posix-functions/mq_getattr.texi: Likewise.
4698         * doc/posix-functions/mq_notify.texi: Likewise.
4699         * doc/posix-functions/mq_open.texi: Likewise.
4700         * doc/posix-functions/mq_receive.texi: Likewise.
4701         * doc/posix-functions/mq_send.texi: Likewise.
4702         * doc/posix-functions/mq_setattr.texi: Likewise.
4703         * doc/posix-functions/mq_timedreceive.texi: Likewise.
4704         * doc/posix-functions/mq_timedsend.texi: Likewise.
4705         * doc/posix-functions/mq_unlink.texi: Likewise.
4706         * doc/posix-functions/open_memstream.texi: Likewise.
4707         * doc/posix-functions/openat.texi: Likewise.
4708         * doc/posix-functions/posix_fadvise.texi: Likewise.
4709         * doc/posix-functions/posix_fallocate.texi: Likewise.
4710         * doc/posix-functions/posix_madvise.texi: Likewise.
4711         * doc/posix-functions/posix_memalign.texi: Likewise.
4712         * doc/posix-functions/posix_openpt.texi: Likewise.
4713         * doc/posix-functions/readlinkat.texi: Likewise.
4714         * doc/posix-functions/remque.texi: Likewise.
4715         * doc/posix-functions/renameat.texi: Likewise.
4716         * doc/posix-functions/rintl.texi: Likewise.
4717         * doc/posix-functions/sem_unlink.texi: Likewise.
4718         * doc/posix-functions/shm_open.texi: Likewise.
4719         * doc/posix-functions/shm_unlink.texi: Likewise.
4720         * doc/posix-functions/signgam.texi: Likewise.
4721         * doc/posix-functions/sigset.texi: Likewise.
4722         * doc/posix-functions/stpcpy.texi: Likewise.
4723         * doc/posix-functions/stpncpy.texi: Likewise.
4724         * doc/posix-functions/strerror.texi: Likewise.
4725         * doc/posix-functions/strtod.texi: Likewise.
4726         * doc/posix-functions/symlinkat.texi: Likewise.
4727         * doc/posix-functions/unlinkat.texi: Likewise.
4728         * doc/posix-functions/utimensat.texi: Likewise.
4729         * doc/glibc-functions/bindresvport.texi: Likewise.
4730         * doc/glibc-functions/dn_expand.texi: Likewise.
4731         * doc/glibc-functions/exp10.texi: Likewise.
4732         * doc/glibc-functions/exp10f.texi: Likewise.
4733         * doc/glibc-functions/fgetxattr.texi: Likewise.
4734         * doc/glibc-functions/flistxattr.texi: Likewise.
4735         * doc/glibc-functions/fopencookie.texi: Likewise.
4736         * doc/glibc-functions/freeifaddrs.texi: Likewise.
4737         * doc/glibc-functions/fremovexattr.texi: Likewise.
4738         * doc/glibc-functions/fsetxattr.texi: Likewise.
4739         * doc/glibc-functions/getifaddrs.texi: Likewise.
4740         * doc/glibc-functions/getxattr.texi: Likewise.
4741         * doc/glibc-functions/lgetxattr.texi: Likewise.
4742         * doc/glibc-functions/listxattr.texi: Likewise.
4743         * doc/glibc-functions/llistxattr.texi: Likewise.
4744         * doc/glibc-functions/lremovexattr.texi: Likewise.
4745         * doc/glibc-functions/lsetxattr.texi: Likewise.
4746         * doc/glibc-functions/pow10.texi: Likewise.
4747         * doc/glibc-functions/pow10f.texi: Likewise.
4748         * doc/glibc-functions/rcmd_af.texi: Likewise.
4749         * doc/glibc-functions/removexattr.texi: Likewise.
4750         * doc/glibc-functions/res_init.texi: Likewise.
4751         * doc/glibc-functions/res_mkquery.texi: Likewise.
4752         * doc/glibc-functions/res_query.texi: Likewise.
4753         * doc/glibc-functions/res_querydomain.texi: Likewise.
4754         * doc/glibc-functions/res_send.texi: Likewise.
4755         * doc/glibc-functions/rresvport_af.texi: Likewise.
4756         * doc/glibc-functions/setxattr.texi: Likewise.
4757         * doc/glibc-functions/strcasestr.texi: Likewise.
4758
4759 2008-12-15  Bruno Haible  <bruno@clisp.org>
4760
4761         Fix compilation error on OSF/1 4.0.
4762         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
4763         <sys/time.h>, simply delegate to the system header.
4764         Reported by Daniel Richard G. <oss@teragram.com>.
4765
4766 2008-12-15  Bruno Haible  <bruno@clisp.org>
4767
4768         * doc/posix-functions/openat.texi: Mention the 'openat' module.
4769         * doc/posix-functions/fchmodat.texi: Likewise.
4770         * doc/posix-functions/fchownat.texi: Likewise.
4771         * doc/posix-functions/fdopendir.texi: Likewise.
4772         * doc/posix-functions/fstatat.texi: Likewise.
4773         * doc/posix-functions/mkdirat.texi: Likewise.
4774         * doc/posix-functions/unlinkat.texi: Likewise.
4775
4776 2008-12-14  Bruno Haible  <bruno@clisp.org>
4777
4778         Update doc for POSIX:2008.
4779         * doc/posix-functions/faccessat.texi: New file.
4780         * doc/posix-functions/fchmodat.texi: New file.
4781         * doc/posix-functions/fchownat.texi: New file.
4782         * doc/posix-functions/fdopendir.texi: New file.
4783         * doc/posix-functions/fstatat.texi: New file.
4784         * doc/posix-functions/futimens.texi: New file.
4785         * doc/posix-functions/linkat.texi: New file.
4786         * doc/posix-functions/mkdirat.texi: New file.
4787         * doc/posix-functions/mkfifoat.texi: New file.
4788         * doc/posix-functions/mknodat.texi: New file.
4789         * doc/posix-functions/open_wmemstream.texi: New file.
4790         * doc/posix-functions/openat.texi: New file.
4791         * doc/posix-functions/psiginfo.texi: New file.
4792         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
4793         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
4794         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
4795         * doc/posix-functions/readlinkat.texi: New file.
4796         * doc/posix-functions/renameat.texi: New file.
4797         * doc/posix-functions/strerror_l.texi: New file.
4798         * doc/posix-functions/symlinkat.texi: New file.
4799         * doc/posix-functions/unlinkat.texi: New file.
4800         * doc/posix-functions/utimensat.texi: New file.
4801         * doc/gnulib.texi (Function Substitutes): Add these subsections.
4802
4803 2008-12-14  Bruno Haible  <bruno@clisp.org>
4804
4805         Update doc for POSIX:2008.
4806         * doc/posix-functions/alphasort.texi: Renamed from
4807         doc/glibc-functions/alphasort.texi.
4808         * doc/posix-functions/dirfd.texi: Renamed from
4809         doc/glibc-functions/dirfd.texi.
4810         * doc/posix-functions/dprintf.texi: Renamed from
4811         doc/glibc-functions/dprintf.texi.
4812         * doc/posix-functions/duplocale.texi: Renamed from
4813         doc/glibc-functions/duplocale.texi.
4814         * doc/posix-functions/fexecve.texi: Renamed from
4815         doc/glibc-functions/fexecve.texi.
4816         * doc/posix-functions/fmemopen.texi: Renamed from
4817         doc/glibc-functions/fmemopen.texi.
4818         * doc/posix-functions/freelocale.texi: Renamed from
4819         doc/glibc-functions/freelocale.texi.
4820         * doc/posix-functions/getdate_err.texi: Renamed from
4821         doc/glibc-functions/getdate_err.texi.
4822         * doc/posix-functions/isalnum_l.texi: Renamed from
4823         doc/glibc-functions/isalnum_l.texi.
4824         * doc/posix-functions/isalpha_l.texi: Renamed from
4825         doc/glibc-functions/isalpha_l.texi.
4826         * doc/posix-functions/isblank_l.texi: Renamed from
4827         doc/glibc-functions/isblank_l.texi.
4828         * doc/posix-functions/iscntrl_l.texi: Renamed from
4829         doc/glibc-functions/iscntrl_l.texi.
4830         * doc/posix-functions/isdigit_l.texi: Renamed from
4831         doc/glibc-functions/isdigit_l.texi.
4832         * doc/posix-functions/isgraph_l.texi: Renamed from
4833         doc/glibc-functions/isgraph_l.texi.
4834         * doc/posix-functions/islower_l.texi: Renamed from
4835         doc/glibc-functions/islower_l.texi.
4836         * doc/posix-functions/isprint_l.texi: Renamed from
4837         doc/glibc-functions/isprint_l.texi.
4838         * doc/posix-functions/ispunct_l.texi: Renamed from
4839         doc/glibc-functions/ispunct_l.texi.
4840         * doc/posix-functions/isspace_l.texi: Renamed from
4841         doc/glibc-functions/isspace_l.texi.
4842         * doc/posix-functions/isupper_l.texi: Renamed from
4843         doc/glibc-functions/isupper_l.texi.
4844         * doc/posix-functions/iswalnum_l.texi: Renamed from
4845         doc/glibc-functions/iswalnum_l.texi.
4846         * doc/posix-functions/iswalpha_l.texi: Renamed from
4847         doc/glibc-functions/iswalpha_l.texi.
4848         * doc/posix-functions/iswblank_l.texi: Renamed from
4849         doc/glibc-functions/iswblank_l.texi.
4850         * doc/posix-functions/iswcntrl_l.texi: Renamed from
4851         doc/glibc-functions/iswcntrl_l.texi.
4852         * doc/posix-functions/iswctype_l.texi: Renamed from
4853         doc/glibc-functions/iswctype_l.texi.
4854         * doc/posix-functions/iswdigit_l.texi: Renamed from
4855         doc/glibc-functions/iswdigit_l.texi.
4856         * doc/posix-functions/iswgraph_l.texi: Renamed from
4857         doc/glibc-functions/iswgraph_l.texi.
4858         * doc/posix-functions/iswlower_l.texi: Renamed from
4859         doc/glibc-functions/iswlower_l.texi.
4860         * doc/posix-functions/iswprint_l.texi: Renamed from
4861         doc/glibc-functions/iswprint_l.texi.
4862         * doc/posix-functions/iswpunct_l.texi: Renamed from
4863         doc/glibc-functions/iswpunct_l.texi.
4864         * doc/posix-functions/iswspace_l.texi: Renamed from
4865         doc/glibc-functions/iswspace_l.texi.
4866         * doc/posix-functions/iswupper_l.texi: Renamed from
4867         doc/glibc-functions/iswupper_l.texi.
4868         * doc/posix-functions/iswxdigit_l.texi: Renamed from
4869         doc/glibc-functions/iswxdigit_l.texi.
4870         * doc/posix-functions/isxdigit_l.texi: Renamed from
4871         doc/glibc-functions/isxdigit_l.texi.
4872         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
4873         doc/glibc-functions/mbsnrtowcs.texi.
4874         * doc/posix-functions/mkdtemp.texi: Renamed from
4875         doc/glibc-functions/mkdtemp.texi.
4876         * doc/posix-functions/newlocale.texi: Renamed from
4877         doc/glibc-functions/newlocale.texi.
4878         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
4879         doc/glibc-functions/nl_langinfo_l.texi.
4880         * doc/posix-functions/open_memstream.texi: Renamed from
4881         doc/glibc-functions/open_memstream.texi.
4882         * doc/posix-functions/opterr.texi: Renamed from
4883         doc/glibc-functions/opterr.texi.
4884         * doc/posix-functions/optind.texi: Renamed from
4885         doc/glibc-functions/optind.texi.
4886         * doc/posix-functions/optopt.texi: Renamed from
4887         doc/glibc-functions/optopt.texi.
4888         * doc/posix-functions/psignal.texi: Renamed from
4889         doc/glibc-functions/psignal.texi.
4890         * doc/posix-functions/scandir.texi: Renamed from
4891         doc/glibc-functions/scandir.texi.
4892         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
4893         doc/glibc-functions/sched_get_priority_min.texi.
4894         * doc/posix-functions/signgam.texi: Renamed from
4895         doc/glibc-functions/signgam.texi.
4896         * doc/posix-functions/stpcpy.texi: Renamed from
4897         doc/glibc-functions/stpcpy.texi.
4898         * doc/posix-functions/stpncpy.texi: Renamed from
4899         doc/glibc-functions/stpncpy.texi.
4900         * doc/posix-functions/strcasecmp_l.texi: Renamed from
4901         doc/glibc-functions/strcasecmp_l.texi.
4902         * doc/posix-functions/strcoll_l.texi: Renamed from
4903         doc/glibc-functions/strcoll_l.texi.
4904         * doc/posix-functions/strfmon_l.texi: Renamed from
4905         doc/glibc-functions/strfmon_l.texi.
4906         * doc/posix-functions/strftime_l.texi: Renamed from
4907         doc/glibc-functions/strftime_l.texi.
4908         * doc/posix-functions/strncasecmp_l.texi: Renamed from
4909         doc/glibc-functions/strncasecmp_l.texi.
4910         * doc/posix-functions/strndup.texi: Renamed from
4911         doc/glibc-functions/strndup.texi.
4912         * doc/posix-functions/strnlen.texi: Renamed from
4913         doc/glibc-functions/strnlen.texi.
4914         * doc/posix-functions/strsignal.texi: Renamed from
4915         doc/glibc-functions/strsignal.texi.
4916         * doc/posix-functions/strxfrm_l.texi: Renamed from
4917         doc/glibc-functions/strxfrm_l.texi.
4918         * doc/posix-functions/timer_gettime.texi: Renamed from
4919         doc/glibc-functions/timer_gettime.texi.
4920         * doc/posix-functions/tolower_l.texi: Renamed from
4921         doc/glibc-functions/tolower_l.texi.
4922         * doc/posix-functions/toupper_l.texi: Renamed from
4923         doc/glibc-functions/toupper_l.texi.
4924         * doc/posix-functions/towctrans_l.texi: Renamed from
4925         doc/glibc-functions/towctrans_l.texi.
4926         * doc/posix-functions/towlower_l.texi: Renamed from
4927         doc/glibc-functions/towlower_l.texi.
4928         * doc/posix-functions/towupper_l.texi: Renamed from
4929         doc/glibc-functions/towupper_l.texi.
4930         * doc/posix-functions/uselocale.texi: Renamed from
4931         doc/glibc-functions/uselocale.texi.
4932         * doc/posix-functions/vdprintf.texi: Renamed from
4933         doc/glibc-functions/vdprintf.texi.
4934         * doc/posix-functions/wcpcpy.texi:
4935         Renamed from doc/glibc-functions/wcpcpy.texi.
4936         * doc/posix-functions/wcpncpy.texi: Renamed from
4937         doc/glibc-functions/wcpncpy.texi.
4938         * doc/posix-functions/wcscasecmp.texi: Renamed from
4939         doc/glibc-functions/wcscasecmp.texi.
4940         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
4941         doc/glibc-functions/wcscasecmp_l.texi.
4942         * doc/posix-functions/wcscoll_l.texi: Renamed from
4943         doc/glibc-functions/wcscoll_l.texi.
4944         * doc/posix-functions/wcsdup.texi: Renamed from
4945         doc/glibc-functions/wcsdup.texi.
4946         * doc/posix-functions/wcsncasecmp.texi: Renamed from
4947         doc/glibc-functions/wcsncasecmp.texi.
4948         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
4949         doc/glibc-functions/wcsncasecmp_l.texi.
4950         * doc/posix-functions/wcsnlen.texi: Renamed from
4951         doc/glibc-functions/wcsnlen.texi.
4952         * doc/posix-functions/wcsnrtombs.texi: Renamed from
4953         doc/glibc-functions/wcsnrtombs.texi.
4954         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
4955         doc/glibc-functions/wcsxfrm_l.texi.
4956         * doc/posix-functions/wctrans_l.texi: Renamed from
4957         doc/glibc-functions/wctrans_l.texi.
4958         * doc/posix-functions/wctype_l.texi: Renamed from
4959         doc/glibc-functions/wctype_l.texi.
4960         * doc/gnulib.texi (Function Substitutes): Add these subsections.
4961         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
4962         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
4963         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
4964         these subsections.
4965         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
4966         Remove sections.
4967
4968 2008-12-14  Bruno Haible  <bruno@clisp.org>
4969
4970         Update doc for POSIX:2008.
4971         * doc/posix-functions/*.texi: Update URL of POSIX specification.
4972
4973 2008-12-14  Bruno Haible  <bruno@clisp.org>
4974
4975         Update doc for POSIX:2008.
4976         * doc/pastposix-functions/bcmp.texi: Renamed from
4977         doc/posix-functions/bcmp.texi.
4978         * doc/pastposix-functions/bcopy.texi: Renamed from
4979         doc/posix-functions/bcopy.texi.
4980         * doc/pastposix-functions/bsd_signal.texi: Renamed from
4981         doc/posix-functions/bsd_signal.texi.
4982         * doc/pastposix-functions/bzero.texi: Renamed from
4983         doc/posix-functions/bzero.texi.
4984         * doc/pastposix-functions/ecvt.texi: Renamed from
4985         doc/posix-functions/ecvt.texi.
4986         * doc/pastposix-functions/fcvt.texi: Renamed from
4987         doc/posix-functions/fcvt.texi.
4988         * doc/pastposix-functions/ftime.texi: Renamed from
4989         doc/posix-functions/ftime.texi.
4990         * doc/pastposix-functions/gcvt.texi: Renamed from
4991         doc/posix-functions/gcvt.texi.
4992         * doc/pastposix-functions/getcontext.texi: Renamed from
4993         doc/posix-functions/getcontext.texi.
4994         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
4995         doc/posix-functions/gethostbyaddr.texi.
4996         * doc/pastposix-functions/gethostbyname.texi: Renamed from
4997         doc/posix-functions/gethostbyname.texi.
4998         * doc/pastposix-functions/getwd.texi: Renamed from
4999         doc/posix-functions/getwd.texi.
5000         * doc/pastposix-functions/h_errno.texi: Renamed from
5001         doc/posix-functions/h_errno.texi.
5002         * doc/pastposix-functions/index.texi: Renamed from
5003         doc/posix-functions/index.texi.
5004         * doc/pastposix-functions/makecontext.texi: Renamed from
5005         doc/posix-functions/makecontext.texi.
5006         * doc/pastposix-functions/mktemp.texi: Renamed from
5007         doc/posix-functions/mktemp.texi.
5008         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
5009         doc/posix-functions/pthread_attr_getstackaddr.texi.
5010         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
5011         doc/posix-functions/pthread_attr_setstackaddr.texi.
5012         * doc/pastposix-functions/rindex.texi: Renamed from
5013         doc/posix-functions/rindex.texi.
5014         * doc/pastposix-functions/scalb.texi: Renamed from
5015         doc/posix-functions/scalb.texi.
5016         * doc/pastposix-functions/setcontext.texi: Renamed from
5017         doc/posix-functions/setcontext.texi.
5018         * doc/pastposix-functions/swapcontext.texi: Renamed from
5019         doc/posix-functions/swapcontext.texi.
5020         * doc/pastposix-functions/ualarm.texi: Renamed from
5021         doc/posix-functions/ualarm.texi.
5022         * doc/pastposix-functions/usleep.texi: Renamed from
5023         doc/posix-functions/usleep.texi.
5024         * doc/pastposix-functions/vfork.texi: Renamed from
5025         doc/posix-functions/vfork.texi.
5026         * doc/pastposix-functions/wcswcs.texi: Renamed from
5027         doc/posix-functions/wcswcs.texi.
5028         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
5029         (Function Substitutes): Update.
5030
5031 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5032
5033         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
5034         m4/strerror.m4.
5035
5036 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5037             Bruno Haible  <bruno@clisp.org>
5038
5039         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
5040
5041 2008-12-13  Bruno Haible  <bruno@clisp.org>
5042
5043         * modules/strtoull (Depends-on): Remove unistd.
5044
5045 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5046
5047         * modules/strtoull (Depends-on): Add stdlib.
5048
5049 2008-12-11  Simon Josefsson  <simon@josefsson.org>
5050
5051         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
5052
5053 2008-12-10  Jim Meyering  <meyering@redhat.com>
5054
5055         gl_ASSERT: don't say assertions are disabled when they're not
5056         * m4/assert.m4 (gl_ASSERT): Do not make configure report
5057         "checking whether to enable assertions... no", when they are in
5058         fact enabled.  This is solely a bug in the output of configure.
5059         In spite of saying "no", NDEBUG was not defined in that case.
5060         Also, as noted by Eric Blake, leave assertions enabled upon
5061         --enable-assert=INVALID.
5062
5063 2008-12-10  Bruno Haible  <bruno@clisp.org>
5064
5065         Change MODULES.html to refer to POSIX:2008 where possible.
5066         * MODULES.html.sh (POSIX2008_URL): New variable.
5067         (posix_headers): Remove sys/timeb, ucontext.
5068         (posix2001_headers): New variable.
5069         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
5070         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
5071         index, makecontext, mktemp, pthread_attr_getstackaddr,
5072         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
5073         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
5074         (posix2001_functions): New variable.
5075         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
5076         otherwise.
5077
5078 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5079
5080         add missing include to parse-duration.c
5081         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
5082         * modules/parse-duration (Depends-on): Add xalloc.
5083
5084         fix sed script reading maint.mk
5085         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
5086         (syntax-check-rules): Use it.
5087
5088 2008-12-09  Bruno Haible  <bruno@clisp.org>
5089
5090         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
5091         MacOS X 10.4/PowerPC.
5092         Reported by Simon Josefsson.
5093
5094 2008-12-08  Jim Meyering  <meyering@redhat.com>
5095
5096         work around mingw's lack of some S_IF definitions
5097         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
5098         Reported by Simon Josefsson.
5099
5100 2008-12-08  Bruno Haible  <bruno@clisp.org>
5101
5102         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
5103         applied to variables. Needed on MacOS X 10.4/PowerPC.
5104         Reported by Simon Josefsson.
5105
5106 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
5107         and Eric Blake  <ebb9@byu.net>
5108
5109         assert: honor --enable-assert
5110         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
5111         order to honor --enable-assert, rather than treating it as a
5112         synonym for --disable-assert.
5113
5114 2008-12-08  Jim Meyering  <meyering@redhat.com>
5115
5116         * lib/posixtm.c: Remove now-useless declaration of mktime.
5117
5118         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
5119
5120 2008-12-07  Bruno Haible  <bruno@clisp.org>
5121
5122         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
5123         test_once): Mark functions as static.
5124         * tests/test-tls.c (test_tls): Likewise.
5125
5126 2008-12-07  Bruno Haible  <bruno@clisp.org>
5127
5128         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
5129         iconv_register_autodetect.
5130
5131 2008-12-07  Jim Meyering  <meyering@redhat.com>
5132
5133         posixtm.c: avoid a warning
5134         * lib/posixtm.c (posixtime): Don't initialize tm0.
5135         It's no longer needed to placate gcc4's -Wuninitialized,
5136         and the attempt to placate would elicit a new warning.
5137
5138         unicodeio.c: mark unused parameters
5139         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
5140         (fallback_failure_callback): Likewise.
5141
5142 2008-12-07  Bruno Haible  <bruno@clisp.org>
5143
5144         * gnulib-tool (func_create_testdir): When building the tests
5145         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
5146         Reported by Simon Josefsson.
5147
5148 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5149
5150         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
5151
5152 2008-12-06  Bruno Haible  <bruno@clisp.org>
5153
5154         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
5155         Suggested by Eric Blake.
5156
5157 2008-12-06  Bruno Haible  <bruno@clisp.org>
5158
5159         Fix a c-stack test failure on MacOS X.
5160         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
5161         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
5162         handler for SIGBUS as well.
5163         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
5164         install a signal handler for SIGBUS as well.
5165         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
5166
5167 2008-12-06  Bruno Haible  <bruno@clisp.org>
5168
5169         Advocacy documentation.
5170         * doc/gnulib-intro.texi (Benefits): New section.
5171         * doc/gnulib.texi: Update.
5172
5173 2008-12-06  Bruno Haible  <bruno@clisp.org>
5174
5175         Document the 'manywarnings' module.
5176         * doc/manywarnings.texi: New file.
5177         * doc/gnulib.texi: Include it.
5178
5179 2008-12-05  Eric Blake  <ebb9@byu.net>
5180
5181         tests: silence some gcc warnings
5182         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
5183         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
5184         type mismatches.
5185
5186 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5187             Bruno Haible  <bruno@clisp.org>
5188
5189         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
5190
5191 2008-11-29  Jim Meyering  <meyering@redhat.com>
5192
5193         unicodeio.c: mark unused parameters
5194         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
5195         (fallback_failure_callback): Likewise.
5196
5197         fts: fix a thinko
5198         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
5199         (set_stat_type): Return S_IF*-valued "type" directly.
5200         Prompted by James Youngman's spotting a related bug.
5201         Confirmed by further testing through find.
5202
5203         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
5204         * lib/fts.c (D_TYPE): Define.
5205         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
5206         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
5207         (s_ifmt_shift_bits): New function.
5208         (set_stat_type): New function.
5209         (fts_build): When not calling fts_stat, call set_stat_type
5210         to propagate dirent.d_type info to fts_read caller.
5211         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
5212         fts_statp->st_mode type information may be valid.
5213
5214 2008-11-28  Simon Josefsson  <simon@josefsson.org>
5215
5216         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
5217         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
5218         <sds@gnu.org>.
5219
5220 2008-11-20  Bruno Haible  <bruno@clisp.org>
5221
5222         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
5223         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
5224         INCLUDE_NEXT.
5225         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
5226         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
5227         * modules/math (Makefile.am): Substitute
5228         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
5229         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
5230
5231 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
5232             Bruno Haible  <bruno@clisp.org>
5233
5234         * lib/stdint.in.h: Define all type macros so that their expansion is
5235         a single typedef'ed token. Fixes a compilation failure in Boost which
5236         does "using ::int8_t;".
5237
5238 2008-11-18  Simon Josefsson  <simon@josefsson.org>
5239
5240         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
5241         gl_MANYWARN_ALL_GCC.
5242         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
5243         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
5244         * modules/manywarnings: New file.
5245         * MODULES.html.sh: Mention manywarnings module.
5246
5247 2008-11-18  Bruno Haible  <bruno@clisp.org>
5248
5249         * doc/gnulib-tool.texi (Unit tests): New section.
5250
5251 2008-11-18  Simon Josefsson  <simon@josefsson.org>
5252
5253         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
5254         paths like 'lib/po/foo.po'.
5255
5256 2008-11-17  Simon Josefsson  <simon@josefsson.org>
5257
5258         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
5259         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
5260
5261 2008-11-17  Simon Josefsson  <simon@josefsson.org>
5262
5263         * m4/warnings.m4: Use CPPFLAGS to really check whether the
5264         parameter works.
5265
5266 2008-11-17  Simon Josefsson  <simon@josefsson.org>
5267
5268         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
5269
5270 2008-11-17  Bruce Korb  <bkorb@gnu.org>
5271
5272         * modules/parse-duration-tests: New file.
5273         * tests/test-parse-duration.sh: New file.
5274         * tests/test-parse-duration.c: New file.
5275
5276         New module 'parse-duration'.
5277         * lib/parse-duration.h: New file.
5278         * lib/parse-duration.c: New file.
5279         * modules/parse-duration: New file.
5280
5281 2008-11-17  Bruno Haible  <bruno@clisp.org>
5282
5283         * tests/test-select-out.sh: Comment out the first pipe test.
5284         Reported by Simon Josefsson.
5285
5286 2008-11-17  Bruno Haible  <bruno@clisp.org>
5287
5288         * modules/getaddrinfo (Depends-on): Add servent, hostent.
5289         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
5290         gl_HOSTENT.
5291
5292 2008-11-17  Bruno Haible  <bruno@clisp.org>
5293
5294         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
5295         -lnetwork and -lnet. Needed for Haiku and BeOS.
5296
5297 2008-11-16  Bruno Haible  <bruno@clisp.org>
5298
5299         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
5300
5301 2008-11-16  Bruno Haible  <bruno@clisp.org>
5302
5303         Avoid test failure on Haiku.
5304         * tests/test-fsync.c: Include <errno.h>.
5305         (main): Don't require that fsync (0) fails.
5306
5307 2008-11-15  Bruno Haible  <bruno@clisp.org>
5308
5309         New module 'hostent'.
5310         * modules/hostent: New file.
5311         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
5312
5313 2008-11-15  Bruno Haible  <bruno@clisp.org>
5314
5315         New module 'servent'.
5316         * modules/servent: New file.
5317         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
5318
5319 2008-11-15  Bruno Haible  <bruno@clisp.org>
5320
5321         Avoid generating same test program with two different rules.
5322         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
5323         test-frexp to test-frexp-nolibm.
5324         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
5325         test-frexpl to test-frexpl-nolibm.
5326
5327 2008-11-15  Bruno Haible  <bruno@clisp.org>
5328
5329         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
5330         $(FREXPL_LIBM).
5331
5332 2008-11-15  Bruno Haible  <bruno@clisp.org>
5333
5334         * lib/netdb.in.h: Activate the definitions also when the system's
5335         <netdb.h> has 'struct addrinfo'.
5336         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
5337         EAI_OVERFLOW or AI_NUMERICSERV.
5338         * doc/posix-headers/netdb.texi: Document the problem.
5339
5340 2008-11-15  Bruno Haible  <bruno@clisp.org>
5341
5342         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
5343
5344         Make the 'sched' module work on platforms where <sched.h> exists but
5345         is incomplete (such as Haiku).
5346         * lib/sched.in.h; Include the system's <sched.h> if it exists.
5347         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
5348         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
5349         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
5350         HAVE_STRUCT_SCHED_PARAM.
5351         * modules/sched (Depends-on): Add include_next.
5352         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
5353         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
5354         * doc/posix-headers/sched.texi: Document the issue.
5355
5356 2008-11-13  Jim Meyering  <meyering@redhat.com>
5357
5358         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
5359         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
5360         test would fail due to the difference in the Report bugs to ...
5361         line.  The expected address is empty, "<>", while the actual
5362         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
5363
5364 2008-11-12  Bruno Haible  <bruno@clisp.org>
5365
5366         lstat: don't compile lstat.c on systems lacking lstat
5367         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
5368         which don't have lstat; this is handled by lib/sys_stat.in.h already.
5369         Reported by Daniel P. Berrange via Jim Meyering.
5370
5371 2008-11-12  Jim Meyering  <meyering@redhat.com>
5372
5373         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
5374
5375 2008-11-12  Simon Josefsson  <simon@josefsson.org>
5376
5377         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
5378         instead.
5379
5380 2008-11-12  Bruno Haible  <bruno@clisp.org>
5381
5382         * lib/unicodeio.c: Include unistr.h.
5383         (utf8_wctomb): Remove function.
5384         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
5385
5386 2008-11-12  Simon Josefsson  <simon@josefsson.org>
5387
5388         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
5389         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
5390         <bruno@clisp.org>.
5391         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
5392
5393 2008-11-12  Simon Josefsson  <simon@josefsson.org>
5394
5395         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
5396         * doc/gnulib.texi: Add section for warnings.
5397
5398 2008-11-11  Bruno Haible  <bruno@clisp.org>
5399
5400         * lib/sockets.h: Add a comment.
5401
5402 2008-11-11  Karl Berry  <karl@gnu.org>
5403
5404         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
5405
5406 2008-11-11  Eric Blake  <ebb9@byu.net>
5407
5408         fdl.texi: avoid git symlinks
5409         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
5410
5411 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
5412
5413         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
5414
5415 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
5416
5417         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
5418         (gl_WARN_ADD): Substitute $2 if literal.
5419
5420 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
5421
5422         * m4/warning.m4: Remove.
5423
5424 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
5425
5426         * m4/warnings.m4: Almost complete rewrite. :-)
5427
5428 2008-11-10  Simon Josefsson  <simon@josefsson.org>
5429
5430         * modules/warnings: New module.
5431         * m4/warnings.m4: New file.
5432         * MODULES.html.sh: Mention warnings module.
5433         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
5434         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5435
5436 2008-11-10  Eric Blake  <ebb9@byu.net>
5437
5438         fdl.texi: make a symlink to the latest version
5439         * doc/standards.texi: Revert today's earlier change.
5440         * doc/fdl-1.2.texi: Rename from old fdl.texi...
5441         * doc/fdl.texi: ...and replace this with a symlink to the newer
5442         fdl-1.3.texi.
5443
5444 2008-11-10  Bruno Haible  <bruno@clisp.org>
5445
5446         * tests/test-select-fd.c (main): Accept the result file name as fourth
5447         argument.
5448         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
5449         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
5450
5451 2008-11-10  Bruno Haible  <bruno@clisp.org>
5452
5453         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
5454         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
5455         as autoconf-substituted macros.
5456         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
5457         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
5458         gl_NETDB_H_DEFAULTS. Set these variables.
5459         * modules/netdb (Makefile.am): Substitute these variables.
5460
5461 2008-11-10  Eric Blake  <ebb9@byu.net>
5462
5463         standards.texi: include correct file for FDL 1.3
5464         * doc/standards.texi (GNU Free Documentation License): Change
5465         include file to pull in FDL 1.3, not 1.2.
5466
5467         fdl.texi: revert accidental change to license
5468         * doc/fdl.texi: This is FDL 1.2, not 1.3.
5469
5470 2008-11-10  Bruno Haible  <bruno@clisp.org>
5471
5472         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
5473         cross-compiling guesses also when the native compile gives no result.
5474
5475 2008-11-10  Bruno Haible  <bruno@clisp.org>
5476
5477         * lib/spawni.c (__spawni): Force variable into the stack.
5478
5479 2008-11-10  Bruno Haible  <bruno@clisp.org>
5480
5481         Add support for Haiku.
5482         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
5483         glibc and BeOS, but also on Haiku.
5484         * lib/fpurge.c (fpurge): Likewise.
5485         * lib/freadable.c (freadable): Likewise.
5486         * lib/freadahead.c (freadahead): Likewise.
5487         * lib/freading.c (freading): Likewise.
5488         * lib/freadptr.c (freadptr): Likewise.
5489         * lib/freadseek.c (freadptrinc): Likewise.
5490         * lib/fseeko.c (rpl_fseeko): Likewise.
5491         * lib/fseterr.c (fseterr): Likewise.
5492         * lib/fwritable.c (fwritable): Likewise.
5493         * lib/fwriting.c (fwriting): Likewise.
5494         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
5495
5496 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
5497
5498         * lib/config.charset: Treat Haiku like BeOS.
5499
5500 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
5501
5502         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
5503         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
5504
5505 2008-11-08  Bruno Haible  <bruno@clisp.org>
5506
5507         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
5508         AC_CACHE_CHECK.
5509
5510 2008-11-08  Bruno Haible  <bruno@clisp.org>
5511
5512         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
5513
5514 2008-11-08  Bruno Haible  <bruno@clisp.org>
5515
5516         * tests/test-select-fd.c: New file.
5517         * tests/test-select-in.sh: New file.
5518         * tests/test-select-out.sh: New file.
5519         * tests/test-select-stdin.c: New file.
5520         * modules/select-tests (Files): Add the new files.
5521         (Depends-on): Add gettimeofday.
5522         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
5523         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
5524         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
5525
5526 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
5527             Bruno Haible  <bruno@clisp.org>
5528
5529         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
5530
5531 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
5532
5533         * build-aux/pmccabe2html: Added support for C++ source files.
5534
5535 2008-11-05  Ben Pfaff  <blp@gnu.org>
5536
5537         Fix lib/close.c build on Windows.
5538         * modules/close (Files): Add lib/w32sock.h.
5539
5540 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
5541
5542         Accept Bison's NEWS format.
5543         * build-aux/announce-gen (print_news_deltas): Tweak
5544         $re_prefix.
5545
5546 2008-11-04  Bruno Haible  <bruno@clisp.org>
5547
5548         * modules/random_r (Maintainer): Add glibc.
5549
5550 2008-11-04  Simon Josefsson  <simon@josefsson.org>
5551
5552         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
5553         by karl@freefriends.org (Karl Berry).
5554         * doc/alloca.texi: Likewise.
5555         * doc/c-ctype.texi: Likewise.
5556         * doc/c-strcase.texi: Likewise.
5557         * doc/c-strcaseeq.texi: Likewise.
5558         * doc/c-strcasestr.texi: Likewise.
5559         * doc/c-strstr.texi: Likewise.
5560         * doc/c-strtod.texi: Likewise.
5561         * doc/c-strtold.texi: Likewise.
5562         * doc/ctime.texi: Likewise.
5563         * doc/error.texi: Likewise.
5564         * doc/fdl.texi: Likewise.
5565         * doc/gcd.texi: Likewise.
5566         * doc/getdate.texi: Likewise.
5567         * doc/gnulib-intro.texi: Likewise.
5568         * doc/gnulib-tool.texi: Likewise.
5569         * doc/gnulib.texi: Likewise.
5570         * doc/inet_ntoa.texi: Likewise.
5571         * doc/maintain.texi: Likewise.
5572         * doc/make-stds.texi: Likewise.
5573         * doc/quote.texi: Likewise.
5574         * doc/regexprops-generic.texi: Likewise.
5575         * doc/standards.texi: Likewise.
5576         * doc/verify.texi: Likewise.
5577         * doc/visibility.texi: Likewise.
5578         * doc/gnulib.texi (GNU Free Documentation License): Include
5579         fdl-1.3.texi instead of fdl.texi.
5580
5581 2008-11-04  Simon Josefsson  <simon@josefsson.org>
5582
5583         * doc/fdl-1.3.texi: New file, from
5584         <http://www.gnu.org/licenses/fdl-1.3.texi>.
5585         * modules/fdl-1.3: Add.
5586         * MODULES.html.sh: Add fdl-1.3.
5587
5588 2008-11-03  Bruno Haible  <bruno@clisp.org>
5589
5590         Make determination of absolute name of header file work with AIX xlc.
5591         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
5592         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
5593         preprocessing.
5594         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
5595         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
5596
5597 2008-11-03  Simon Josefsson  <simon@josefsson.org>
5598
5599         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
5600         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
5601         <ludo@gnu.org>.
5602
5603 2008-11-02  Bruno Haible  <bruno@clisp.org>
5604
5605         Mark 'strpbrk' obsolete.
5606         * modules/strpbrk (Status, Notice): New sections.
5607         * modules/strtok_r (Depends-on): Add strpbrk.
5608
5609 2008-11-02  Bruno Haible  <bruno@clisp.org>
5610
5611         Mark 'strdup' obsolete.
5612         * modules/strdup (Status, Notice): New sections.
5613         * modules/findprog (Depends-on): Add strdup.
5614         * modules/getaddrinfo (Depends-on): Likewise.
5615         * modules/localename (Depends-on): Likewise.
5616         * modules/relocatable-lib (Depends-on): Likewise.
5617         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
5618         * modules/relocatable-prog (Depends-on): Likewise.
5619         * modules/trim (Depends-on): Likewise.
5620         * modules/unictype/gen-ctype (Depends-on): Likewise.
5621         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
5622
5623 2008-11-02  Bruno Haible  <bruno@clisp.org>
5624
5625         Mark 'strcspn' obsolete.
5626         * modules/strcspn (Status, Notice): New sections.
5627
5628 2008-11-02  Bruno Haible  <bruno@clisp.org>
5629
5630         Mark 'rmdir' obsolete.
5631         * modules/rmdir (Status, Notice): New sections.
5632         * modules/clean-temp (Depends-on): Add rmdir.
5633         * modules/openat (Depends-on): Likewise.
5634
5635 2008-11-02  Bruno Haible  <bruno@clisp.org>
5636
5637         Mark 'raise' obsolete.
5638         * modules/raise (Status, Notice): New sections.
5639         (Include): Specify <signal.h>.
5640         * modules/stdio (Depends-on): Add raise.
5641         * modules/write (Depends-on): Likewise.
5642
5643 2008-11-02  Bruno Haible  <bruno@clisp.org>
5644
5645         Mark 'memset' obsolete.
5646         * modules/memset (Status, Notice): New sections.
5647
5648 2008-11-02  Bruno Haible  <bruno@clisp.org>
5649
5650         Mark 'memmove' obsolete.
5651         * modules/memmove (Status, Notice): New sections.
5652         * modules/argp (Depends-on): Add memmove.
5653         * modules/argz (Depends-on): Likewise.
5654         * modules/canonicalize (Depends-on): Likewise.
5655         * modules/canonicalize-lgpl (Depends-on): Likewise.
5656         * modules/fts (Depends-on): Likewise.
5657         * modules/getcwd (Depends-on): Likewise.
5658         * modules/human (Depends-on): Likewise.
5659         * modules/regex (Depends-on): Likewise.
5660         * modules/striconveh (Depends-on): Likewise.
5661         * modules/trim (Depends-on): Likewise.
5662         * modules/unistr/u8-move (Depends-on): Likewise.
5663         * modules/unistr/u16-move (Depends-on): Likewise.
5664         * modules/unistr/u32-move (Depends-on): Likewise.
5665
5666 2008-11-02  Bruno Haible  <bruno@clisp.org>
5667
5668         Mark 'memcpy' obsolete.
5669         * modules/memcpy (Status, Notice): New sections.
5670
5671 2008-11-02  Bruno Haible  <bruno@clisp.org>
5672
5673         Mark 'memcmp' obsolete.
5674         * modules/memcmp (Status, Notice): New sections.
5675         * modules/argmatch (Depends-on): Add memchr.
5676         * modules/backupfile (Depends-on): Likewise.
5677         * modules/c-strcasestr (Depends-on): Likewise.
5678         * modules/crypto/des (Depends-on): Likewise.
5679         * modules/csharpcomp (Depends-on): Likewise.
5680         * modules/fnmatch (Depends-on): Likewise.
5681         * modules/git-merge-changelog (Depends-on): Likewise.
5682         * modules/isnand (Depends-on): Likewise.
5683         * modules/isnand-nolibm (Depends-on): Likewise.
5684         * modules/isnanf (Depends-on): Likewise.
5685         * modules/isnanf-nolibm (Depends-on): Likewise.
5686         * modules/isnanl (Depends-on): Likewise.
5687         * modules/isnanl-nolibm (Depends-on): Likewise.
5688         * modules/mbchar (Depends-on): Likewise.
5689         * modules/memcoll (Depends-on): Likewise.
5690         * modules/quotearg (Depends-on): Likewise.
5691         * modules/regex (Depends-on): Likewise.
5692         * modules/relocatable-prog (Depends-on): Likewise.
5693         * modules/same (Depends-on): Likewise.
5694         * modules/signbit (Depends-on): Likewise.
5695         * modules/strcasestr-simple (Depends-on): Likewise.
5696         * modules/unictype/gen-ctype (Depends-on): Likewise.
5697         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
5698         * modules/uniname/uniname (Depends-on): Likewise.
5699         * modules/unistr/u8-cmp (Depends-on): Likewise.
5700
5701 2008-11-02  Bruno Haible  <bruno@clisp.org>
5702
5703         Mark 'memchr' obsolete.
5704         * modules/memchr (Status, Notice): New sections.
5705         * modules/argp (Depends-on): Add memchr.
5706         * modules/base64 (Depends-on): Likewise.
5707         * modules/c-strcasestr (Depends-on): Likewise.
5708         * modules/chdir-long (Depends-on): Likewise.
5709         * modules/fnmatch (Depends-on): Likewise.
5710         * modules/getsubopt (Depends-on): Likewise.
5711         * modules/git-merge-changelog (Depends-on): Likewise.
5712         * modules/glob (Depends-on): Likewise.
5713         * modules/strcasestr-simple (Depends-on): Likewise.
5714         * modules/strnlen (Depends-on): Likewise.
5715
5716 2008-11-02  Bruno Haible  <bruno@clisp.org>
5717
5718         Mark 'atexit' obsolete.
5719         * modules/atexit (Status, Notice): New sections.
5720         * modules/chdir-long (Depends-on): Add atexit.
5721         * modules/wait-process (Depends-on): Likewise.
5722
5723 2008-11-02  Bruno Haible  <bruno@clisp.org>
5724
5725         * gnulib-tool: New option --with-obsolete.
5726         (func_usage): Document it.
5727         (func_modules_transitive_closure): Drop obsolete dependencies if
5728         incobsolete is not true.
5729         (func_import): Read and save the incobsolete variable to the cache.
5730
5731 2008-11-02  Bruno Haible  <bruno@clisp.org>
5732
5733         * modules/TEMPLATE-EXTENDED: New field 'Status'.
5734         * gnulib-tool: New option --extract-status.
5735         (func_usage): Document it.
5736         (sed_extract_prog): Recognize it.
5737         (func_get_status): New function.
5738
5739 2008-10-30  Simon Josefsson  <simon@josefsson.org>
5740
5741         * modules/sockets (License): Change from LGPL to LGPLv2+.
5742
5743 2008-10-28  Simon Josefsson  <simon@josefsson.org>
5744
5745         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
5746
5747 2008-10-28  Simon Josefsson  <simon@josefsson.org>
5748
5749         * MODULES.html.sh (Support for systems lacking POSIX:2001):
5750         Mention times and sys_times.
5751         * modules/sys_times, modules/sys_times-tests: New modules.
5752         * modules/times, modules/times-tests: Likewise
5753         * m4/sys_times_h.m4: New file.
5754         * lib/sys_times.in.h: Likewise
5755         * lib/times.c: Likewise.
5756         * tests/test-sys_times.c: Likewise.
5757         * tests/test-times.c: Likewise.
5758         * doc/posix-headers/sys_times.texi: Update.
5759         * doc/posix-functions/times.texi: Update.
5760
5761 2008-10-28  Jim Meyering  <meyering@redhat.com>
5762
5763         * modules/tempname (Depends-on): Add lstat.
5764
5765         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
5766
5767 2008-10-28  Simon Josefsson  <simon@josefsson.org>
5768
5769         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
5770         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
5771         using idiom used elsewhere in gnulib.
5772
5773 2008-10-27  Jim Meyering  <meyering@redhat.com>
5774
5775         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
5776
5777 2008-10-27  Simon Josefsson  <simon@josefsson.org>
5778
5779         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
5780         TESTS_ENVIRONMENT, for shell scripts that needs to call built
5781         programs.
5782         * tests/test-argp-2.sh: Use $EXEEXT when needed.
5783
5784 2008-10-27  Simon Josefsson  <simon@josefsson.org>
5785
5786         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
5787
5788 2008-10-27  Bruno Haible  <bruno@clisp.org>
5789
5790         * tests/test-lstat.c: Include <stdio.h>.
5791
5792 2008-10-27  Simon Josefsson  <simon@josefsson.org>
5793
5794         * modules/lstat-tests: New module.
5795         * tests/test-lstat.c: New file.
5796
5797 2008-10-26  Jim Meyering  <meyering@redhat.com>
5798
5799         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
5800
5801 2008-10-26  Simon Josefsson  <simon@josefsson.org>
5802             Bruno Haible  <bruno@clisp.org>
5803
5804         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
5805         * modules/configmake (Include): Add a note that the include must come
5806         after all system headers.
5807         * lib/javaversion.c: Include configmake.h after all other includes.
5808
5809 2008-10-26  Bruno Haible  <bruno@clisp.org>
5810
5811         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
5812         HAVE_STRUCT_RANDOM_DATA to 1.
5813         (gl_STDLIB_H): Simplify.
5814
5815 2008-10-26  Simon Josefsson  <simon@josefsson.org>
5816
5817         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
5818         substitute HAVE_STRUCT_RANDOM_DATA.
5819         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
5820         random_data.
5821         * modules/stdlib (Makefile.am): Substitute
5822         HAVE_STRUCT_RANDOM_DATA.
5823
5824 2008-10-26  Simon Josefsson  <simon@josefsson.org>
5825
5826         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
5827         * doc/gnulib-intro.texi (Copyright): Likewise.
5828
5829 2008-10-26  Simon Josefsson  <simon@josefsson.org>
5830
5831         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
5832         findings.
5833
5834 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
5835             Bruno Haible  <bruno@clisp.org>
5836
5837         * lib/unistd.in.h: Include <winsock2.h>.
5838         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
5839         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
5840         Provide dummy declarations.
5841         (gethostname): Override.
5842         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
5843         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
5844         gl_PREREQ_SYS_H_WINSOCK2.
5845         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
5846         * doc/posix-functions/gethostname.texi: More details.
5847
5848 2008-10-25  Bruno Haible  <bruno@clisp.org>
5849
5850         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
5851         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
5852         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
5853
5854         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
5855         here ...
5856         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
5857         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
5858         gl_UNISTD_H_DEFAULTS.
5859
5860 2008-10-25  Eric Blake  <ebb9@byu.net>
5861
5862         signbit: avoid spurious compiler failure
5863         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
5864         declarations inside function.
5865
5866 2008-10-24  Simon Josefsson  <simon@josefsson.org>
5867             Bruno Haible  <bruno@clisp.org>
5868
5869         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
5870         * modules/random_r (Depends-on): Add stdint.
5871
5872 2008-10-24  Bruno Haible  <bruno@clisp.org>
5873
5874         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
5875         Eggert.
5876         * modules/strerror (License): Likewise.
5877
5878 2008-10-24  Jim Meyering  <meyering@redhat.com>
5879
5880         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
5881         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
5882
5883 2008-10-24  Eric Blake  <ebb9@byu.net>
5884
5885         getgroups: fix compilation when getgroups is available
5886         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
5887         but with <config.h> override of getgroups disabled.
5888
5889 2008-10-24  Simon Josefsson  <simon@josefsson.org>
5890
5891         * doc/gnulib.texi (Header files): Add note about C++ problems.
5892         Explained by Bruno Haible <bruno@clisp.org>.
5893
5894 2008-10-23  Bruno Haible  <bruno@clisp.org>
5895
5896         Define a dummy SA_NODEFER macro on Interix.
5897         * lib/signal.in.h (SA_NODEFER): Define fallback.
5898         Reported by Aleksey Cheusov <cheusov@tut.by> via
5899         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
5900
5901 2008-10-23  Bruno Haible  <bruno@clisp.org>
5902
5903         * modules/freadahead (License): Change to LGPLv2+.
5904         Suggested by Simon Josefsson.
5905
5906 2008-10-23  Jim Meyering  <meyering@redhat.com>
5907
5908         random_r: new module
5909         * modules/random_r: New file.
5910         * m4/random_r.m4: New file.
5911         * lib/random_r.c: New file, from glibc.
5912         * modules/random_r-tests: New file.
5913         * tests/test-random_r.c: New file.
5914         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
5915          Declare.
5916         (RAND_MAX): Define.
5917         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
5918         * modules/stdlib: Substitute them, too.
5919         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
5920         * doc/glibc-functions/initstate_r.texi: Mention the new module.
5921         * doc/glibc-functions/random_r.texi: Likewise.
5922         * doc/glibc-functions/setstate_r.texi: Likewise.
5923         * doc/glibc-functions/srandom_r.texi: Likewise.
5924         * config/srclist.txt: Mention it.
5925
5926 2008-10-23  David Lutterkort  <lutter@redhat.com>
5927
5928         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
5929         link requirement
5930
5931 2008-10-23  Jim Meyering  <meyering@redhat.com>
5932
5933         selinux-h: mark parameters of stub functions as intentionally unused
5934         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
5935         * lib/se-context.in.h: Likewise.
5936
5937 2008-10-22  Simon Josefsson  <simon@josefsson.org>
5938
5939         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
5940
5941 2008-10-22  Simon Josefsson  <simon@josefsson.org>
5942
5943         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
5944
5945 2008-10-22  Eric Blake  <ebb9@byu.net>
5946
5947         glthread/thread: avoid compiler warning
5948         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
5949         Add unreachable abort to silence compiler.
5950
5951 2008-10-22  Eric Blake  <ebb9@byu.net>
5952
5953         netdb: also supply struct addrinfo for cygwin 1.5.x
5954         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
5955         older cygwin.
5956         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
5957         cygwin.
5958         * doc/posix-headers/netdb.texi (netdb.h): Document this.
5959
5960 2008-10-22  Bruno Haible  <bruno@clisp.org>
5961
5962         * users.txt: Update entry about pspp.
5963
5964 2008-10-21  Bruno Haible  <bruno@clisp.org>
5965
5966         Simplification.
5967         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
5968         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
5969
5970         Simplification.
5971         * lib/ioctl.c (ioctl): Don't undefine.
5972         * lib/socket.c (socket): Don't undefine.
5973
5974         Remove unused module indicator macros.
5975         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
5976         GNULIB_$1 as a C macro.
5977
5978         * doc/posix-functions/close.texi: Undo last change.
5979         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
5980         Windows platforms.
5981
5982 2008-10-21  Bruno Haible  <bruno@clisp.org>
5983
5984         Add gethostname() declaration to <unistd.h>.
5985         * lib/unistd.in.h (gethostname): New declaration.
5986         * lib/gethostname.c: Include <unistd.h>.
5987         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
5988         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
5989         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
5990         and HAVE_GETHOSTNAME.
5991         * modules/gethostname (Depends-on): Add unistd.
5992         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5993         (Include): Specify <unistd.h>.
5994         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
5995         HAVE_GETHOSTNAME.
5996         * tests/test-gethostname.c: Include <unistd.h> first.
5997
5998 2008-10-21  Bruno Haible  <bruno@clisp.org>
5999
6000         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
6001         * modules/select-tests (Depends-on): Likewise.
6002         Reported by Simon Josefsson.
6003
6004 2008-10-21  Simon Josefsson  <simon@josefsson.org>
6005
6006         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
6007         * lib/accept.c: New file, based on winsock.c.
6008         * lib/bind.c: New file, based on winsock.c.
6009         * lib/connect.c: New file, based on winsock.c.
6010         * lib/getpeername.c: New file, based on winsock.c.
6011         * lib/getsockname.c: New file, based on winsock.c.
6012         * lib/getsockopt.c: New file, based on winsock.c.
6013         * lib/ioctl.c: New file, based on winsock.c.
6014         * lib/listen.c: New file, based on winsock.c.
6015         * lib/recv.c: New file, based on winsock.c.
6016         * lib/recvfrom.c: New file, based on winsock.c.
6017         * lib/send.c: New file, based on winsock.c.
6018         * lib/sendto.c: New file, based on winsock.c.
6019         * lib/setsockopt.c: New file, based on winsock.c.
6020         * lib/shutdown.c: New file, based on winsock.c.
6021         * lib/socket.c: New file, based on winsock.c.
6022         * lib/w32sock.h: New file, based on winsock.c.
6023         * lib/winsock.c: Remove file.
6024         * modules/accept: Likewise.
6025         * modules/bind: Likewise.
6026         * modules/connect: Likewise.
6027         * modules/getpeername: Likewise.
6028         * modules/getsockname: Likewise.
6029         * modules/getsockopt: Likewise.
6030         * modules/ioctl: Likewise.
6031         * modules/listen: Likewise.
6032         * modules/recv: Likewise.
6033         * modules/recvfrom: Likewise.
6034         * modules/send: Likewise.
6035         * modules/sendto: Likewise.
6036         * modules/setsockopt: Likewise.
6037         * modules/shutdown: Likewise.
6038         * modules/socket: Use socket.c instead of winsock.c.
6039         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
6040         * doc/posix-functions/accept.texi: Doc fix.
6041         * doc/posix-functions/bind.texi: Doc fix.
6042         * doc/posix-functions/close.texi: Doc fix.
6043         * doc/posix-functions/connect.texi: Doc fix.
6044         * doc/posix-functions/getpeername.texi: Doc fix.
6045         * doc/posix-functions/getsockname.texi: Doc fix.
6046         * doc/posix-functions/getsockopt.texi: Doc fix.
6047         * doc/posix-functions/ioctl.texi: Doc fix.
6048         * doc/posix-functions/listen.texi: Doc fix.
6049         * doc/posix-functions/recv.texi: Doc fix.
6050         * doc/posix-functions/recvfrom.texi: Doc fix.
6051         * doc/posix-functions/send.texi: Doc fix.
6052         * doc/posix-functions/sendto.texi: Doc fix.
6053         * doc/posix-functions/setsockopt.texi: Doc fix.
6054         * doc/posix-functions/shutdown.texi: Doc fix.
6055         * doc/posix-functions/socket.texi: Doc fix.
6056
6057 2008-10-20  Bruno Haible  <bruno@clisp.org>
6058
6059         Take into account the role of SIGABRT_COMPAT on Windows 2008.
6060         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
6061         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
6062         as an alias for SIGABRT.
6063         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
6064         (sigaction): Map it to SIGABRT.
6065         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
6066
6067 2008-10-20  Bruno Haible  <bruno@clisp.org>
6068
6069         * lib/fts.c: Don't include lstat.h.
6070         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
6071
6072         Move the lstat() declaration to <sys/stat.h>.
6073         * lib/lstat.h: Remove file.
6074         * lib/sys_stat.in.h: Add special invocation convention.
6075         (lstat): New declaration.
6076         * lib/lstat.c (orig_lstat): New function.
6077         (rpl_lstat): Use orig_lstat instead of lstat.
6078         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
6079         AC_C_INLINE. Set REPLACE_LSTAT.
6080         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
6081         and REPLACE_LSTAT.
6082         * modules/lstat (Files): Remove lib/lstat.h.
6083         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
6084         (Include): Specify <sys/stat.h> instead of lstat.h.
6085         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
6086         REPLACE_LSTAT.
6087         * NEWS: Mention the change.
6088
6089 2008-10-20  Bruno Haible  <bruno@clisp.org>
6090
6091         * modules/posix_spawn-tests: New file.
6092         * tests/test-posix_spawn3.c: New file.
6093
6094 2008-10-20  Bruno Haible  <bruno@clisp.org>
6095
6096         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
6097         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
6098         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
6099         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
6100         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
6101
6102 2008-10-20  Bruno Haible  <bruno@clisp.org>
6103
6104         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
6105         of posix_spawn on AIX 5.3.
6106
6107 2008-10-20  Bruno Haible  <bruno@clisp.org>
6108
6109         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
6110
6111 2008-10-20  Bruno Haible  <bruno@clisp.org>
6112
6113         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
6114         of AC_LANG_PROGRAM.
6115
6116 2008-10-20  Simon Josefsson  <simon@josefsson.org>
6117
6118         * lib/netdb.in.h: Don't define GNU specific constants until they
6119         are supported or needed.  Reported by Bruno Haible
6120         <bruno@clisp.org>.
6121
6122 2008-10-20  Simon Josefsson  <simon@josefsson.org>
6123
6124         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
6125
6126 2008-10-20  Simon Josefsson  <simon@josefsson.org>
6127
6128         * lib/getaddrinfo.h: Remove file.
6129         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
6130         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
6131         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
6132         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
6133         * modules/netdb: Substitute GNULIB_GETADDRINFO.
6134         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
6135         * tests/test-getaddrinfo.c: Likewise.
6136         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
6137         * NEWS: Mention change.
6138
6139 2008-10-19  Bruno Haible  <bruno@clisp.org>
6140
6141         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
6142
6143 2008-10-19  Bruno Haible  <bruno@clisp.org>
6144
6145         * lib/wait-process.c: Include simply <sys/wait.h>.
6146         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
6147         WIFSTOPPED): Remove fallback definitions.
6148         * modules/wait-process (Depends-on): Add sys_wait.
6149
6150         New module 'sys_wait'.
6151         * modules/sys_wait: New file.
6152         * lib/sys_wait.in.h: New file, partially copied from
6153         lib/wait-process.c.
6154         * m4/sys_wait_h.m4: New file.
6155         * doc/posix-headers/sys_wait.texi: Mention the new module.
6156
6157 2008-10-19  Bruno Haible  <bruno@clisp.org>
6158
6159         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
6160
6161 2008-10-19  Bruno Haible  <bruno@clisp.org>
6162
6163         Assume that waitpid() fills an 'int' status, not a 'union wait'.
6164         * lib/wait-process.c (WAIT_T): Remove type.
6165         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
6166         (wait_subprocess): Update.
6167
6168 2008-10-19  Bruno Haible  <bruno@clisp.org>
6169
6170         New module 'atoll'.
6171         * modules/atoll: New file.
6172         * lib/stdlib.in.h (atoll): New declaration.
6173         * lib/atoll.c: New file, from glibc with modifications.
6174         * m4/atoll.m4: New file.
6175         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
6176         HAVE_ATOLL.
6177         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
6178         * doc/posix-functions/atoll.texi: Mention the new module.
6179
6180 2008-10-19  Bruno Haible  <bruno@clisp.org>
6181
6182         Add strtoull() declaration to <stdlib.h>.
6183         * lib/stdlib.in.h (strtoull): New declaration.
6184         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
6185         Set HAVE_STRTOULL.
6186         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
6187         HAVE_STRTOULL.
6188         * modules/strtoull (Depends-on): Add stdlib.
6189         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
6190         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
6191         HAVE_STRTOULL.
6192
6193 2008-10-19  Bruno Haible  <bruno@clisp.org>
6194
6195         Add strtoll() declaration to <stdlib.h>.
6196         * lib/stdlib.in.h (strtoll): New declaration.
6197         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
6198         Set HAVE_STRTOLL.
6199         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
6200         HAVE_STRTOLL.
6201         * modules/strtoll (Depends-on): Add stdlib.
6202         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
6203         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
6204
6205 2008-10-19  Bruno Haible  <bruno@clisp.org>
6206
6207         * modules/bcopy (Depends-on): Add strings.
6208         (Include): Specify <strings.h>.
6209
6210 2008-10-19  Bruno Haible  <bruno@clisp.org>
6211
6212         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
6213
6214 2008-10-19  Bruno Haible  <bruno@clisp.org>
6215
6216         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
6217         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
6218         mingw.
6219
6220 2008-10-19  Bruno Haible  <bruno@clisp.org>
6221
6222         * lib/atanl.c: Don't include isnanl.h.
6223         * lib/cosl.c: Likewise.
6224         * lib/ldexpl.c: Likewise.
6225         * lib/logl.c: Likewise.
6226         * lib/sinl.c: Likewise.
6227         * lib/sqrtl.c: Likewise.
6228         * lib/tanl.c: Likewise.
6229
6230         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
6231         * lib/isnanf.h: Remove file.
6232         * lib/isnand.h: Remove file.
6233         * lib/isnanl.h: Remove file.
6234         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
6235         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
6236         macros.
6237         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
6238         HAVE_ISNANF, don't define it as a C macro.
6239         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
6240         HAVE_ISNAND, don't define it as a C macro.
6241         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
6242         HAVE_ISNANL, don't define it as a C macro.
6243         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
6244         HAVE_ISNAN[FDL].
6245         * modules/isnanf (Files): Remove lib/isnanf.h.
6246         (Depends-on): Add math.
6247         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
6248         (Include): Specify <math.h> instead of isnanf.h.
6249         * modules/isnand (Files): Remove lib/isnand.h.
6250         (Depends-on): Add math.
6251         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
6252         (Include): Specify <math.h> instead of isnand.h.
6253         * modules/isnanl (Files): Remove lib/isnanl.h.
6254         (Depends-on): Add math.
6255         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
6256         (Include): Specify <math.h> instead of isnanl.h.
6257         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
6258         HAVE_ISNAN[FDL].
6259         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
6260         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
6261         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
6262         * NEWS: Mention the change.
6263
6264 2008-10-18  Bruno Haible  <bruno@clisp.org>
6265
6266         Add getusershell(), setusershell(), endusershell() declarations to
6267         <unistd.h>.
6268         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
6269         declarations.
6270         * lib/getusershell.c: Include unistd.h.
6271         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
6272         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
6273         HAVE_GETUSERSHELL.
6274         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
6275         and HAVE_GETUSERSHELL.
6276         * modules/getusershell (Depends-on): Add unistd, extensions.
6277         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
6278         (Include): Specify <unistd.h>.
6279         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
6280         HAVE_GETUSERSHELL.
6281
6282 2008-10-18  Bruno Haible  <bruno@clisp.org>
6283
6284         Add a getloadavg() declaration to <stdlib.h>.
6285         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
6286         getloadavg declaration.
6287         (getloadavg): New declaration.
6288         * lib/getloadavg.c: Include <stdlib.h> first.
6289         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
6290         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
6291         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
6292         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
6293         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
6294         * modules/getloadavg (Depends-on): Add stdlib, extensions.
6295         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
6296         (Include): Specify <stdlib.h>.
6297         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
6298         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
6299
6300 2008-10-18  Bruno Haible  <bruno@clisp.org>
6301
6302         * lib/dirchownmod.c: Don't include lchmod.h.
6303
6304         Move the lchmod() declaration to <sys/stat.h>.
6305         * lib/lchmod.h: Remove file.
6306         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
6307         (lchmod): New declaration, moved here from lib/lchown.h.
6308         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
6309         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
6310         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
6311         and HAVE_LCHMOD.
6312         * modules/lchmod (Files): Remove lib/lchmod.h.
6313         (Depends-on): Add sys_stat, extensions.
6314         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
6315         (Include): Specify <sys/stat.h> instead of lchmod.h.
6316         * modules/sys_stat (Depends-on): Add link-warning.
6317         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
6318         definition of GL_LINK_WARNING.
6319         * NEWS: Mention the change.
6320
6321 2008-10-18  Bruno Haible  <bruno@clisp.org>
6322
6323         * lib/fchdir.c: Don't include dirfd.h.
6324         * lib/fts.c: Likewise.
6325         * lib/getcwd.c: Likewise.
6326         * lib/glob.c: Likewise.
6327
6328         Move the dirfd() declaration to <dirent.h>.
6329         * lib/dirfd.h: Remove file.
6330         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
6331         (dirfd): New declaration.
6332         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
6333         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
6334         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
6335         HAVE_DECL_DIRFD.
6336         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
6337         HAVE_DECL_DIRFD.
6338         * modules/dirfd (Files): Remove lib/dirfd.h.
6339         (Depends-on): Add dirent, extensions.
6340         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
6341         (Include): Specify <dirent.h> instead of dirfd.h.
6342         * modules/dirent (Depends-on): Add link-warning.
6343         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
6344         definition of GL_LINK_WARNING.
6345         * NEWS: Mention the change.
6346
6347 2008-10-18  Bruno Haible  <bruno@clisp.org>
6348
6349         Move the euidaccess() declaration to <unistd.h>.
6350         * lib/euidaccess.h: Remove file.
6351         * lib/unistd.in.h (euidaccess): New declaration.
6352         * lib/euidaccess.c: Don't include euidaccess.h.
6353         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
6354         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
6355         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
6356         and HAVE_EUIDACCESS.
6357         * modules/euidaccess (Files): Remove lib/euidaccess.h.
6358         (Depends-on): Add unistd.
6359         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
6360         (Include): Specify <unistd.h> instead of euidaccess.h.
6361         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
6362         HAVE_EUIDACCESS.
6363         * NEWS: Mention the change.
6364
6365 2008-10-18  Bruno Haible  <bruno@clisp.org>
6366
6367         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
6368
6369         Move the getdomainname() declaration to <unistd.h>.
6370         * lib/getdomainname.h: Remove file.
6371         * lib/unistd.in.h (getdomainname): New declaration.
6372         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
6373         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
6374         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
6375         HAVE_GETDOMAINNAME.
6376         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
6377         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
6378         * modules/getdomainname (Files): Remove lib/getdomainname.h.
6379         (Depends-on): Add unistd, extensions.
6380         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
6381         (Includes): Specify <unistd.h> instead of getdomainname.h.
6382         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
6383         HAVE_GETDOMAINNAME.
6384         * NEWS: Mention the change.
6385
6386 2008-10-18  Bruno Haible  <bruno@clisp.org>
6387
6388         * modules/dirent: New file.
6389         * m4/dirent_h.m4: New file.
6390         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
6391         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
6392         * modules/fchdir (Files): Remove lib/dirent.in.h.
6393         (Depends-on): Add dirent.
6394         (Makefile.am): Move rules to modules/dirent.
6395         * doc/posix-headers/dirent.texi: Mention the new module.
6396
6397 2008-10-18  Bruno Haible  <bruno@clisp.org>
6398
6399         Avoid -Wunused-parameter warnings in public gnulib header files.
6400         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
6401         macro.
6402         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
6403
6404 2008-10-18  Bruno Haible  <bruno@clisp.org>
6405
6406         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
6407         * doc/glibc-functions/error.texi: Mention the module 'error'.
6408         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
6409         * doc/glibc-functions/getdomainname.texi: Mention the module
6410         'getdomainname'.
6411         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
6412         * doc/glibc-functions/getpagesize.texi: Mention the module
6413         'getpagesize'.
6414         * doc/glibc-functions/getusershell.texi: Mention the module
6415         'getusershell'.
6416         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
6417         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
6418         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
6419         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
6420         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
6421         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
6422         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
6423         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
6424         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
6425         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
6426         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
6427         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
6428         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
6429         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
6430
6431 2008-10-17  Bruno Haible  <bruno@clisp.org>
6432
6433         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
6434         HP-UX and IRIX, use -0.0L.
6435         * tests/test-ceill.c (minus_zero): Likewise.
6436         * tests/test-floorl.c (minus_zero): Likewise.
6437         * tests/test-frexpl.c (minus_zero): Likewise.
6438         * tests/test-isnan.c (minus_zerol): Likewise.
6439         * tests/test-isnanl.h (minus_zero): Likewise.
6440         * tests/test-ldexpl.c (minus_zero): Likewise.
6441         * tests/test-roundl.c (minus_zero): Likewise.
6442         * tests/test-signbit.c (minus_zerol): Likewise.
6443         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
6444         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
6445         * tests/test-truncl.c (minus_zero): Likewise.
6446         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
6447         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
6448         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
6449         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
6450
6451 2008-10-17  Bruno Haible  <bruno@clisp.org>
6452
6453         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
6454         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
6455         that it gets activated only for gcc >= 3.0.
6456         * lib/dirent.in.h: Likewise.
6457         * lib/errno.in.h: Likewise.
6458         * lib/fcntl.in.h: Likewise.
6459         * lib/float.in.h: Likewise.
6460         * lib/iconv.in.h: Likewise.
6461         * lib/inttypes.in.h: Likewise.
6462         * lib/locale.in.h: Likewise.
6463         * lib/math.in.h: Likewise.
6464         * lib/netdb.in.h: Likewise.
6465         * lib/netinet_in.in.h: Likewise.
6466         * lib/search.in.h: Likewise.
6467         * lib/signal.in.h: Likewise.
6468         * lib/spawn.in.h: Likewise.
6469         * lib/stdarg.in.h: Likewise.
6470         * lib/stdint.in.h: Likewise.
6471         * lib/stdio.in.h: Likewise.
6472         * lib/stdlib.in.h: Likewise.
6473         * lib/string.in.h: Likewise.
6474         * lib/strings.in.h: Likewise.
6475         * lib/sys_file.in.h: Likewise.
6476         * lib/sys_ioctl.in.h: Likewise.
6477         * lib/sys_select.in.h: Likewise.
6478         * lib/sys_socket.in.h: Likewise.
6479         * lib/sys_stat.in.h: Likewise.
6480         * lib/sys_time.in.h: Likewise.
6481         * lib/sysexits.in.h: Likewise.
6482         * lib/time.in.h: Likewise.
6483         * lib/unistd.in.h: Likewise.
6484         * lib/wchar.in.h: Likewise.
6485         * lib/wctype.in.h: Likewise.
6486         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
6487
6488 2008-10-17  Jim Meyering  <meyering@redhat.com>
6489
6490         ignore-value: don't depend on inline module
6491         * modules/ignore-value (Depends-on): Remove 'inline'.
6492         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
6493         Suggestion from Bruno Haible.
6494
6495 2008-10-17  Bruno Haible  <bruno@clisp.org>
6496
6497         New implementation of condition variables for Win32.
6498         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
6499         (gl_linked_waitqueue_t): New type.
6500         (gl_cond_t): Use it.
6501         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
6502         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
6503         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
6504         (glthread_cond_init_func, glthread_cond_wait_func,
6505         glthread_cond_timedwait_func, glthread_cond_signal_func,
6506         glthread_cond_broadcast_func, glthread_cond_destroy_func):
6507         Reimplemented on the basis of gl_linked_waitqueue_t.
6508         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
6509         gl_waitqueue_t.
6510         (gl_rwlock_t): Update.
6511         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
6512
6513 2008-10-17  Simon Josefsson  <simon@josefsson.org>
6514
6515         * modules/recvfrom (Depends-on): Add dependency on getpeername.
6516         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
6517
6518 2008-10-17  Jim Meyering  <meyering@redhat.com>
6519
6520         ignore-value: new module
6521         * modules/ignore-value: New file.
6522         * lib/ignore-value.h: New file.
6523         * MODULES.html.sh (Compiler warning management): New section,
6524         just for this module.  More to come.
6525
6526 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
6527
6528         open-safer.c: avoid 'signed and unsigned in conditional...' warning
6529         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
6530         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
6531
6532 2008-10-16  Jim Meyering  <meyering@redhat.com>
6533
6534         openat-die.c: avoid 'no previous prototype' warning
6535         * lib/openat-die.c: Include "openat.h".
6536         Reported by Reuben Thomas <rrt@sc3d.org>.
6537
6538 2008-10-16  Simon Josefsson  <simon@josefsson.org>
6539
6540         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
6541         * lib/netdb.in.h: Fix typo.
6542         Reported by Bruno Haible  <bruno@clisp.org>
6543
6544         * lib/netdb.in.h: Include sys/socket.h for platforms without
6545         netdb.h, to get structures like hostent on MinGW.
6546         * modules/netdb (Depends-on): Add sys_socket.
6547
6548 2008-10-15  Simon Josefsson  <simon@josefsson.org>
6549
6550         * modules/netdb, modules/netdb-tests: New file.
6551         * m4/netdb_h.m4: New file.
6552         * lib/netdb.in.h: Add, currently just an empty file pending
6553         definitions.
6554         * tests/test-netdb.c: New file.
6555         * doc/posix-headers/netdb.texi: Mention that we replace it if
6556         needed.
6557         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
6558         netdb.
6559
6560 2008-10-15  Simon Josefsson  <simon@josefsson.org>
6561
6562         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
6563         with code.
6564
6565 2008-10-13  Bruno Haible  <bruno@clisp.org>
6566
6567         * lib/glthread/cond.c (glthread_cond_wait_func,
6568         glthread_cond_timedwait_func): Add a comment.
6569
6570 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
6571
6572         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
6573         * tests/test-select.c: Likewise,
6574
6575 2008-10-13  Bruno Haible  <bruno@clisp.org>
6576
6577         * lib/glthread/cond.c (glthread_cond_wait_func,
6578         glthread_cond_timedwait_func): Fix variable name.
6579         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
6580
6581 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
6582
6583         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
6584         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
6585         struct sockaddr.sa_len.
6586         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
6587
6588 2008-10-13  Simon Josefsson  <simon@josefsson.org>
6589
6590         * build-aux/pmccabe2html: Add css and css_url parameters.
6591
6592 2008-10-12  Bruno Haible  <bruno@clisp.org>
6593
6594         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
6595         calling aclx_get.
6596         Reported by Rainer Tammer <tammer@tammer.net>.
6597
6598 2008-10-12  Bruno Haible  <bruno@clisp.org>
6599
6600         Use msvcrt aware primitives for creation/termination of Win32 threads.
6601         * lib/glthread/thread.c: Include <process.h>.
6602         (glthread_create_func): Use _beginthreadex instead of CreateThread.
6603         (wrapper_func): Update signature.
6604         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
6605
6606 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
6607             Bruno Haible  <bruno@clisp.org>
6608
6609         Provide a Win32 implementation of the 'cond' module.
6610         * lib/glthread/cond.h [USE_WIN32]: New implementation.
6611         * lib/glthread/cond.c (glthread_cond_init_func,
6612         glthread_cond_wait_func, glthread_cond_timedwait_func,
6613         glthread_cond_signal_func, glthread_cond_broadcast_func,
6614         glthread_cond_destroy_func) [USE_WIN32]: New functions.
6615         * modules/cond (Dependencies): Add gettimeofday.
6616
6617 2008-10-11  Bruno Haible  <bruno@clisp.org>
6618
6619         Make sleep work on older versions of mingw.
6620         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
6621         only whether it exists.
6622         * doc/posix-functions/sleep.texi: Mention the problem with older
6623         versions of mingw.
6624
6625 2008-10-11  Bruno Haible  <bruno@clisp.org>
6626
6627         New module 'shutdown'.
6628         * modules/shutdown: New file.
6629         * lib/sys_socket.in.h (shutdown): New declaration.
6630         * lib/winsock.c (shutdown): New function.
6631         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
6632         GNULIB_SHUTDOWN.
6633         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
6634         * doc/posix-functions/shutdown.texi: Document the new module.
6635
6636 2008-10-11  Jim Meyering  <meyering@redhat.com>
6637
6638         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
6639
6640 2008-10-11  Bruno Haible  <bruno@clisp.org>
6641
6642         New module 'fclose'.
6643         * modules/fclose: New file.
6644         * lib/stdio.in.h (fclose): New declaration.
6645         * lib/fclose.c: New file.
6646         * m4/fclose.m4: New file.
6647         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
6648         REPLACE_FCLOSE.
6649         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
6650         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
6651         REPLACE_FCLOSE.
6652         * modules/close (Depends-on): fclose.
6653         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
6654
6655 2008-10-11  Bruno Haible  <bruno@clisp.org>
6656
6657         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
6658         set errno and don't call _close.
6659
6660 2008-10-10  Bruno Haible  <bruno@clisp.org>
6661
6662         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
6663         ACL, not afterwards. Fixes test failure on Cygwin.
6664
6665 2008-10-09  Ben Pfaff  <blp@gnu.org>
6666
6667         * build-aux/announce-gen: Fix gnulib version related part of usage
6668         message.  Die with a useful error message if no tarballs are
6669         found.
6670
6671 2008-10-10  Jim Meyering  <meyering@redhat.com>
6672
6673         bootstrap: use git's --depth=N option only if it's supported
6674         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
6675         recognize the --depth option.  Reported by Pádraig Brady.
6676
6677 2008-10-09  Bruno Haible  <bruno@clisp.org>
6678
6679         New module 'ioctl'.
6680         * modules/ioctl: New file.
6681         * lib/sys_socket.in.h (ioctl): Remove declaration.
6682         * lib/winsock.c: Include <sys/ioctl.h>.
6683         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
6684         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
6685         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
6686         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
6687         * doc/posix-functions/ioctl.texi: Mention the new module.
6688
6689 2008-10-09  Bruno Haible  <bruno@clisp.org>
6690
6691         New module 'sys_ioctl'.
6692         * lib/sys_ioctl.in.h: New file.
6693         * m4/sys_ioctl_h.m4: New file.
6694         * modules/sys_ioctl: New file.
6695         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
6696
6697 2008-10-09  Bruno Haible  <bruno@clisp.org>
6698
6699         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
6700         * lib/winsock.c: Include <stdarg.h>.
6701         (rpl_ioctl): Change to second argument 'int' and then varargs.
6702
6703 2008-10-09  Bruno Haible  <bruno@clisp.org>
6704
6705         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
6706         when the sys_socket module is present and the system has <winsock2.h>.
6707
6708 2008-10-09  Bruno Haible  <bruno@clisp.org>
6709
6710         * doc/posix-functions/close.texi: Mention module 'close' instead of
6711         module 'sys_socket'.
6712
6713 2008-10-09  Bruno Haible  <bruno@clisp.org>
6714
6715         * doc/glibc-headers/sys_ioctl.texi: New file.
6716         * doc/gnulib.texi: Include it.
6717
6718 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
6719             Bruno Haible  <bruno@clisp.org>
6720
6721         Combine the two replacements of 'close'.
6722         * lib/sys_socket.in.h (close): Define to a reminder to include
6723         <unistd.h>.
6724         (_gl_close_fd_maybe_socket): New declaration.
6725         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
6726         * lib/winsock.c (close): Remove undefinition.
6727         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
6728         needed for the gnulib module 'close'.
6729         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
6730         define to an error symbol or to a warning, if suitable.
6731         * lib/close.c: Include <sys/socket.h>.
6732         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
6733         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
6734         UNISTD_H_HAVE_WINSOCK2_H.
6735         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
6736         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
6737         UNISTD_H_HAVE_WINSOCK2_H.
6738         * modules/sys_socket (Files): Add m4/unistd_h.m4.
6739         (configure.ac): Set a module indicator.
6740         (Makefile.am): Substitute GNULIB_CLOSE.
6741         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
6742         * modules/poll-tests (Depends-on): Add close.
6743         * modules/select-tests (Depends-on): Likewise.
6744
6745 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
6746             Bruno Haible  <bruno@clisp.org>
6747
6748         New module 'close'.
6749         * modules/close: New file.
6750         * lib/unistd.in.h (close): Move declaration out of the
6751         FCHDIR_REPLACEMENT scope.
6752         (_gl_unregister_fd): New declaration.
6753         * lib/close.c: New file.
6754         * lib/fchdir.c (rpl_close): Remove function.
6755         * m4/close.m4: New file.
6756         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
6757         close.
6758         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
6759         REPLACE_CLOSE.
6760         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
6761         REPLACE_CLOSE.
6762         * modules/fchdir (Depends-on): Add close.
6763
6764 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
6765             Bruno Haible  <bruno@clisp.org>
6766
6767         * lib/fcntl.in.h (open): Simplify conditionals.
6768         (_gl_register_fd): New declaration.
6769         * lib/fchdir.c (rpl_open): Remove function.
6770         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
6771         also.
6772         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
6773         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
6774         open.
6775
6776 2008-10-09  Jim Meyering  <meyering@redhat.com>
6777
6778         GNUmakefile: use the more name-space-friendly "_version"
6779         * top/GNUmakefile (_dummy): Update.
6780         (_version): Rename from "version".
6781
6782 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
6783             Bruno Haible  <bruno@clisp.org>
6784
6785         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
6786         rpl_close.
6787         (_gl_register_fd): New function, extracted from rpl_open.
6788         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
6789         (rpl_open, rpl_opendir): Use _gl_register_fd.
6790
6791 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
6792
6793         Fix organization of 'open' replacement.
6794         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
6795         (gl_FUNC_OPEN): Use it.
6796         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
6797
6798 2008-10-08  Bruno Haible  <bruno@clisp.org>
6799
6800         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
6801
6802 2008-10-08  Simon Josefsson  <simon@josefsson.org>
6803
6804         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
6805         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
6806         listen).
6807
6808 2008-10-08  Eric Blake  <ebb9@byu.net>
6809
6810         GNUmakefile: add 'make version' target
6811         * top/GNUmakefile (_curr-ver): Split version update rules...
6812         (version): ...into a target.
6813
6814 2008-10-07  Bruno Haible  <bruno@clisp.org>
6815
6816         Use a more portable replacement expression for -0.0L.
6817         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
6818         instead of -0.0L. Fix m4 quotation.
6819
6820         * tests/test-signbit.c: Include <float.h>.
6821         (minus_zero): New variable.
6822         (test_signbitl): Use minus_zero instead of -zero.
6823         * modules/signbit-tests (Depends-on): Add float.
6824
6825         * tests/test-ceill.c: Include <float.h>.
6826         (zero): Remove variable.
6827         (minus_zero): New variable.
6828         (main): Use minus_zero instead of -zero.
6829         * modules/ceill-tests (Depends-on): Add float.
6830
6831         * tests/test-floorl.c: Include <float.h>.
6832         (zero): Remove variable.
6833         (minus_zero): New variable.
6834         (main): Use minus_zero instead of -zero.
6835         * modules/floorl-tests (Depends-on): Add float.
6836
6837         * tests/test-roundl.c: Include <float.h>.
6838         (zero): Remove variable.
6839         (minus_zero): New variable.
6840         (main): Use minus_zero instead of -zero.
6841         * modules/roundl-tests (Depends-on): Add float.
6842
6843         * tests/test-truncl.c: Include <float.h>.
6844         (zero): Remove variable.
6845         (minus_zero): New variable.
6846         (main): Use minus_zero instead of -zero.
6847         * modules/truncl-tests (Depends-on): Add float.
6848
6849         * tests/test-frexpl.c (zero): Remove variable.
6850         (minus_zero): New variable.
6851         (main): Use minus_zero instead of -zero.
6852         * modules/frexpl-tests (Depends-on): Add float.
6853
6854         * tests/test-isnan.c (zerol): Remove variable.
6855         (minus_zerol): New variable.
6856         (test_long_double): Use minus_zerol instead of -zerol.
6857         * modules/isnan-tests (Depends-on): Add float.
6858
6859         * tests/test-isnanl.h (zero): Remove variable.
6860         (minus_zero): New variable.
6861         (main): Use minus_zero instead of -zero.
6862         * modules/isnanl-nolibm-tests (Depends-on): Add float.
6863         * modules/isnanl-tests (Depends-on): Add float.
6864
6865         * tests/test-ldexpl.c (zero): Remove variable.
6866         (minus_zero): New variable.
6867         (main): Use minus_zero instead of -zero.
6868         * modules/ldexpl-tests (Depends-on): Add float.
6869
6870         * tests/test-snprintf-posix.h (zerol): Remove variable.
6871         (minus_zerol): New variable.
6872         (test_function): Use minus_zerol instead of -zerol.
6873         * modules/snprintf-posix-tests (Depends-on): Add float.
6874         * modules/vsnprintf-posix-tests (Depends-on): Add float.
6875
6876         * tests/test-sprintf-posix.h (zerol): Remove variable.
6877         (minus_zerol): New variable.
6878         (test_function): Use minus_zerol instead of -zerol.
6879         * modules/sprintf-posix-tests (Depends-on): Add float.
6880         * modules/vsprintf-posix-tests (Depends-on): Add float.
6881
6882         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
6883         (minus_zerol): New variable.
6884         (test_function): Use minus_zerol instead of -zerol.
6885         * modules/vasnprintf-posix-tests (Depends-on): Add float.
6886
6887         * tests/test-vasprintf-posix.c (zerol): Remove variable.
6888         (minus_zerol): New variable.
6889         (test_function): Use minus_zerol instead of -zerol.
6890         * modules/vasprintf-posix-tests (Depends-on): Add float.
6891
6892 2008-10-07  Simon Josefsson  <simon@josefsson.org>
6893
6894         * MODULES.html.sh (Support for building documentation): Mention
6895         pmccabe2html.  Sort entries.
6896
6897         Add pmccabe2html module, from gnupdf.
6898         * build-aux/pmccabe.css: New file.
6899         * build-aux/pmccabe2html: New file.
6900         * m4/pmccabe2html.m4: New file.
6901         * modules/pmccabe2html: New file.
6902
6903 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
6904
6905         flock: new module
6906         * MODULES.html.sh: Add to list of modules.
6907         * lib/flock.c: flock implementation for Windows and Unix systems
6908         which have fcntl.
6909         * doc/glibc-functions/flock.texi: Update documentation.
6910         * lib/sys_file.in.h: <sys/file.h> header file.
6911         * m4/flock.m4: M4 macros.
6912         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
6913         * modules/flock: flock module.
6914         * modules/flock-tests: flock tests module.
6915         * modules/sys_file: sys/file.h module.
6916         * tests/test-flock.c: test suite for flock.
6917
6918 2008-10-06  Jim Meyering  <meyering@redhat.com>
6919
6920         bootstrap: check for LT_INIT more portably still ;-)
6921         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
6922         Spotted by Bruno Haible.
6923
6924 2008-10-06  Eric Blake  <ebb9@byu.net>
6925
6926         test-signbit: avoid tripping Irix cc bug on -0.0L
6927         * tests/test-signbit.c (minus_zerol): Delete, and replace with
6928         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
6929         entire testsuite consistent and avoids an Irix 6.2 bug.
6930
6931 2008-10-05  Bruno Haible  <bruno@clisp.org>
6932             Jim Meyering  <jim@meyering.net>
6933
6934         Add an option for ignoring EPIPE during close_stdout.
6935         * lib/closeout.h: Include <stdbool.h>.
6936         (close_stdout_set_ignore_EPIPE): New declaration.
6937         * lib/closeout.c: Include <stdbool.h>.
6938         (ignore_EPIPE): New variable.
6939         (close_stdout_set_ignore_EPIPE): New function.
6940         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
6941         * lib/close-stream.c (close_stream): Mention the possible EPIPE
6942         failure.
6943         * modules/closeout (Depends-on): Add stdbool.
6944
6945 2008-10-05  Bruno Haible  <bruno@clisp.org>
6946
6947         * modules/accept: New file.
6948         * modules/bind: New file.
6949         * modules/connect: New file.
6950         * modules/getpeername: New file.
6951         * modules/getsockname: New file.
6952         * modules/getsockopt: New file.
6953         * modules/listen: New file.
6954         * modules/recv: New file.
6955         * modules/recvfrom: New file.
6956         * modules/send: New file.
6957         * modules/sendto: New file.
6958         * modules/setsockopt: New file.
6959         * modules/socket: New file.
6960         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
6961         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
6962         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
6963         the particular module is requested. Add a link warning when the
6964         particular module is not requested.
6965         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
6966         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
6967         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
6968         the particular module is requested.
6969         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
6970         gl_SYS_SOCKET_H_DEFAULTS): New macros.
6971         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
6972         * modules/sys_socket (Depends-on): Add link-warning.
6973         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
6974         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
6975         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
6976         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
6977         GL_LINK_WARNING.
6978         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
6979         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
6980         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
6981         * doc/posix-functions/getpeername.texi: Mention the new module
6982         'getpeername'.
6983         * doc/posix-functions/getsockname.texi: Mention the new module
6984         'getsockname'.
6985         * doc/posix-functions/getsockopt.texi: Mention the new module
6986         'getsockopt'.
6987         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
6988         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
6989         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
6990         * doc/posix-functions/send.texi: Mention the new module 'send'.
6991         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
6992         * doc/posix-functions/setsockopt.texi: Mention the new module
6993         'setsockopt'.
6994         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
6995         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
6996         listen, connect, accept.
6997         * modules/select-tests (Depends-on): Likewise.
6998
6999 2008-10-05  Bruno Haible  <bruno@clisp.org>
7000
7001         * lib/winsock.c (strerror): Remove unused #undef.
7002         (rpl_close): Remove unused local variable.
7003
7004         * modules/sys_socket (Depends-on); Add errno.
7005
7006 2008-10-05  Bruno Haible  <bruno@clisp.org>
7007
7008         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
7009         (select): Add a link warning when the 'select' module is not used.
7010         * modules/sys_select (Depends-on): Add link-warning.
7011         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
7012         Suggested by Paolo Bonzini.
7013
7014 2008-10-05  Jim Meyering  <meyering@redhat.com>
7015
7016         bootstrap: check for LT_INIT more portably
7017         * build-aux/bootstrap: Avoid using grep -E, since it's not
7018         portable enough.  Suggestion from Bruno Haible.
7019
7020 2008-10-05  Bruno Haible  <bruno@clisp.org>
7021
7022         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
7023         as being fixed by gnulib.
7024
7025 2008-10-05  Bruno Haible  <bruno@clisp.org>
7026
7027         * modules/select-tests: New file, mostly copied from
7028         modules/sys_select-tests.
7029         * tests/test-select.c: New file, mostly copied from
7030         tests/test-sys_select.c.
7031         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
7032         * modules/sys_select-tests (Depends-on): Remove all dependencies.
7033         (Makefile.am): Remove test_sys_select_LDADD.
7034
7035         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
7036         to an undefined symbol, for an error message.
7037         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
7038         (gl_SYS_SELECT_H_DEFAULTS): New macro.
7039         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
7040         winsock-select.c here.
7041         * modules/sys_select (Files): Remove lib/winsock-select.c.
7042         (Depends-on): Remove alloca.
7043         (Makefile.am): Substitute GNULIB_SELECT.
7044         * modules/select: New file.
7045         * doc/posix-functions/select.texi: Update.
7046
7047 2008-10-05  Bruno Haible  <bruno@clisp.org>
7048
7049         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
7050         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
7051         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
7052         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
7053         getdtablesize.
7054         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
7055         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
7056
7057 2008-10-05  Bruno Haible  <bruno@clisp.org>
7058
7059         * modules/getdtablesize-tests: New file.
7060         * tests/test-getdtablesize.c: New file.
7061
7062         New module 'getdtablesize'.
7063         * lib/unistd.in.h (getdtablesize): New declaration.
7064         * lib/getdtablesize.c: New file.
7065         * m4/getdtablesize.m4: New file.
7066         * modules/getdtablesize: New file.
7067         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7068         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
7069         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
7070         HAVE_GETDTABLESIZE.
7071         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
7072
7073 2008-10-05  Bruno Haible  <bruno@clisp.org>
7074
7075         * modules/sched (Makefile.am): Fix typo.
7076         Reported by Simon Josefsson.
7077
7078 2008-10-05  Jim Meyering  <meyering@redhat.com>
7079
7080         bootstrap: check for LT_INIT, too
7081         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
7082         are deprecated.  Suggestion from Ralf Wildenhues.
7083
7084 2008-10-05  Bruno Haible  <bruno@clisp.org>
7085
7086         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
7087         overriding them by ours.
7088         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
7089
7090 2008-10-05  Jim Meyering  <meyering@redhat.com>
7091
7092         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
7093         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
7094         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
7095
7096 2008-10-04  Bruno Haible  <bruno@clisp.org>
7097
7098         * modules/dup2 (License): Change to LGPLv2+.
7099         * modules/sleep (License): Likewise.
7100         * modules/perror (License): Likewise.
7101         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
7102         Blake.
7103         * modules/signal (License): Likewise.
7104         * modules/sigprocmask (License): Likewise.
7105         * modules/raise (License): Change to LGPLv2+, with approval by Jim
7106         Meyering.
7107
7108 2008-10-04  Bruno Haible  <bruno@clisp.org>
7109
7110         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
7111         Reported by Rainer Tammer <tammer@tammer.net>.
7112
7113 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
7114             Bruno Haible  <bruno@clisp.org>
7115
7116         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
7117         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
7118         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
7119
7120 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
7121
7122         filevercmp: new module
7123         * lib/filevercmp.h: New function filevercmp comparing version strings.
7124         * lib/filevercmp.c: Implementation of filevercmp function.
7125         * modules/filevercmp: Module metadata.
7126         * tests/test-filevercmp.c: Unit test for new module.
7127         * modules/filevercmp-tests: Unit test metadata.
7128         * MODULES.html.sh: Add filevercmp module.
7129
7130 2008-10-03  Bruno Haible  <bruno@clisp.org>
7131
7132         * lib/c-ctype.h: Add comment.
7133         Reported by Jim Meyering.
7134
7135 2008-10-02  Bruno Haible  <bruno@clisp.org>
7136
7137         * modules/posix_spawn-internal (Depends-on): Add 'open'.
7138
7139 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
7140
7141         * build-aux/bootstrap: Allow renaming bootstrap, and change the
7142         name of bootstrap.conf accordingly.
7143
7144 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
7145
7146         * build-aux/bootstrap: Install git-merge-changelog configuration
7147         items into .gitconfig if needed.
7148
7149 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
7150
7151         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
7152         git repository, and initialize/update it accordingly.
7153
7154 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
7155
7156         * modules/fsync-tests: New file.
7157         * tests/test-fsync.c: New file.
7158
7159         New module 'fsync'.
7160         * lib/fsync.c: New file.
7161         * m4/fsync.m4: New file.
7162         * modules/fsync: New file.
7163         * lib/unistd.in.h (fsync): New declaration.
7164         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
7165         GNULIB_FSYNC and HAVE_FSYNC.
7166         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
7167         * MODULES.html.sh (posix_functions): Add fsync.
7168         * doc/posix-functions/fsync.texi: Mention the new module.
7169
7170 2008-10-02  Jim Meyering  <meyering@redhat.com>
7171
7172         fts.c: sync with similar code from coreutils' remove.c
7173         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
7174         Guard also with "#if defined __linux__", since for now at least,
7175         this code is Linux-kernel-specific.
7176
7177 2008-10-02  Jim Meyering  <meyering@redhat.com>
7178
7179         fts: bug fixes
7180         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
7181         Include <sys/vfs.h>, not <sys/statfs.h>.
7182
7183         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
7184         Include <sys/vfs.h>, not <sys/statfs.h>.
7185
7186 2008-10-01  Bruno Haible  <bruno@clisp.org>
7187
7188         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
7189         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
7190         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
7191         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
7192         * doc/posix-functions/posix_spawnp.texi: Likewise.
7193         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
7194         whether posix_spawn actually works.
7195         * m4/pipe.m4 (gl_PIPE): Likewise.
7196         * modules/execute (Files): Add m4/posix_spawn.m4.
7197         * modules/pipe (Files): Add m4/posix_spawn.m4.
7198         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
7199
7200 2008-10-01  Jim Meyering  <meyering@redhat.com>
7201
7202         remove trailing spaces
7203         * NEWS: Likewise.
7204         * lib/poll.c (poll): Likewise.
7205         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
7206         * lib/winsock.c (rpl_close): Likewise.
7207         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
7208         * modules/yield: Likewise.
7209         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
7210         * tests/test-sys_select.c (connect_to_socket): Likewise.
7211
7212         fts.c: adjust a new interface to be more generally useful
7213         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
7214         (fts_build): Adjust caller.
7215
7216 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7217
7218         * modules/cond-tests: New file.
7219         * tests/test-cond.c: New file.
7220
7221 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7222             Bruno Haible  <bruno@clisp.org>
7223
7224         * modules/cond (Dependencies): Add errno, time.
7225         * lib/glthread/cond.h: Include <time.h>.
7226         (gl_cond_define, gl_cond_define_initialized): Use the same definition
7227         across platforms.
7228
7229 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7230             Bruno Haible  <bruno@clisp.org>
7231
7232         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
7233
7234 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7235             Bruno Haible  <bruno@clisp.org>
7236
7237         * modules/tls-tests (Depends-on): Add thread, yield.
7238         (configure.ac): Remove all checks.
7239         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
7240         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
7241         gl_thread_self): Remove definitions. Include glthread/thread.h and
7242         glthread/yield.h instead.
7243         (test_tls): Pass an additional NULL argument to gl_thread_join.
7244
7245 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7246             Bruno Haible  <bruno@clisp.org>
7247
7248         * modules/lock-tests (Depends-on): Add thread, yield.
7249         (configure.ac): Remove all checks.
7250         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
7251         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
7252         gl_thread_self): Remove definitions. Include glthread/thread.h and
7253         glthread/yield.h instead.
7254         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
7255         additional NULL argument to gl_thread_join.
7256
7257 2008-09-30  Bruno Haible  <bruno@clisp.org>
7258
7259         Fix the Win32 implementation of the 'thread' module.
7260         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
7261         pointer type.
7262         (gl_thread_self): Invoke gl_thread_self_func.
7263         (gl_thread_self_func): New declaration.
7264         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
7265         (do_init_self_key, init_self_key): New functions.
7266         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
7267         Remove some fields.
7268         (running_threads, running_lock): Remove variables.
7269         (get_current_thread_handle): New function.
7270         (gl_thread_self_func, wrapper_func, glthread_create_func,
7271         glthread_join_func, gl_thread_exit_func): Largely rewritten and
7272         simplified.
7273
7274 2008-09-30  Bruno Haible  <bruno@clisp.org>
7275
7276         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
7277         files.
7278
7279 2008-09-30  Jim Meyering  <meyering@redhat.com>
7280
7281         fts.m4: correct the test for statfs.f_type
7282         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
7283         when checking for statfs.f_type.
7284
7285 2008-09-15  Simon Josefsson  <simon@josefsson.org>
7286
7287         tests: avoid some compiler warnings
7288         * tests/test-memchr.c (main): Pass NULL indirectly.
7289         * tests/test-getdate.c (main): Remove unused variable 'ret'.
7290
7291 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
7292
7293         getdate.y: disallow countable dayshifts like "4 yesterday ago"
7294         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
7295         exactly specified dayshifts.
7296         (dayshift): New rule.
7297         (rel): Add dayshift.
7298         (relative_time_table) [tomorrow, yesterday, today, now]:
7299         Use tDAY_SHIFT in place of tDAY_UNIT.
7300         * tests/test-getdate.c: Add tests for now-disallowed countable
7301         dayshifts, e.g., "4 yesterday ago".
7302
7303 2008-09-29  Bruno Haible  <bruno@clisp.org>
7304
7305         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
7306         * tests/test-posix_spawn1.in.sh: Renamed from
7307         tests/test-posix_spawn.in.sh.
7308         * tests/test-posix_spawn2.c: New file.
7309         * tests/test-posix_spawn2.in.sh: New file.
7310         * modules/posix_spawnp-tests (Files): Update.
7311         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
7312
7313 2008-09-29  Bruno Haible  <bruno@clisp.org>
7314
7315         Propagate effects of putenv/setenv/unsetenv to child processes.
7316         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
7317         * lib/pipe.c (create_pipe): Likewise.
7318
7319 2008-09-29  Bruno Haible  <bruno@clisp.org>
7320
7321         Enable use of shell scripts as executables in mingw.
7322         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
7323         run the program as a shell script.
7324         * lib/pipe.c (create_pipe): Likewise.
7325         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
7326         resulting array.
7327
7328 2008-09-29  Eric Blake  <ebb9@byu.net>
7329
7330         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
7331
7332 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
7333
7334         * doc/posix-functions/accept.texi: Update mingw problems.
7335         * doc/posix-functions/bind.texi: Update mingw problems.
7336         * doc/posix-functions/close.texi: Update mingw problems.
7337         * doc/posix-functions/connect.texi: Update mingw problems.
7338         * doc/posix-functions/getpeername.texi: Update mingw problems.
7339         * doc/posix-functions/getsockname.texi: Update mingw problems.
7340         * doc/posix-functions/getsockopt.texi: Update mingw problems.
7341         * doc/posix-functions/ioctl.texi: Update mingw problems.
7342         * doc/posix-functions/listen.texi: Update mingw problems.
7343         * doc/posix-functions/recv.texi: Update mingw problems.
7344         * doc/posix-functions/recvfrom.texi: Update mingw problems.
7345         * doc/posix-functions/select.texi: Update mingw problems.
7346         * doc/posix-functions/send.texi: Update mingw problems.
7347         * doc/posix-functions/sendto.texi: Update mingw problems.
7348         * doc/posix-functions/setsockopt.texi: Update mingw problems.
7349         * doc/posix-functions/socket.texi: Update mingw problems.
7350
7351 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
7352             Bruno Haible  <bruno@clisp.org>
7353
7354         * lib/sys_select.in.h: Include sys/time.h.
7355         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
7356         * modules/sys_select: Depend on sys_time.
7357         * tests/test-sys_select.c: Test that sys/select.h defines struct
7358         timeval fully.
7359
7360 2008-09-29  Bruno Haible  <bruno@clisp.org>
7361
7362         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
7363         * lib/sys_select.in.h: Likewise.
7364
7365 2008-09-29  Bruno Haible  <bruno@clisp.org>
7366
7367         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
7368
7369 2008-09-29  Bruno Haible  <bruno@clisp.org>
7370
7371         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
7372         Set LIBSOCKET instead of augmenting LIBS.
7373         * modules/sockets (Link): New section.
7374         * modules/sockets-tests (test_sockets_LDADD): New variable.
7375         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
7376         * modules/poll-tests (test_poll_LDADD): New variable.
7377         * NEWS: Document the change.
7378
7379 2008-09-29  Bruno Haible  <bruno@clisp.org>
7380
7381         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
7382         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
7383         ARPA_INET_H directly.
7384         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
7385
7386 2008-09-28  Bruno Haible  <bruno@clisp.org>
7387
7388         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
7389         from gl_HEADER_SYS_SOCKET.
7390         (gl_HEADER_SYS_SOCKET): Invoke it.
7391         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
7392
7393 2008-09-28  Bruno Haible  <bruno@clisp.org>
7394
7395         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
7396         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
7397         Needed on OSF/1 4.0.
7398
7399 2008-09-28  Bruno Haible  <bruno@clisp.org>
7400
7401         Override open more carefully.
7402         * lib/open.c (orig_open): New function.
7403         (rpl_open): Use orig_open instead of open.
7404         * lib/fcntl.in.h: Add special invocation convention.
7405         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
7406         (gl_FUNC_OPEN): Invoke it.
7407
7408         Override freopen more carefully.
7409         * lib/freopen.c (orig_freopen): New function.
7410         (rpl_freopen): Use orig_freopen instead of freopen.
7411         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
7412         (gl_FUNC_FREOPEN): Invoke it.
7413
7414         Override fopen more carefully.
7415         * lib/fopen.c (orig_fopen): New function.
7416         (rpl_fopen): Use orig_fopen instead of fopen.
7417         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
7418         (gl_FUNC_FOPEN): Invoke it.
7419         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
7420
7421 2008-09-28  Bruno Haible  <bruno@clisp.org>
7422
7423         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
7424         SIGPIPE.
7425
7426 2008-09-28  Bruno Haible  <bruno@clisp.org>
7427
7428         * tests/test-sigaction.c (handler, main): Disable the check whether
7429         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
7430         glibc systems with LinuxThreads.
7431
7432 2008-09-28  Bruno Haible  <bruno@clisp.org>
7433
7434         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
7435
7436         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
7437         with AIX xlc.
7438         * lib/fcntl.in.h (open): Likewise.
7439         Reported by Rainer Tammer <tammer@tammer.net>.
7440
7441 2008-09-28  Bruno Haible  <bruno@clisp.org>
7442
7443         * modules/posix_spawnp-tests: New file.
7444         * tests/test-posix_spawn.c: New file.
7445         * tests/test-posix_spawn.in.sh: New file.
7446
7447         New module 'posix_spawnp'.
7448         * modules/posix_spawnp: New file.
7449         * lib/spawnp.c: New file, from GNU libc with modifications.
7450         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
7451
7452         New module 'posix_spawn'.
7453         * modules/posix_spawn: New file.
7454         * lib/spawn.c: New file, from GNU libc with modifications.
7455         * doc/posix-functions/posix_spawn.texi: Mention the new module.
7456
7457         New module 'posix_spawnattr_destroy'.
7458         * modules/posix_spawnattr_destroy: New file.
7459         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
7460         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
7461         module.
7462
7463         New module 'posix_spawnattr_setsigmask'.
7464         * modules/posix_spawnattr_setsigmask: New file.
7465         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
7466         modifications.
7467         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
7468         new module.
7469
7470         New module 'posix_spawnattr_getsigmask'.
7471         * modules/posix_spawnattr_getsigmask: New file.
7472         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
7473         modifications.
7474         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
7475         new module.
7476
7477         New module 'posix_spawnattr_setsigdefault'.
7478         * modules/posix_spawnattr_setsigdefault: New file.
7479         * lib/spawnattr_setdefault.c: New file, from GNU libc with
7480         modifications.
7481         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
7482         new module.
7483
7484         New module 'posix_spawnattr_getsigdefault'.
7485         * modules/posix_spawnattr_getsigdefault: New file.
7486         * lib/spawnattr_getdefault.c: New file, from GNU libc with
7487         modifications.
7488         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
7489         new module.
7490
7491         New module 'posix_spawnattr_setschedpolicy'.
7492         * modules/posix_spawnattr_setschedpolicy: New file.
7493         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
7494         modifications.
7495         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
7496         new module.
7497
7498         New module 'posix_spawnattr_getschedpolicy'.
7499         * modules/posix_spawnattr_getschedpolicy: New file.
7500         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
7501         modifications.
7502         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
7503         new module.
7504
7505         New module 'posix_spawnattr_setschedparam'.
7506         * modules/posix_spawnattr_setschedparam: New file.
7507         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
7508         modifications.
7509         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
7510         new module.
7511
7512         New module 'posix_spawnattr_getschedparam'.
7513         * modules/posix_spawnattr_getschedparam: New file.
7514         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
7515         modifications.
7516         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
7517         new module.
7518
7519         New module 'posix_spawnattr_setpgroup'.
7520         * modules/posix_spawnattr_setpgroup: New file.
7521         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
7522         modifications.
7523         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
7524         module.
7525
7526         New module 'posix_spawnattr_getpgroup'.
7527         * modules/posix_spawnattr_getpgroup: New file.
7528         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
7529         modifications.
7530         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
7531         module.
7532
7533         New module 'posix_spawnattr_setflags'.
7534         * modules/posix_spawnattr_setflags: New file.
7535         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
7536         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
7537         module.
7538
7539         New module 'posix_spawnattr_getflags'.
7540         * modules/posix_spawnattr_getflags: New file.
7541         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
7542         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
7543         module.
7544
7545         New module 'posix_spawnattr_init'.
7546         * modules/posix_spawnattr_init: New file.
7547         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
7548         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
7549         module.
7550
7551         New module 'posix_spawn_file_actions_destroy'.
7552         * modules/posix_spawn_file_actions_destroy: New file.
7553         * lib/spawn_faction_destroy.c: New file, from GNU libc with
7554         modifications.
7555         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
7556         the new module.
7557
7558         New module 'posix_spawn_file_actions_addopen'.
7559         * modules/posix_spawn_file_actions_addopen: New file.
7560         * lib/spawn_faction_addopen.c: New file, from GNU libc with
7561         modifications.
7562         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
7563         the new module.
7564
7565         New module 'posix_spawn_file_actions_adddup2'.
7566         * modules/posix_spawn_file_actions_adddup2: New file.
7567         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
7568         modifications.
7569         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
7570         the new module.
7571
7572         New module 'posix_spawn_file_actions_addclose'.
7573         * modules/posix_spawn_file_actions_addclose: New file.
7574         * lib/spawn_faction_addclose.c: New file, from GNU libc with
7575         modifications.
7576         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
7577         the new module.
7578
7579         New module 'posix_spawn_file_actions_init'.
7580         * modules/posix_spawn_file_actions_init: New file.
7581         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
7582         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
7583         new module.
7584
7585         New module 'posix_spawn-internal'.
7586         * modules/posix_spawn-internal: New file.
7587         * lib/spawn_int.h: New file, from GNU libc with modifications.
7588         * lib/spawni.c: New file, from GNU libc with modifications.
7589         * m4/posix_spawn.m4: New file.
7590
7591         New module 'spawn'.
7592         * modules/spawn: New file.
7593         * lib/spawn.in.h: New file, from GNU libc with modifications.
7594         * m4/spawn_h.m4: New file.
7595         * doc/posix-headers/spawn.texi: Mention the new module.
7596
7597 2008-09-28  Bruno Haible  <bruno@clisp.org>
7598
7599         * modules/sched-tests: New file.
7600         * tests/test-sched.c: New file.
7601
7602         New module 'sched'.
7603         * modules/sched: New file.
7604         * lib/sched.in.h: New file.
7605         * m4/sched_h.m4: New file.
7606         * doc/posix-headers/sched.texi: Mention the new module.
7607
7608 2008-09-27  Eric Blake  <ebb9@byu.net>
7609
7610         Fix previous patch, and tweak references to $0.
7611         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
7612         (func_version, func_gnulib_dir): Don't call this program
7613         gnulib-tool.
7614         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
7615         with using $0 in function.
7616         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
7617         (func_fatal_error): Reuse the name the user invoked us with.
7618
7619 2008-09-27  Bruno Haible  <bruno@clisp.org>
7620
7621         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
7622         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
7623         (gl_ICONV_H): Not here.
7624         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
7625         instead of assigning ICONV_H directly.
7626
7627         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
7628         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
7629         WCHAR_H directly.
7630
7631 2008-09-27  Bruno Haible  <bruno@clisp.org>
7632
7633         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
7634         * modules/arpa_inet (Depends-on): Add link-warning.
7635         (Makefile.am): Insert the definition of GL_LINK-WARNING.
7636         * modules/unistd (Makefile.am): Likewise.
7637
7638 2008-09-26  Bruno Haible  <bruno@clisp.org>
7639
7640         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
7641         variables.
7642         (func_version): Essentially copied from gnulib-tool.
7643         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
7644         func_readlink): Copied from gnulib-tool.
7645
7646 2008-09-26  Bruno Haible  <bruno@clisp.org>
7647
7648         * gnulib-tool (func_version): Change directory to $gnulib_dir before
7649         invoking git-version-gen.
7650
7651 2008-09-26  Bruno Haible  <bruno@clisp.org>
7652
7653         * posix-modules: Update to directory names changed on 2008-01-19.
7654         Remove commas in output before splitting into words. No more need to
7655         avoid 'ftruncate' since 2007-02-19.
7656
7657 2008-09-26  Bruno Haible  <bruno@clisp.org>
7658
7659         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
7660
7661 2008-09-26  Bruno Haible  <bruno@clisp.org>
7662
7663         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
7664         * modules/fwriteerror (Depends-on): Add errno.
7665
7666 2008-09-26  Bruno Haible  <bruno@clisp.org>
7667
7668         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
7669         * tests/test-vc-list-files-cvs.sh: Likewise.
7670
7671 2008-09-26  Bruno Haible  <bruno@clisp.org>
7672
7673         * doc/posix-headers/sys_resource.texi: Reorder items.
7674
7675 2008-09-26  Jim Meyering  <meyering@redhat.com>
7676
7677         fts: tweak inode comparison function
7678         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
7679         inode numbers, as documented.
7680
7681         fts: sort dirent entries on inode number before traversing
7682         This avoids a quadratic, seek-related performance penalty when
7683         operating on a directory containing many entries (measurable at 10k;
7684         3.5 hours at 2 million entries with a cold cache) on certain types
7685         of file systems, including ext3 and ext4, but not tmpfs.
7686         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
7687         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
7688         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
7689         (fs_handles_readdir_ordered_dirents_efficiently): New function.
7690         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
7691         (fts_build): Set the stat.st_ino member from D_INO.
7692         If it is likely to be useful, sort dirent entries on inode number.
7693
7694         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
7695         and the struct statfs.f_type member.
7696         * modules/fts (Depends-on): Add d-ino.
7697
7698 2008-09-26  Bruno Haible  <bruno@clisp.org>
7699
7700         * modules/sigpipe-die (Depends-on): Add sigpipe.
7701
7702         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
7703         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
7704         and GNULIB_STDIO_H_SIGPIPE are set.
7705         * lib/stdio-write.c: New file.
7706         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
7707         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
7708         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
7709         REPLACE_STDIO_WRITE_FUNCS.
7710         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
7711         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
7712         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
7713         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
7714         * modules/stdio (Files): Add lib/stdio-write.c.
7715         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
7716         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
7717         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
7718         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
7719         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
7720         REPLACE_FPRINTF_POSIX.
7721         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
7722         REPLACE_PRINTF_POSIX.
7723         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
7724         REPLACE_VFPRINTF_POSIX.
7725         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
7726         REPLACE_VPRINTF_POSIX.
7727         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
7728         SIGPIPE issue.
7729         * doc/posix-functions/fputc.texi: Likewise.
7730         * doc/posix-functions/fputs.texi: Likewise.
7731         * doc/posix-functions/fwrite.texi: Likewise.
7732         * doc/posix-functions/printf.texi: Likewise.
7733         * doc/posix-functions/putc.texi: Likewise.
7734         * doc/posix-functions/putchar.texi: Likewise.
7735         * doc/posix-functions/puts.texi: Likewise.
7736         * doc/posix-functions/vfprintf.texi: Likewise.
7737         * doc/posix-functions/vprintf.texi: Likewise.
7738
7739         * modules/safe-write (Depends-on): Add write.
7740
7741         * modules/sigpipe-tests: New file.
7742         * tests/test-sigpipe.c: New file.
7743         * tests/test-sigpipe.sh: New file.
7744
7745         * modules/write: New file.
7746         * lib/unistd.in.h: Include <sys/types.h>.
7747         (write): New declaration.
7748         * lib/write.c: New file.
7749         * m4/write.m4: New file.
7750         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7751         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
7752         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
7753         GNULIB_WRITE, REPLACE_WRITE.
7754         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
7755         and the SIGPIPE issue.
7756
7757         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
7758         (raise): New declaration.
7759         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
7760         (ext_signal): New function.
7761         (rpl_raise): New function.
7762         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
7763         GNULIB_SIGNAL_H_SIGPIPE.
7764         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
7765         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
7766
7767         * modules/sigpipe: New file.
7768         * m4/sigpipe.m4: New file.
7769
7770 2008-09-25  Derek Price  <derek@ximbiot.com>
7771             Bruno Haible  <bruno@clisp.org>
7772
7773         * gnulib-tool (func_import): Report all license incompatibilities, not
7774         just the first one.
7775
7776 2008-09-25  Bruno Haible  <bruno@clisp.org>
7777
7778         * gnulib-tool (func_import): When computing the edits, consider not
7779         only the Makefile.ams that exist but also those that will be generated.
7780
7781 2008-09-25  Simon Josefsson  <simon@josefsson.org>
7782
7783         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
7784         fixes gnulib-tool --test warning about duplicate dependency.
7785
7786 2008-09-25  Bruno Haible  <bruno@clisp.org>
7787
7788         * gnulib-tool: Don't ask the user to perform edits in the generated
7789         Makefile.ams.
7790         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
7791         apply to the Makefile.am being generated.
7792         (func_emit_tests_Makefile_am): Execute edits that apply to the
7793         Makefile.am being generated.
7794         (func_import): Setup list of Makefile.am edits before emitting the
7795         Makefile.ams, not at the end.
7796         (func_create_testdir): Update.
7797         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
7798
7799 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7800
7801         * gnulib-tool (func_import): Store the --tests-base option in the
7802         comment in gnulib-cache.m4.
7803
7804 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
7805
7806         * NEWS: Document increased portability that sys_select now provides.
7807
7808         * lib/sys_select.in.h: Install select wrapper.
7809         * lib/sys_socket.in.h: Use more descriptive name when there is no
7810         select wrapper.
7811         * lib/winsock-select.c: New.
7812         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
7813         Require gl_HEADER_SYS_SOCKET.
7814         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
7815         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
7816         * tests/test-sys_select.c: Add functional tests.
7817
7818 2008-09-24  Eric Blake  <ebb9@byu.net>
7819
7820         open, fopen: close fd leak in last patch
7821         * lib/open.c (rpl_open): Close fd before returning error.
7822         * lib/fopen.c (rpl_fopen): Close fd before returning error.
7823         * doc/posix-functions/open.texi (open): Document that Irix also
7824         has the bug.
7825         * doc/posix-functions/fopen.texi (fopen): Likewise.
7826         Reported by Paolo Bonzini.
7827
7828 2008-09-24  Bruno Haible  <bruno@clisp.org>
7829
7830         Ensure that a filename ending in a slash cannot be used to access a
7831         non-directory.
7832         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
7833         to check whether it's really a directory.
7834         * lib/fopen.c: Include fcntl.h, unistd.h.
7835         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
7836         and fdopen().
7837         * modules/fopen (Depends-on): Add unistd.
7838         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
7839         * tests/test-fopen.c (main): Likewise.
7840         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
7841         * doc/posix-functions/fopen.texi: Likewise.
7842         Reported by Eric Blake.
7843
7844 2008-09-23  Eric Blake  <ebb9@byu.net>
7845
7846         c-stack: avoid compiler optimizations when provoking overflow
7847         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
7848         recursion harder to optimize, to ensure a stack overflow occurs.
7849         * tests/test-c-stack.c (recurse): Likewise.
7850         Borrowed from libsigsegv.
7851
7852         c-stack: work around Irix sigaltstack bug
7853         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
7854         whether sigaltstack uses wrong end of stack_t (copied in part from
7855         libsigsegv).
7856         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
7857         Irix bug, without requiring an over-allocation.
7858         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
7859         bug.
7860
7861         fopen: document mingw bug on directories
7862         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
7863         not allowing a stream visiting a directory, even though reading
7864         from such a stream is not portable.
7865
7866 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
7867
7868         * lib/poll.c: Rewrite.
7869         * modules/poll: Depend on alloca.
7870
7871 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
7872
7873         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
7874         instead define prototypes for a full set of wrappers.  Ensure
7875         that Cygwin does not use the compatibility code, which is only
7876         for MinGW.
7877         * lib/winsock.c: New.
7878         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
7879         * modules/sys_socket: Add lib/winsock.c.
7880
7881         * modules/poll-tests: Add errno and perror.
7882         * tests/test-poll.c: Use ioctl, not ioctlsocket.
7883
7884 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
7885
7886         * tests/test-poll.c: Downgrade minimum needed Winsock version.
7887
7888 2008-09-23  Bruno Haible  <bruno@clisp.org>
7889
7890         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
7891         * doc/glibc-functions/*: Likewise.
7892
7893 2008-09-23  Simon Josefsson  <simon@josefsson.org>
7894
7895         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
7896         success.
7897
7898 2008-09-22  Eric Blake  <ebb9@byu.net>
7899             Bruno Haible  <bruno@clisp.org>
7900
7901         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
7902         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
7903         supply %A but mishandle pseudo-NaN.
7904         Reported by Simon Josefsson.
7905
7906 2008-09-21  Bruno Haible  <bruno@clisp.org>
7907
7908         * tests/test-lock.c (main): Tweak skip message.
7909         * tests/test-tls.c (main): Likewise.
7910
7911 2008-09-21  Bruno Haible  <bruno@clisp.org>
7912
7913         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
7914         whether 'struct sigaction' has sa_sigaction here...
7915         (gl_PREREQ_SIG_HANDLER_H): ... not here.
7916         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
7917
7918 2008-09-21  Bruno Haible  <bruno@clisp.org>
7919
7920         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
7921         section.
7922         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
7923         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
7924         the new section.
7925         (Support for obsolete systems lacking POSIX:2001): New section.
7926         (String handling <string.h>): Move strdup to the new section.
7927         Suggested by Simon Josefsson and Paolo Bonzini.
7928
7929 2008-09-21  Bruno Haible  <bruno@clisp.org>
7930
7931         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
7932         exponents in %e and %g results on 'long double'. Needed for mingw's
7933         improved *printf functions.
7934         * tests/test-vasprintf-posix.c (test_function): Likewise.
7935         * tests/test-snprintf-posix.h (test_function): Likewise.
7936         * tests/test-sprintf-posix.h (test_function): Likewise.
7937         Reported by Eric Blake.
7938
7939 2008-09-21  Bruno Haible  <bruno@clisp.org>
7940
7941         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
7942         * tests/test-sprintf-posix.h (test_function): Likewise.
7943
7944 2008-09-21  Bruno Haible  <bruno@clisp.org>
7945
7946         * modules/getpass (Depends-on): Add strdup-posix.
7947
7948         New module 'strdup-posix'.
7949         * modules/strdup-posix: New file.
7950         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
7951         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
7952         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
7953         REPLACE_STRDUP.
7954         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
7955         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
7956         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
7957         strdup-posix.
7958
7959         * modules/strdup (Depends-on): Remove malloc-posix.
7960
7961 2008-09-20  Bruno Haible  <bruno@clisp.org>
7962
7963         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
7964         Wildenhues.
7965
7966 2008-09-20  Bruno Haible  <bruno@clisp.org>
7967
7968         Ensure that wint_t gets defined on IRIX 5.3.
7969         * lib/wchar.in.h (wint_t): Define if not defined by the system.
7970         * lib/wctype.in.h (wint_t): Likewise.
7971         (__wctype_wint_t): Remove type.
7972         (isw*): Use wint_t instead of __wctype_wint_t.
7973         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
7974         * modules/wchar (Files): Add m4/wint_t.m4.
7975         (Makefile.am): Substitute HAVE_WINT_T.
7976         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
7977         * tests/test-wctype.c: Check that wint_t is defined.
7978         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
7979         * doc/posix-headers/wctype.texi: Likewise.
7980         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7981
7982 2008-09-18  Bruno Haible  <bruno@clisp.org>
7983
7984         * gnulib-tool (func_exit): Update comment.
7985
7986 2008-09-18  Simon Josefsson  <simon@josefsson.org>
7987
7988         * modules/getaddrinfo (Depends-on): Remove strdup, this module
7989         assumes strdup exists and does not depend on strdup to return
7990         ENOMEM on out of memory conditions.
7991
7992 2008-09-18  Bruno Haible  <bruno@clisp.org>
7993
7994         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
7995         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
7996         digits for the exponent.
7997
7998 2008-09-18  Jim Meyering  <meyering@redhat.com>
7999             Bruno Haible  <bruno@clisp.org>
8000
8001         * lib/vasnprintf.c (decimal_point_char): Define also if
8002         NEED_PRINTF_INFINITE_LONG_DOUBLE.
8003
8004 2008-09-16  Bruno Haible  <bruno@clisp.org>
8005         and Eric Blake  <ebb9@byu.net>
8006
8007         vasnprintf: support Irix 5.3
8008         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
8009         that mishandle long double infinity.
8010         Reported by Tom G. Christensen.
8011
8012 2008-09-16  Bruno Haible  <bruno@clisp.org>
8013
8014         * doc/glibc-functions/scandir.texi: Mention the function is missing on
8015         Solaris 9.
8016         * doc/glibc-functions/alphasort.texi: Likewise.
8017         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
8018
8019 2008-09-16  Jim Meyering  <meyering@redhat.com>
8020
8021         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
8022         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
8023         a umask modification leak out of a subshell.  Otherwise, the
8024         opensolaris /bin/sh would be accepted and thus cause unwarranted
8025         failures in the coreutils test suite.
8026
8027 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
8028
8029         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
8030         to succeed.
8031
8032 2008-09-16  Jim Meyering  <meyering@redhat.com>
8033
8034         avoid spurious test failure when library is built without ACL support
8035         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
8036         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
8037         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
8038         * tests/test-copy-acl.sh: Likewise.
8039
8040 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8041
8042         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
8043         based on character occurrence counts.
8044
8045 2008-09-15  Eric Blake  <ebb9@byu.net>
8046
8047         tests: avoid some compiler warnings
8048         * tests/test-memchr.c (main): Pass NULL indirectly.
8049         * tests/test-closein.c (main): Avoid unused variable.
8050
8051 2008-09-15  Bruno Haible  <bruno@clisp.org>
8052
8053         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
8054         are missing on OpenBSD 4.0 individually.
8055         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
8056
8057 2008-09-15  Bruno Haible  <bruno@clisp.org>
8058
8059         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
8060         * doc/posix-functions/strerror.texi: Mention also Cygwin.
8061         * doc/posix-functions/perror.texi: Likewise.
8062         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
8063         is missing.
8064         Reported by Eric Blake.
8065
8066         * lib/errno.in.h: Use replacement values >= 2000.
8067         Reported by Eric Blake.
8068
8069 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8070
8071         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
8072         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
8073         limit.
8074         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
8075         compareseq was aborted.
8076
8077 2008-09-14  Bruno Haible  <bruno@clisp.org>
8078
8079         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
8080         yvec_edit_count.
8081         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
8082         (fstrcmp_bounded): Simplify result computation accordingly.
8083
8084 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8085
8086         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
8087         (fstrcmp): Define in terms of fstrcmp_bounded.
8088         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
8089         lower_bound argument.
8090         Return quickly if the result is certainly < lower_bound.
8091         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
8092
8093 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8094
8095         * lib/diffseq.h (EARLY_ABORT): New macro.
8096         (compareseq): Change return type to bool. Return true when EARLY_ABORT
8097         evaluates to true.
8098
8099 2008-09-14  Bruno Haible  <bruno@clisp.org>
8100
8101         * modules/perror-tests: New file.
8102         * tests/test-perror.sh: New file.
8103         * tests/test-perror.c: New file.
8104
8105         New module 'perror'.
8106         * lib/stdio.in.h (perror): New declaration.
8107         * lib/perror.c: New file.
8108         * m4/perror.m4: New file.
8109         * modules/perror: New file.
8110         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
8111         * doc/posix-functions/perror.texi: Mention the perror module.
8112         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
8113         REPLACE_PERROR.
8114         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
8115         REPLACE_PERROR.
8116
8117 2008-09-14  Bruno Haible  <bruno@clisp.org>
8118
8119         * modules/stdio (Makefile.am): Reorder to match the order in
8120         lib/stdio.in.h.
8121         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
8122
8123 2008-09-13  Bruno Haible  <bruno@clisp.org>
8124
8125         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
8126
8127 2008-09-13  Bruno Haible  <bruno@clisp.org>
8128
8129         Extend strerror to cover the added errno values.
8130         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
8131         (rpl_strerror): Provide error messages for the added errno values and
8132         for the WSA* values.
8133         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
8134         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
8135         strerror.
8136         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
8137         * modules/strerror (Depends-on): Add errno.
8138         * doc/posix-functions/strerror.texi: Document the change.
8139         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
8140         and EOVERFLOW.
8141
8142 2008-09-13  Bruno Haible  <bruno@clisp.org>
8143
8144         * modules/EOVERFLOW: Remove file.
8145         * m4/eoverflow.m4: Remove file.
8146         * modules/EOVERFLOW-tests: Remove file.
8147         * tests/test-EOVERFLOW.c: Remove file.
8148         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
8149         * modules/ftell (Depends-on): Likewise.
8150         * modules/getdelim (Depends-on): Likewise.
8151         * modules/getugroups (Depends-on): Likewise.
8152         * modules/poll (Depends-on): Likewise.
8153         * modules/snprintf (Depends-on): Likewise.
8154         * modules/sprintf-posix (Depends-on): Likewise.
8155         * modules/vasnprintf (Depends-on): Likewise.
8156         * modules/vasprintf (Depends-on): Likewise.
8157         * modules/vfprintf-posix (Depends-on): Likewise.
8158         * modules/vsnprintf (Depends-on): Likewise.
8159         * modules/vsprintf-posix (Depends-on): Likewise.
8160         * modules/xvasprintf (Depends-on): Likewise.
8161         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
8162         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
8163         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
8164         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
8165         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
8166         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
8167         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
8168         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
8169         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
8170         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
8171         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
8172         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
8173         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
8174         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
8175         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
8176         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
8177         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
8178         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
8179         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
8180         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
8181         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
8182         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
8183         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
8184         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
8185         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
8186         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
8187         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
8188         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
8189         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
8190         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
8191         * MODULES.html.sh: Remove EOVERFLOW.
8192         * NEWS: Mention the change.
8193
8194 2008-09-13  Bruno Haible  <bruno@clisp.org>
8195
8196         * modules/errno-tests: New file.
8197         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
8198
8199         * lib/errno.in.h: New file.
8200         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
8201         * modules/errno: New file.
8202         * doc/posix-headers/errno.texi: Update documentation.
8203         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
8204
8205 2008-09-13  Bruno Haible  <bruno@clisp.org>
8206
8207         * tests/test-poll.c: Use #if for native Windows, rather than testing
8208         __MSVCRT__.
8209
8210 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8211             Bruno Haible  <bruno@clisp.org>
8212
8213         * lib/glob.c: Don't include <pwd.h> on native Windows.
8214         (WINDOWS32): New macro.
8215         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
8216
8217 2008-09-13  Bruno Haible  <bruno@clisp.org>
8218
8219         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
8220         (ETIMEDOUT): Remove macro.
8221         (glthread_cond_timedwait_multithreaded): New declaration.
8222         (glthread_cond_timedwait): Use it.
8223         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
8224         (glthread_cond_timedwait_multithreaded): New function.
8225
8226 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
8227
8228         * modules/poll-tests: Do not check for io.h.
8229         * tests/test-poll.c: Check for __MSVCRT__ instead.
8230
8231 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
8232
8233         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
8234         * modules/poll-tests: Add inet_pton, stdbool, sockets.
8235         * tests/test-poll.c: Use them.  Use _pipe on Windows.
8236
8237 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
8238
8239         * modules/poll-tests: New.
8240         * tests/test-poll.c: New.
8241
8242 2008-09-12  Eric Blake  <ebb9@byu.net>
8243
8244         frexp: test for NetBSD failure on -0.0
8245         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
8246         not all, bugs from NetBSD 3.0 have been fixed.
8247         * doc/posix-functions/frexp.texi (frexp): Document bug.
8248         Reported by Thomas Klausner.
8249
8250         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
8251         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
8252         literal -0.0.
8253         Reported by Jonathan C. Patschke <jp@centtech.com>.
8254
8255 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8256
8257         * lib/glthread/cond.h: Use dummy implementation also if
8258         USE_WIN32_THREADS.
8259
8260 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8261
8262         * modules/fnmatch-posix (License): Change to LGPLv2+.
8263         * modules/fnmatch-gnu (License): Likewise.
8264
8265 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8266
8267         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
8268
8269 2008-09-11  Jim Meyering  <meyering@redhat.com>
8270
8271         * users.txt: Add gtk-vnc.
8272
8273 2008-09-08  Simon Josefsson  <simon@josefsson.org>
8274
8275         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
8276         rotate amounts.
8277
8278         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
8279         required for 16-bit and 8-bit rotates.
8280         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
8281         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
8282         UINT8_MAX instead of hard-coded constants.
8283         Suggested by Paul Eggert.
8284
8285 2008-09-07  Bruno Haible  <bruno@clisp.org>
8286
8287         * tests/test-striconveh.c (main): Check behaviour when converting from
8288         UTF-7.
8289
8290         Make striconveh work better with stateful encodings.
8291         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
8292         that iconv does not increment the inptr when returning -1/EINVAL.
8293
8294 2008-09-07  Bruno Haible  <bruno@clisp.org>
8295
8296         * build-aux/config.rpath: Update according to libtool-2.2.6.
8297         * build-aux/config.libpath: Likewise.
8298
8299 2008-09-06  Bruno Haible  <bruno@clisp.org>
8300
8301         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
8302         * lib/freadptr.c (freadptr): Likewise.
8303         * lib/freadseek.c (freadptrinc): Likewise.
8304         Reported by Simon Josefsson.
8305
8306 2008-09-06  Bruno Haible  <bruno@clisp.org>
8307
8308         * modules/freadptr (License): Change to LGPLv2+.
8309         * modules/freadseek (License): Likewise.
8310         Suggested by Eric Blake.
8311
8312         * modules/memchr2 (License): Change to LGPLv2+.
8313         Approved by Eric Blake.
8314
8315 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8316             Bruno Haible  <bruno@clisp.org>
8317
8318         Make gnulib-tool work with native 'sed' on AIX.
8319         * gnulib-tool (sed_noop): New variable.
8320         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
8321         func_add_or_update, func_create_testdir): Use it to initialize sed
8322         script variables.
8323         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
8324
8325 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
8326             Bruno Haible  <bruno@clisp.org>
8327
8328         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
8329         also works after #include directives.
8330
8331 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
8332
8333         getdate.y: reject an out-of-range timezone value
8334         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
8335         the range [-24...+24].  When specified with only one or two digits,
8336         * tests/test-getdate.c: Tests for the fix.
8337         * doc/getdate.texi: Document this change.
8338
8339 2008-09-03  Bruno Haible  <bruno@clisp.org>
8340
8341         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
8342
8343 2008-09-02  Simon Josefsson  <simon@josefsson.org>
8344
8345         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
8346         <bruce.korb@gmail.com> with ideas from Ben Pfaff
8347         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
8348         Blake <ebb9@byu.net>.
8349
8350         * tests/test-bitrotate.c: Add more test vectors.
8351
8352 2008-09-02  Eric Blake  <ebb9@byu.net>
8353
8354         vasnprintf-posix: handle large precision via %.*d
8355         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
8356         when handling it ourselves.
8357         * tests/test-vasnprintf-posix.c (test_function): Add test.
8358         * tests/test-snprintf-posix.h (test_function): Likewise.
8359         * tests/test-sprintf-posix.h (test_function): Likewise.
8360         * tests/test-vasprintf-posix.c (test_function): Likewise.
8361         Reported by Alain Guibert.
8362
8363 2008-09-01  Eric Blake  <ebb9@byu.net>
8364
8365         c-stack: make configure-time check more robust
8366         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
8367         successful sigaction call.
8368         Reported by Tom G. Christensen.
8369
8370 2008-09-01  Bruno Haible  <bruno@clisp.org>
8371
8372         New module 'findprog-lgpl'.
8373         * modules/findprog-lgpl: New file.
8374         * lib/findprog-lgpl.c: New file.
8375         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
8376         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
8377         to decide whether to use strdup or xstrdup, concatenated_filename or
8378         xconcatenated_filename.
8379
8380 2008-09-01  Bruno Haible  <bruno@clisp.org>
8381
8382         Split module 'concat-filename' into 'concat-filename' (LGPL) and
8383         'xconcat-filename' (GPL).
8384         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
8385         (License): Change to LGPLv2+.
8386         * modules/xconcat-filename: New file.
8387         * lib/concat-filename.h (concatenated_filename): Change specification.
8388         (xconcatenated_filename): New declaration.
8389         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
8390         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
8391         memory situations.
8392         * lib/xconcat-filename.c: New file.
8393         * NEWS: Mention the change.
8394         * lib/findprog.c: Include concat-filename.h, not filename.h.
8395         (find_in_path): Use xconcatenated_filename instead of
8396         concatenated_filename.
8397         * lib/javacomp.c: Include concat-filename.h, not filename.h.
8398         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
8399         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
8400         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
8401         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
8402         instead of concatenated_filename.
8403         * lib/javaexec.c: Include concat-filename.h, not filename.h.
8404         (execute_java_class): Use xconcatenated_filename instead of
8405         concatenated_filename.
8406         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
8407         * modules/javacomp (Depends-on): Likewise.
8408         * modules/javaexec (Depends-on): Likewise.
8409
8410 2008-09-01  Bruno Haible  <bruno@clisp.org>
8411
8412         Split module 'filename' into 'filename' and 'concat-filename'.
8413         * modules/filename: Keep only lib/filename.h.
8414         (License): Change to LGPLv2+.
8415         * modules/concat-filename: New file, extracted from modules/filename.
8416         * lib/filename.h (concatenated_filename): Remove declaration.
8417         * lib/concat-filename.h: New file, extracted from lib/filename.h.
8418         * lib/concat-filename.c: Include concat-filename.h.
8419         * NEWS: Mention the change.
8420
8421 2008-09-01  Simon Josefsson  <simon@josefsson.org>
8422
8423         * lib/bitrotate.h (rotl8, rotr8): Add.
8424
8425         * modules/bitrotate (configure.ac): Need
8426         AC_REQUIRE([AC_C_INLINE]).
8427         (Description): Mention stdint.h.  Reported by Bruno Haible
8428         <bruno@clisp.org>.
8429
8430         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
8431         Paolo Bonzini <bonzini@gnu.org>.
8432
8433 2008-08-31  Bruno Haible  <bruno@clisp.org>
8434
8435         Assume Solaris specific bi-arch conventions on Solaris systems.
8436         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
8437         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
8438         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
8439         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
8440         like acl_libdirstem.
8441         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
8442         acl_libdirstem.
8443         * NEWS: Mention the change.
8444         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
8445
8446 2008-08-31  Jim Meyering  <meyering@redhat.com>
8447
8448         * lib/strftime.h: Add comments describing the two added arguments.
8449
8450         remove duplicate #include directives
8451         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
8452         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
8453
8454 2008-08-31  Bruno Haible  <bruno@clisp.org>
8455
8456         New module 'sigpipe-die'.
8457         * modules/sigpipe-die: New file.
8458         * lib/sigpipe-die.h: New file.
8459         * lib/sigpipe-die.c: New file.
8460         * MODULES.html.sh (Signal handling): Add sigpipe-die.
8461
8462 2008-08-31  Bruno Haible  <bruno@clisp.org>
8463
8464         Don't override previously installed signal handlers.
8465         * lib/fatal-signal.c (saved_sigactions): New variable.
8466         (uninstall_handlers): Reset the signal to the saved handler, not
8467         to SIG_DFL (except when ignored).
8468         (install_handlers): Save the previous handlers.
8469
8470 2008-08-30  Bruno Haible  <bruno@clisp.org>
8471
8472         * gnulib-tool (func_reset_sigpipe): New function.
8473         (func_get_automake_snippet, func_modules_transitive_closure,
8474         func_import): Invoke it before a join command that reads from stdin,
8475         to avoid "echo: write error: Broken pipe" error messages on stderr.
8476         Reported by Sam Steingold <sds@gnu.org>.
8477
8478 2008-08-30  Bruno Haible  <bruno@clisp.org>
8479
8480         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
8481         Code copied from m4/open.m4.
8482         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
8483         access and the filename ends in a slash. Code copied from lib/open.c.
8484         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
8485         * tests/test-fopen.c (main): Check against bug with trailing slash.
8486
8487 2008-08-29  Bruno Haible  <bruno@clisp.org>
8488
8489         Avoid some "gcc -pedantic" warnings.
8490         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
8491         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
8492         * lib/dirent.in.h: Likewise.
8493         * lib/fcntl.in.h: Likewise.
8494         * lib/float.in.h: Likewise.
8495         * lib/iconv.in.h: Likewise.
8496         * lib/inttypes.in.h: Likewise.
8497         * lib/locale.in.h: Likewise.
8498         * lib/math.in.h: Likewise.
8499         * lib/netinet_in.in.h: Likewise.
8500         * lib/search.in.h: Likewise.
8501         * lib/signal.in.h: Likewise.
8502         * lib/stdarg.in.h: Likewise.
8503         * lib/stdint.in.h: Likewise.
8504         * lib/stdio.in.h: Likewise.
8505         * lib/stdlib.in.h: Likewise.
8506         * lib/string.in.h: Likewise.
8507         * lib/strings.in.h: Likewise.
8508         * lib/sys_select.in.h: Likewise.
8509         * lib/sys_socket.in.h: Likewise.
8510         * lib/sys_stat.in.h: Likewise.
8511         * lib/sys_time.in.h: Likewise.
8512         * lib/sysexits.in.h: Likewise.
8513         * lib/time.in.h: Likewise.
8514         * lib/unistd.in.h: Likewise.
8515         * lib/wchar.in.h: Likewise.
8516         * lib/wctype.in.h: Likewise.
8517         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
8518         * modules/fchdir (Makefile.am): Likewise.
8519         * modules/fcntl (Makefile.am): Likewise.
8520         * modules/float (Makefile.am): Likewise.
8521         * modules/iconv_open (Makefile.am): Likewise.
8522         * modules/inttypes (Makefile.am): Likewise.
8523         * modules/locale (Makefile.am): Likewise.
8524         * modules/math (Makefile.am): Likewise.
8525         * modules/netinet_in (Makefile.am): Likewise.
8526         * modules/search (Makefile.am): Likewise.
8527         * modules/signal (Makefile.am): Likewise.
8528         * modules/stdarg (Makefile.am): Likewise.
8529         * modules/stdint (Makefile.am): Likewise.
8530         * modules/stdio (Makefile.am): Likewise.
8531         * modules/stdlib (Makefile.am): Likewise.
8532         * modules/string (Makefile.am): Likewise.
8533         * modules/strings (Makefile.am): Likewise.
8534         * modules/sys_select (Makefile.am): Likewise.
8535         * modules/sys_socket (Makefile.am): Likewise.
8536         * modules/sys_stat (Makefile.am): Likewise.
8537         * modules/sys_time (Makefile.am): Likewise.
8538         * modules/sysexits (Makefile.am): Likewise.
8539         * modules/time (Makefile.am): Likewise.
8540         * modules/unistd (Makefile.am): Likewise.
8541         * modules/wchar (Makefile.am): Likewise.
8542         * modules/wctype (Makefile.am): Likewise.
8543         Reported by Reuben Thomas <rrt@sc3d.org>.
8544
8545 2008-08-29  Bruno Haible  <bruno@clisp.org>
8546
8547         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
8548         any more.
8549
8550 2008-08-29  Simon Josefsson  <simon@josefsson.org>
8551
8552         * MODULES.html.sh (Misc): Add bitrotate.
8553
8554         * modules/bitrotate: New file.
8555
8556         * lib/bitrotate.h: New file.
8557
8558         * modules/bitrotate-tests: New file.
8559
8560         * tests/test-bitrotate.c: New file.
8561
8562         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
8563         on the bitrotate module.
8564
8565         * lib/arctwo.c: Use new bitrotate module.
8566
8567 2008-08-29  Jim Meyering  <meyering@redhat.com>
8568
8569         bootstrap: merge changes from coreutils
8570         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
8571         of copied files.  Remove a kludge, now that this is fixed.
8572         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
8573         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
8574         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
8575
8576 2008-08-29  Bruno Haible  <bruno@clisp.org>
8577
8578         * MODULES.html.sh: Remove --cvs-urls option.
8579
8580 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
8581
8582         maint.mk: adjust to file name change
8583         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
8584
8585 2008-08-28  Jim Meyering  <meyering@redhat.com>
8586
8587         * modules/getndelim2 (License): Relicense to LGPLv2+.
8588         Approved by Richard Stallman for the version of 1995, and by
8589         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
8590
8591 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
8592
8593         * lib/getdelim.c (flockfile, funlockfile): Make all of them
8594         dummy if one is not available.  Do not touch them if
8595         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
8596         (getc_maybe_unlocked): New.
8597         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
8598
8599 2008-08-26  Eric Blake  <ebb9@byu.net>
8600
8601         doc/INSTALL: resync from autoconf
8602         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
8603         (INSTALL_PRELUDE): Delete; this is done more efficiently by
8604         moving...
8605         * install.texi [!autoconf]: ...here.  Resync from autoconf.
8606         * INSTALL: Regenerate.
8607         * INSTALL.ISO: New file.
8608         * INSTALL.UTF-8: Likewise.
8609
8610 2008-08-26  Jim Meyering  <meyering@redhat.com>
8611
8612         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
8613         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
8614         these definitions conditional, so that they may be overridden, too.
8615
8616 2008-08-26  Bruno Haible  <bruno@clisp.org>
8617
8618         Generate INSTALL file variants with prettier quotes.
8619         * doc/Makefile (INSTALL_PRELUDE): New macro.
8620         (INSTALL): Use it.
8621         (INSTALL.ISO, INSTALL.UTF-8): New rules.
8622
8623 2008-08-26  Bruno Haible  <bruno@clisp.org>
8624
8625         Run makeinfo in an English locale.
8626         * doc/Makefile (MAKEINFO): New variable.
8627
8628 2008-08-26  Bruno Haible  <bruno@clisp.org>
8629
8630         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
8631         Suggested by Eric Blake.
8632
8633 2008-08-25  Bruno Haible  <bruno@clisp.org>
8634
8635         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
8636
8637 2008-08-25  Eric Blake  <ebb9@byu.net>
8638
8639         c-stack: test that stack overflow can be caught
8640         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
8641         that platform allows handling stack overflow; at least OS/2 EMX
8642         has sigaltstack, but crashes before transferring control to
8643         handler on stack overflow.
8644         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
8645         check for HAVE_STACK_OVERFLOW_HANDLING.
8646         Reported by Elbert Pol.
8647
8648 2008-08-25  Bruno Haible  <bruno@clisp.org>
8649
8650         * doc/posix-functions/strftime.texi: Fix description of strftime
8651         module.
8652
8653 2008-08-24  Bruno Haible  <bruno@clisp.org>
8654
8655         * tests/uniwidth/test-uc_width2.c: New file.
8656         * tests/uniwidth/test-uc_width2.sh: New file.
8657         * modules/uniwidth/width-tests (Files): Add the new files.
8658         (TESTS): Add uniwidth/test-uc_width2.sh.
8659         (TESTS_ENVIRONMENT): New variable.
8660         (check_PROGRAMS): Add test-uc_width2.
8661         (test_uc_width2_SOURCES): New variable.
8662
8663         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
8664         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
8665         not 0x00AB.
8666         Reported by Alexander V. Lukyanov <lav@netis.ru>.
8667
8668 2008-08-22  Eric Blake  <ebb9@byu.net>
8669
8670         test-lock, test-tls: mention why a test is skipped
8671         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
8672         skipped.
8673         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
8674
8675         count-one-bits: relax license
8676         * modules/count-one-bits (License): Relicense to LGPLv2+.
8677         Suggested by Ludovic Courtès, approved by Ben Pfaff.
8678
8679 2008-08-22  Andreas Schwab  <schwab@suse.de>
8680
8681         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
8682         Remove spurious space in assignment.
8683
8684 2008-08-21  Simon Josefsson  <simon@josefsson.org>
8685
8686         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
8687         Paul Eggert <eggert@CS.UCLA.EDU>.
8688
8689 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
8690
8691         * modules/gettext: Add m4/threadlib.m4.
8692
8693 2008-08-19  Eric Blake  <ebb9@byu.net>
8694
8695         test-c-stack: fix compilation failure on FreeBSD 5.0
8696         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
8697         headers before <sys/resource.h>.
8698         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
8699         the bug.
8700         Reported by Nelson H. F. Beebe.
8701
8702         strverscmp: migrate from "strverscmp.h" to <string.h>
8703         * modules/string (Makefile.am): Add new hooks.
8704         * modules/strverscmp (Files): Remove strverscmp.h.
8705         (Depends-on): Add string.
8706         (configure.ac): Add indicator.
8707         (Include): Mention new header.
8708         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
8709         defaults.
8710         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
8711         results.
8712         * lib/strverscmp.h: Delete.
8713         * lib/string.in.h (strverscmp): Provide declaration, when needed.
8714         * tests/test-strverscmp.c (includes): Adjust client.
8715         * lib/check-version.c (includes): Likewise.
8716         * NEWS: Document the change.
8717
8718         strverscmp: add unit test
8719         * modules/strverscmp-tests: New file.
8720         * tests/test-strverscmp.c: Likewise.
8721
8722 2008-08-19  Simon Josefsson  <simon@josefsson.org>
8723
8724         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
8725         regarding Windows crypto stuff, from Mono.
8726
8727 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
8728
8729         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
8730         if present, for intel RND.  Return error on failures.
8731
8732 2008-08-18  Ben Pfaff  <blp@gnu.org>
8733
8734         gitlog-to-changelog: give better diagnostic for failed pipe-open
8735         * build-aux/gitlog-to-changelog: Improve error message: suggest
8736         that the version of Git may be too old.
8737
8738 2008-08-18  Simon Josefsson  <simon@josefsson.org>
8739
8740         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
8741         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
8742
8743 2008-08-18  Bruno Haible  <bruno@clisp.org>
8744
8745         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
8746         pthread_in_use().
8747
8748 2008-08-18  Bruno Haible  <bruno@clisp.org>
8749
8750         * lib/glthread/threadlib.c: Include <pthread.h>.
8751
8752 2008-08-18  Bruno Haible  <bruno@clisp.org>
8753
8754         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
8755         glthread_recursive_lock_* macros.
8756         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
8757         Fix syntax error.
8758
8759 2008-08-18  Bruno Haible  <bruno@clisp.org>
8760
8761         * lib/glthread/thread.c: Avoid forcing a context switch right after
8762         thread creation.
8763
8764 2008-08-17  Bruno Haible  <bruno@clisp.org>
8765
8766         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
8767         * lib/glthread/thread.h: Provide Win32 specific implementation.
8768         * modules/thread (Files): Add lib/glthread/thread.c.
8769         (Depends-on): Add lock.
8770         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
8771
8772 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8773
8774         New module 'yield'.
8775         * modules/yield: New file.
8776         * lib/glthread/yield.h: New file.
8777         * m4/yield.m4: New file.
8778         * MODULES.html.sh (Multithreading): Add yield.
8779
8780 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8781
8782         New module 'thread'.
8783         * modules/thread: New file.
8784         * lib/glthread/thread.h: New file.
8785         * m4/thread.m4: New file.
8786         * MODULES.html.sh (Multithreading): Add thread.
8787
8788 2008-08-17  Bruno Haible  <bruno@clisp.org>
8789
8790         * lib/glthread/lock.h: Include <stdlib.h> always.
8791         * lib/glthread/tls.h: Likewise.
8792         * lib/glthread/cond.h: Likewise.
8793
8794 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8795
8796         New module 'cond'.
8797         * modules/cond: New file.
8798         * lib/glthread/cond.h: New file.
8799         * lib/glthread/cond.c: New file.
8800         * m4/cond.m4: New file.
8801         * MODULES.html.sh (Multithreading): Add cond.
8802
8803 2008-08-16  Eric Blake  <ebb9@byu.net>
8804
8805         c-stack: fix regression on Irix 5.3 from 2008-06-21
8806         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
8807         sa_sigaction...
8808         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
8809         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
8810         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
8811         * modules/signal (Makefile.am): Use the value.
8812         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
8813         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
8814         * doc/posix-headers/signal.texi (signal.h): Document this
8815         portability issue.
8816         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
8817         Reported by Tom G. Christensen.
8818
8819 2008-08-17  Bruno Haible  <bruno@clisp.org>
8820
8821         New module 'threadlib'.
8822         * modules/threadlib: New file.
8823         * lib/glthread/threadlib.c: New file, extracted from
8824         lib/glthread/lock.c.
8825         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
8826         functions.
8827         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
8828         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
8829         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
8830         macros.
8831         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
8832         (gl_DISABLE_THREADS): Remove macro.
8833         * modules/lock (Files): Remove build-aux/config.rpath.
8834         (Depends-on): Remove havelib. Add threadlib.
8835         (configure.ac-early): Remove section.
8836         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
8837         * modules/tls (Depends-on): Remove lock. Add threadlib.
8838         (Link): New section, copied from threadlib.
8839         * MODULES.html.sh (Multithreading): Add threadlib.
8840
8841 2008-08-14  Bruno Haible  <bruno@clisp.org>
8842
8843         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
8844         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
8845         glthread_rwlock_unlock, glthread_rwlock_destroy,
8846         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
8847         glthread_recursive_lock_destroy): Define as macros always.
8848         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
8849         glthread_lock_lock.
8850         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
8851         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
8852         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
8853         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
8854         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
8855         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
8856         (glthread_recursive_lock_lock_func): Renamed from
8857         glthread_recursive_lock_lock.
8858         (glthread_recursive_lock_unlock_func): Renamed from
8859         glthread_recursive_lock_unlock.
8860         (glthread_recursive_lock_destroy_func): Renamed from
8861         glthread_recursive_lock_destroy.
8862
8863 2008-08-14  Bruno Haible  <bruno@clisp.org>
8864
8865         * lib/glthread/lock.h: Renamed from lib/lock.h.
8866         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
8867         * lib/glthread/tls.h: Renamed from lib/tls.h.
8868         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
8869         * lib/fstrcmp.c: Update includes.
8870         * lib/strsignal.c: Update includes.
8871         * modules/lock (Files, Makefile.am): Update.
8872         (Include): Change to "glthread/lock.h".
8873         * modules/tls (Files, Makefile.am): Update.
8874         (Include): Change to "glthread/tls.h".
8875         * tests/test-lock.c: Update includes.
8876         * tests/test-tls.c: Update includes.
8877         * NEWS: Mention the renamed header files.
8878
8879 2008-08-11  Jim Meyering  <meyering@redhat.com>
8880
8881         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
8882
8883 2008-08-11  Eric Blake  <ebb9@byu.net>
8884
8885         test-c-stack: avoid C99-ism
8886         * tests/test-c-stack.c (main): Fix whitespace, move declaration
8887         before statement.
8888         Reported by Alain Guibert.
8889
8890 2008-08-10  Jim Meyering  <meyering@redhat.com>
8891
8892         ensure that return value of uinttostr et al are not ignored
8893         * lib/inttostr.h (__GNUC_PREREQ): Define.
8894         (__attribute_warn_unused_result__): Define.
8895         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
8896
8897 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
8898
8899         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
8900         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
8901
8902 2008-08-07  Jim Meyering  <meyering@redhat.com>
8903
8904         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
8905
8906         * modules/mkstemp (License): Relicense under LGPLv2+.
8907         * modules/tempname (License): Likewise.
8908
8909 2008-08-06  Bruno Haible  <bruno@clisp.org>
8910
8911         * lib/poll.c (poll): Further micro-optimization.
8912
8913 2008-08-06  Jim Meyering  <meyering@redhat.com>
8914
8915         inet_pton.c: use locale-independent tolower
8916         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
8917         (inet_pton6): Use c_tolower rather than tolower.
8918         * modules/inet_pton (Depends-on): Add c-ctype.
8919
8920 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
8921
8922         * lib/poll.c (poll): Avoid division when timeout is 0, cache
8923         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
8924
8925 2008-08-06  Jim Meyering  <meyering@redhat.com>
8926
8927         * modules/inet_pton (License): Relicense under LGPLv2+.
8928
8929 2008-08-03  Bruno Haible  <bruno@clisp.org>
8930
8931         Additional non-aborting API for lock and tls.
8932         * lib/lock.h: Include <errno.h>.
8933         (glthread_lock_init): New macro/function.
8934         (gl_lock_init): Define as wrapper around glthread_lock_init.
8935         (glthread_lock_lock): New macro/function.
8936         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
8937         (glthread_lock_unlock): New macro/function.
8938         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
8939         (glthread_lock_destroy): New macro/function.
8940         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
8941         (glthread_rwlock_init): New macro/function.
8942         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
8943         (glthread_rwlock_rdlock): New macro/function.
8944         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
8945         (glthread_rwlock_wrlock): New macro/function.
8946         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
8947         (glthread_rwlock_unlock): New macro/function.
8948         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
8949         (glthread_rwlock_destroy): New macro/function.
8950         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
8951         (glthread_recursive_lock_init): New macro/function.
8952         (gl_recursive_lock_init): Define as wrapper around
8953         glthread_recursive_lock_init.
8954         (glthread_recursive_lock_lock): New macro/function.
8955         (gl_recursive_lock_lock): Define as wrapper around
8956         glthread_recursive_lock_lock.
8957         (glthread_recursive_lock_unlock): New macro/function.
8958         (gl_recursive_lock_unlock): Define as wrapper around
8959         glthread_recursive_lock_unlock.
8960         (glthread_recursive_lock_destroy): New macro/function.
8961         (gl_recursive_lock_destroy): Define as wrapper around
8962         glthread_recursive_lock_destroy.
8963         (glthread_once): New macro/function.
8964         (gl_once): Define as wrapper around glthread_once.
8965         Update function declarations.
8966         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
8967         glthread_rwlock_init. Return error code.
8968         (glthread_rwlock_rdlock_multithreaded): Renamed from
8969         glthread_rwlock_rdlock. Return error code.
8970         (glthread_rwlock_wrlock_multithreaded): Renamed from
8971         glthread_rwlock_wrlock. Return error code.
8972         (glthread_rwlock_unlock_multithreaded): Renamed from
8973         glthread_rwlock_unlock. Return error code.
8974         (glthread_rwlock_destroy_multithreaded): Renamed from
8975         glthread_rwlock_destroy. Return error code.
8976         (glthread_recursive_lock_init_multithreaded): Renamed from
8977         glthread_recursive_lock_init. Return error code.
8978         (glthread_recursive_lock_lock_multithreaded): Renamed from
8979         glthread_recursive_lock_lock. Return error code.
8980         (glthread_recursive_lock_unlock_multithreaded): Renamed from
8981         glthread_recursive_lock_unlock. Return error code.
8982         (glthread_recursive_lock_destroy_multithreaded): Renamed from
8983         glthread_recursive_lock_destroy. Return error code.
8984         (glthread_once_call): Make static.
8985         (glthread_once_multithreaded): Renamed from glthread_once.
8986         * lib/tls.h: Include <errno.h>.
8987         (glthread_tls_key_init): New macro/function.
8988         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
8989         (glthread_tls_set): New macro/function.
8990         (gl_tls_set): Define as wrapper around glthread_tls_set.
8991         (glthread_tls_key_destroy): New macro/function.
8992         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
8993         Update function declarations.
8994         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
8995         glthread_tls_get.
8996         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
8997
8998 2008-08-04  Eric Blake  <ebb9@byu.net>
8999
9000         gnumakefile: use space, not TAB, outside of targets
9001         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
9002
9003 2008-08-02  Jim Meyering  <meyering@redhat.com>
9004
9005         getdate.y: avoid locale-dependent date parsing failure
9006         In Turkish locales, getdate would fail to recognize keywords
9007         containing a lowercase "i".  The solution is not to rely on
9008         locale-sensitive case-conversion.
9009         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
9010         (lookup_word): Use c_toupper in place of toupper.
9011         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
9012         Reported by Vefa Bicakci <bicave@superonline.com> in
9013         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
9014         * modules/getdate (Depends-on): Add c-ctype.
9015
9016 2008-08-02  Bruno Haible  <bruno@clisp.org>
9017
9018         * gnulib-tool (func_import): When updating or creating a .gitignore
9019         file, prepend each added line with a slash, and ignore leading slashes
9020         from the existing lines.
9021         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
9022
9023 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9024
9025         Portability fix for GNU make 3.79.1.
9026         * top/GNUmakefile: Avoid 'else COND', which older GNU make
9027         versions do not understand.
9028
9029 2008-08-01  Bruno Haible  <bruno@clisp.org>
9030
9031         Work around bug of HP-UX 10.20 cc with -0.0 literal.
9032         * tests/test-isnanf.h (zero): New variable.
9033         (main): Avoid literal -0.0f.
9034         * tests/test-isnand.h (zero): New variable.
9035         (main): Avoid literal -0.0.
9036         * tests/test-isnanl.h (zero): New variable.
9037         (main): Avoid literal -0.0L.
9038         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
9039         (test_float, test_double, test_long_double): Avoid literals -0.0f,
9040         -0.0, -0.0L.
9041         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
9042         (test_signbitd): Avoid literal -0.0.
9043         (test_signbitl): Avoid literal -0.0L.
9044         * tests/test-ceilf1.c (zero): New variable.
9045         (main): Avoid literal -0.0f.
9046         * tests/test-ceill.c (zero): New variable.
9047         (main): Avoid literal -0.0L.
9048         * tests/test-floorf1.c (zero): New variable.
9049         (main): Avoid literal -0.0f.
9050         * tests/test-floorl.c (zero): New variable.
9051         (main): Avoid literal -0.0L.
9052         * tests/test-roundf1.c (zero): New variable.
9053         (main): Avoid literal -0.0f.
9054         * tests/test-round1.c (zero): New variable.
9055         (main): Avoid literal -0.0.
9056         * tests/test-roundl.c (zero): New variable.
9057         (main): Avoid literal -0.0L.
9058         * tests/test-truncf1.c (zero): New variable.
9059         (main): Avoid literal -0.0f.
9060         * tests/test-trunc1.c (zero): New variable.
9061         (main): Avoid literal -0.0.
9062         * tests/test-truncl.c (zero): New variable.
9063         (main): Avoid literal -0.0L.
9064         * tests/test-frexp.c (zero): New variable.
9065         (main): Avoid literal -0.0.
9066         * tests/test-frexpl.c (zero): New variable.
9067         (main): Avoid literal -0.0L.
9068         * tests/test-ldexpl.c (zero): New variable.
9069         (main): Avoid literal -0.0L.
9070         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
9071         (zerod, zerol): New variables.
9072         (test_function): Avoid literals -0.0, -0.0L.
9073         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
9074         (zerod, zerol): New variables.
9075         (test_function): Avoid literals -0.0, -0.0L.
9076         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
9077         (zerod, zerol): New variables.
9078         (test_function): Avoid literals -0.0, -0.0L.
9079         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
9080         (zerod, zerol): New variables.
9081         (test_function): Avoid literals -0.0, -0.0L.
9082         * tests/test-strtod.c (zero): New variable.
9083         (main): Avoid literal -0.0.
9084         Reported by Jonathan C. Patschke <jp@centtech.com>.
9085
9086 2008-07-31  Jim Meyering  <meyering@redhat.com>
9087
9088         sha256.h: correct definition of SHA224_DIGEST_SIZE
9089         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
9090         Reported by Paulie Pena IV <paulie4@gmail.com>.
9091         Define as 224 / 8, rather than as a literal.
9092         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
9093         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
9094         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
9095
9096 2008-07-31  Bruno Haible  <bruno@clisp.org>
9097
9098         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
9099         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
9100         Reported by Jonathan Patschke <jp@centtech.com>.
9101
9102 2008-07-31  Bruno Haible  <bruno@clisp.org>
9103
9104         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
9105         Reported by Paolo Bonzini <bonzini@gnu.org>.
9106
9107 2008-07-30  Eric Blake  <ebb9@byu.net>
9108
9109         test-strtod: allow compilation without -lm
9110         * tests/test-strtod.c (main): Avoid link dependence on fabs.
9111         Reported by Dennis Clarke <blastwave@gmail.com>.
9112
9113 2008-07-28  Jim Meyering  <meyering@redhat.com>
9114
9115         bootstrap: work also when there are no .po files in po/
9116         * build-aux/bootstrap (update_po_files): Complete the change
9117         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
9118
9119 2008-07-27  Jim Meyering  <meyering@redhat.com>
9120
9121         * users.txt: Add zile.
9122
9123 2008-07-26  Ben Pfaff  <blp@gnu.org>
9124
9125         Add missing dependencies on new m4/exponent[fdl].m4 files.
9126         * modules/isnanf-nolibm: Add m4/exponentf.m4.
9127         * modules/isnand-nolibm: Add m4/exponentd.m4.
9128         * modules/isnanl-nolibm: Add m4/exponentl.m4.
9129         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
9130         m4/isnan[fdl].m4, because the macros actually used moved.
9131         Reported by Jim Meyering.
9132
9133 2008-07-14  Ben Pfaff  <blp@gnu.org>
9134
9135         Add isinf module.
9136         * lib/isinf.c: New file.
9137         * lib/math.in.h: Define isinf macro if we have decided to replace
9138         it.
9139         * m4/isinf.m4: New file.
9140         * m4/math_h.m4: Initialize and substitute variables for isinf
9141         module.
9142         * modules/isinf: New file.
9143         * modules/isinf-tests: New file.
9144         * modules/math: Add substitutions for new module.
9145         * tests/test-isinf.c: New file.
9146         * doc/posix-functions/isinf.texi: Mention new module.
9147         * MODULES.html.sh: Mention new module.
9148
9149 2008-07-14  Ben Pfaff  <blp@gnu.org>
9150
9151         Factor out some macros for use by additional modules.
9152         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
9153         exponentf.m4.
9154         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
9155         exponentd.m4.
9156         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
9157         file exponentl.m4.
9158         * m4/exponentf.m4: New file.
9159         * m4/exponentd.m4: New file.
9160         * m4/exponentl.m4: New file.
9161         * modules/isnanf: Use new file m4/exponentf.m4.
9162         * modules/isnand: Use new file m4/exponentd.m4.
9163         * modules/isnanl: Use new file m4/exponentl.m4.
9164
9165 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
9166
9167         mktime.c: normalize tp->tm_isdst value to -1/0/1.
9168         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
9169         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
9170         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
9171
9172         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
9173         readlink on platforms without PATH_MAX.
9174
9175 2008-07-21  Eric Blake  <ebb9@byu.net>
9176
9177         Warn, not fail, on stale version.
9178         * top/GNUmakefile (_curr-ver): Tone down previous patch.
9179
9180         Don't allow installation with stale devel version number.
9181         * top/GNUmakefile (_is-install-target): New macro.
9182         (_curr-ver): Forbid installation with stale version number.
9183
9184 2008-07-20  Bruno Haible  <bruno@clisp.org>
9185
9186         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
9187         TESTS_ENVIRONMENT.
9188         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
9189
9190 2008-07-20  Bruno Haible  <bruno@clisp.org>
9191
9192         * lib/c-stack.h (c_stack_action): Add documentation.
9193         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
9194
9195 2008-07-20  Bruno Haible  <bruno@clisp.org>
9196
9197         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
9198         * modules/readlink (License): Likewise.
9199
9200 2008-07-17  Eric Blake  <ebb9@byu.net>
9201
9202         * modules/c-stack (Link): Fix typo.
9203
9204         Make c-stack use libsigsegv, when available.
9205         * modules/c-stack (Depends-on): Add libsigsegv.
9206         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
9207         needed.
9208         * lib/c-stack.c (SIGSTKSZ): Define fallback.
9209         (segv_handler, overflow_handler, c_stack_action)
9210         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
9211         implementation when libsigsegv is available, but only when using
9212         the library is necessary.
9213         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
9214         comment, explaining why XSI check fails on Linux.
9215         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
9216         * tests/test-c-stack2.sh: Tweak skip message.
9217         * NEWS: Document new link-time requirements.
9218
9219 2008-07-16  Eric Blake  <ebb9@byu.net>
9220
9221         c-stack: Expose false positives when not using libsigsegv.
9222         * modules/c-stack-tests (Files): Expand test.
9223         * tests/test-c-stack.c (main): Add means to conditionally trigger
9224         non-overflow SIGSEGV.
9225         * tests/test-c-stack2.sh: New file.
9226
9227 2008-07-14  Bruno Haible  <bruno@clisp.org>
9228
9229         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
9230         Reported by Eric Blake.
9231
9232 2008-07-14  Sam Steingold  <sds@gnu.org>
9233             Bruno Haible  <bruno@clisp.org>
9234
9235         New module libsigsegv.
9236         * modules/libsigsegv: New file.
9237         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
9238         modifications.
9239         * MODULES.html.sh (Signal handling): New section.
9240
9241 2008-07-14  Bruno Haible  <bruno@clisp.org>
9242
9243         * modules/unictype/ctype-* (Description): Add the word "function".
9244         Improves the resulting doc in MODULES.html.
9245
9246 2008-07-12  Ben Pfaff  <blp@gnu.org>
9247
9248         Add longlong module.
9249         * modules/longlong: New file.
9250
9251 2008-07-12  Bruno Haible  <bruno@clisp.org>
9252
9253         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
9254         to empty.
9255
9256 2008-07-10  Ben Pfaff  <blp@gnu.org>
9257
9258         Add isnan module.
9259         * doc/posix-functions/isnan.texi: Mention new module.
9260         * lib/math.in.h: Define isnan macro if we have decided to replace
9261         it.
9262         * m4/isnan.m4: New file.
9263         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
9264         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
9265         also.
9266         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
9267         redundancy.
9268         * m4/math_h.m4: Initialize and substitute variables for isnan
9269         module.
9270         * modules/isnan: New file.
9271         * modules/isnan-tests: New file.
9272         * modules/math: Add substitutions for new module.
9273         * tests/test-isnan.c: New file.
9274         * MODULES.html.sh: Mention new module.
9275
9276 2008-07-10  Ben Pfaff  <blp@gnu.org>
9277
9278         Add isnanf module.
9279         * lib/isnanf.m4: New file.
9280         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
9281         (gl_HAVE_ISNANF_IN_LIBM): New macro.
9282         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
9283         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
9284         * modules/isnanf: New file.
9285         * modules/isnanf-tests: New file.
9286         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
9287         files.
9288         * tests/test-isnanf-nolibm.c: factored most of its contents into
9289         new file tests/test-isnanf.h.
9290         * tests/test-isnanf.h: New file.
9291         * tests/test-isnanf.c: New file.
9292         * MODULES.html.sh: Mention new module.
9293         * doc/glibc-functions/isnanf.texi: Mention new module.
9294
9295 2008-07-10  Ben Pfaff  <blp@gnu.org>
9296
9297         Add isnand module.
9298         * lib/isnand.h: New file.
9299         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
9300         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
9301         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
9302         functionality also.
9303         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
9304         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
9305         (gl_HAVE_ISNAND_IN_LIBM): New macro.
9306         * modules/isnand: New file.
9307         * modules/isnand-tests: New file.
9308         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
9309         files.
9310         * tests/test-isnand-nolibm.c: factored most of its contents into
9311         new file tests/test-isnand.h.
9312         * tests/test-isnand.h: New file.
9313         * tests/test-isnand.c: New file.
9314         * MODULES.html.sh: Mention new module.
9315
9316 2008-07-10  Ben Pfaff  <blp@gnu.org>
9317
9318         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
9319         * lib/isnand.h: Rename lib/isnand-nolibm.h.
9320         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
9321         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
9322         * modules/isnanf-nolibm: Update references to renamed files.
9323         * modules/isnand-nolibm: Likewise.
9324         * modules/isnanf-nolibm-tests: Likewise.
9325         * modules/isnand-nolibm-tests: Likewise.
9326         * lib/frexp.c: Likewise.
9327         * lib/isfinite.c: Likewise.
9328         * lib/signbitd.c: Likewise.
9329         * lib/signbitf.c: Likewise.
9330         * lib/vasnprintf.c: Likewise.
9331         * tests/test-ceilf1.c: Likewise.
9332         * tests/test-ceilf2.c: Likewise.
9333         * tests/test-floorf1.c: Likewise.
9334         * tests/test-floorf2.c: Likewise.
9335         * tests/test-frexp.c: Likewise.
9336         * tests/test-round1.c: Likewise.
9337         * tests/test-round2.c: Likewise.
9338         * tests/test-roundf1.c: Likewise.
9339         * tests/test-strtod.c: Likewise.
9340         * tests/test-trunc1.c: Likewise.
9341         * tests/test-trunc2.c: Likewise.
9342         * tests/test-truncf1.c: Likewise.
9343         * tests/test-truncf2.c: Likewise.
9344         * NEWS: Mention the renamed header files.
9345
9346 2008-07-11  Jim Meyering  <meyering@redhat.com>
9347
9348         vc-list-files: make the last-resort awk code more portable
9349         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
9350         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
9351         does not support it.
9352
9353 2008-07-10  Eric Blake  <ebb9@byu.net>
9354
9355         Work with tar's bootstrap.
9356         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
9357         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
9358         an m4 comment.
9359
9360 2008-07-09  Jim Meyering  <meyering@redhat.com>
9361
9362         posix-shell.m4: fix typo that made this test malfunction
9363         * m4/posix-shell.m4: Remove capitalization in variable name.
9364
9365 2008-07-08  Bruno Haible  <bruno@clisp.org>
9366
9367         * m4/onceonly.m4: Update comments.
9368         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9369
9370 2008-07-04  Jim Meyering  <meyering@redhat.com>
9371
9372         * users.txt: Add vc-dwim.
9373         (bison, coreutils): Use the gitweb URL.
9374
9375 2008-07-03  Jim Meyering  <meyering@redhat.com>
9376
9377         * users.txt: Add libffcall.  From Sam Steingold.
9378
9379 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
9380
9381         getdate.y: do not ignore TZ with relative day, month or year offset
9382         * lib/getdate.y (get_date): Move the tz-handling block to follow the
9383         relative-date-handling, since otherwise, the latter would clobber the
9384         sole output (an updated Start value) of the tz-handling block.
9385         * tests/test-getdate.c: Tests for the fix
9386
9387 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9388
9389         Recognize 'foo_LIBRARIES += libgnu.a'.
9390         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
9391         makefile snippet has already specified an installation location,
9392         also using '+='.
9393
9394 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
9395
9396         getdate.y: factor out common actions
9397         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
9398         Use them in place of open-coded actions.
9399
9400 2008-07-01  Simon Josefsson  <simon@josefsson.org>
9401
9402         Add self-test for getdate module.
9403         * modules/getdate-tests: New file.
9404         * tests/test-getdate.c: New file.
9405
9406 2008-06-29  Bruno Haible  <bruno@clisp.org>
9407
9408         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
9409         .gitignore.
9410         Reported by Sylvain Beucler <beuc@beuc.net>.
9411
9412 2008-06-29  Bruno Haible  <bruno@clisp.org>
9413
9414         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
9415         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
9416
9417 2008-06-29  Bruno Haible  <bruno@clisp.org>
9418
9419         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
9420         EXTRA_DIST.
9421         Reported by Sylvain Beucler <beuc@beuc.net>.
9422
9423 2008-06-26  Jim Meyering  <meyering@redhat.com>
9424
9425         make several modules depend on the "open" module
9426         This provides slightly increased consistency when opening-for-write
9427         the name of a non-directory spelled with a trailing slash.
9428         * modules/chdir-safer: Likewise.
9429         * modules/chown: Likewise.
9430         * modules/clean-temp: Likewise.
9431         * modules/copy-file: Likewise.
9432         * modules/fchdir: Likewise.
9433         * modules/fcntl-safer: Likewise.
9434         * modules/pipe: Likewise.
9435         * modules/utime: Likewise.
9436         Prompted by Eric Blake and Bruno Haible.
9437
9438 2008-06-24  Andreas Schwab  <schwab@suse.de>
9439
9440         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
9441         literals can be used as initializers for global variables.
9442
9443 2008-06-23  Eric Blake  <ebb9@byu.net>
9444
9445         Make gnulib-cache.m4 easier to diff.
9446         * gnulib-tool (func_import): Allow newlines when reading cached
9447         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
9448
9449 2008-06-23  Bruno Haible  <bruno@clisp.org>
9450
9451         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
9452         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
9453         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
9454         m4/signalblocking.m4.
9455         (gl_PREREQ_SIGACTION): Don't invoke it.
9456         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
9457         gl_PREREQ_SIG_HANDLER_H.
9458         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
9459         Don't check for sigaction here.
9460
9461 2008-06-23  Bruno Haible  <bruno@clisp.org>
9462
9463         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
9464         (install_handlers): Don't set the SA_RESETHAND flag.
9465
9466 2008-06-23  Bruno Haible  <bruno@clisp.org>
9467
9468         * m4/sigaction.m4: Comment fixes.
9469         * lib/signal.in.h: Likewise.
9470
9471 2008-06-23  Eric Blake  <ebb9@byu.net>
9472
9473         Fix typo.
9474         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
9475
9476         Avoid SA_ namespace.
9477         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
9478         Reported by Ralf Wildenhues.
9479
9480         Avoid test failure due to SA_RESTORER.
9481         * tests/test-sigaction.c (SA_MASK): New macro.
9482         (main): Avoid failing due to extension flags being set.
9483         Reported by Jim Meyering.
9484
9485         Revert use of sig-handler.h in sigprocmask.c.
9486         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
9487         it requires the existence of struct sigaction.
9488         * lib/sigprocmask.c (handler_t): Restore typedef.
9489         (rpl_signal, old_handlers): Use local type.
9490
9491 2008-06-22  Bruno Haible  <bruno@clisp.org>
9492
9493         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
9494         conditionally.
9495         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9496
9497 2008-06-22  Bruno Haible  <bruno@clisp.org>
9498
9499         * doc/posix-functions/siginterrupt.texi: Move note.
9500
9501         * lib/signal.in.h (SA_RESTART): New macro.
9502         * lib/sigaction.c: Update comment.
9503
9504         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
9505
9506         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
9507         (gl_PREREQ_SIGPROCMASK): Invoke it.
9508         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
9509
9510         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
9511
9512         * lib/sigprocmask.c: Update a comment.
9513
9514 2008-06-21  Eric Blake  <ebb9@byu.net>
9515
9516         Use sigaction module rather than signal().
9517         * modules/c-stack (Depends-on): Add sigaction.
9518         * modules/fatal-signal (Depends-on): Likewise.
9519         * modules/nanosleep (Depends-on): Likewise.
9520         * modules/sigprocmask (Files): Add sig-handler.h.
9521         * modules/sigaction (Files): Likewise.
9522         * lib/sig-handler.h (get_handler): New file, suggested by Paul
9523         Eggert.
9524         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
9525         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
9526         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
9527         (init_fatal_signals): Likewise.
9528         * lib/nanosleep.c (rpl_nanosleep): Likewise.
9529         (siginterrupt): Delete fallback.
9530         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
9531         instead.
9532         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
9533         siginterrupt.
9534
9535         New module sigaction, for mingw.
9536         * modules/sigaction: New module...
9537         * modules/sigaction-tests: ...and its test.
9538         * m4/sigaction.m4: New file.
9539         * lib/sigaction.c: Likewise.
9540         * tests/test-sigaction.c: Likewise.
9541         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
9542         * modules/signal (Makefile.am): Likewise.
9543         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
9544         needed.
9545         * doc/posix-headers/signal.texi (signal.h): Mention provided
9546         types.
9547         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
9548         that sigaction is preferable.
9549         * doc/posix-functions/sigaction.texi (sigaction): Mention new
9550         module.
9551         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
9552         sigaction.
9553
9554         Improve robustness of sigprocmask by overriding signal.
9555         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
9556         is in use.
9557         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
9558         (SIGKILL, SIGSTOP): Provide fallbacks.
9559         (rpl_signal): Implement.
9560         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
9561         signal can be called inside handlers.
9562
9563         Fix nanosleep module on mingw.
9564         * modules/nanosleep (Depends-on): Add sys_select.
9565         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
9566
9567         Fix licensing of sigprocmask.
9568         * modules/raise (License): Relicense as LGPL.
9569
9570 2008-06-21  Bruno Haible  <bruno@clisp.org>
9571
9572         * lib/propername.c (proper_name_utf8): Don't use the transliterated
9573         result if it contains question marks.
9574         Reported by Michael Geng <linux@michaelgeng.de>.
9575
9576 2008-06-19  Bruno Haible  <bruno@clisp.org>
9577
9578         Fix CVS-ism.
9579         * doc/gnulib.texi: Include updated-stamp.texi.
9580         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
9581         (updated-stamp.texi): New rule.
9582         (gnulib.info): Depend on it.
9583         * doc/.gitignore: Add updated-stamp.texi.
9584         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
9585
9586 2008-06-19  Bruno Haible  <bruno@clisp.org>
9587
9588         * doc/Makefile (gnulib.info): Update and simplify dependencies.
9589         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
9590
9591 2008-06-19  Eric Blake  <ebb9@byu.net>
9592
9593         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
9594         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
9595         Reported by Stepan Kasal.
9596
9597 2008-06-18  Bruno Haible  <bruno@clisp.org>
9598
9599         * lib/fatal-signal.c (init_fatal_signals): Add comment.
9600         Reported by Eric Blake.
9601
9602 2008-06-18  Eric Blake  <ebb9@byu.net>
9603
9604         Work around cygwin 1.5.25 strsignal bug.
9605         * tests/test-strsignal.c: Allow for const char *.
9606         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
9607
9608 2008-06-18  Simon Josefsson  <simon@josefsson.org>
9609
9610         * users.txt: Update URL to article and add author/date
9611         information.
9612
9613 2008-06-17  Bruno Haible  <bruno@clisp.org>
9614
9615         New macro gl_DISABLE_THREADS.
9616         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
9617         if the user did not pass --enable-threads or --disable-threads option.
9618         (gl_DISABLE_THREADS): New macro.
9619         Reported by Eric Blake <ebb9@byu.net>.
9620
9621 2008-06-17  Bruno Haible  <bruno@clisp.org>
9622
9623         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
9624         when the macro ignores it.
9625         Based on a patch by Eric Blake <ebb9@byu.net>.
9626
9627 2008-06-17  Bruno Haible  <bruno@clisp.org>
9628
9629         * modules/tls (License): Change to LGPLv2+.
9630         Reported by Eric Blake.
9631
9632 2008-06-17  Eric Blake  <ebb9@byu.net>
9633
9634         Simplify c-stack prerequisites.
9635         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
9636         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
9637         no longer requires <ucontext.h> to exist.  Optimize setrlimit
9638         check.
9639         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
9640         <sys/resource.h>.
9641
9642         Move c-stack test into testsuite.
9643         * modules/c-stack-tests: New file.
9644         * lib/c-stack.c [DEBUG]: Move test program...
9645         * tests/test-c-stack.c: ...into this new file.  Skip rather than
9646         fail test if sigaltstack is lacking.
9647         * tests/test-c-stack.sh: New driver file.
9648
9649 2008-06-16  Eric Blake  <ebb9@byu.net>
9650
9651         Use raise module consistently.
9652         * modules/fatal-signal (Depends-on): Add raise.
9653         * modules/sigprocmask (Depends-on): Likewise.
9654         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
9655         * lib/sigprocmask.c (sigprocmask): Likewise.
9656         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
9657         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
9658
9659         Fix compliance bug in sigpending.
9660         * lib/sigprocmask.c (sigpending): Return pending array via
9661         parameter, not return value.
9662
9663 2008-06-14  Eric Blake  <ebb9@byu.net>
9664
9665         Improve obstack-printf test code.
9666         * tests/test-obstack-printf.c (test_function): Fix comment, and
9667         simplify usage of obstack_* in macros.  Add a test for coverage.
9668         Reported by Bruno Haible.
9669
9670 2008-06-14  Bruno Haible  <bruno@clisp.org>
9671
9672         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
9673         array size as a constant, not as a const variable.
9674         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
9675         AC_USE_SYSTEM_EXTENSIONS.
9676         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
9677         Test whether the obstack_printf function actually exists.
9678         * modules/obstack-printf (Depends-on): Add extensions.
9679         (Include): Remove obstack.h.
9680         * modules/obstack-printf-posix (Depends-on): Add extensions.
9681         (Include): Remove obstack.h.
9682
9683 2008-06-13  Eric Blake  <ebb9@byu.net>
9684
9685         Add obstack-printf and obstack-printf-posix modules.
9686         * modules/obstack-printf: New file.
9687         * modules/obstack-printf-posix: Likewise.
9688         * MODULES.html.sh (Misc): Mention them.
9689         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
9690         Likewise.
9691         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
9692         Likewise.
9693         * modules/stdio (Makefile.am): Accomodate new modules.
9694         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
9695         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
9696         Declare.
9697         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
9698         functions.
9699         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
9700         (gl_REPLACE_OBSTACK_PRINTF): New macros
9701         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
9702         * tests/test-obstack-printf.c: New file.
9703         * modules/obstack-printf-tests: Likewise.
9704         * modules/obstack-printf-posix-tests: Likewise.
9705
9706 2008-06-11  Bruno Haible  <bruno@clisp.org>
9707
9708         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
9709         * lib/open.c: Include errno.h.
9710         (open): Fail when attempting to write to a file that has a trailing
9711         slash.
9712         * tests/test-open.c (main): Test against trailing slash bug.
9713         * doc/posix-functions/open.texi: Mention the trailing slash bug.
9714
9715 2008-06-10  Bruno Haible  <bruno@clisp.org>
9716
9717         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
9718         for $? to work inside the trap command, with various /bin/sh-s.
9719         * tests/test-vc-list-files-cvs.sh: Likewise.
9720
9721 2008-06-10  Bruno Haible  <bruno@clisp.org>
9722
9723         * lib/acl-internal.h: Don't include gettext.h here.
9724         * lib/set-mode-acl.c: Include gettext.h here.
9725         * lib/copy-acl.c: Likewise.
9726
9727 2008-06-10  Bruno Haible  <bruno@clisp.org>
9728
9729         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
9730         * lib/wait-process.c (wait_subprocess): Likewise.
9731         * lib/execute.h (execute): Add termsigp argument.
9732         * lib/execute.c (execute): Likewise.
9733         * lib/csharpcomp.c (compile_csharp_using_pnet,
9734         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
9735         * lib/csharpexec.c (execute_csharp_using_pnet,
9736         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
9737         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
9738         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
9739         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
9740         is_jikes_present): Update.
9741         * lib/javaexec.c (execute_java_class): Update.
9742         * lib/javaversion.c (execute_and_read_line): Update.
9743         * NEWS: Document the changes.
9744         Reported by Eric Blake.
9745
9746 2008-06-10  Eric Blake  <ebb9@byu.net>
9747
9748         Add missing include.
9749         * tests/test-strstr.c (includes): Add <signal.h>.
9750         * tests/test-strcasestr.c (includes): Likewise.
9751         * tests/test-memmem.c (includes): Likewise.
9752
9753 2008-06-10  Bruno Haible  <bruno@clisp.org>
9754
9755         * lib/wait-process.c (wait_subprocess): Add an assertion.
9756
9757 2008-06-10  Bruno Haible  <bruno@clisp.org>
9758
9759         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
9760
9761 2008-06-10  Bruno Haible  <bruno@clisp.org>
9762
9763         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
9764         using alarm().
9765         * tests/test-strcasestr.c (main): Likewise.
9766         * tests/test-strstr.c (main): Likewise.
9767
9768 2008-06-09  Bruno Haible  <bruno@clisp.org>
9769
9770         Work around the Solaris 10 ACE ACLs ABI change.
9771         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
9772         declare if ACL_NO_TRIVIAL is present.
9773         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
9774         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
9775         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
9776         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
9777         define if ACL_NO_TRIVIAL is present.
9778         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
9779         and use the current ABI.
9780         (file_has_acl): Use same #if condition as elsewhere.
9781         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
9782         in use, and use the current ABI.
9783         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
9784         Reported by Jim Meyering.
9785
9786 2008-06-09  Eric Blake  <ebb9@byu.net>
9787
9788         Work around environments that (stupidly) ignore SIGALRM.
9789         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
9790         before using alarm().
9791         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
9792         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
9793         Reported by Ian Beckwith <ianb@erislabs.net>.
9794
9795         Produce autobuild blurb earlier in log.
9796         * modules/autobuild (configure.ac-early): Move AB_INIT here.
9797
9798 2008-06-09  Jim Meyering  <meyering@redhat.com>
9799         and OndÅ™ej Vašík  <ovasik@redhat.com>
9800
9801         utimens.c: correct kernel bug work-around
9802         OndÅ™ej Vašík found that the invalid return value of 280 indicates
9803         failure, not success, and the kernel bug we're trying to work
9804         around affects not just the utimensat call, but also the fallback
9805         futimens call.
9806         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
9807         not success.
9808         [HAVE_FUTIMENS]: Use the same work-around, here.
9809
9810 2008-06-09  Jim Meyering  <meyering@redhat.com>
9811
9812         add more guards around definition of ACE_-related code
9813         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
9814         ALLOW and ACE_OWNER are also defined.
9815
9816 2008-06-08  Bruno Haible  <bruno@clisp.org>
9817
9818         * lib/acl-internal.h: Add me as co-author.
9819         * lib/file-has-acl.c: Likewise.
9820         * lib/set-mode-acl.c: Likewise.
9821         * lib/copy-acl.c: Likewise.
9822
9823 2008-06-08  Bruno Haible  <bruno@clisp.org>
9824
9825         Add support for AIX ACLs.
9826         * lib/acl-internal.h (acl_nontrivial): New declaration.
9827         * lib/file-has-acl.c (acl_nontrivial): New function.
9828         (file_has_acl): Add implementation using AIX 4 ACL API.
9829         * lib/set-mode-acl.c (qset_acl): Likewise.
9830         * lib/copy-acl.c (qcopy_acl): Likewise.
9831
9832 2008-06-08  Bruno Haible  <bruno@clisp.org>
9833
9834         Add support for HP-UX ACLs.
9835         * lib/acl-internal.h (acl_nontrivial): New declaration.
9836         * lib/file-has-acl.c (acl_nontrivial): New function.
9837         (file_has_acl): Add implementation using HP-UX 11 ACL API.
9838         * lib/set-mode-acl.c (qset_acl): Likewise.
9839         * lib/copy-acl.c (qcopy_acl): Likewise.
9840
9841 2008-06-08  Bruno Haible  <bruno@clisp.org>
9842
9843         Add support for Cygwin ACLs.
9844         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
9845         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
9846         the chmod_or_fchmod call.
9847         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
9848
9849 2008-06-08  Bruno Haible  <bruno@clisp.org>
9850
9851         Fix bug with setuid modes in Solaris 10+ code.
9852         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
9853         succeeded, when the mode contains some special bits.
9854
9855 2008-06-08  Bruno Haible  <bruno@clisp.org>
9856
9857         Add support for Solaris 7..10 ACLs.
9858         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
9859         declarations.
9860         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
9861         functions.
9862         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
9863         * lib/set-mode-acl.c (qset_acl): Likewise.
9864         * lib/copy-acl.c (qcopy_acl): Likewise.
9865
9866 2008-06-08  Bruno Haible  <bruno@clisp.org>
9867
9868         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
9869         declaration.
9870         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
9871         (acl_access_nontrivial): Remove MacOS X case.
9872         (file_has_acl): Use acl_extended_nontrivial.
9873         * lib/copy-acl.c (qcopy_acl): Likewise.
9874
9875 2008-06-08  Bruno Haible  <bruno@clisp.org>
9876
9877         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
9878
9879 2008-06-08  Jim Meyering  <meyering@redhat.com>
9880
9881         * modules/acl (Maintainer): Add Bruno Haible.
9882
9883 2008-06-07  Bruno Haible  <bruno@clisp.org>
9884
9885         Improve support for Tru64 ACLs.
9886         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
9887         ACL on OSF/1.
9888
9889 2008-06-07  Bruno Haible  <bruno@clisp.org>
9890
9891         Add support for MacOS X ACLs.
9892         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
9893         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
9894         * lib/set-mode-acl.c (qset_acl): Likewise.
9895         * lib/copy-acl.c (qcopy_acl): Likewise.
9896
9897 2008-06-07  Bruno Haible  <bruno@clisp.org>
9898
9899         Fix memory leak introduced on 2008-05-22.
9900         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
9901         use.
9902
9903 2008-06-07  Bruno Haible  <bruno@clisp.org>
9904
9905         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
9906         to construct an empty ACL.
9907
9908 2008-06-07  Bruno Haible  <bruno@clisp.org>
9909
9910         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
9911         precisely.
9912         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
9913
9914 2008-06-07  Bruno Haible  <bruno@clisp.org>
9915
9916         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
9917         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
9918
9919 2008-06-07  Bruno Haible  <bruno@clisp.org>
9920
9921         * doc/posix-functions/_setjmp.texi: Explain the use of this function
9922         regardless of POSIX.
9923         * doc/posix-functions/_longjmp.texi: Likewise.
9924         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
9925         SystemV platform in this case.
9926
9927 2008-06-06  Eric Blake  <ebb9@byu.net>
9928
9929         Document abort() bugs.
9930         * doc/posix-functions/abort.texi (abort): Mention anomalies.
9931
9932         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
9933         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
9934         sigsetjmp.
9935         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
9936         siglongjmp, but only as a macro.
9937         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
9938         is obsolete.
9939         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
9940
9941         Tweak documentation to cover cygwin argz bugs.
9942         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
9943         argz bug fix; no code change needed since no cygwin releases
9944         occurred between the last fix and the bug being tested.
9945         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
9946         module and recently fixed cygwin bugs.
9947         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
9948         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
9949         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
9950         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
9951         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
9952         Likewise.
9953         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
9954         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
9955         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
9956         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
9957         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
9958         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
9959         Likewise.
9960
9961         Avoid gcc warning on cygwin.
9962         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
9963         !ACL_NO_TRIVIAL]: Avoid unused variable.
9964
9965 2008-06-05  Eric Blake  <ebb9@byu.net>
9966
9967         Be tolerant of UNKNOWN version in gnulib-tool test dir.
9968         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
9969         git-version-gen fails to come up with a version.
9970         Reported by Simon Josefsson.
9971
9972 2008-06-05  Jim Meyering  <meyering@redhat.com>
9973             Paul Eggert  <eggert@cs.ucla.edu>
9974
9975         utimens.c: work around a probable Linux kernel bug
9976         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
9977         appears to be a kernel bug that causes utimensat to return 280
9978         instead of 0, indicating success.
9979
9980 2008-06-04  Bruno Haible  <bruno@clisp.org>
9981
9982         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
9983         2008-06-01 commit.
9984
9985 2008-06-04  Bruno Haible  <bruno@clisp.org>
9986
9987         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
9988         * lib/file-has-acl.c (acl_access_nontrivial): New function.
9989         (file_has_acl): Use it. Save errno afterwards.
9990         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
9991
9992 2008-06-03  Bruno Haible  <bruno@clisp.org>
9993
9994         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
9995         draft code. Simplify #ifs.
9996         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
9997         Put Solaris code after POSIX-draft code. Fix comments regarding
9998         Solaris 10, HP-UX. Mention Cygwin.
9999         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
10000
10001 2008-06-03  Eric Blake  <ebb9@byu.net>
10002
10003         Provide fallback for older kernels.
10004         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
10005         Provide runtime fallback if kernel lacks support.
10006         Reported by Mike Frysinger.
10007
10008 2008-06-02  Bruno Haible  <bruno@clisp.org>
10009
10010         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
10011         it exists.
10012
10013 2008-06-02  Bruno Haible  <bruno@clisp.org>
10014
10015         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
10016         * lib/copy-acl.c (qcopy_acl): Update comment.
10017
10018 2008-06-02  Bruno Haible  <bruno@clisp.org>
10019
10020         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
10021         like ACL APIs.
10022
10023 2008-06-02  Bruno Haible  <bruno@clisp.org>
10024
10025         * tests/test-file-has-acl.sh: Use different code for Cygwin.
10026         * tests/test-set-mode-acl.sh: Likewise.
10027         * tests/test-copy-acl.sh: Likewise.
10028         * tests/test-copy-file.sh: Likewise.
10029
10030 2008-06-02  Bruno Haible  <bruno@clisp.org>
10031
10032         * tests/test-file-has-acl.sh: Remove unused code.
10033
10034 2008-06-01  Bruno Haible  <bruno@clisp.org>
10035
10036         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
10037         (copy_acl): Just a wrapper around qcopy_acl that emits the error
10038         messages.
10039         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
10040
10041 2008-06-01  Bruno Haible  <bruno@clisp.org>
10042
10043         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
10044         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
10045         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
10046         APIs.
10047         * modules/acl-tests (configure.ac): Remove tests now contained in
10048         m4/acl.m4.
10049
10050 2008-06-02  Jim Meyering  <meyering@redhat.com>
10051
10052         announce-gen: use a better key-server host name
10053         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
10054         it may be more consistently reliable.  Suggested by Werner Koch
10055         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
10056
10057 2008-06-01  Bruno Haible  <bruno@clisp.org>
10058
10059         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
10060         Reported by Voroskoi Andras <voroskoi@gmail.com>.
10061
10062 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
10063
10064         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
10065
10066 2008-06-01  Bruno Haible  <bruno@clisp.org>
10067
10068         New ACL tests.
10069         * tests/test-file-has-acl.sh: New file.
10070         * tests/test-file-has-acl.c: New file.
10071         * tests/test-set-mode-acl.sh: New file.
10072         * tests/test-set-mode-acl.c: New file.
10073         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
10074         * tests/test-copy-acl.c: New file.
10075         * modules/acl-tests: New file, based on modules/copy-file-tests.
10076         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
10077         (Depends-on): Add acl-tests.
10078         (configure.ac): Remove checks.
10079         (Makefile.am): Don't create test-sameacls program here any more.
10080
10081 2008-06-01  Bruno Haible  <bruno@clisp.org>
10082
10083         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
10084         * tests/test-sameacls.c: Include progname.h.
10085         (main): Invoke set_program_name. Portability fixes for MacOS X,
10086         Solaris, HP-UX.
10087
10088 2008-06-01  Bruno Haible  <bruno@clisp.org>
10089
10090         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
10091         function.
10092         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
10093
10094 2008-06-01  Bruno Haible  <bruno@clisp.org>
10095
10096         * modules/rpmatch (Depends-on): Add strdup.
10097
10098 2008-06-01  Bruno Haible  <bruno@clisp.org>
10099
10100         * lib/pipe.c: Include unistd-safer.h.
10101         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
10102         * modules/pipe (Depends-on): Add unistd-safer.
10103
10104 2008-05-30  Simon Josefsson  <simon@josefsson.org>
10105
10106         * modules/autobuild (configure.ac): Call AB_INIT.
10107
10108 2008-05-30  Simon Josefsson  <simon@josefsson.org>
10109
10110         * tests/test-getaddrinfo.c: Don't print debug messages by default.
10111         Suggested by Bruno Haible <bruno@clisp.org>.
10112
10113 2008-05-30  Simon Josefsson  <simon@josefsson.org>
10114
10115         * tests/test-base64.c: Cast size_t to unsigned long when invoking
10116         printf.  Use %lu instead of %d.  Reported by Bruno Haible
10117         <bruno@clisp.org>.
10118
10119 2008-05-29  Eric Blake  <ebb9@byu.net>
10120
10121         Prefer new POSIX 200x interfaces over futimesat.
10122         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
10123         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
10124         when available.
10125         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
10126
10127 2008-05-28  Bruno Haible  <bruno@clisp.org>
10128
10129         * modules/stpcpy (License): Change to LGPLv2+.
10130         Requested by David Lutterkort <dlutter@redhat.com>.
10131
10132 2008-05-27  Bruno Haible  <bruno@clisp.org>
10133
10134         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
10135         current mingw.
10136         Reported by Jose E. Marchesi <jemarch@gnu.org>.
10137
10138 2008-05-27  Bruno Haible  <bruno@clisp.org>
10139
10140         * modules/iconv_open (Link): New section, from module 'iconv'.
10141         * modules/striconv (Link): Likewise.
10142         * modules/striconveh (Link): Likewise.
10143         * modules/xstriconv (Link): Likewise.
10144         * modules/unicodeio (Link): Likewise.
10145         * modules/propername (Link): Likewise.
10146         Reported by Jim Meyering.
10147
10148 2008-05-26  Jim Meyering  <meyering@redhat.com>
10149
10150         sha256: do not artificially restrict buffer length to be < 2^32
10151         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
10152         uint32_t to size_t.
10153         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
10154         to match.
10155
10156         avoid unaligned access errors, e.g., on sparc
10157         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
10158         direct access through a possibly-unaligned uint64* pointer.
10159         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
10160         direct access through a possibly-unaligned uint32* pointer.
10161         Prompted by this patch from Tom "spot" Callaway:
10162         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
10163
10164         sha512.c: fix typo in comment
10165         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
10166
10167 2008-05-25  Bruno Haible  <bruno@clisp.org>
10168
10169         * lib/set-mode-acl.c: Renamed from lib/acl.c.
10170         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
10171         (Makefile.am): Update lib_SOURCES.
10172
10173 2008-05-25  Bruno Haible  <bruno@clisp.org>
10174
10175         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
10176
10177 2008-05-25  Jim Meyering  <meyering@redhat.com>
10178
10179         useless-if-before-free: freed expr may have white-space differences
10180         * build-aux/useless-if-before-free: Recognize cases in which the
10181         freed expression differs from the tested one in embedded white
10182         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
10183         $1 was used, so we can't make any regexp shy.  Improved tests now
10184         detect this.
10185
10186         useless-if-before-free: accept white space in the expression.
10187         * build-aux/useless-if-before-free: For now, any white space
10188         in the expression must be identical in the free argument.
10189
10190         useless-if-before-free: efficiency tweak
10191         * build-aux/useless-if-before-free: Make the expression-matching
10192         regexp "shy".
10193         Make the *outer* regexp shy, not the expr-matching one.
10194
10195         update code-in-comment to accept cast of free arg
10196         * build-aux/useless-if-before-free: Update regexp.
10197
10198 2008-05-25  Bruno Haible  <bruno@clisp.org>
10199
10200         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
10201         * modules/copy-file-tests (Files, Makefile.am): Update.
10202         * tests/test-copy-file.c (func_test_copy): Update.
10203
10204 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
10205
10206         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
10207
10208 2008-05-23  Bruno Haible  <bruno@clisp.org>
10209
10210         Improve support for ACLs on OSF/1.
10211         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
10212         Remove fallback for unknown flavors of ACLs.
10213
10214 2008-05-22  Bruno Haible  <bruno@clisp.org>
10215
10216         Add support for ACLs on OSF/1.
10217         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
10218         replacements.
10219         (acl_free_text): New macro fallback.
10220         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
10221         acl_free.
10222         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
10223         acl_free_text function. Require AC_C_INLINE.
10224
10225 2008-05-22  Bruno Haible  <bruno@clisp.org>
10226
10227         Make copy_acl work on MacOS X 10.5.
10228         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
10229         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
10230         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
10231         If MODE_INSIDE_ACL, don't assume that every system has the same text
10232         representation for ACLs as FreeBSD.
10233         * lib/copy-acl.c (copy_acl): Add support for platforms with
10234         !MODE_INSIDE_ACL.
10235         * lib/file-has-acl.c (file_has_acl): Likewise.
10236         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
10237         FreeBSD, MacOS X, or IRIX, respectively.
10238
10239 2008-05-22  Bruno Haible  <bruno@clisp.org>
10240
10241         * lib/acl.h: Don't include <sys/acl.h>.
10242         (GETACLCNT): Move fallback to lib/acl-internal.h.
10243         * lib/acl-internal.h: Include <sys/acl.h> here.
10244         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
10245
10246 2008-05-22  Bruno Haible  <bruno@clisp.org>
10247
10248         Split off copy_acl function to separate file.
10249         * lib/copy-acl.c: New file, extracted from lib/acl.c.
10250         * lib/acl.c (copy_acl): Moved function to separate file.
10251         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
10252         * modules/acl (Files): Add lib/copy-acl.c.
10253         (Makefiles.am): Augment lib_SOURCES.
10254
10255 2008-05-22  Bruno Haible  <bruno@clisp.org>
10256
10257         * modules/copy-file-tests: New file.
10258         * tests/test-copy-file.sh: New file.
10259         * tests/test-copy-file.c: New file.
10260         * tests/test-copy-file-sameacls.c: New file.
10261
10262 2008-05-22  Eric Blake  <ebb9@byu.net>
10263
10264         Avoid gcc warning.
10265         * tests/test-memcmp.c (main): Pass NULL indirectly.
10266
10267 2008-05-21  Bruno Haible  <bruno@clisp.org>
10268
10269         Add reference doc about ACLs.
10270         * doc/acl-resources.txt: New file.
10271         * doc/acl-cygwin.txt: New file.
10272
10273 2008-05-21  Bruno Haible  <bruno@clisp.org>
10274
10275         Avoid one more warning from gcc.
10276         * lib/vasnprintf.c (IF_LINT): Update comments.
10277         (VASNPRINTF): Use it also for the 'prefix' array initializer.
10278
10279 2008-05-21  Jim Meyering  <meyering@redhat.com>
10280
10281         avoid a warning from gcc
10282         * lib/vasnprintf.c (IF_LINT): Define.
10283         (scale10_round_decimal_long_double):
10284         Use it to avoid a "may be used uninitialized" warning.
10285         (scale10_round_decimal_double): Likewise.
10286
10287 2008-05-21  Simon Josefsson  <simon@josefsson.org>
10288
10289         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
10290         declared.
10291
10292 2008-05-20  Bruno Haible  <bruno@clisp.org>
10293
10294         * tests/test-memcmp.c (main): Test also the sign of the result. Test
10295         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
10296
10297 2008-05-20  Simon Josefsson  <simon@josefsson.org>
10298
10299         * modules/memcmp-tests: New file.
10300         * tests/test-memcmp.c: New file.
10301
10302 2008-05-19  Bruno Haible  <bruno@clisp.org>
10303
10304         * modules/propername (Notice, configure.ac): Put quoted "..." into
10305         --keyword option.
10306         * lib/propername.h: Update comments accordingly.
10307         Reported by Eric Blake.
10308
10309 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
10310
10311         * modules/getpass-gnu (Depends-on): Add fseeko.
10312
10313 2008-05-19  Simon Josefsson  <simon@josefsson.org>
10314
10315         * modules/base64-tests: New file.
10316
10317 2008-05-19  Bo Borgerson <gigabo@gmail.com>
10318
10319         * lib/base64.c (base64_decode_ctx): If a decode context structure
10320         was passed in use it to ignore newlines.  If a context structure
10321         was _not_ passed in, continue to treat newlines as garbage (this
10322         is the historical behavior).  Formerly base64_decode.
10323         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
10324         takes a decode context structure.
10325         * lib/base64.h (base64_decode): Macro for four-argument calls.
10326         (base64_decode_alloc): Likewise.
10327         * lib/base64.c (base64_decode_ctx): If a decode context structure
10328         was passed in use it to ignore newlines.  If a context structure
10329         was _not_ passed in, continue to treat newlines as garbage (this
10330         is the historical behavior).  Formerly base64_decode.
10331         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
10332         takes a decode context structure.
10333         * lib/base64.h (base64_decode): Macro for four-argument calls.
10334         (base64_decode_alloc): Likewise.
10335
10336 2008-05-19  Jim Meyering  <meyering@redhat.com>
10337
10338         avoid a warning from gcc
10339         * lib/trim.c (IF_LINT): Define.
10340         (trim2): Use it to avoid a "may be used uninitialized" warning.
10341
10342         Fix doc typo.
10343         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
10344
10345 2008-05-19  Bruno Haible  <bruno@clisp.org>
10346
10347         * doc/glibc-functions/getpass.texi: Document limits of other
10348         implementations.
10349
10350 2008-05-19  Simon Josefsson  <simon@josefsson.org>
10351             Bruno Haible <bruno@clisp.org>
10352
10353         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
10354
10355 2008-05-18  Bruno Haible  <bruno@clisp.org>
10356
10357         * modules/propername: New file, from GNU gettext.
10358         * lib/propername.h: New file, from GNU gettext.
10359         * lib/propername.c: New file, from GNU gettext.
10360         * MODULES.html.sh (Internationalization functions): Add propername.
10361
10362 2008-05-16  Jim Meyering  <meyering@redhat.com>
10363             Bruno Haible  <bruno@clisp.org>
10364
10365         Avoid some warnings from "gcc -Wshadow".
10366         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
10367
10368 2008-05-15  Eric Blake  <ebb9@byu.net>
10369
10370         Extend previous patch to cygwin 1.7.0.
10371         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
10372         fast implementation in cygwin >= 1.7.0.
10373         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
10374         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
10375
10376 2008-05-15  Bruno Haible  <bruno@clisp.org>
10377
10378         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
10379         implementation in glibc >= 2.9.
10380         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
10381         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
10382
10383 2008-05-15  Bruno Haible  <bruno@clisp.org>
10384
10385         * MODULES.html.sh (Internationalization functions): Remove linebreak.
10386         (Unicode string functions): Add unilbrk/*.
10387         Reported by Karl Berry.
10388
10389 2008-05-15  Eric Blake  <ebb9@byu.net>
10390
10391         Fix violation of <stdbool.h> replacement in regex.
10392         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
10393         * lib/regexec.c (re_search_internal): Likewise.
10394         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
10395
10396 2008-05-15  Jim Meyering  <meyering@redhat.com>
10397
10398         avoid distracting test output when git or cvs is not found
10399         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
10400         * tests/test-vc-list-files-git.sh: Likewise.
10401
10402 2008-05-15  Eric Blake  <ebb9@byu.net>
10403
10404         Glibc finally accepted the memmem speedup code, bugzilla #5514.
10405         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
10406         glibc version.
10407         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
10408         * doc/posix-functions/strstr.texi (strstr): Likewise.
10409         * lib/str-two-way.h (MAX): Sychronize with glibc.
10410
10411 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
10412
10413         * lib/regcomp.c (optimize_utf8): Add a note on why we test
10414         opr.ctx_type.
10415         (calc_first): Initialize constraint field.
10416         (duplicate_node_closure): Use it instead of special casing ANCHORS.
10417         Fix grammar.
10418         (duplicate_node): Merge constraint field for all node types.
10419         (calc_eclosure_iter): Look at constraint field for all node types.
10420         * lib/regex_internal.c (create_cd_newstate): Don't look at
10421         opr.ctx_type.
10422
10423 2008-05-14  Bruno Haible  <bruno@clisp.org>
10424
10425         Help GCC to do better code generation.
10426         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
10427         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
10428         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
10429         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
10430         Declare with attribute 'malloc' if supported.
10431
10432 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
10433
10434         use "echo STR|wc -c" rather than unportable "expr length STR"
10435         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
10436         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
10437
10438 2008-05-14  Jim Meyering  <meyering@redhat.com>
10439
10440         use dd ibs=$n count=1 ... rather than less-portable head -c$n
10441         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
10442         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
10443         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
10444         via Collin Lasse.
10445
10446 2008-05-14  Eric Blake  <ebb9@byu.net>
10447
10448         Avoid quadratic growth in gl_LIBSOURCES.
10449         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
10450         Suggested by Bruno Haible.
10451
10452         Test xmemdup0.
10453         * modules/xmemdup0-tests: New file.
10454         * tests/test-xmemdup0.c: Likewise.
10455
10456 2008-05-13  Eric Blake  <ebb9@byu.net>
10457
10458         Split xmemdup0 into its own module.
10459         * modules/xmemdup0: New file.
10460         * lib/xmemdup0.h: Likewise.
10461         * lib/xmemdup0.c: Likewise.
10462         * MODULES.html.sh (Memory management functions): Add xmemdup0.
10463         * lib/xalloc.h (xmemdup0): Remove.
10464         * lib/xmalloc.c (xmemdup0): Likewise.
10465
10466 2008-05-13  Eric Blake  <ebb9@byu.net>
10467             Bruno Haible  <bruno@clisp.org>
10468
10469         Reduce number of forks required during autoconf.
10470         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
10471         and gl_LIBSOURCES_DIR.
10472         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
10473         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
10474         m4_syscmd per file.
10475         <m4_foreach_w>: Move...
10476         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
10477
10478 2008-05-13  Eric Blake  <ebb9@byu.net>
10479
10480         * gnulib-tool: Fix various comment typos.
10481
10482 2008-05-12  Bruno Haible  <bruno@clisp.org>
10483
10484         Tailor the linebreaking algorithm.
10485         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
10486
10487 2008-05-12  Bruno Haible  <bruno@clisp.org>
10488
10489         Update to Unicode 5.0.0.
10490         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
10491         LBP_JV, LBP_JT. Redistribute values.
10492         (unilbrk_table): Change size.
10493         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
10494         Unicode TR#14 rev. 22.
10495         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
10496         LBP_JV, LBP_JT. Redistribute values.
10497         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
10498         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
10499         Update.
10500         * lib/unilbrk/lbrkprop1.h: Regenerated.
10501         * lib/unilbrk/lbrkprop2.h: Regenerated.
10502         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
10503         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
10504         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
10505         Likewise.
10506         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
10507         Likewise.
10508         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
10509         result.
10510         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
10511         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
10512         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
10513         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
10514         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
10515         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
10516
10517 2008-05-11  Bruno Haible  <bruno@clisp.org>
10518
10519         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
10520
10521 2008-05-11  Bruno Haible  <bruno@clisp.org>
10522
10523         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
10524         * modules/unilbrk/gen-lbrk: New file.
10525
10526 2008-05-11  Bruno Haible  <bruno@clisp.org>
10527
10528         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
10529         * m4/sha512.m4 (gl_SHA512): Likewise.
10530
10531 2008-05-11  Jim Meyering  <meyering@redhat.com>
10532
10533         New modules: crypto/sha256, crypto/sha512 (from coreutils)
10534         * modules/crypto/sha256: New file.
10535         * modules/crypto/sha512: Likewise.
10536         * lib/sha256.c: Likewise.
10537         * lib/sha256.h: Likewise.
10538         * lib/sha512.c: Likewise.
10539         * lib/sha512.h: Likewise.
10540         * lib/u64.h: Likewise.
10541         * m4/sha256.m4: Likewise.
10542         * m4/sha512.m4: Likewise.
10543         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
10544
10545 2008-05-10  Bruno Haible  <bruno@clisp.org>
10546
10547         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
10548         (Input/Output <stdio.h>): Add xprintf.
10549         (Signal handling <signal.h>): Add strsignal.
10550         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
10551         (Core language properties): Add func.
10552         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
10553         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
10554         strings.
10555         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
10556         (Input/output): New section.
10557         (File system functions): Add openat-die, stat-macros.
10558         (Networking functions): Add sockets.
10559         (Unicode string functions): Add unictype/*.
10560         (Support for building libraries and executables): Add gperf.
10561         (Support for building documentation): Add agpl-3.0.
10562         (Misc): Add nocrash.
10563
10564 2008-05-10  Bruno Haible  <bruno@clisp.org>
10565
10566         * modules/unictype/gen-ctype: New file.
10567
10568 2008-05-10  Jim Meyering  <meyering@redhat.com>
10569
10570         Make chdir-safer.c more efficient on a system with no symlinks.
10571         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
10572         also if ELOOP is zero.  Suggested by Bruno Haible.
10573
10574         Make chdir-safer.c slightly safer.
10575         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
10576         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
10577
10578         Avoid compile failure on systems without ELOOP (like mingw).
10579         * lib/chdir-safer.c (ELOOP): Define if not already defined.
10580         Reported by Bruno Haible.
10581
10582 2008-05-10  Bruno Haible  <bruno@clisp.org>
10583
10584         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
10585         (is_utf8_encoding): Use a case-insensitive comparison.
10586         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
10587         streq.
10588
10589 2008-05-10  Bruno Haible  <bruno@clisp.org>
10590
10591         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
10592         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
10593         * lib/unilbrk/ulc-common.h (iconv_string_length,
10594         iconv_string_keeping_offsets): Remove declarations.
10595         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
10596         Don't include <iconv.h>, streq.h, xsize.h.
10597         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
10598         conversion.
10599         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
10600         <iconv.h>, streq.h, xsize.h.
10601         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
10602         conversion.
10603         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
10604         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
10605         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
10606         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
10607
10608 2008-05-10  Bruno Haible  <bruno@clisp.org>
10609
10610         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
10611         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
10612
10613         * modules/unilbrk/u32-width-linebreaks-tests: New file.
10614         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
10615
10616         * modules/unilbrk/u16-width-linebreaks-tests: New file.
10617         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
10618
10619         * modules/unilbrk/u8-width-linebreaks-tests: New file.
10620         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
10621
10622         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
10623         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
10624
10625         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
10626         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
10627
10628         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
10629         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
10630
10631         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
10632         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
10633
10634 2008-05-10  Bruno Haible  <bruno@clisp.org>
10635
10636         Split up 'linebreak' module.
10637         * lib/unilbrk.h: New file, based on lib/linebreak.h.
10638         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
10639         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
10640         modifications.
10641         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
10642         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
10643         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
10644         lib/linebreak.c.
10645         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
10646         lib/linebreak.c.
10647         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
10648         lib/linebreak.c.
10649         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
10650         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
10651         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
10652         lib/linebreak.c.
10653         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
10654         lib/linebreak.c.
10655         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
10656         lib/linebreak.c.
10657         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
10658         lib/linebreak.c.
10659         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
10660         lib/linebreak.c.
10661         * modules/unilbrk/base: New file.
10662         * modules/unilbrk/tables: New file.
10663         * modules/unilbrk/u8-possible-linebreaks: New file.
10664         * modules/unilbrk/u16-possible-linebreaks: New file.
10665         * modules/unilbrk/u32-possible-linebreaks: New file.
10666         * modules/unilbrk/ulc-common: New file.
10667         * modules/unilbrk/ulc-possible-linebreaks: New file.
10668         * modules/unilbrk/u8-width-linebreaks: New file.
10669         * modules/unilbrk/u16-width-linebreaks: New file.
10670         * modules/unilbrk/u32-width-linebreaks: New file.
10671         * modules/unilbrk/ulc-width-linebreaks: New file.
10672         * lib/linebreak.h: Remove file.
10673         * lib/linebreak.c: Remove file.
10674         * m4/linebreak.m4: Remove file.
10675         * modules/linebreak: Remove file.
10676         * NEWS: Mention the changes.
10677
10678 2008-05-09  Eric Blake  <ebb9@byu.net>
10679
10680         Add xmemdup0.
10681         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
10682         implementation.
10683         * lib/xmalloc.c (xmemdup0): New C implementation.
10684
10685 2008-05-08  Bruno Haible  <bruno@clisp.org>
10686
10687         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
10688
10689 2008-05-07  Eric Blake  <ebb9@byu.net>
10690
10691         Support cross-compilation of <wctype.h>.
10692         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
10693         AC_CACHE_CHECK.
10694
10695 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
10696
10697         * build-aux/vc-list-files: Add support for bzr.
10698
10699 2008-05-03  Jim Meyering  <meyering@redhat.com>
10700
10701         avoid failed assertion with tight malloc
10702         * tests/test-getndelim2.c: Correct an off-by-one assertion.
10703
10704 2008-05-03  Simon Josefsson  <simon@josefsson.org>
10705
10706         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
10707         are needed from arpa/inet.h.
10708         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
10709         Reported by Bruno Haible.
10710
10711 2008-05-02  Jim Meyering  <meyering@redhat.com>
10712
10713         avoid compilation error on FreeBSD 6
10714         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
10715
10716 2008-05-01  Jim Meyering  <meyering@redhat.com>
10717
10718         useless-if-before-free: correct --help's exit status description
10719         * build-aux/useless-if-before-free (usage): Like grep, exit 0
10720         for one or more matches, etc.  Reported by Bruno Haible.
10721
10722         vc-list-files: make the stand-alone gnulib test work
10723         * modules/vc-list-files-tests (configure.ac):
10724         Define and AC_SUBST abs_aux_dir.
10725         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
10726         $(abs_top_srcdir) to each script and having each of them
10727         duplicate the work of setting PATH, set PATH here, using
10728         the new variable, abs_aux_dir instead.
10729         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
10730         * tests/test-vc-list-files-git.sh: Likewise.
10731         Reported by Bruno Haible.
10732
10733 2008-05-01  Bruno Haible  <bruno@clisp.org>
10734
10735         * lib/getndelim2.c (getndelim2): Fix newsize computation during
10736         reallocation. Rename 'done' to 'found_delimiter'.
10737
10738 2008-05-01  Jim Meyering  <meyering@redhat.com>
10739
10740         vc-list-files: accommodate /bin/sh like the one from Solaris 10
10741         * build-aux/vc-list-files: Use `...`, not $(...).
10742
10743 2008-04-30  Jim Meyering  <meyering@redhat.com>
10744
10745         add tests for vc-list-files
10746         * modules/vc-list-files-tests: New module.
10747         * tests/test-vc-list-files-cvs.sh: New file.
10748         * tests/test-vc-list-files-git.sh: New file.
10749
10750         avoid a warning from gcc
10751         * lib/getndelim2.c (IF_LINT): Define.
10752         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
10753
10754         vc-list-files: work properly with build-aux/cvsu, too
10755         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
10756         to all cvs-based clauses.
10757
10758         vc-list-files: work properly in the CVS+awk case, too
10759         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
10760
10761         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
10762         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
10763         take more than one file argument, so .  Add quotes, just in case $dir
10764         ever contains a shell meta-character.  Prompted by Soren Hansen in
10765         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
10766
10767 2008-04-29  Eric Blake  <ebb9@byu.net>
10768
10769         Optimize getndelim2 to use block operations when possible.
10770         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
10771         freadseek, and memchr2.
10772         * lib/getndelim2.c (getndelim2): Use them for block reads.
10773
10774 2008-04-29  Bruno Haible  <bruno@clisp.org>
10775
10776         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
10777         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
10778         * modules/inet_ntop (Depends-on): Add extensions.
10779         * modules/inet_pton (Depends-on): Likewise.
10780         Reported by Simon Josefsson.
10781
10782 2008-04-29  Jim Meyering  <meyering@redhat.com>
10783
10784         When the is more than one match in a block, match all of them.
10785         * build-aux/useless-if-before-free: Iterate through each block
10786         until there are no more matches.
10787
10788         Fix broken useless-if-before-free script.
10789         * build-aux/useless-if-before-free: Fix typo: missing "?" after
10790         the expression to match cast of argument to free-like function.
10791
10792 2008-04-29  Eric Blake  <ebb9@byu.net>
10793
10794         Use new header.
10795         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
10796
10797 2008-04-29  Jim Meyering  <meyering@redhat.com>
10798
10799         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
10800         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
10801         by gnulib to exist and to declare e.g., inet_ntop.
10802         Don't include "inet_ntop.h", now removed.
10803
10804         * m4/arpa_inet_h.m4: Remove trailing blanks.
10805
10806 2008-04-29  Eric Blake  <ebb9@byu.net>
10807
10808         Silence valgrind on safe reads beyond potential array bounds.
10809         * lib/rawmemchr.valgrind: New file.
10810         * lib/strchrnul.valgrind: Likewise.
10811         * modules/rawmemchr (Files): Distribute new file.
10812         * modules/strchrnul (Files): Likewise.
10813         Suggested by Bruno Haible.
10814
10815 2008-04-29  Bruno Haible  <bruno@clisp.org>
10816
10817         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
10818         (inet_ntop, inet_pton): Change portability warning's wording.
10819         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
10820         Invoke gl_CHECK_NEXT_HEADERS.
10821         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
10822         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
10823         set ARPA_INET_H.
10824         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
10825         * modules/arpa_inet (Description): No longer only for systems that
10826         lack it.
10827         (Depends-on): Add include_next.
10828         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
10829         HAVE_ARPA_INET_H.
10830
10831 2008-04-29  Jim Meyering  <meyering@redhat.com>
10832
10833         * modules/mkdir (License): Re-license as LGPLv2+.
10834
10835 2008-04-29  Bruno Haible  <bruno@clisp.org>
10836
10837         * modules/rawmemchr (Maintainer): Set to Eric.
10838         * modules/strchrnul (Maintainer): Likewise.
10839
10840 2008-04-29  Simon Josefsson  <simon@josefsson.org>
10841
10842         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
10843         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
10844
10845         * modules/arpa_inet (arpa/inet.h): Use them.
10846
10847 2008-04-28  Eric Blake  <ebb9@byu.net>
10848
10849         Test getndelim2.
10850         * modules/getndelim2-tests: New file.
10851         * tests/test-getndelim2.c: Likewise.
10852         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
10853         stream.
10854         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
10855
10856         * MODULES.html.sh: Document new module.
10857
10858 2008-04-20  Bruno Haible  <bruno@clisp.org>
10859
10860         * lib/c-stack.c (die): Use raise.
10861         * modules/c-stack (Depends-on): Add raise.
10862
10863 2008-04-28  Bruno Haible  <bruno@clisp.org>
10864
10865         Expect rpmatch to be declared.
10866         * lib/yesno.c (rpmatch): Remove declaration.
10867
10868         Declare rpmatch.
10869         * lib/stdlib.in.h (rpmatch): New declaration.
10870         * lib/rpmatch.c: Include <stdlib.h> first.
10871         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
10872         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
10873         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
10874         HAVE_RPMATCH.
10875         * modules/rpmatch (Depends-on): Add stdlib, extensions.
10876         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
10877         (Include): Set to <stdlib.h>.
10878         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
10879         HAVE_RPMATCH.
10880         * NEWS: Document the change.
10881
10882 2008-04-28  Bruno Haible  <bruno@clisp.org>
10883
10884         Change rpmatch to use nl_langinfo when appropriate.
10885         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
10886         (N_): New macro.
10887         (localized_pattern): New function/macro.
10888         (try): Remove match, nomatch arguments. Copy the pattern into safe
10889         memory before caching it.
10890         (rpmatch): Use localized_pattern. Add translator comments.
10891         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
10892         Suggested by Eric Blake.
10893         * modules/rpmatch (Depends-on): Add stdbool.
10894
10895 2008-04-28  Eric Blake  <ebb9@byu.net>
10896
10897         Add rawmemchr module, matching glibc.
10898         * modules/string (Makefile.am): New indicator.
10899         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
10900         * lib/string.in.h (rawmemchr): Declare when appropriate.
10901         * modules/rawmemchr: New file.
10902         * m4/rawmemchr.m4: Likewise.
10903         * lib/rawmemchr.c: Likewise.
10904         * modules/rawmemchr-tests: Likewise.
10905         * tests/test-rawmemchr.c: Likewise.
10906         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
10907         module.
10908         * modules/strchrnul (Depends-on): Add rawmemchr.
10909         * lib/strchrnul.c (strchrnul): Optimize a corner case.
10910
10911         Whitespace cleanup.
10912         * tests/test-strchrnul.c: Reindent.
10913         * lib/strchrnul.c: Likewise.
10914
10915         Optimize and test strchrnul.
10916         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
10917         * modules/strchrnul-tests: New file.
10918         * tests/test-strchrnul.c: Likewise.
10919
10920         Remove intprops dependency.
10921         * modules/memchr (Depends-on): Remove intprops.
10922         * modules/memrchr (Depends-on): Likewise.
10923         * modules/memchr2 (Depends-on): Likewise.
10924         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
10925         * lib/memrchr.c (__memrchr): Likewise.
10926         * lib/memrchr2.c (memchr2): Likewise.
10927         Reported by Simon Josefsson.
10928
10929 2008-04-28  Simon Josefsson  <simon@josefsson.org>
10930
10931         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
10932         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10933
10934 2008-04-28  Simon Josefsson  <simon@josefsson.org>
10935
10936         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
10937
10938         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
10939
10940         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
10941
10942         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
10943         declarations.
10944         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
10945
10946         * m4/inet_pton.m4: Don't check for header files.
10947
10948         * m4/inet_ntop.m4: Don't check for header files.
10949
10950 2008-04-28  Simon Josefsson  <simon@josefsson.org>
10951
10952         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
10953         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
10954         trigger for cygwin).
10955         Reported by Bruno Haible  <bruno@clisp.org>.
10956
10957 2008-04-28  Bruno Haible  <bruno@clisp.org>
10958
10959         * doc/posix-functions/strdup.texi: Mention mingw problem.
10960
10961 2008-04-27  Bruno Haible  <bruno@clisp.org>
10962
10963         * modules/stat-time-tests (Depends-on): Add sleep.
10964         * tests/test-stat-time.c (force_unlink): New function.
10965         (cleanup): Use it.
10966         (test_mtime): Remove the ctime related tests.
10967         (test_ctime): New function, containing the ctime related tests.
10968         (main): Call test_ctime, except on native Windows platforms.
10969
10970 2008-04-27  Bruno Haible  <bruno@clisp.org>
10971
10972         * lib/rpmatch.c (rpmatch): Add some comments.
10973         Reported by James Youngman <jay@gnu.org>.
10974
10975 2008-04-27  Bruno Haible  <bruno@clisp.org>
10976
10977         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
10978         quiet NaNs.
10979
10980 2008-04-27  Bruno Haible  <bruno@clisp.org>
10981
10982         Make test-yesno.sh work on mingw.
10983         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
10984         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
10985         (main): Set stdin to binary mode.
10986         * modules/yesno-tests (Depends-on): Add binary-io.
10987
10988 2008-04-27  Bruno Haible  <bruno@clisp.org>
10989
10990         Fix 'isfinite' on x86, x86_64, ia64 platforms.
10991         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
10992         argument that lie outside the IEEE 854 domain.
10993         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
10994         (gl_ISFINITE): Use it.
10995         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
10996
10997 2008-04-27  Bruno Haible  <bruno@clisp.org>
10998
10999         Allow local renaming in config.h.
11000         * lib/memrchr.c (memrchr): Don't undefine outside libc.
11001
11002 2008-04-27  Bruno Haible  <bruno@clisp.org>
11003
11004         * lib/memchr.c (__memchr): Change type of 'i'.
11005         * lib/memchr2.c (memchr2): Likewise.
11006
11007 2008-04-26  Eric Blake  <ebb9@byu.net>
11008         and Bruno Haible  <bruno@clisp.org>
11009
11010         Optimize and test memrchr.
11011         * modules/memrchr (Depends-on): Add intprops.
11012         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
11013         * modules/memrchr-tests: New file.
11014         * tests/test-memrchr.c: New file.
11015
11016 2008-04-26  Bruno Haible  <bruno@clisp.org>
11017
11018         Add tentative support for DragonFly BSD.
11019         * lib/stdio-impl.h: Add macros for DragonFly BSD.
11020         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
11021         fp.
11022         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
11023         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
11024         * lib/fpurge.c (fpurge): Likewise.
11025         * lib/freadable.c (freaadable): Likewise.
11026         * lib/freadahead.c (freadahead): Likewise.
11027         * lib/freading.c (freading): Likewise.
11028         * lib/freadptr.c (freadptr): Likewise.
11029         * lib/freadseek.c (freadptrinc): Likewise.
11030         * lib/fseeko.c (fseeko): Likewise.
11031         * lib/fseterr.c (fseterr): Likewise.
11032         * lib/fwritable.c (fwritable): Likewise.
11033         * lib/fwriting.c (fwriting): Likewise.
11034
11035 2008-04-26  Bruno Haible  <bruno@clisp.org>
11036
11037         * lib/stdio-impl.h: New file.
11038         * lib/fbufmode.c: Include stdio-impl.h.
11039         (fbufmode): Use fp_, remove redundant #defines.
11040         * lib/fflush.c: Include stdio-impl.h.
11041         (clear_ungetc_buffer): Remove redundant #defines.
11042         * lib/fpurge.c: Include stdio-impl.h.
11043         (fpurge): Remove redundant #defines.
11044         * lib/freadable.c: Include stdio-impl.h.
11045         (freadable): Remove redundant #defines.
11046         * lib/freadahead.c: Include stdio-impl.h.
11047         (freadahead): Remove redundant #defines.
11048         * lib/freading.c: Include stdio-impl.h.
11049         (freading): Remove redundant #defines.
11050         * lib/freadptr.c: Include stdio-impl.h.
11051         (freadptr): Remove redundant #defines.
11052         * lib/freadseek.c: Include stdio-impl.h.
11053         (freadptrinc): Remove redundant #defines.
11054         * lib/fseeko.c: Include stdio-impl.h.
11055         (rpl_fseeko): Remove redundant #defines.
11056         * lib/fseterr.c: Include stdio-impl.h.
11057         (fseterr): Remove redundant #defines.
11058         * lib/fwritable.c: Include stdio-impl.h.
11059         (fwritable: Remove redundant #defines.
11060         * lib/fwriting.c: Include stdio-impl.h.
11061         (fwriting): Remove redundant #defines.
11062         * modules/fbufmode (Files): Add lib/stdio-impl.h.
11063         * modules/fflush (Files): Likewise.
11064         * modules/fpurge (Files): Likewise.
11065         * modules/freadable (Files): Likewise.
11066         * modules/freadahead (Files): Likewise.
11067         * modules/freading (Files): Likewise.
11068         * modules/freadptr (Files): Likewise.
11069         * modules/freadseek (Files): Likewise.
11070         * modules/fseeko (Files): Likewise.
11071         * modules/fseterr (Files): Likewise.
11072         * modules/fwritable (Files): Likewise.
11073         * modules/fwriting (Files): Likewise.
11074
11075 2008-04-26  Bruno Haible  <bruno@clisp.org>
11076
11077         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
11078         restore_seek_optimization, update_fpos_cache): New functions, extracted
11079         from rpl_fflush.
11080         (rpl_fflush): Use them.
11081         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
11082         (gl_REPLACE_FFLUSH): Use it.
11083
11084 2008-04-26  Bruno Haible  <bruno@clisp.org>
11085
11086         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
11087         on Solaris.
11088         * tests/test-xstrtoimax.sh: Likewise.
11089         * tests/test-xstrtoumax.sh: Likewise.
11090         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11091
11092 2008-04-26  Bruno Haible  <bruno@clisp.org>
11093
11094         * modules/memchr-tests: New file.
11095         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
11096
11097 2008-04-26  Eric Blake  <ebb9@byu.net>
11098             Bruno Haible  <bruno@clisp.org>
11099
11100         * lib/memchr.c: Include intprops.h.
11101         (__memchr): Optimize parallel detection of matching bytes. Rename local
11102         variables. Add explanatory comments.
11103
11104 2008-04-26  Bruno Haible  <bruno@clisp.org>
11105
11106         Fix module 'memchr', broken since 2000-10-28.
11107         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
11108
11109 2008-04-26  Bruno Haible  <bruno@clisp.org>
11110
11111         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
11112         comments.
11113
11114 2008-04-25  Eric Blake  <ebb9@byu.net>
11115
11116         Use native fstatat on cygwin 1.7.0.
11117         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
11118         first.
11119
11120 2008-04-23  Eric Blake  <ebb9@byu.net>
11121
11122         Improve memchr2 performance.
11123         * lib/memchr2.c (memchr2): Further optimize parallel detection of
11124         NUL bytes.
11125         * modules/memchr2 (Depends-on): Use intprops.h.
11126
11127 2008-04-23  Simon Josefsson  <simon@josefsson.org>
11128
11129         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
11130         an inline function instead of a CPP macro.  Patch by Ben Pfaff
11131         <blp@cs.stanford.edu>.
11132
11133 2008-04-23  Simon Josefsson  <simon@josefsson.org>
11134
11135         * lib/arpa_inet.in.h: New file.
11136
11137         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
11138         (Makefile.am): Sed in substitute header file.
11139
11140         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
11141         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
11142
11143         * modules/inet_ntop (configure.ac): Use
11144         gl_ARPA_INET_MODULE_INDICATOR.
11145
11146         * modules/inet_pton (configure.ac): Use
11147         gl_ARPA_INET_MODULE_INDICATOR.
11148
11149 2008-04-22  Jim Meyering  <meyering@redhat.com>
11150
11151         * modules/verify (License): Re-license as LGPLv2+.
11152
11153 2008-04-22  Simon Josefsson  <simon@josefsson.org>
11154
11155         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
11156         parameter to void* as per POSIX standard (MinGW uses char*).
11157
11158 2008-04-21  Bruno Haible  <bruno@clisp.org>
11159
11160         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
11161         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
11162         Define to replacements if REPLACE_ISWCNTRL is 1.
11163         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
11164         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
11165         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
11166         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
11167         what it fixes.
11168         * doc/posix-functions/iswalpha.texi: Likewise.
11169         * doc/posix-functions/iswblank.texi: Likewise.
11170         * doc/posix-functions/iswcntrl.texi: Likewise.
11171         * doc/posix-functions/iswdigit.texi: Likewise.
11172         * doc/posix-functions/iswgraph.texi: Likewise.
11173         * doc/posix-functions/iswlower.texi: Likewise.
11174         * doc/posix-functions/iswprint.texi: Likewise.
11175         * doc/posix-functions/iswpunct.texi: Likewise.
11176         * doc/posix-functions/iswspace.texi: Likewise.
11177         * doc/posix-functions/iswupper.texi: Likewise.
11178         * doc/posix-functions/iswxdigit.texi: Likewise.
11179         Reported by Alain Guibert.
11180
11181 2008-04-21  Bruno Haible  <bruno@clisp.org>
11182
11183         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
11184         Patch by Alain Guibert.
11185
11186 2008-04-21  Bruno Haible  <bruno@clisp.org>
11187
11188         Fix test failures on mingw.
11189         * tests/test-xstrtol.c (print_no_progname): New function.
11190         (main): Install it in error_print_progname hook.
11191         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
11192         * tests/test-xstrtoimax.sh: Likewise.
11193         * tests/test-xstrtoumax.sh: Likewise.
11194
11195 2008-04-21  Bruno Haible  <bruno@clisp.org>
11196
11197         Fix test failure on mingw.
11198         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
11199
11200 2008-04-21  Bruno Haible  <bruno@clisp.org>
11201
11202         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
11203         Actually assign a value.
11204
11205 2008-04-20  Bruno Haible  <bruno@clisp.org>
11206
11207         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
11208         take 2.
11209         * lib/canonicalize.c (canonicalize_file_name): Elide if the
11210         'canonicalize-lgpl' module is also used.
11211         * lib/canonicalize-lgpl.c: Undo last change.
11212         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
11213
11214 2008-04-20  Bruno Haible  <bruno@clisp.org>
11215
11216         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
11217         config.h. Provide _mkdir based fallback for mingw.
11218         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
11219         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
11220         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
11221         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
11222         rather than defining mkdir in config.h.
11223         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
11224         (gl_SYS_STAT_H_DEFAULTS): New macro.
11225         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
11226         HAVE_IO_H any more.
11227         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
11228         HAVE_DECL_MKDIR and HAVE_IO_H.
11229
11230 2008-04-20  Bruno Haible  <bruno@clisp.org>
11231
11232         * lib/isapipe.c: Port to native Windows platforms.
11233
11234 2008-04-20  Bruno Haible  <bruno@clisp.org>
11235
11236         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
11237
11238 2008-04-21  Eric Blake  <ebb9@byu.net>
11239
11240         Work around preprocessors that don't handle UINTMAX_MAX.
11241         * lib/memchr2.c (memchr2): Avoid embedded #if.
11242         Reported by Alain Guibert, fix suggested by Bruno Haible.
11243
11244 2008-04-21  Simon Josefsson  <simon@josefsson.org>
11245
11246         * doc/posix-functions/strftime.texi (strftime): Explain better
11247         Windows incompatibility.  Suggested by Micah Cowan
11248         <micah@cowan.name>.
11249
11250 2008-04-20  Bruno Haible  <bruno@clisp.org>
11251
11252         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
11253         unistr/u8-mblen.
11254
11255 2008-04-20  Bruno Haible  <bruno@clisp.org>
11256
11257         Fix test failure on platforms with non-GNU iconv.
11258         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
11259         (U_TO_U8): Use it, rather than u16_to_u8.
11260         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
11261         units at the end of the input string.
11262         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
11263
11264 2008-04-20  Bruno Haible  <bruno@clisp.org>
11265
11266         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
11267         when the resulting length is 0.
11268         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
11269
11270 2008-04-20  Bruno Haible  <bruno@clisp.org>
11271
11272         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
11273         works.
11274         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
11275
11276 2008-04-20  Bruno Haible  <bruno@clisp.org>
11277
11278         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
11279         * modules/tsearch-tests (configure.ac): Test for initstate function.
11280
11281 2008-04-20  Bruno Haible  <bruno@clisp.org>
11282
11283         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
11284         for nlink_t if missing.
11285         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
11286
11287 2008-04-19  Bruno Haible  <bruno@clisp.org>
11288
11289         Work around snprintf bug on Linux libc5.
11290         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
11291         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
11292         gl_SNPRINTF_SIZE1.
11293         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
11294         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
11295         that test failed.
11296         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
11297         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
11298         * modules/snprintf (Files): Add m4/printf.m4.
11299         * modules/vsnprintf (Files): Likewise.
11300         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
11301         * doc/posix-functions/vsnprintf.texi: Likewise.
11302
11303 2008-04-19  Bruno Haible  <bruno@clisp.org>
11304
11305         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
11306         from 0.0058 to less than 10^-7.
11307
11308 2008-04-19  Bruno Haible  <bruno@clisp.org>
11309
11310         Fix rounding when a precision is given.
11311         * lib/vasnprintf.c (is_borderline): New function.
11312         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
11313         9...9x.
11314         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
11315         %e, %g.
11316         * tests/test-vasprintf-posix.c (test_function): Likewise.
11317         * tests/test-snprintf-posix.h (test_function): Likewise.
11318         * tests/test-sprintf-posix.h (test_function): Likewise.
11319         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
11320         * tests/test-printf-posix.h (test_function): Likewise.
11321         * tests/test-printf-posix.output: Update.
11322         Reported by John Darrington <john@darrington.wattle.id.au> via
11323         Ben Pfaff <blp@cs.stanford.edu>.
11324
11325 2008-04-18  Simon Josefsson  <simon@josefsson.org>
11326
11327         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
11328         Suggested by Bruno Haible <bruno@clisp.org>.
11329
11330 2008-04-17  Bruno Haible  <bruno@clisp.org>
11331
11332         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
11333         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
11334         implementation.
11335         Patch by Bruce Merry <bmerry@gmail.com>.
11336
11337 2008-04-17  Simon Josefsson  <simon@josefsson.org>
11338
11339         * doc/posix-functions/strftime.texi (strftime): Mention that %e
11340         doesn't work under Windows.
11341
11342 2008-04-16  Bruno Haible  <bruno@clisp.org>
11343
11344         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
11345         New macros.
11346         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
11347         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
11348         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
11349         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
11350         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
11351         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
11352         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
11353         macros.
11354         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
11355         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
11356         Northern Sotho, Uighur.
11357
11358 2008-04-16  Bruno Haible  <bruno@clisp.org>
11359
11360         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
11361         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
11362         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
11363         Reported by Daniel Bergström <daniel@octocode.com>.
11364
11365 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
11366             Bruno Haible  <bruno@clisp.org>
11367
11368         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
11369         function.
11370         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
11371         New functions, mostly extracted from gl_locale_name_default.
11372         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
11373
11374 2008-04-16  Eric Blake  <ebb9@byu.net>
11375
11376         Adjust strtod detection to catch glibc 2.7 bug.
11377         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
11378         Reported by John Gatewood Ham.
11379
11380 2008-04-16  Bruno Haible  <bruno@clisp.org>
11381
11382         Add tentative support for Linux libc5.
11383         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
11384         * lib/fpurge.c (fpurge): Likewise.
11385         * lib/freadable.c (freadable): Likewise.
11386         * lib/freadahead.c (freadahead): Likewise.
11387         * lib/freading.c (freading): Likewise.
11388         * lib/freadptr.c (freadptr): Likewise.
11389         * lib/freadseek.c (freadptrinc): Likewise.
11390         * lib/fseeko.c (rpl_fseeko): Likewise.
11391         * lib/fseterr.c (fseterr): Likewise.
11392         * lib/fwritable.c (fwritable): Likewise.
11393         * lib/fwriting.c (fwriting): Likewise.
11394         Reported by Alain Guibert <alguibert+bts@free.fr>.
11395
11396 2008-04-15  Bruno Haible  <bruno@clisp.org>
11397
11398         * modules/mathl (configure.ac): Define module indicator.
11399
11400 2008-04-15  Bruno Haible  <bruno@clisp.org>
11401
11402         * lib/logl.c (logl): Remove unused variables.
11403
11404 2008-04-15  Bruno Haible  <bruno@clisp.org>
11405
11406         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
11407         fails.
11408
11409 2008-04-15  Bruno Haible  <bruno@clisp.org>
11410
11411         * lib/trim.c (trim2): Fix argument of isspace() macro.
11412
11413 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
11414
11415         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
11416         to 0.
11417         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
11418
11419 2008-04-14  Bruno Haible  <bruno@clisp.org>
11420
11421         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
11422         AC_LANG_PROGRAM argument.
11423         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
11424         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
11425         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
11426         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
11427         * m4/math_h.m4 (gl_MATH_H): Likewise.
11428         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
11429         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
11430         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
11431         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
11432         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
11433         * m4/regex.m4 (gl_REGEX): Likewise.
11434         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
11435         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
11436         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
11437         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
11438         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
11439         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
11440         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
11441         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
11442
11443 2008-04-14  Jim Meyering  <meyering@redhat.com>
11444
11445         test-strtod: fix typos: s/abs/fabs/
11446         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
11447
11448 2008-04-13  Bruno Haible  <bruno@clisp.org>
11449
11450         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
11451         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
11452         module is also used and while not building the reloc-wrapper.
11453
11454 2008-04-13  Bruno Haible  <bruno@clisp.org>
11455
11456         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
11457
11458 2008-04-13  Bruno Haible  <bruno@clisp.org>
11459
11460         Fix AIX compilation failure introduced on 2008-04-02.
11461         * tests/test-frexp.c (exp): Undefine before redefining.
11462         * tests/test-frexpl.c (exp): Likewise.
11463
11464 2008-04-13  Bruno Haible  <bruno@clisp.org>
11465
11466         Work around a HP-UX stdio bug.
11467         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
11468         * tests/test-ftello.c (main): Likewise.
11469         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
11470         * doc/posix-functions/ftello.texi: Likewise.
11471
11472 2008-04-13  Bruno Haible  <bruno@clisp.org>
11473
11474         Make test-signbit pass on HP-UX/hppa.
11475         * tests/test-signbit.c (minus_zerol): New variable.
11476         (test_signbitl): Use it.
11477
11478 2008-04-13  Bruno Haible  <bruno@clisp.org>
11479
11480         Make truncl work on OSF/1 4.0.
11481         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
11482         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
11483         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
11484         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
11485         HAVE_DECL_TRUNCL.
11486         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
11487         HAVE_DECL_TRUNCL.
11488         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
11489
11490 2008-04-13  Bruno Haible  <bruno@clisp.org>
11491
11492         * lib/unictype.h: Remove trailing comma from enumeration definitions.
11493
11494 2008-04-13  Bruno Haible  <bruno@clisp.org>
11495
11496         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
11497         expression, so as to avoid HP-UX 11 cc compiler bug.
11498
11499 2008-04-13  Bruno Haible  <bruno@clisp.org>
11500
11501         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
11502
11503 2008-04-13  Bruno Haible  <bruno@clisp.org>
11504
11505         * lib/git-merge-changelog.c: Remove empty declaration outside of
11506         functions.
11507
11508 2008-04-13  Bruno Haible  <bruno@clisp.org>
11509
11510         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
11511
11512 2008-04-13  Bruno Haible  <bruno@clisp.org>
11513
11514         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
11515         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
11516         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
11517         also if it exists but lacks definitions of the SHUT_* macros.
11518         * modules/sys_socket (Description): Update.
11519         Reported by Elbert Pol <e.pol@chello.nl>.
11520
11521 2008-04-13  Bruno Haible  <bruno@clisp.org>
11522
11523         * lib/localcharset.c (OS2): Don't redefine if already defined.
11524         Reported by Elbert Pol <e.pol@chello.nl>.
11525
11526 2008-04-13  Bruno Haible  <bruno@clisp.org>
11527
11528         * lib/binary-io.h [__EMX__]: Include <io.h>.
11529         Reported by Elbert Pol <e.pol@chello.nl>.
11530
11531 2008-04-12  Bruno Haible  <bruno@clisp.org>
11532
11533         * lib/fpucw.h: Enable the definitions also for x86_64.
11534         Needed for NetBSD/x86_64.
11535         Reported by Thomas Klausner <tk@giga.or.at>.
11536
11537 2008-04-12  Bruno Haible  <bruno@clisp.org>
11538
11539         * tests/test-strtod.c: Include isnand.h.
11540         (main): Use isnand instead of isnan.
11541         Reported by Jim Meyering.
11542
11543 2008-04-12  Bruno Haible  <bruno@clisp.org>
11544
11545         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
11546         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
11547
11548 2008-04-12  Jim Meyering  <meyering@redhat.com>
11549
11550         * m4/math_h.m4 (gl_MATH_H): Fix typos.
11551
11552 2008-04-12  Bruno Haible  <bruno@clisp.org>
11553
11554         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
11555         Reported by Elbert Pol <e.pol@chello.nl>.
11556
11557 2008-04-12  Eric Blake  <ebb9@byu.net>
11558
11559         Work around Solaris 10 math.h bug.
11560         * m4/math_h.m4 (gl_MATH_H): Check for bug.
11561         (gl_MATH_H_DEFAULTS): Set up default.
11562         * modules/math (Makefile.am): Replace new indicators.
11563         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
11564         * tests/test-math.c (main): Test this.
11565         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
11566         * doc/posix-headers/math.texi (math.h): Mention bug.
11567         Reported by Nelson H. F. Beebe and Jim Meyering.
11568
11569 2008-04-11  Bruno Haible  <bruno@clisp.org>
11570
11571         Adapt to future versions of Apple GCC.
11572         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
11573         Reported by Peter O'Gorman <peter@pogma.com>.
11574
11575 2008-04-11  Bruno Haible  <bruno@clisp.org>
11576
11577         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
11578
11579 2008-04-11  Bruno Haible  <bruno@clisp.org>
11580
11581         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
11582
11583         * modules/getaddrinfo-tests (Makefile.am): Define
11584         test_getaddrinfo_LDADD.
11585
11586 2008-04-11  Bruno Haible  <bruno@clisp.org>
11587
11588         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
11589         (init): Fix syntax error.
11590         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
11591         is declared.
11592
11593 2008-04-11  Bruno Haible  <bruno@clisp.org>
11594
11595         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
11596         * modules/glob (Depends-on): Add stdbool.
11597
11598 2008-04-11  Bruno Haible  <bruno@clisp.org>
11599
11600         * lib/trim.c: Include <string.h>.
11601
11602 2008-04-11  Eric Blake  <ebb9@byu.net>
11603
11604         Avoid compile failure on OS/2.
11605         * lib/regex_internal.h (internal_function): Disable optimization
11606         on OS/2 (__EMX__), where it caused compiler error.
11607         Reported by Elbert Pol.
11608
11609 2008-04-11  Bruno Haible  <bruno@clisp.org>
11610
11611         Flush the standard error stream before aborting. Needed on mingw.
11612         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
11613         * tests/test-array_list.c (ASSERT): Likewise.
11614         * tests/test-array_oset.c (ASSERT): Likewise.
11615         * tests/test-avltree_list.c (ASSERT): Likewise.
11616         * tests/test-avltree_oset.c (ASSERT): Likewise.
11617         * tests/test-avltreehash_list.c (ASSERT): Likewise.
11618         * tests/test-binary-io.c (ASSERT): Likewise.
11619         * tests/test-byteswap.c (ASSERT): Likewise.
11620         * tests/test-c-ctype.c (ASSERT): Likewise.
11621         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
11622         * tests/test-c-strcasestr.c (ASSERT): Likewise.
11623         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
11624         * tests/test-c-strstr.c (ASSERT): Likewise.
11625         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
11626         * tests/test-canonicalize.c (ASSERT): Likewise.
11627         * tests/test-carray_list.c (ASSERT): Likewise.
11628         * tests/test-ceilf1.c (ASSERT): Likewise.
11629         * tests/test-ceilf2.c (ASSERT): Likewise.
11630         * tests/test-ceill.c (ASSERT): Likewise.
11631         * tests/test-count-one-bits.c (ASSERT): Likewise.
11632         * tests/test-fbufmode.c (ASSERT): Likewise.
11633         * tests/test-fflush2.c (ASSERT): Likewise.
11634         * tests/test-floorf1.c (ASSERT): Likewise.
11635         * tests/test-floorf2.c (ASSERT): Likewise.
11636         * tests/test-floorl.c (ASSERT): Likewise.
11637         * tests/test-fopen.c (ASSERT): Likewise.
11638         * tests/test-fpending.c (ASSERT): Likewise.
11639         * tests/test-fprintf-posix.c (ASSERT): Likewise.
11640         * tests/test-fpurge.c (ASSERT): Likewise.
11641         * tests/test-freadable.c (ASSERT): Likewise.
11642         * tests/test-freadahead.c (ASSERT): Likewise.
11643         * tests/test-freading.c (ASSERT): Likewise.
11644         * tests/test-freadptr.c (ASSERT): Likewise.
11645         * tests/test-freadptr2.c (ASSERT): Likewise.
11646         * tests/test-freadseek.c (ASSERT): Likewise.
11647         * tests/test-freopen.c (ASSERT): Likewise.
11648         * tests/test-frexp.c (ASSERT): Likewise.
11649         * tests/test-frexpl.c (ASSERT): Likewise.
11650         * tests/test-fseek.c (ASSERT): Likewise.
11651         * tests/test-fseeko.c (ASSERT): Likewise.
11652         * tests/test-fstrcmp.c (ASSERT): Likewise.
11653         * tests/test-ftell.c (ASSERT): Likewise.
11654         * tests/test-ftello.c (ASSERT): Likewise.
11655         * tests/test-func.c (ASSERT): Likewise.
11656         * tests/test-fwritable.c (ASSERT): Likewise.
11657         * tests/test-fwriting.c (ASSERT): Likewise.
11658         * tests/test-getdelim.c (ASSERT): Likewise.
11659         * tests/test-getline.c (ASSERT): Likewise.
11660         * tests/test-i-ring.c (ASSERT): Likewise.
11661         * tests/test-iconv-utf.c (ASSERT): Likewise.
11662         * tests/test-iconv.c (ASSERT): Likewise.
11663         * tests/test-isfinite.c (ASSERT): Likewise.
11664         * tests/test-isnand.c (ASSERT): Likewise.
11665         * tests/test-isnanf.c (ASSERT): Likewise.
11666         * tests/test-isnanl.h (ASSERT): Likewise.
11667         * tests/test-ldexpl.c (ASSERT): Likewise.
11668         * tests/test-linked_list.c (ASSERT): Likewise.
11669         * tests/test-linkedhash_list.c (ASSERT): Likewise.
11670         * tests/test-localename.c (ASSERT): Likewise.
11671         * tests/test-lseek.c (ASSERT): Likewise.
11672         * tests/test-mbscasecmp.c (ASSERT): Likewise.
11673         * tests/test-mbscasestr1.c (ASSERT): Likewise.
11674         * tests/test-mbscasestr2.c (ASSERT): Likewise.
11675         * tests/test-mbscasestr3.c (ASSERT): Likewise.
11676         * tests/test-mbscasestr4.c (ASSERT): Likewise.
11677         * tests/test-mbschr.c (ASSERT): Likewise.
11678         * tests/test-mbscspn.c (ASSERT): Likewise.
11679         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
11680         * tests/test-mbspbrk.c (ASSERT): Likewise.
11681         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
11682         * tests/test-mbsrchr.c (ASSERT): Likewise.
11683         * tests/test-mbsspn.c (ASSERT): Likewise.
11684         * tests/test-mbsstr1.c (ASSERT): Likewise.
11685         * tests/test-mbsstr2.c (ASSERT): Likewise.
11686         * tests/test-mbsstr3.c (ASSERT): Likewise.
11687         * tests/test-memchr2.c (ASSERT): Likewise.
11688         * tests/test-memmem.c (ASSERT): Likewise.
11689         * tests/test-open.c (ASSERT): Likewise.
11690         * tests/test-printf-frexp.c (ASSERT): Likewise.
11691         * tests/test-printf-frexpl.c (ASSERT): Likewise.
11692         * tests/test-printf-posix.c (ASSERT): Likewise.
11693         * tests/test-quotearg.c (ASSERT): Likewise.
11694         * tests/test-rbtree_list.c (ASSERT): Likewise.
11695         * tests/test-rbtree_oset.c (ASSERT): Likewise.
11696         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
11697         * tests/test-round1.c (ASSERT): Likewise.
11698         * tests/test-roundf1.c (ASSERT): Likewise.
11699         * tests/test-roundl.c (ASSERT): Likewise.
11700         * tests/test-signbit.c (ASSERT): Likewise.
11701         * tests/test-sleep.c (ASSERT): Likewise.
11702         * tests/test-snprintf-posix.c (ASSERT): Likewise.
11703         * tests/test-snprintf.c (ASSERT): Likewise.
11704         * tests/test-sprintf-posix.c (ASSERT): Likewise.
11705         * tests/test-stat-time.c (ASSERT): Likewise.
11706         * tests/test-strcasestr.c (ASSERT): Likewise.
11707         * tests/test-strerror.c (ASSERT): Likewise.
11708         * tests/test-striconv.c (ASSERT): Likewise.
11709         * tests/test-striconveh.c (ASSERT): Likewise.
11710         * tests/test-striconveha.c (ASSERT): Likewise.
11711         * tests/test-strsignal.c (ASSERT): Likewise.
11712         * tests/test-strstr.c (ASSERT): Likewise.
11713         * tests/test-strtod.c (ASSERT): Likewise.
11714         * tests/test-trunc1.c (ASSERT): Likewise.
11715         * tests/test-trunc2.c (ASSERT): Likewise.
11716         * tests/test-truncf1.c (ASSERT): Likewise.
11717         * tests/test-truncf2.c (ASSERT): Likewise.
11718         * tests/test-truncl.c (ASSERT): Likewise.
11719         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
11720         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
11721         * tests/test-vasnprintf.c (ASSERT): Likewise.
11722         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
11723         * tests/test-vasprintf.c (ASSERT): Likewise.
11724         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
11725         * tests/test-vprintf-posix.c (ASSERT): Likewise.
11726         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
11727         * tests/test-vsnprintf.c (ASSERT): Likewise.
11728         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
11729         * tests/test-wcwidth.c (ASSERT): Likewise.
11730         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
11731         * tests/test-xprintf-posix.c (ASSERT): Likewise.
11732         * tests/test-xvasprintf.c (ASSERT): Likewise.
11733         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
11734         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
11735         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
11736         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
11737         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
11738         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
11739         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
11740         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
11741         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
11742         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
11743         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
11744         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
11745         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
11746         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
11747         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
11748         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
11749         * tests/unictype/test-block_list.c (ASSERT): Likewise.
11750         * tests/unictype/test-block_of.c (ASSERT): Likewise.
11751         * tests/unictype/test-block_test.c (ASSERT): Likewise.
11752         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
11753         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
11754         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
11755         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
11756         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
11757         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
11758         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
11759         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
11760         * tests/unictype/test-combining.c (ASSERT): Likewise.
11761         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
11762         * tests/unictype/test-digit.c (ASSERT): Likewise.
11763         * tests/unictype/test-mirror.c (ASSERT): Likewise.
11764         * tests/unictype/test-numeric.c (ASSERT): Likewise.
11765         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
11766         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
11767         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
11768         * tests/unictype/test-scripts.c (ASSERT): Likewise.
11769         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
11770         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
11771         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
11772         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
11773         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
11774         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
11775         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
11776         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
11777         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
11778         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
11779         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
11780         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
11781         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
11782         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
11783         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
11784         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
11785         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
11786         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
11787         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
11788         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
11789         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
11790         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
11791         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
11792         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
11793         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
11794         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
11795         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
11796         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
11797         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
11798         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
11799         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
11800         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
11801         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
11802         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
11803         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
11804         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
11805         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
11806         Reported by Eric Blake.
11807
11808 2008-04-11  Bruno Haible  <bruno@clisp.org>
11809
11810         * lib/wchar.in.h: Tweak comment.
11811
11812 2008-04-11  Bruno Haible  <bruno@clisp.org>
11813
11814         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
11815         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
11816         gl_COMMON.
11817         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
11818
11819 2008-04-11  Bruno Haible  <bruno@clisp.org>
11820
11821         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
11822
11823 2008-04-11  Simon Josefsson  <simon@josefsson.org>
11824
11825         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
11826         of attempting to use non-existing /dev/*random.  Based on patch
11827         from Adam Strzelecki <ono@java.pl> in
11828         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
11829
11830 2008-04-08  Bruno Haible  <bruno@clisp.org>
11831
11832         Add tentative support for emx+gcc.
11833         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
11834         * lib/fpurge.c (fpurge): Likewise.
11835         * lib/freadable.c (freadable): Likewise.
11836         * lib/freadahead.c (freadahead): Likewise.
11837         * lib/freading.c (freading): Likewise.
11838         * lib/freadptr.c (freadptr): Likewise.
11839         * lib/freadseek.c (freadptrinc): Likewise.
11840         * lib/fseeko.c (rpl_fseeko): Likewise.
11841         * lib/fseterr.c (fseterr): Likewise.
11842         * lib/fwritable.c (fwritable): Likewise.
11843         * lib/fwriting.c (fwriting): Likewise.
11844         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
11845
11846 2008-04-09  Eric Blake  <ebb9@byu.net>
11847
11848         Avoid some autoconf warnings.
11849         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
11850         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
11851         * m4/afs.m4 (gl_AFS): Likewise.
11852         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
11853         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
11854         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
11855         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
11856         (gl_INTEGER_TYPE_SUFFIX): Likewise.
11857         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
11858         (AC_CHECK_DECLS_ONCE): Likewise.
11859         Rename file...
11860         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
11861         gnulib-tool requires autoconf 2.59 or better.
11862         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
11863
11864 2008-04-08  Eric Blake  <ebb9@byu.net>
11865
11866         Use 'git describe --match' if present (added in git 1.5.5).
11867         * build-aux/git-version-gen: Limit result to tags that match 'v*'
11868         if possible.
11869
11870 2008-04-08  Bruno Haible  <bruno@clisp.org>
11871
11872         Add tentative support for OpenServer.
11873         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
11874         _ptr, _cnt.
11875         * lib/fpurge.c (fpurge): Likewise.
11876         * lib/freadable.c (freadable): Likewise.
11877         * lib/freadahead.c (freadahead): Likewise.
11878         * lib/freading.c (freading): Likewise.
11879         * lib/freadptr.c (freadptr): Likewise.
11880         * lib/freadseek.c (freadptrinc): Likewise.
11881         * lib/fseeko.c (rpl_fseeko): Likewise.
11882         * lib/fseterr.c (fseterr): Likewise.
11883         * lib/fwritable.c (fwritable): Likewise.
11884         * lib/fwriting.c (fwriting): Likewise.
11885         Reported by Roger Cornelius <rac@tenzing.org> and
11886         Brian K. White <brian@aljex.com>.
11887
11888 2008-04-06  Jim Meyering  <meyering@redhat.com>
11889
11890         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
11891
11892 2008-04-06  Bruno Haible  <bruno@clisp.org>
11893
11894         Avoid possible error with non-ASCII bytes in UTF-8 locales.
11895         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
11896         * tests/test-printf-posix.sh: Likewise.
11897         * tests/test-vfprintf-posix.sh: Likewise.
11898         * tests/test-vprintf-posix.sh: Likewise.
11899         * tests/test-xprintf-posix.sh: Likewise.
11900
11901 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11902
11903         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
11904         hide error from 'ls', needed on OS/2.
11905         Report by Elbert Pol <elbert.pol@gmail.com>.
11906
11907 2008-04-04  Eric Blake  <ebb9@byu.net>
11908
11909         Make test-fseeko.c failures meaningful.
11910         * tests/test-fseeko.c: Print line number on failure.
11911         * tests/test-fseek.c: Likewise.
11912         Reported by Nelson H. F. Beebe.
11913
11914         Improve strtod bug detection check.
11915         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
11916         required for Solaris 10.
11917         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
11918
11919 2008-04-04  Bruno Haible  <bruno@clisp.org>
11920
11921         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
11922         by m4/setenv.m4.
11923
11924 2008-04-03  Eric Blake  <ebb9@byu.net>
11925
11926         Ensure sane .version contents.
11927         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
11928         version string.
11929         * build-aux/git-version-gen: Improve documentation.
11930
11931         Make GNU make output nicer.
11932         * top/GNUmakefile [!_have-Makefile]: Add dependency on
11933         MAKECMDGOALS to enforce message for all command line targets.  Set
11934         srcdir for use in maint.mk.
11935
11936         Another maintainer tweak.
11937         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
11938         a target that regenerates version.
11939
11940 2008-04-03  Jim Meyering  <meyering@redhat.com>
11941
11942         vc-list-files: don't cause coreutils "make po-check" failure
11943         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
11944
11945 2008-04-03  Eric Blake  <ebb9@byu.net>
11946
11947         Allow VPATH usage of vc-list-files.
11948         * build-aux/vc-list-files (scriptversion): Add timestamp.
11949         (options): Add --help, --version, -C.
11950         (CVS): Support installed cvsu.
11951
11952 2008-04-02  Bruno Haible  <bruno@clisp.org>
11953
11954         Avoid some "statement with no effect" warnings from gcc.
11955         * tests/test-wctype.c (main): Explicitly ignore unused values.
11956         Reported by Jim Meyering.
11957
11958 2008-04-02  Jim Meyering  <meyering@redhat.com>
11959
11960         Avoid some warnings from "gcc -Wshadow".
11961         * tests/test-frexp.c (exp): Define to a different identifier.
11962         * tests/test-frexpl.c (exp): Likewise.
11963
11964 2008-04-03  Jim Meyering  <meyering@redhat.com>
11965
11966         bootstrap: remove dangling *.[ch] symlinks from lib
11967         * build-aux/bootstrap [dangling symlink removal]: Move find's
11968         -depth option to precede all others, to avoid a warning.
11969         Remove *.[ch] files too, and from "$source_base" (usually lib/).
11970
11971 2008-04-02  Bruno Haible  <bruno@clisp.org>
11972
11973         Avoid some warnings from "gcc -Wshadow".
11974         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
11975         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
11976         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
11977         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
11978         Reported by Jim Meyering.
11979
11980 2008-04-01  Bruno Haible  <bruno@clisp.org>
11981
11982         Fix test to work on IRIX 6.5 with cc.
11983         * tests/test-math.c (numeric_equal): New function.
11984         (main): Use it.
11985
11986 2008-04-01  Bruno Haible  <bruno@clisp.org>
11987
11988         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
11989
11990 2008-04-01  Bruno Haible  <bruno@clisp.org>
11991
11992         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
11993         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
11994         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
11995         (Depends-on): Remove math.
11996
11997         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
11998         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
11999         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
12000         (Depends-on): Remove math.
12001
12002         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
12003         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
12004         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
12005         (Depends-on): Remove math.
12006         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
12007         (Depends-on): Remove math.
12008
12009         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
12010         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
12011         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
12012         (Depends-on): Remove math.
12013         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
12014         (Depends-on): Remove math.
12015
12016         * tests/test-round1.c: Include nan.h.
12017         (main): Use NaNd instead of NAN.
12018         * modules/round-tests (Files): Add tests/nan.h.
12019
12020         * tests/test-trunc1.c: Include nan.h.
12021         (main): Use NaNd instead of NAN.
12022         * modules/trunc-tests (Files): Add tests/nan.h.
12023
12024         * tests/test-roundf1.c: Include nan.h.
12025         (main): Use NaNf instead of NAN.
12026         * modules/roundf-tests (Files): Add tests/nan.h.
12027
12028         * tests/test-truncf1.c: Include nan.h.
12029         (main): Use NaNf instead of NAN.
12030         * modules/truncf-tests (Files): Add tests/nan.h.
12031
12032         * tests/test-ceilf1.c: Include nan.h.
12033         (main): Use NaNf instead of NAN.
12034         * modules/ceilf-tests (Files): Add tests/nan.h.
12035
12036         * tests/test-floorf1.c: Include nan.h.
12037         (main): Use NaNf instead of NAN.
12038         * modules/floorf-tests (Files): Add tests/nan.h.
12039
12040         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
12041         (main): Use NaNf instead of NAN.
12042         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
12043
12044         * tests/test-isnand.c: Include nan.h instead of <math.h>.
12045         (main): Use NaNd instead of NAN.
12046         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
12047
12048         * tests/test-frexp.c: Include nan.h.
12049         (main): Use NaNd instead of NAN.
12050         * modules/frexp-tests (Files): Add tests/nan.h.
12051
12052         * lib/isnan.c: Don't include <math.h>.
12053         (FUNC): Don't use NAN macro.
12054         * modules/isnand-nolibm (Depends-on): Remove math.
12055         * modules/isnanf-nolibm (Depends-on): Remove math.
12056         * modules/isnanl (Depends-on): Remove math.
12057         * modules/isnanl-nolibm (Depends-on): Remove math.
12058
12059         * tests/nan.h: New file.
12060
12061 2008-04-01  Eric Blake  <ebb9@byu.net>
12062
12063         Fix typos.
12064         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
12065         values to be the right type.
12066
12067         For now, cater to gnulib strtod inaccuracies.
12068         * tests/test-strtod.c (main): Allow 1-ulp error on expected
12069         fractional results.  While not as nice from a QoI perspective, it
12070         is a quicker patch than correctly implementing decimal to binary
12071         rounding.
12072
12073 2008-03-31  Eric Blake  <ebb9@byu.net>
12074
12075         Guarantee a definition of NAN.
12076         * lib/math.in.h (NAN): Define if missing.
12077         * tests/test-math.c (main): Test it.
12078         * doc/posix-headers/math.texi (math.h): Document this.
12079         * lib/isnan.c (rpl_isnand): Use it.
12080         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
12081         * tests/test-floorf1.c (NaN): Likewise.
12082         * tests/test-frexp.c (NaN): Likewise.
12083         * tests/test-isnand.c (NaN): Likewise.
12084         * tests/test-isnanf.c (NaN): Likewise.
12085         * tests/test-round1.c (NaN): Likewise.
12086         * tests/test-roundf1.c (NaN): Likewise.
12087         * tests/test-snprintf-posix.h (NaN): Likewise.
12088         * tests/test-sprintf-posix.h (NaN): Likewise.
12089         * tests/test-trunc1.c (NaN): Likewise.
12090         * tests/test-truncf1.c (NaN): Likewise.
12091         * tests/test-vasnprintf-posix.c (NaN): Likewise.
12092         * tests/test-vasprintf-posix.c (NaN): Likewise.
12093         * modules/isnand-nolibm (Depends-on): Add math.
12094         * modules/isnanf-nolibm (Depends-on): Likewise.
12095         * modules/isnanl (Depends-on): Likewise.
12096         * modules/isnanl-nolibm (Depends-on): Likewise.
12097         * modules/snprintf-posix-tests (Depends-on): Likewise.
12098         * modules/sprintf-posix-tests (Depends-on): Likewise.
12099         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
12100         * modules/vsprintf-posix-tests (Depends-on): Likewise.
12101         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
12102         * modules/vasprintf-posix-tests (Depends-on): Likewise.
12103
12104 2008-03-31  Bruno Haible  <bruno@clisp.org>
12105
12106         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
12107         * doc/posix-functions/strtod.texi: Likewise.
12108
12109 2008-03-31  Bruno Haible  <bruno@clisp.org>
12110
12111         * tests/test-strtod.c (main): Don't use C99 syntax.
12112
12113 2008-03-31  Bruno Haible  <bruno@clisp.org>
12114
12115         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
12116         Reported by Eric Blake.
12117
12118 2008-03-31  Jim Meyering  <meyering@redhat.com>
12119
12120         Don't compare actual signbit return values.
12121         * tests/test-strtod.c (main): Rather, compare only their
12122         zero/non-zero nature.
12123
12124 2008-03-31  Eric Blake  <ebb9@byu.net>
12125
12126         More strtod documentation.
12127         * doc/posix-functions/strtod.texi (strtod): Interpret more test
12128         failures as distinct bugs.
12129
12130 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
12131
12132         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
12133         Problem reported by Erik Benada in
12134         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
12135
12136 2008-03-30  Bruno Haible  <bruno@clisp.org>
12137
12138         * tests/test-strtod.c: Add comments about which assertion fails on which
12139         platform.
12140         * doc/posix-functions/strtod.texi: Add info about many more platforms.
12141
12142 2008-03-30  Eric Blake  <ebb9@byu.net>
12143
12144         Test signbit behavior on zeros.
12145         * tests/test-signbit.c (test_signbitf): Add tests for zero.
12146         (test_signbitd, test_signbitl): Likewise.
12147
12148         More strtod touchups.
12149         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
12150         sign of negative underflow, for now.  Use .5, not .1.
12151         * doc/posix-functions/strtod.texi (strtod): Mention these
12152         limitations.
12153         Reported by Jim Meyering.
12154
12155 2008-03-30  Bruno Haible  <bruno@clisp.org>
12156
12157         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
12158         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
12159
12160 2008-03-30  Bruno Haible  <bruno@clisp.org>
12161
12162         Avoid failure when attempting to return empty iconv results on some
12163         platforms.
12164         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
12165         allocation, don't report ENOMEM when the resulting string is empty.
12166
12167 2008-03-30  Bruno Haible  <bruno@clisp.org>
12168
12169         Fix buffer overrun.
12170         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
12171         Don't consider the width for tmp_length. Check count against tmp_length
12172         before doing the padding. Ensure enough allocation during padding.
12173
12174 2008-03-30  Eric Blake  <ebb9@byu.net>
12175
12176         strtod touchups.
12177         * lib/strtod.c (strtod): Avoid compiler warnings.
12178         Reported by Jim Meyering.
12179
12180 2008-03-30  Bruno Haible  <bruno@clisp.org>
12181
12182         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
12183         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
12184         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
12185         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
12186         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
12187         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
12188         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
12189         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
12190
12191         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
12192         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
12193         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
12194         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
12195         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
12196         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
12197         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
12198         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
12199
12200         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
12201         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
12202         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
12203         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
12204         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
12205         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
12206         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
12207         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
12208
12209         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
12210         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
12211
12212         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
12213         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
12214
12215         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
12216         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
12217
12218         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
12219         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
12220         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
12221
12222         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
12223         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
12224         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
12225
12226         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
12227         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
12228         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
12229
12230         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
12231         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
12232         * modules/vasprintf (Depends-on): Add EOVERFLOW.
12233
12234         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
12235         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
12236         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
12237         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
12238         (Depends-on): Add EOVERFLOW.
12239         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
12240         (Depends-on): Add EOVERFLOW.
12241         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
12242         (Depends-on): Add EOVERFLOW.
12243         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
12244         (Depends-on): Add EOVERFLOW.
12245         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
12246         (Depends-on): Add EOVERFLOW.
12247         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
12248         (Depends-on): Add EOVERFLOW.
12249         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
12250         (Depends-on): Add EOVERFLOW.
12251         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
12252         (Depends-on): Add EOVERFLOW.
12253
12254         * lib/sprintf.c (EOVERFLOW): Remove fallback.
12255         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
12256         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
12257
12258         * lib/snprintf.c (EOVERFLOW): Remove fallback.
12259         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
12260         * modules/snprintf (Depends-on): Add EOVERFLOW.
12261
12262         * lib/poll.c (EOVERFLOW): Remove fallback.
12263         * modules/poll (Depends-on): Add EOVERFLOW.
12264
12265         * lib/getugroups.c (EOVERFLOW): Remove fallback.
12266         * modules/getugroups (Depends-on): Add EOVERFLOW.
12267
12268         * lib/getdelim.c (EOVERFLOW): Remove fallback.
12269         * modules/getdelim (Depends-on): Add EOVERFLOW.
12270
12271         * lib/ftell.c (EOVERFLOW): Remove fallback.
12272         * modules/ftell (Depends-on): Add EOVERFLOW.
12273
12274         * lib/fprintf.c (EOVERFLOW): Remove fallback.
12275         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
12276         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
12277
12278         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
12279
12280         * modules/EOVERFLOW-tests: New file.
12281         * tests/test-EOVERFLOW.c: New file.
12282
12283         * modules/EOVERFLOW: New file.
12284         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
12285
12286 2008-03-30  Bruno Haible  <bruno@clisp.org>
12287
12288         Fix bug introduced on 2007-06-10.
12289         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
12290         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
12291
12292 2008-03-30  Bruno Haible  <bruno@clisp.org>
12293
12294         Improve freadseek's efficiency after ungetc.
12295         * lib/freadseek.c: Include freadahead.h.
12296         (freadptrinc): New function, extracted from freadseek.
12297         (freadseek): Use it in a loop. Use freadahead to determine the number
12298         of loop iterations.
12299         * modules/freadseek (Depends-on): Add freadahead.
12300         (configure.ac): Require AC_C_INLINE.
12301
12302 2008-03-30  Bruno Haible  <bruno@clisp.org>
12303
12304         * lib/freadseek.c (freadseek): Don't ignore the return value of
12305         freadptr.
12306
12307 2008-03-29  Eric Blake  <ebb9@byu.net>
12308
12309         Add hex float support.
12310         * modules/strtod (Depends-on): Add c-ctype.
12311         (Link): Mention POW_LIB.
12312         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
12313         whitespace between 'e' and exponent.
12314         * tests/test-strtod.c (main): Enable hex float tests.
12315         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
12316         now provides.
12317
12318         Document various strtod bugs, with some fixes.
12319         * doc/posix-functions/strtod.texi (strtod): Document bugs with
12320         "-0x", "inf", "nan", and hex constants.
12321         * doc/posix-functions/atof.texi (atof): Likewise.
12322         * modules/stdlib (Makefile.am): Support strtod.
12323         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
12324         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
12325         detect additional strtod bugs.
12326         * lib/stdlib.in.h (rpl_strtod): Add declarations.
12327         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
12328         bool where appropriate.  Parse 'inf' and 'nan'.
12329         * tests/test-strtod.c: New file.
12330         * modules/strtod (Depends-on): Add stdbool, stdlib.
12331         (configure.ac): Turn on module indicator.
12332         * modules/strtod-tests: New module.
12333
12334 2008-03-29  Eric Blake  <ebb9@byu.net>
12335
12336         Fix ftell on mingw.
12337         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
12338         * modules/ftell-tests (Depends-on): Add binary-io.
12339         * modules/ftello-tests (Depends-on): Likewise.
12340         * tests/test-ftell.c (main): Enhance test to cover behavior after
12341         ungetc.  Enforce binary mode.
12342         * tests/test-ftello.c (main): Likewise.
12343
12344         Pass test-freadseek on cygwin.
12345         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
12346         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
12347         ungetc buffer.
12348
12349         * tests/test-fflush2.c (main): Fix typo.
12350
12351 2008-03-29  Bruno Haible  <bruno@clisp.org>
12352
12353         * tests/test-fflush2.c (main): Temporarily disable the contents of
12354         this test.
12355         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
12356         Reported by Eric Blake.
12357
12358 2008-03-28  Simon Josefsson  <simon@josefsson.org>
12359
12360         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
12361         (GC_SHA224_DIGEST_SIZE): Add.
12362
12363         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
12364         (gc_hash_digest_length): Likewise.
12365         (gc_hash_buffer): Likewise.
12366
12367 2008-03-25  Bruno Haible  <bruno@clisp.org>
12368
12369         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
12370         detail which gettext release to use.
12371         Reported by Simon Josefsson.
12372
12373 2008-03-26  Jim Meyering  <meyering@redhat.com>
12374
12375         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
12376         * modules/gnumakefile (clean-GNUmakefile): Also, use
12377         test ... && ... || : syntax rather than if-then ... fi.
12378
12379         gnumakefile: Don't double-quote-expand $(VPATH) value.
12380         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
12381
12382 2008-03-24  Eric Blake  <ebb9@byu.net>
12383
12384         Alter GNUmakefile to install into top directory.
12385         * modules/maintainer-makefile: Split, and add dependency...
12386         * modules/gnumakefile: to this new module.
12387         * build-aux/GNUmakefile: Move...
12388         * top/GNUmakefile: ...here.
12389         * build-aux/maint.mk: Move...
12390         * top/maint.mk: ...here.
12391         * MODULES.html.sh (Support for maintaining...): Document new
12392         module.
12393
12394 2008-03-23  Bruno Haible  <bruno@clisp.org>
12395
12396         * gnulib-tool: New options --vc-files, --no-vc-files.
12397         (func_usage): Document them.
12398         (vc_files): New variable.
12399         (func_import): Consider vc_files.
12400         (func_create_testdir): Set vc_files to empty.
12401         Suggested by Jim Meyering and Karl Berry.
12402
12403 2008-03-23  Bruno Haible  <bruno@clisp.org>
12404
12405         Fix regex compilation error on HP-UX 11.
12406         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
12407         * modules/regex (Files): Add m4/mbstate_t.m4.
12408         Reported by Ton Voon <ton.voon@altinity.com>.
12409
12410 2008-03-23  Bruno Haible  <bruno@clisp.org>
12411
12412         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
12413
12414 2008-03-23  Eric Blake  <ebb9@byu.net>
12415             Bruno Haible  <bruno@clisp.org>
12416
12417         Install files from top/ in the destination directory.
12418         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
12419         augmentation also for the files from top/.
12420         (func_import, func_create_testdir): Rewrite file names:
12421         top/filename -> filename.
12422
12423 2008-03-23  Bruno Haible  <bruno@clisp.org>
12424
12425         Tweak "gnulib --version" output.
12426         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
12427
12428 2008-03-23  Bruno Haible  <bruno@clisp.org>
12429
12430         Tweak "gnulib --version" output.
12431         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
12432         rather than contents of ChangeLog, when possible.
12433
12434 2008-03-21  Eric Blake  <ebb9@byu.net>
12435
12436         More --version tweaks.
12437         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
12438         date of last ChangeLog entry.
12439
12440 2008-03-21  Jim Meyering  <meyering@redhat.com>
12441
12442         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
12443
12444 2008-03-20  Eric Blake  <ebb9@byu.net>
12445
12446         VPATH fix.
12447         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
12448
12449 2008-03-20  Simon Josefsson  <simon@josefsson.org>
12450
12451         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
12452         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
12453
12454 2008-03-20  Eric Blake  <ebb9@byu.net>
12455
12456         Sync GNUmakefile with coreutils.
12457         * build-aux/GNUmakefile (have-Makefile): Rename...
12458         (_have-Makefile): ...to this, for namespace consideration.
12459         (GNUmakefile.cfg): Include, if present.
12460         (_autoreconf): Define a default.
12461         (_is-dist-target): New rule for rebuilds to pick up intra-release
12462         version.
12463         (maint-cfg.mk): Rename...
12464         (cfg.mk): ...to this.
12465
12466 2008-03-18  Jim Meyering  <meyering@redhat.com>
12467
12468         New script and module: mktempd
12469         * MODULES.html.sh (maint+release support): Add mktempd.
12470         * build-aux/mktempd: New file.
12471         * modules/mktempd: New file.
12472
12473 2008-03-15  Jim Meyering  <meyering@redhat.com>
12474
12475         Undo last change.
12476         * lib/sha1.c, lib/md5.c: 63 != ~63.
12477         Reported by Andreas Schwab.
12478
12479         sha1.c, md5.c: Hoist a redundant expression.
12480         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
12481         "ctx->buflen" only once, before calling *_process_block.
12482         * lib/md5.c (md5_process_bytes): Likewise.
12483
12484 2008-03-14  Eric Blake  <ebb9@byu.net>
12485
12486         Bump copyright year in files generated by gnulib-tool.
12487         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
12488         gnulib-tool, rather than hard-coding it.
12489
12490         Fix 'gnulib-tool --version' output to work with git.
12491         * gnulib-tool (func_gnulib_dir): New function, extracted from...
12492         (startup): ...here.
12493         (func_version): Use it to invoke git-version-gen, rather than
12494         relying on CVS keyword expansion.  Modernize wording.
12495         (cvsdatestamp, last_checkin_date, version): Kill unused
12496         variables.
12497
12498 2008-03-12  Jim Meyering  <meyering@redhat.com>
12499
12500         Recognize optional cast of the argument to free.
12501         * build-aux/useless-if-before-free: Update regexps.
12502
12503         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
12504
12505 2008-03-11  Bruno Haible  <bruno@clisp.org>
12506
12507         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
12508         by a single package.
12509         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
12510         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
12511         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
12512         Reported by Sam Steingold <sds@gnu.org>.
12513
12514 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
12515
12516         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
12517         repositories.
12518
12519 2008-03-11  Bruno Haible  <bruno@clisp.org>
12520
12521         Avoid conflicts between local macro definitions.
12522         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
12523         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
12524
12525 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
12526             Bruno Haible  <bruno@clisp.org>
12527
12528         Make va_copy work with some version of xlc on AIX 5.1.
12529         * lib/stdarg.in.h: New file.
12530         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
12531         On AIX, use a <stdarg.h> file substitute.
12532         * modules/stdarg (Files): Add lib/stdarg.in.h.
12533         (Depends-on): Add include_next.
12534         (Makefile.am): Build a stdarg.h substitute if requested.
12535         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
12536
12537 2008-03-10  Bruno Haible  <bruno@clisp.org>
12538
12539         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
12540         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
12541         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
12542
12543 2008-03-10  Bruno Haible  <bruno@clisp.org>
12544
12545         * modules/stdlib (Depends-on): Add include_next, remove
12546         absolute-header.
12547
12548 2008-03-09  Bruno Haible  <bruno@clisp.org>
12549
12550         * lib/freadahead.h (freadahead): Document more precisely.
12551         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
12552         the sum of both buffer sizes.
12553         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
12554         * NEWS: Document the change.
12555
12556 2008-03-09  Bruno Haible  <bruno@clisp.org>
12557
12558         Extend freadptr to return also the buffer size.
12559         * lib/freadptr.h (freadptr): Add sizep argument.
12560         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
12561         (freadptr): Add sizep argument. Determine buffer size like freadahead
12562         does.
12563         * tests/test-freadptr.c: Don't include freadahead.h.
12564         (main): Adapt for new calling convention of freadptr.
12565         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
12566         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
12567         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
12568         tests/test-freadptr2.sh.
12569         (Depends): Remove freadahead.
12570         (TESTS): Add test-freadptr2.sh.
12571         (check_PROGRAMS): Add test-freadptr2.
12572
12573 2008-03-09  Bruno Haible  <bruno@clisp.org>
12574
12575         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
12576         Report and solution by Simon Josefsson.
12577
12578 2008-03-06  Bruno Haible  <bruno@clisp.org>
12579
12580         Make fflush after ungetc work on BSD platforms.
12581         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
12582         * tests/test-fflush2.c: New file.
12583         * tests/test-fflush2.sh: New file.
12584         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
12585         tests/test-fflush2.c.
12586         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
12587         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
12588
12589 2008-03-06  Eric Blake  <ebb9@byu.net>
12590
12591         Likewise for ftello.
12592         * modules/ftello (Dependencies): Add extensions.
12593         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
12594
12595 2008-03-06  Bruno Haible  <bruno@clisp.org>
12596
12597         * modules/fseeko (Dependencies): Add extensions.
12598         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
12599         Needed on glibc systems.
12600
12601 2008-03-06  Bruno Haible  <bruno@clisp.org>
12602
12603         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
12604         email address.
12605         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
12606
12607 2008-03-06  Bruno Haible  <bruno@clisp.org>
12608
12609         * users.txt: Add libgnupdf.
12610
12611 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
12612
12613         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
12614         (Header File Substitutes, Function Substitutes,
12615         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
12616         (Build robot for gnulib): Fix typo.
12617
12618 2008-03-06  Bruno Haible  <bruno@clisp.org>
12619
12620         * doc/gnulib-tool.texi (VCS Issues): Small updates.
12621         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
12622
12623 2008-03-06  Bruno Haible  <bruno@clisp.org>
12624
12625         * doc/func.texi: New file, extracted from doc/gnulib.texi.
12626         * doc/gnulib.texi: Include it.
12627
12628 2008-03-06  Simon Josefsson  <simon@josefsson.org>
12629
12630         * modules/func (License): Change license to unlimited; there was
12631         no LGPL parts in the module anyway.
12632
12633 2008-03-06  Simon Josefsson  <simon@josefsson.org>
12634
12635         * modules/__func__: Renamed to modules/func.
12636         * modules/__func__-tests: Renamed to modules/func-tests.
12637         * tests/test-__func__.c: Renamed to tests/test-func.c.
12638         * m4/__func__.m4: Renamed to m4/func.m4.
12639         * doc/gnulib.texi (__func__): Section renamed to func.
12640         Suggested by Eric Blake <ebb9@byu.net>.
12641
12642 2008-03-06  Simon Josefsson  <simon@josefsson.org>
12643
12644         * doc/gnulib.texi (__func__): Use C99 terminology when talking
12645         about __func__.  Make example self-contained.  Suggested by Eric
12646         Blake <ebb9@byu.net>.
12647
12648         * tests/test-__func__.c (main): Avoid extraneous () around __func.
12649         Suggested by Eric Blake <ebb9@byu.net>.
12650
12651 2008-03-06  Simon Josefsson  <simon@josefsson.org>
12652
12653         * modules/__func__: New file.
12654         * modules/__func__-tests: New file.
12655         * tests/test-__func__.c: New file.
12656         * m4/__func__.m4: New file.
12657         * doc/gnulib.texi (__func__): Document __func__ module.
12658
12659 2008-03-05  Simon Josefsson  <simon@josefsson.org>
12660
12661         * modules/byteswap (License): Re-license as LGPLv2+.
12662
12663 2008-03-05  Simon Josefsson  <simon@josefsson.org>
12664
12665         * doc/Makefile: Add pdf target.
12666
12667 2008-03-05  Simon Josefsson  <simon@josefsson.org>
12668
12669         * modules/inline (License): Use 'unlimited', since there are only
12670         *.m4 files in this module.
12671
12672 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
12673             Bruno Haible  <bruno@clisp.org>
12674
12675         Add support for HP C 7.1 on OpenVMS 8.3.
12676         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
12677
12678 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
12679
12680         Update VMS specifics.
12681         * lib/getopt.c [VMS]: Remove include of unixlib.h.
12682
12683 2008-03-02  Jim Meyering  <meyering@redhat.com>
12684
12685         Remove the last dependency on the "free" module.
12686         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
12687         Reported by Bob Proulx.
12688
12689         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
12690
12691         Remove useless "if" tests before free.  Deprecate "free" module.
12692         * doc/posix-functions/free.texi: Mention that this
12693         module is no longer useful.
12694         * modules/free (Notice): Say this module is obsolete.
12695         * modules/readutmp (Depends-on): Remove free.
12696         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
12697         * lib/putenv.c (putenv): Likewise.
12698         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
12699         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
12700         * tests/test-c-strcasestr.c (main): Likewise.
12701         * tests/test-c-strstr.c (main): Likewise.
12702         * tests/test-mbscasestr1.c (main): Likewise.
12703         * tests/test-mbscasestr2.c (main): Likewise.
12704         * tests/test-mbsstr1.c (main): Likewise.
12705         * tests/test-mbsstr2.c (main): Likewise.
12706         * tests/test-memmem.c (main): Likewise.
12707         * tests/test-strcasestr.c (main): Likewise.
12708         * tests/test-striconv.c (main): Likewise.
12709         * tests/test-striconveh.c (main): Likewise.
12710         * tests/test-striconveha.c (main): Likewise.
12711         * tests/test-strstr.c (main): Likewise.
12712
12713         * build-aux/git-version-gen: Adjust a comment and the Usage string.
12714
12715         bootstrap: sync from coreutils again
12716         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
12717
12718 2008-03-01  Jim Meyering  <meyering@redhat.com>
12719
12720         bootstrap: sync from coreutils
12721         * build-aux/bootstrap (update_po_files): Copy a .po file into place
12722         also when the target doesn't exist.
12723
12724 2008-03-01  Eric Blake  <ebb9@byu.net>
12725
12726         Fix bugs in last patch.
12727         * lib/memchr2.c (memchr2): Fix typo.
12728         * tests/test-memchr2.c: Test previous bug, and don't use GNU
12729         extension.
12730         Reported by Bruce Korb.
12731
12732         New module 'memchr2'.
12733         * modules/memchr2: New file.
12734         * modules/memchr2-tests: Likewise.
12735         * lib/memchr2.h: Likewise.
12736         * lib/memchr2.c: Likewise, based on memchr.c.
12737         * tests/test-memchr2.c: New test.
12738         * MODULES.html.sh (String handling): Add memchr2.
12739
12740 2008-02-29  Bruno Haible  <bruno@clisp.org>
12741
12742         * modules/freadseek-tests: New file.
12743         * tests/test-freadseek.sh: New file.
12744         * tests/test-freadseek.c: New file.
12745
12746         New module 'freadseek'.
12747         * modules/freadseek: New file.
12748         * lib/freadseek.h: New file.
12749         * lib/freadseek.c: New file.
12750         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
12751
12752 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
12753
12754         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
12755         wydawca.
12756
12757         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
12758         program_invocation_name and program_invocation_short_name are
12759         present.
12760
12761 2008-02-28  Bruno Haible  <bruno@clisp.org>
12762
12763         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
12764         * tests/test-freadptr.sh: Also test non-seekable stdin.
12765
12766 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
12767
12768         * build-aux/bootstrap (source_base, m4_base)
12769         (doc_base, tests_base): New variables.
12770         (gnulib_tool_options): Do not hardcode base directories, use
12771         the above variables instead.
12772
12773 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
12774
12775         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
12776
12777 2008-02-28  Bruno Haible  <bruno@clisp.org>
12778
12779         * modules/freadptr-tests: New file.
12780         * tests/test-freadptr.sh: New file.
12781         * tests/test-freadptr.c: New file.
12782
12783         New module 'freadptr'.
12784         * modules/freadptr: New file.
12785         * lib/freadptr.h: New file.
12786         * lib/freadptr.c: New file.
12787         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
12788
12789 2008-02-26  Karl Berry  <karl@freefriends.org>
12790
12791         Sync from Libtool:
12792         * libltdl/argz.c (argz_add, argz_count): New functions.
12793         * libltdl/argz.in.h: Declare them.
12794         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
12795
12796 2008-02-22  Bruno Haible  <bruno@clisp.org>
12797
12798         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
12799         is a pointer type.  Needed for HP-UX 10.
12800         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
12801         * doc/posix-functions/gmtime_r.texi: Likewise.
12802         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
12803
12804 2008-02-24  Bruno Haible  <bruno@clisp.org>
12805
12806         * modules/environ-tests: New file.
12807         * tests/test-environ.c: New file.
12808
12809         New module 'environ'.
12810         * modules/environ: New file.
12811         * lib/unistd.in.h (environ): New declaration.
12812         * m4/environ.m4: New file.
12813         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
12814         after use.
12815         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
12816         HAVE_DECL_ENVIRON.
12817         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
12818         HAVE_DECL_ENVIRON.
12819         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
12820         wrong claim that 'environ' is missing on some systems.
12821         * modules/execute (Depends-on): Add environ.
12822         * lib/execute.c (environ): Remove fallback declaration.
12823         * modules/pipe (Depends-on): Add environ.
12824         * lib/pipe.c (environ): Remove fallback declaration.
12825         * modules/setenv (Depends-on): Add environ.
12826         * lib/setenv.c (environ): Remove fallback declaration.
12827         * modules/unsetenv (Depends-on): Add environ.
12828         * lib/unsetenv.c (environ): Remove fallback declaration.
12829         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
12830         m4/environ.m4.
12831         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
12832         (gl_PREREQ_UNSETENV): Likewise.
12833
12834 2008-02-24  Bruno Haible  <bruno@clisp.org>
12835
12836         * doc/posix-functions/environ.texi: Document the MacOS X problem.
12837
12838 2008-02-20  Bob Proulx  <bob@proulx.com>
12839
12840         Enable use of older two part flavor 'git describe'.
12841         * build-aux/git-version-gen: If using the older two part flavor of
12842         git version then recreate the third part now present in the
12843         newer three part flavor of git describe.
12844
12845 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
12846
12847         * lib/fts.c (fts_build): Typo correction to comment.
12848
12849 2008-02-17  Bruno Haible  <bruno@clisp.org>
12850
12851         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
12852         generating no-op conflicts.
12853
12854 2008-02-17  Bruno Haible  <bruno@clisp.org>
12855
12856         Speed up by 10%.
12857         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
12858         result_entries, rather than an index-based loop.
12859
12860 2008-02-17  Bruno Haible  <bruno@clisp.org>
12861
12862         Speed up by 25%.
12863         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
12864         'hashcode_cached'.
12865         (entry_create): New function.
12866         (entry_hashcode): Use the cached hashcode if possible.
12867         (read_changelog_file, try_split_merged_entry): Use entry_create.
12868
12869 2008-02-17  Bruno Haible  <bruno@clisp.org>
12870
12871         Speed up from O(n^2) to O(n) for long ChangeLog files.
12872         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
12873         (read_changelog_file): Change implementation of entries_reversed list
12874         to rbtreehash.
12875         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
12876
12877 2008-02-17  Bruno Haible  <bruno@clisp.org>
12878
12879         New option --split-merged-entry.
12880         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
12881         (find_paragraph_end, try_split_merged_entry): New functions.
12882         (long_options): Add option --split-merged-entry.
12883         (usage): Document option --split-merged-entry.
12884         (main): Implement option --split-merged-entry.
12885         Reported by Eric Blake.
12886
12887 2008-02-17  Bruno Haible  <bruno@clisp.org>
12888
12889         * lib/git-merge-changelog.c: Include c-strstr.h.
12890         (main): Support the "git pull --rebase" situation.
12891         * modules/git-merge-changelog (Depends-on): Add c-strstr.
12892         Reported by Eric Blake.
12893
12894 2008-02-16  Eric Blake  <ebb9@byu.net>
12895
12896         Avoid doubling \ in common case of "c-maybe" quoting style.
12897         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
12898         eliding outer quotes.
12899         * lib/quotearg.h: Document this.
12900         * tests/test-quotearg.c (result_strings, inputs, results_g)
12901         (flag_results, locale_results): Test it by adding a new string to
12902         each test group.
12903         (compare_strings): Test new string.
12904
12905 2008-02-13  Eric Blake  <ebb9@byu.net>
12906
12907         Avoid trigraph quoting in default output.
12908         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
12909         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
12910         unless explicitly requested.
12911         * tests/test-quotearg.c (flag_results, main): Add additional tests.
12912
12913 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
12914
12915         Don't rely on signed integer overflowing to negative value.
12916         * lib/getugroups.c (getugroups): Include <limits.h>.
12917         Instead, compare against INT_MAX, and increment only if the test passes.
12918
12919 2008-02-13  Jim Meyering  <meyering@redhat.com>
12920         and Eric Blake  <ebb9@byu.net>
12921
12922         Avoid shadowing warning and compile errors on Linux.
12923         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
12924         forwarding macros on Linux.
12925         (dcgettext): Define a stub, for Linux.
12926         (results_g, main): Avoid warnings.
12927
12928 2008-02-12  Eric Blake  <ebb9@byu.net>
12929
12930         Silence warning in last patch.
12931         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
12932
12933         Quotearg part 4: add tests, fix c-maybe colon quoting.
12934         * lib/quotearg.h: Improve documentation.
12935         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
12936         escapes when adding outer quotes.  When quoting trigraphs, use
12937         valid C notation.  When quoting NUL, omit extra characters if next
12938         character is not digit.  Alter prototype.
12939         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
12940         callers.
12941         * modules/quotearg-tests: New module.
12942         * tests/test-quotearg.c: New test.
12943
12944 2008-02-07  Eric Blake  <ebb9@byu.net>
12945
12946         Quotearg part 3: add flag to control outer quote elision.
12947         * lib/quotearg.h (c_maybe_quoting_style): New style.
12948         (enum quoting_flags): Better documentation of flags.
12949         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
12950         c-maybe style.
12951         (quotearg_buffer_restyled): Handle new flag to elide outer
12952         quotes.
12953
12954         Quotearg part 2: add flag that can control NUL elision.
12955         * lib/quotearg.h (set_quoting_flags): New prototype.
12956         * lib/quotearg.c (struct quoting_options): Add flag field.
12957         (set_quoting_flags): New function.
12958         (quotearg_buffer_restyled): Add flags parameter.
12959         (quotearg_alloc_mem): Set the flag if length cannot be returned.
12960         (quotearg_n_options): Set the flag, since length cannot be
12961         returned.
12962         (quoting_options_from_style): Default flags correctly.
12963
12964         Quotearg part 1: more wrappers, restore quotearg_char state.
12965         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
12966         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
12967         (quotearg_colon_mem): New wrappers.
12968         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
12969         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
12970         functions.
12971         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
12972         (quotearg_colon_mem): New functions.
12973
12974 2008-02-11  Bruno Haible  <bruno@clisp.org>
12975
12976         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
12977         library in the current directory: it does not work with parallel make.
12978         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12979
12980 2008-02-11  Bruno Haible  <bruno@clisp.org>
12981
12982         * .gitattributes: New file.
12983
12984 2008-02-11  Jim Meyering  <meyering@redhat.com>
12985
12986         useless-if-before-free: Fix reversed exit values.
12987         * build-aux/useless-if-before-free: Use correct values
12988         for EXIT_MATCH and EXIT_NO_MATCH.
12989
12990         * build-aux/useless-if-before-free: Close stdout carefully.
12991
12992 2008-02-10  Bruno Haible  <bruno@clisp.org>
12993
12994         New module 'git-merge-changelog'.
12995         * modules/git-merge-changelog: New file.
12996         * lib/git-merge-changelog.c: New file.
12997
12998 2008-02-10  Jim Meyering  <meyering@redhat.com>
12999
13000         useless-if-before-free: New option: --list (-l).
13001
13002         useless-if-before-free: Don't exit immediately upon open failure.
13003         * build-aux/useless-if-before-free: Exit 2 for errors.
13004         Upon failure to open a file, don't exit immediately.
13005         Rather, just warn and continue with any remaining files.
13006
13007 2008-02-10  Bruno Haible  <bruno@clisp.org>
13008
13009         New abstract list operation 'node_set_value'.
13010         * lib/gl_list.h (gl_list_node_set_value): New function.
13011         (struct gl_list_implementation): New field node_set_value.
13012         * lib/gl_list.c (gl_list_node_set_value): New function.
13013         * lib/gl_array_list.c (gl_array_node_set_value): New function.
13014         (gl_array_list_implementation): Update.
13015         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
13016         (gl_carray_list_implementation): Update.
13017         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
13018         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
13019         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
13020         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
13021         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
13022         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
13023         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
13024         Update.
13025         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
13026         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
13027         (gl_sublist_list_implementation): Update.
13028
13029 2008-02-10  Bruno Haible  <bruno@clisp.org>
13030
13031         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
13032         Needed when ELEMENT is #defined to 'some_type *'.
13033
13034 2008-02-10  Jim Meyering  <meyering@redhat.com>
13035
13036         New script and module: useless-if-before-free
13037         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
13038         * build-aux/useless-if-before-free: New file.
13039         * modules/useless-if-before-free: New file.
13040
13041         * build-aux/gitlog-to-changelog: Use committer date, not author date.
13042
13043         xstrtol_error: Fix typo.
13044         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
13045         s/exit_failure/exit_status/.
13046
13047 2008-02-09  Jim Meyering  <meyering@redhat.com>
13048
13049         New script and module: gitlog-to-changelog
13050         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
13051         * modules/gitlog-to-changelog: New file.
13052         * build-aux/gitlog-to-changelog: New file.
13053
13054 2008-02-08  Jim Meyering  <meyering@redhat.com>
13055
13056         Avoid two "parameter unused" warnings.
13057         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
13058         Mark "st" as used.
13059
13060         Use "git COMMAND", not "git-COMMAND".
13061         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
13062         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
13063         * build-aux/git-version-gen: Use "git status", not "git-status".
13064
13065 2008-02-07  Bruno Haible  <bruno@clisp.org>
13066
13067         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
13068         Avoids a crash on Windows Vista.
13069         Reported by Adam Strzelecki <ono@java.pl> via
13070         Simon Josefsson <simon@josefsson.org>.
13071
13072 2008-02-06  Bruno Haible  <bruno@clisp.org>
13073
13074         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
13075         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
13076         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
13077         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
13078         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
13079         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
13080         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
13081         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
13082         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
13083         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
13084         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
13085         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
13086         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
13087         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
13088         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
13089         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
13090         left-adjust flag.
13091         * tests/test-snprintf-posix.h (test_function): Likewise.
13092         * tests/test-sprintf-posix.h (test_function): Likewise.
13093         * tests/test-vasprintf-posix.c (test_function): Likewise.
13094         * doc/posix-functions/fprintf.texi: Update.
13095         * doc/posix-functions/printf.texi: Update.
13096         * doc/posix-functions/snprintf.texi: Update.
13097         * doc/posix-functions/sprintf.texi: Update.
13098         * doc/posix-functions/vfprintf.texi: Update.
13099         * doc/posix-functions/vprintf.texi: Update.
13100         * doc/posix-functions/vsnprintf.texi: Update.
13101         * doc/posix-functions/vsprintf.texi: Update.
13102         Reported by Peter Fales <psfales@alcatel-lucent.com>.
13103
13104 2008-02-06  Bruno Haible  <bruno@clisp.org>
13105
13106         Fix bug introduced on 2008-01-26.
13107         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
13108
13109 2008-02-06  Bruno Haible  <bruno@clisp.org>
13110
13111         Fix bug introduced on 2007-06-10.
13112         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
13113         !NEED_PRINTF_FLAG_ZERO.
13114
13115 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
13116
13117         getloadavg: use libperfstat on AIX5
13118         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
13119
13120 2008-02-03  Bruno Haible  <bruno@clisp.org>
13121
13122         * lib/diffseq.h: Add comments about required #includes.
13123         Reported by Michael Biggs <gnulib@doubleplum.net>.
13124
13125 2008-02-01  Bruno Haible  <bruno@clisp.org>
13126
13127         * users.txt: Add gnuit.
13128
13129 2008-01-31  Bruno Haible  <bruno@clisp.org>
13130
13131         * lib/md4.c (set_uint32): Mark as inline.
13132         * lib/md5.c (set_uint32): Likewise.
13133         * lib/sha1.c (set_uint32): Likewise.
13134         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
13135         * m4/md5.m4 (gl_MD5): Likewise.
13136         * m4/sha1.m4 (gl_SHA1): Likewise.
13137
13138 2008-01-31  Jim Meyering  <meyering@redhat.com>
13139
13140         Use "sizeof VAR", rather than a literal "4".
13141         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
13142         * lib/md4.c (md4_read_ctx): Likewise.
13143         * lib/sha1.c (sha1_read_ctx): Likewise.
13144
13145 2008-01-31  Simon Josefsson  <simon@josefsson.org>
13146
13147         * tests/test-sha1.c: New file, based on test-md5.c.
13148
13149         * modules/crypto/sha1-tests: New file.
13150
13151 2008-01-31  Simon Josefsson  <simon@josefsson.org>
13152
13153         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
13154
13155 2008-01-31  Jim Meyering  <meyering@redhat.com>
13156
13157         Prefer "sizeof v" over the equivalent "4".
13158         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
13159         * lib/md5.c (set_uint32): Likewise.
13160         * lib/sha1.c (set_uint32): Likewise.
13161
13162 2008-01-31  Simon Josefsson  <simon@josefsson.org>
13163
13164         * lib/sha1.c (set_uint32): Mark function as static.
13165
13166 2008-01-31  Simon Josefsson  <simon@josefsson.org>
13167
13168         md2: clarify comments to say that alignment is not required.
13169         * lib/md2.h: Remove warning about alignment in comment.
13170         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
13171         never been required.
13172
13173 2008-01-31  Simon Josefsson  <simon@josefsson.org>
13174
13175         md4: adapt alignment constraint fix from sha1.
13176         * lib/md4.c (set_uint32): New function, from sha1.c
13177         (md4_read_ctx): Use it.
13178         (md4_finish_ctx): Doc fix.
13179         * lib/md4.h: Doc fix.
13180
13181 2008-01-31  Simon Josefsson  <simon@josefsson.org>
13182
13183         md5: adapt alignment constraint fix from sha1.
13184         * lib/md5.c (set_uint32): New function, from sha1.c
13185         (md5_read_ctx): Use it.
13186         (md5_finish_ctx): Doc fix.
13187         * lib/md5.h: Doc fix.
13188
13189 2008-01-30  Peter Palfrader  <weasel@debian.org>
13190
13191         sha1: remove the result buffer alignment constraint
13192         * lib/sha1.c (set_uint32): New function.
13193         (sha1_read_ctx): Rewrite to remove the result buffer alignment
13194         constraint.
13195         (sha1_finish_ctx): Remove comment warning about alignment constraint.
13196         * lib/sha1.h: Likewise.
13197
13198 2008-01-30  Andreas Schwab  <schwab@suse.de>
13199             Bruno Haible  <bruno@clisp.org>
13200
13201         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
13202         correct definition of LDBL_MIN_EXP.
13203
13204 2008-01-30  Karl Berry  <karl@gnu.org>
13205
13206         * config/srclist-update: try to preserve x bit on updates.
13207         * config/srclistvars.sh: update for karl.
13208
13209 2008-01-29  Jim Meyering  <meyering@redhat.com>
13210
13211         vasnprintf.c: Avoid warning about unused label
13212         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
13213         "overflow" label definition and associated code with the
13214         same cpp condition that guards the sole use of that label.
13215
13216 2008-01-26  Bruno Haible  <bruno@clisp.org>
13217
13218         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
13219         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
13220         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
13221         * lib/isnanl-nolibm.h (isnanl): Likewise.
13222         Reported by Paul Eggert <eggert@cs.ucla.edu>.
13223
13224 2008-01-26  Bruno Haible  <bruno@clisp.org>
13225
13226         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
13227         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
13228
13229 2008-01-26  Bruno Haible  <bruno@clisp.org>
13230
13231         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
13232         GCC >= 4.0 built-in.
13233         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
13234
13235 2008-01-26  Bruno Haible  <bruno@clisp.org>
13236
13237         Rename isnan, applicable to 'double' only, to isnand.
13238         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
13239         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
13240         (configure.ac): Update.
13241         (Include): Replace "isnan.h" with "isnand.h".
13242         * m4/isnand.m4: Renamed from m4/isnan.m4.
13243         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
13244         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
13245         instead of isnan.c.
13246         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
13247         instead of HAVE_ISNAN_IN_LIBC.
13248         (isnand): Renamed from isnan.
13249         * lib/isnand.c: New file.
13250         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
13251         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
13252         (Makefile.am): Update.
13253         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
13254         Include isnand.h instead of isnan.h.
13255         (main): Test isnand instead of isnan.
13256         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
13257         isnan-nolibm.
13258         * modules/frexp (Depends-on): Likewise.
13259         * modules/frexp-tests (Depends-on): Likewise.
13260         * modules/frexp-nolibm (Depends-on): Likewise.
13261         * modules/frexp-nolibm-tests (Depends-on): Likewise.
13262         * modules/isfinite (Depends-on): Likewise.
13263         * modules/round-tests (Depends-on): Likewise.
13264         * modules/signbit (Depends-on): Likewise.
13265         * modules/signbit-tests (Depends-on): Likewise.
13266         * modules/snprintf-posix (Depends-on): Likewise.
13267         * modules/sprintf-posix (Depends-on): Likewise.
13268         * modules/trunc-tests (Depends-on): Likewise.
13269         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
13270         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
13271         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
13272         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
13273         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
13274         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
13275         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
13276         * modules/vasnprintf-posix (Depends-on): Likewise.
13277         * modules/vasprintf-posix (Depends-on): Likewise.
13278         * modules/vfprintf-posix (Depends-on): Likewise.
13279         * modules/vsnprintf-posix (Depends-on): Likewise.
13280         * modules/vsprintf-posix (Depends-on): Likewise.
13281         * lib/frexp.c: Include isnand.h instead of isnan.h.
13282         (ISNAN): Set to isnand instead of isnan.
13283         * lib/isfinite.c: Include isnand.h instead of isnan.h.
13284         (gl_isfinited): Use isnand instead of isnan.
13285         * lib/signbitd.c: Include isnand.h instead of isnan.h.
13286         (gl_signbitd): Use isnand instead of isnan.
13287         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
13288         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
13289         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
13290         (main): Use isnand instead of isnan.
13291         * tests/test-round1.c: Include isnand.h.
13292         (main): Use isnand instead of isnan.
13293         * tests/test-round2.c: Include isnand.h instead of isnan.h.
13294         (ISNAN): Set to isnand instead of isnan.
13295         * tests/test-trunc1.c: Include isnand.h.
13296         (main): Use isnand instead of isnan.
13297         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
13298         (equal): Use isnand instead of isnan.
13299         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
13300         isnand-nolibm.
13301         * NEWS: Mention the change.
13302
13303 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
13304             Bruno Haible  <bruno@clisp.org>
13305
13306         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
13307         the GCC builtins for signbits are present and set
13308         REPLACE_SIGNBIT_USING_GCC if so.
13309         * lib/math.in.h (signbit): Define using GCC builtins if
13310         REPLACE_SIGNBIT_USING_GCC is set.
13311         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
13312         REPLACE_SIGNBIT_USING_GCC.
13313         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
13314
13315 2008-01-25  Jim Meyering  <meyering@redhat.com>
13316
13317         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
13318         * lib/poll.c: Include <config.h>, not "config.h".
13319         * tests/test-getaddrinfo.c: Likewise.
13320
13321 2008-01-25  Simon Josefsson  <simon@josefsson.org>
13322
13323         * modules/sockets-tests: New file.
13324
13325 2008-01-24  Simon Josefsson  <simon@josefsson.org>
13326
13327         * modules/sockets: New module, can be used to call WSA_Startup and
13328         WSA_Cleanup when needed.
13329
13330         * lib/sockets.h, lib/sockets.c: New files.
13331
13332         * m4/sockets.m4: New file.
13333
13334         * tests/test-sockets.c: New file.
13335
13336 2008-01-19  Bruno Haible  <bruno@clisp.org>
13337
13338         * doc/posix-headers: Renamed from doc/headers.
13339         * doc/posix-functions: Renamed from doc/functions.
13340         * doc/gnulib.texi: Update.
13341
13342 2008-01-19  Bruno Haible  <bruno@clisp.org>
13343
13344         * doc/glibc-functions/strcasestr.texi: Include contents of
13345         doc/functions/strcasestr.texi, fixing the list of platforms.
13346         * doc/functions/strcasestr.texi: Remove file.
13347
13348 2008-01-19  Bruno Haible  <bruno@clisp.org>
13349
13350         * doc/glibc-functions/memmem.texi: Include contents of
13351         doc/functions/memmem.texi.
13352         * doc/functions/memmem.texi: Remove file.
13353
13354 2008-01-18  Bruno Haible  <bruno@clisp.org>
13355
13356         * doc/glibc-functions/*.texi: New files.
13357         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
13358         to use the new files.
13359
13360 2008-01-17  Bruno Haible  <bruno@clisp.org>
13361
13362         * tests/test-gethostname.c (main): Fix printf statement.
13363
13364 2008-01-17  Simon Josefsson  <simon@josefsson.org>
13365
13366         * modules/gethostname-tests: New file.
13367
13368         * tests/test-gethostname.c: New file.
13369
13370 2008-01-17  Simon Josefsson  <simon@josefsson.org>
13371
13372         * lib/gethostname.c: Include string.h unconditionally, strncpy is
13373         used by the UNAME case.  Reported by Bruno Haible
13374         <bruno@clisp.org>.
13375
13376 2008-01-17  Eric Blake  <ebb9@byu.net>
13377
13378         Convert c-strcasestr to be more efficient.
13379         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
13380         (Depends-on): Add c-strcase, remove malloca, strnlen.
13381         * tests/test-c-strcasestr.c (main): Enhance test.
13382         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
13383
13384 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
13385
13386         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
13387         Use it in creating po/Makevars.
13388
13389 2008-01-15  Simon Josefsson  <simon@josefsson.org>
13390
13391         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
13392         Applications that requires it should initialize libgcrypt
13393         manually.
13394
13395 2008-01-16  Simon Josefsson  <simon@josefsson.org>
13396
13397         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
13398
13399 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
13400
13401         Fix problem with getdate on mingw32 reported by Simon Josefsson
13402         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
13403         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
13404         tzname", when deciding whether to declare tzname.
13405         * lib/strftime.c (tzname): Likewise.
13406
13407 2008-01-15  Bruno Haible  <bruno@clisp.org>
13408
13409         Work around a MacOS X 10.5 bug in frexpl().
13410         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
13411         * doc/functions/frexpl.texi: Document the bug.
13412         Reported by Elias Pipping <pipping@gentoo.org>.
13413
13414 2008-01-14  Eric Blake  <ebb9@byu.net>
13415
13416         Touch up previous patch.
13417         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
13418         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
13419
13420         Convert strcasestr module to use Two-Way algorithm.
13421         * modules/strcasestr-simple: New module, based on the old
13422         strcasestr, but with Two-Way rather than KMP.
13423         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
13424         * lib/string.in.h (rpl_strcasestr): Declare.
13425         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
13426         performance.
13427         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
13428         * modules/string (Makefile.am): Support strcasestr.
13429         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
13430         * modules/strcasestr-tests (Depends-on): Check for alarm.
13431         * tests/test-strcasestr.c: Augment test.
13432         * lib/str-two-way.h: Clean up stray macro.
13433         * NEWS: Document new module.
13434         * MODULES.html.sh (string handling): Likewise.
13435         * doc/functions/strcasestr.texi: New file.
13436         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
13437         here, since it is not a POSIX function.
13438
13439 2008-01-14  Colin Watson  <cjwatson@debian.org>
13440             Bruno Haible  <bruno@clisp.org>
13441
13442         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
13443         works fine; if not, set REPLACE_STRSIGNAL.
13444         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
13445         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
13446         REPLACE_STRSIGNAL.
13447         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
13448         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
13449         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
13450
13451 2008-01-14  Bruno Haible  <bruno@clisp.org>
13452
13453         * modules/strsignal (Include): Change to <string.h>.
13454
13455 2008-01-14  Colin Watson  <cjwatson@debian.org>
13456
13457         * modules/argp (Notice): Add a notice recommending to change
13458         XGETTEXT_OPTIONS.
13459         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
13460
13461 2008-01-13  Colin Watson  <cjwatson@debian.org>
13462
13463         * modules/strsignal-tests: New file.
13464         * tests/test-strsignal.c: New file.
13465
13466         * lib/strsignal.c: New file, from glibc with modifications.
13467         * lib/siglist.h: New file, from glibc with modifications.
13468         * lib/string.in.h (strsignal): New declaration.
13469         * m4/strsignal.m4: New file.
13470         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
13471         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
13472         * modules/strsignal: New file.
13473         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
13474         HAVE_DECL_STRSIGNAL.
13475
13476 2008-01-13  Bruno Haible  <bruno@clisp.org>
13477
13478         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
13479         locale encoding is not ASCII. Needed for OpenBSD 4.0.
13480         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
13481         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
13482
13483 2008-01-13  Bruno Haible  <bruno@clisp.org>
13484
13485         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
13486         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
13487         * lib/argp.h (__attribute__): Likewise.
13488         * lib/c-stack.c (__attribute__): Likewise.
13489         * lib/error.h (__attribute__): Likewise.
13490         * lib/fts.c (__attribute__): Likewise.
13491         * lib/openat.h (__attribute__): Likewise.
13492         * lib/stdio.in.h (__attribute__): Likewise.
13493         * lib/string.in.h (__attribute__): Likewise.
13494         * lib/utimens.c (__attribute__): Likewise.
13495         * lib/vasnprintf.h (__attribute__): Likewise.
13496         * lib/xalloc.h (__attribute__): Likewise.
13497         * lib/xprintf.h (__attribute__): Likewise.
13498         * lib/xstrtol.h (__attribute__): Likewise.
13499         * lib/xvasprintf.h (__attribute__): Likewise.
13500
13501 2008-01-12  Bruno Haible  <bruno@clisp.org>
13502
13503         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
13504         * doc/glibc-headers/a.out.texi: New file.
13505         * doc/glibc-headers/aliases.texi: New file.
13506         * doc/glibc-headers/alloca.texi: New file.
13507         * doc/glibc-headers/ar.texi: New file.
13508         * doc/glibc-headers/argp.texi: New file.
13509         * doc/glibc-headers/argz.texi: New file.
13510         * doc/glibc-headers/byteswap.texi: New file.
13511         * doc/glibc-headers/crypt.texi: New file.
13512         * doc/glibc-headers/endian.texi: New file.
13513         * doc/glibc-headers/envz.texi: New file.
13514         * doc/glibc-headers/err.texi: New file.
13515         * doc/glibc-headers/error.texi: New file.
13516         * doc/glibc-headers/execinfo.texi: New file.
13517         * doc/glibc-headers/fpu_control.texi: New file.
13518         * doc/glibc-headers/fstab.texi: New file.
13519         * doc/glibc-headers/fts.texi: New file.
13520         * doc/glibc-headers/getopt.texi: New file.
13521         * doc/glibc-headers/ieee754.texi: New file.
13522         * doc/glibc-headers/ifaddrs.texi: New file.
13523         * doc/glibc-headers/libintl.texi: New file.
13524         * doc/glibc-headers/mcheck.texi: New file.
13525         * doc/glibc-headers/mntent.texi: New file.
13526         * doc/glibc-headers/obstack.texi: New file.
13527         * doc/glibc-headers/paths.texi: New file.
13528         * doc/glibc-headers/printf.texi: New file.
13529         * doc/glibc-headers/pty.texi: New file.
13530         * doc/glibc-headers/resolv.texi: New file.
13531         * doc/glibc-headers/shadow.texi: New file.
13532         * doc/glibc-headers/sysexits.texi: New file.
13533         * doc/glibc-headers/ttyent.texi: New file.
13534
13535 2008-01-12  Jim Meyering  <meyering@redhat.com>
13536
13537         announce-gen: emit Gnulib's git-based version string.
13538         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
13539         New option --gnulib-version=V, where V is expected to be
13540         the output of running git describe in the gnulib directory.
13541         (get_tool_versions): Request feedback on xdelta.  I suspect it's
13542         not useful, and plan to stop publishing an xdelta file with each
13543         coreutils release.
13544
13545         * build-aux/announce-gen: Also check for lzma-compressed files.
13546
13547 2008-01-11  Bruno Haible  <bruno@clisp.org>
13548
13549         * tests/test-memmem.c (main): Increase maximum allowed time.
13550         * tests/test-strstr.c (main): Likewise.
13551
13552 2008-01-11  Bruno Haible  <bruno@clisp.org>
13553
13554         * doc/functions/memmem.texi: Add more precisions about platforms.
13555         * doc/functions/strstr.texi: Likewise.
13556
13557 2008-01-10  Eric Blake  <ebb9@byu.net>
13558
13559         * m4/strstr.m4: Delete cruft from copy-n-paste.
13560         Reported by Bruno Haible.
13561
13562 2008-01-10  Bruno Haible  <bruno@clisp.org>
13563
13564         Make c-strstr rely on strstr.
13565         * lib/c-strstr.c: Don't include str-kmp.h.
13566         (c_strstr): Define in terms of strstr.
13567         * modules/c-strstr (Files): Remove lib/str-kmp.h.
13568         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
13569
13570 2008-01-10  Bruno Haible  <bruno@clisp.org>
13571
13572         * doc/gnulib.texi (String Functions in C Locale): New section.
13573         * doc/c-ctype.texi: New file.
13574         * doc/c-strcase.texi: New file.
13575         * doc/c-strcaseeq.texi: New file.
13576         * doc/c-strcasestr.texi: New file.
13577         * doc/c-strstr.texi: New file.
13578         * doc/c-strtod.texi: New file.
13579         * doc/c-strtold.texi: New file.
13580
13581 2008-01-10  Eric Blake  <ebb9@byu.net>
13582
13583         * lib/relocatable.h: Fix a comment.
13584
13585 2008-01-10  Eric Blake  <ebb9@byu.net>
13586
13587         Share two-way algorithm.
13588         * lib/str-two-way.h: New file, merged from...
13589         * lib/memmem.c: ...here...
13590         * lib/strstr.c: ...and here.
13591         * modules/memmem (Files): Use it.
13592         * modules/strstr (Files): Likewise.
13593
13594         Avoid quadratic strstr implementations.
13595         * lib/strstr.c: New file.
13596         * m4/strstr.m4: Likewise.
13597         * modules/strstr: Likewise.
13598         * modules/strstr-tests: Likewise.
13599         * tests/test-strstr.c: Likewise.
13600         * lib/string.in.h (rpl_strstr): Declare.
13601         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
13602         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
13603         * modules/string (Makefile.am): Likewise.
13604         * MODULES.html.sh (string handling): Mention new module.
13605         * doc/functions/strstr.texi (strstr): Document the bug.
13606
13607 2008-01-10  Bruno Haible  <bruno@clisp.org>
13608
13609         * lib/relocatable.h (relocate): State whether result is freshly
13610         allocated or not.
13611         * lib/relocatable.c (relocate): Return a freshly allocated string
13612         instead of a pointer to a privately held string.
13613         Reported by Sylvain Beucler <beuc@gnu.org>.
13614
13615 2008-01-10  Colin Watson  <cjwatson@debian.org>
13616
13617         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
13618         s/S_ISNLK/S_ISLNK/.
13619
13620 2008-01-09  Bruno Haible  <bruno@clisp.org>
13621
13622         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
13623         and other files.
13624         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
13625         if it's only a guess.
13626         * modules/memmem: Simplify by depending on memmem-simple.
13627
13628 2008-01-09  Bruno Haible  <bruno@clisp.org>
13629
13630         Work around OpenBSD 4.0 tdelete() bug.
13631         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
13632         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
13633         macros and don't redefine the enum values.
13634         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
13635         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
13636         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
13637
13638 2008-01-09  Bruno Haible  <bruno@clisp.org>
13639
13640         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
13641         (main): Don't perform the tests if setlocale did not install a UTF-8
13642         locale. Needed on OpenBSD 4.0.
13643         * modules/wcwidth-tests (Depends-on): Add localcharset.
13644
13645 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
13646
13647         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
13648         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
13649         * NEWS: announce this.
13650         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
13651
13652 2008-01-09  Simon Josefsson  <simon@josefsson.org>
13653         and Eric Blake  <ebb9@byu.net>
13654
13655         Add memmem-simple module.
13656         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
13657         (gl_FUNC_MEMMEM): Separate performance from presence checks.
13658         * modules/memmem-simple: New file.
13659         * modules/memmem (Description): Tweak.
13660         * MODULES.html.sh (string handling): Mention new module.
13661         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
13662         addressed by memmem-simple.
13663         * NEWS: Document the difference.
13664
13665 2008-01-09  Eric Blake  <ebb9@byu.net>
13666
13667         Give gcc some memmem optimization hints.
13668         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
13669         (strcasestr): Declare as pure.
13670         * modules/memmem (Maintainer): Claim my implementation.
13671
13672 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13673
13674         Support AIX 6.1 and higher.
13675         * build-aux/config.libpath: Likewise.
13676         * build-aux/config.rpath: Likewise.
13677
13678 2008-01-08  Jim Meyering  <meyering@redhat.com>
13679             Bruno Haible  <bruno@clisp.org>
13680
13681         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
13682         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
13683         Reported by Peter Fales in
13684         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
13685
13686 2008-01-08  Bruno Haible  <bruno@clisp.org>
13687
13688         * modules/unictype/category-of (Depends-on): Add
13689         unictype/category-none.
13690         * modules/unictype/category-and-tests (Depends-on): Add
13691         unictype/category-{L,N,Lu,Nd}.
13692         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
13693         * modules/unictype/category-or-tests (Depends-on): Add
13694         unictype/category-{L,N}.
13695         * modules/unictype/category-name-tests (Depends-on): Add
13696         unictype/category-{Z,Nl}.
13697         Reported by Simon Josefsson.
13698
13699 2008-01-08  Bruno Haible  <bruno@clisp.org>
13700
13701         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
13702         convention better.
13703         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
13704         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
13705         Reported by Peter Miller <millerp@canb.auug.org.au>.
13706
13707 2008-01-08  Eric Blake  <ebb9@byu.net>
13708
13709         Rewrite memmem to guarantee linear complexity without malloc.
13710         * lib/memmem.c (memmem): Use Two-Way rather than
13711         Knuth-Morris-Pratt, to allow O(1) space usage.
13712         (critical_factorization, two_way_short_needle)
13713         (two_way_long_needle): New functions.
13714         (knuth_morris_pratt): Delete.
13715         * modules/memmem (Depends-on): No longer need malloca or stdbool.
13716         Add stdint.
13717         * tests/test-memmem.c (main): Add tests for periodic needle and
13718         sublinear performance.
13719         * doc/functions/memmem.texi (memmem): Document other deficiencies
13720         in cygwin and older glibc.
13721
13722 2008-01-08  Bruno Haible  <bruno@clisp.org>
13723
13724         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
13725         augmentation.
13726
13727 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
13728
13729         Add a configure time option: --disable-acl.
13730         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
13731         AC_ARG_ENABLE(acl).
13732
13733 2008-01-06  Simon Josefsson  <simon@josefsson.org>
13734
13735         * tests/test-localename.c: Don't include obsolete "setenv.h".
13736
13737         * modules/localename-tests (Depends-on): Need unsetenv.
13738
13739 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13740
13741         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
13742
13743 2008-01-06  Colin Watson  <cjwatson@debian.org>
13744
13745         * users.txt: Add man-db.
13746
13747 2008-01-07  Bruno Haible  <bruno@clisp.org>
13748
13749         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
13750         previous section name.
13751
13752 2008-01-07  Bruno Haible  <bruno@clisp.org>
13753
13754         * lib/progname.c (set_program_name): Don't strip off a leading
13755         "lt-" prefix outside a .libs directory.
13756         Suggested by Paul Eggert.
13757
13758 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
13759             Bruno Haible  <bruno@clisp.org>
13760
13761         Improve memory cleanup in 'relocatable' module.
13762         * lib/relocatable.h (compute_curr_prefix): Change return type to
13763         'char *'.
13764         * lib/relocatable.c (compute_curr_prefix): Change return type to
13765         'char *'. Free curr_installdir after use.
13766         (relocate): Free curr_prefix_better after use.
13767         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
13768
13769 2008-01-01  Bruno Haible  <bruno@clisp.org>
13770
13771         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
13772         failure on older glibc systems.
13773         Reported by Peter Fales <psfales@alcatel-lucent.com>.
13774
13775 2008-01-05  Eric Blake  <ebb9@byu.net>
13776
13777         Avoid quadratic system memmem.
13778         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
13779         Reported by Ralf Wildenhues.
13780
13781         Fix memmem test for mingw.
13782         * modules/memmem-tests (configure.ac): Check for alarm.
13783         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
13784         it.
13785         * doc/functions/memmem.texi: New file.
13786         * doc/gnulib.texi (Function Substitutes): Add memmem.
13787         Reported by Bruno Haible.
13788
13789 2008-01-04  Bruno Haible  <bruno@clisp.org>
13790
13791         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
13792         Require gl_HEADER_STRINGS_H_DEFAULTS, not
13793         gl_HEADER_STRING_H_DEFAULTS.
13794
13795 2008-01-04  Eric Blake  <ebb9@byu.net>
13796
13797         Shorten duration of memmem test.
13798         * tests/test-memmem.c (main): Use alarm to declare failure if test
13799         is taking too long.
13800         Reported by Ralf Wildenhues.
13801
13802 2007-12-21  Simon Josefsson  <simon@josefsson.org>
13803
13804         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
13805         string, needed by strerror.
13806
13807 2008-01-03  Colin Watson  <cjwatson@debian.org>
13808             Bruno Haible  <bruno@clisp.org>
13809
13810         * doc/gnulib-tool.texi (Localization): New section.
13811
13812 2008-01-02  Bruno Haible  <bruno@clisp.org>
13813
13814         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
13815         variables to 'unsigned char *' type.
13816         Reported by Paul Eggert.
13817
13818 2008-01-02  Jim Meyering  <jim@meyering.net>
13819
13820         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
13821
13822 2007-12-31  Jim Meyering  <jim@meyering.net>
13823
13824         Avoid use of private FTS type name.
13825         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
13826
13827 2007-12-30  Karl Berry  <karl@gnu.org>
13828
13829         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
13830         work around defect in Texinfo and/or the standalone Info browser.
13831
13832 2007-12-30  Bruno Haible  <bruno@clisp.org>
13833
13834         Unify 5 copies of the KMP code.
13835         * lib/str-kmp.h: New file.
13836         * lib/c-strcasestr.c: Include str-kmp.h.
13837         (knuth_morris_pratt): Remove function.
13838         (c_strcasestr): Update.
13839         * lib/c-strstr.c: Include str-kmp.h.
13840         (knuth_morris_pratt): Remove function.
13841         (c_strcasestr): Update.
13842         * lib/mbscasestr.c: Include str-kmp.h.
13843         (knuth_morris_pratt_unibyte): Remove function.
13844         * lib/mbsstr.c: Include str-kmp.h.
13845         (knuth_morris_pratt_unibyte): Remove function.
13846         * lib/strcasestr.c: Include str-kmp.h.
13847         (knuth_morris_pratt): Remove function.
13848         (strcasestr): Update.
13849         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
13850         * modules/c-strstr (Files): Likewise.
13851         * modules/mbscasestr (Files): Likewise.
13852         * modules/mbsstr (Files): Likewise.
13853         * modules/strcasestr (Files): Likewise.
13854         Suggested by Paul Eggert.
13855
13856 2007-12-30  Bruno Haible  <bruno@clisp.org>
13857
13858         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
13859         defined.
13860
13861 2007-12-30  Bruno Haible  <bruno@clisp.org>
13862
13863         * lib/xmalloca.h: Include xalloc.h.
13864         (xnmalloca): New macro.
13865
13866 2007-12-30  Bruno Haible  <bruno@clisp.org>
13867
13868         * lib/malloca.h (nmalloca): New macro.
13869         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
13870         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
13871         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
13872         knuth_morris_pratt_multibyte): Likewise.
13873         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
13874         knuth_morris_pratt_multibyte): Likewise.
13875         * lib/memmem.c (knuth_morris_pratt): Likewise.
13876         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
13877
13878 2007-12-25  Bruno Haible  <bruno@clisp.org>
13879
13880         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
13881         * lib/glob.c: Don't include openat.h.
13882         (link_exists2_p): Add back the code that deals with the
13883         !GLOB_ALTDIRFUNC case.
13884         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
13885         let it do the filename concatenation.
13886         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
13887         * modules/glob (Depends-on): Remove openat.
13888
13889 2007-12-31  Bruno Haible  <bruno@clisp.org>
13890
13891         * modules/dirfd (License): Change to LGPLv2+.
13892         Approved by Jim Meyering.
13893
13894 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
13895
13896         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
13897         when multiplying M by sizeof (size_t).
13898
13899 2007-12-10  Martin Lambers  <marlam@marlam.de>
13900
13901         Override getpagesize on mingw.
13902         * lib/getpagesize.c: New file.
13903         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
13904         * modules/getpagesize (Files): Add lib/getpagesize.c.
13905         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
13906         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13907         REPLACE_GETPAGESIZE.
13908         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
13909
13910 2007-12-25  Bruno Haible  <bruno@clisp.org>
13911
13912         * modules/localcharset (Notice): New field.
13913         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
13914         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
13915
13916 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
13917             Bruno Haible  <bruno@clisp.org>
13918
13919         Avoid using the syntax symbol() in formatted documentation.
13920         * MODULES.html.sh (func_module): When replacing symbol() with a
13921         hyperlink, remove the parentheses. Show an error if some remain.
13922         Recognize and render the '...' syntax.
13923         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
13924         Rework. Add paragraph about GCC's inlining.
13925         * doc/alloca.texi: Likewise.
13926         * doc/error.texi: Remove parentheses from symbol reference.
13927         * doc/gnulib-intro.texi: Likewise.
13928         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
13929         * modules/fnmatch (Description): Reword to say "the ... function".
13930         * modules/full-read (Description): Likewise.
13931         * modules/full-write (Description): Likewise.
13932         * modules/safe-read (Description): Likewise.
13933         * modules/safe-write (Description): Likewise.
13934         * modules/strchrnul (Description): Likewise.
13935         * modules/trim (Description): Likewise.
13936         * modules/error (Description): Remove parentheses from symbol
13937         references.
13938         * modules/verror (Description): Likewise.
13939         Reported by Karl Berry.
13940
13941 2007-12-25  Bruno Haible  <bruno@clisp.org>
13942
13943         Fixup after 2007-10-16 commit.
13944         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
13945
13946 2007-12-24  Bruno Haible  <bruno@clisp.org>
13947
13948         Make --enable-relocatable work with DESTDIR.
13949         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
13950         to compute installdir from destprog.
13951         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
13952         also set the RELOC_DESTDIR variable.
13953         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
13954
13955 2007-12-24  Bruno Haible  <bruno@clisp.org>
13956
13957         Fix link error due to xalloc_die().
13958         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
13959         of xreadlink.
13960         * lib/relocwrapper.c: Update comments.
13961         * build-aux/install-reloc: Remove xreadlink.c from file list.
13962         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
13963         xreadlink.c.
13964         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
13965
13966 2007-12-24  Bruno Haible  <bruno@clisp.org>
13967
13968         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
13969         * lib/setenv.h: Remove file.
13970         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
13971         lib/setenv.h.
13972         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
13973         (Depends-on): Add stdlib.
13974         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
13975         gl_FUNC_UNSETENV.
13976         (Include): Replace setenv.h with <stdlib.h>.
13977         * modules/unsetenv: New file.
13978         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
13979         * lib/unsetenv.c: Include <stdlib.h> first.
13980         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
13981         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
13982         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
13983         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
13984         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
13985         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
13986         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
13987         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
13988         * doc/functions/unsetenv.texi: Update.
13989         * modules/xsetenv (Depends-on): Add unsetenv.
13990         * modules/getdate (Depends-on): Likewise.
13991         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
13992         * lib/xsetenv.c: Don't include setenv.h.
13993         * lib/getdate.y: Likewise.
13994         * lib/relocwrapper.c: Likewise.
13995         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
13996         (Depends-on): Add stdlib.
13997         * NEWS: Mention the changes.
13998         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
13999
14000 2007-12-23  Bruno Haible  <bruno@clisp.org>
14001
14002         * lib/memmem.c (memmem): Use lowercase variable names. Tab
14003         indentation.
14004
14005 2007-12-23  Bruno Haible  <bruno@clisp.org>
14006
14007         * lib/c-strcasestr.c: Add more comments.
14008         * lib/c-strstr.c: Likewise.
14009         * lib/mbscasestr.c: Likewise.
14010         * lib/mbsstr.c: Likewise.
14011         * lib/strcasestr.c: Likewise.
14012         * lib/memmem.c: Likewise.
14013
14014 2007-12-23  Bruno Haible  <bruno@clisp.org>
14015
14016         * tests/test-memmem.c: Include <string.h> first.
14017
14018 2007-12-22  Bruno Haible  <bruno@clisp.org>
14019
14020         * gnulib-tool (func_create_testdir): Change $auxdir while generating
14021         the contents of $testsbase.
14022         Reported by Ralf Wildenhues.
14023
14024 2007-12-22  Bruno Haible  <bruno@clisp.org>
14025
14026         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
14027         two variables local_ldadd_before, local_ldadd_last.
14028
14029 2007-12-20  Eric Blake  <ebb9@byu.net>
14030
14031         Work around circular library issue when cross-compiling.
14032         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
14033         that progname.o does not need to pull in rpl_memcmp.
14034
14035 2007-12-19  Eric Blake  <ebb9@byu.net>
14036
14037         Fix memmem to avoid O(n^2) worst-case complexity.
14038         * lib/memmem.c (knuth_morris_pratt): New function.
14039         (memmem): Use it if first few naive iterations fail.
14040         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
14041         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
14042         * modules/memchr (License): Likewise.
14043         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
14044         malloca.
14045         * tests/test-memmem.c: Rewrite, borrowing ideas from
14046         test-mbsstr1.c; the old version wouldn't even compile!
14047         * modules/memmem-tests: New file.
14048         * lib/string.in.h (rpl_memmem): Add declaration.
14049         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
14050         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
14051         REPLACE_MEMMEM.
14052
14053 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
14054
14055         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
14056         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
14057         before any system include files, and undef after them all.  This
14058         should fix a problem on VMS reported by John E. Malmberg in
14059         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
14060
14061 2007-12-17  Eric Blake  <ebb9@byu.net>
14062
14063         Revert addition of verify, for BSD/OS.
14064         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
14065         can't handle large files, for the sake of obsolete platforms.
14066         * modules/fseeko (Depends-on): Remove verify.
14067         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
14068         * doc/functions/ftello.texi (ftello): Likewise.
14069         * doc/functions/fgetpos.texi (fgetpos): Likewise.
14070         Reported by Larry Jones.
14071
14072 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
14073
14074         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
14075         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
14076
14077 2007-12-17  Jim Meyering  <meyering@redhat.com>
14078
14079         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
14080         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
14081         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
14082         * modules/getcwd (Depends-on): Add openat.
14083         Reported by Petr Salinger.
14084
14085 2007-12-17  Bruno Haible  <bruno@clisp.org>
14086
14087         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
14088         avoid a segmentation fault of the configure test on x86_64 systems.
14089
14090 2007-12-15  Jim Meyering  <meyering@redhat.com>
14091
14092         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
14093
14094 2007-12-13  Eric Blake  <ebb9@byu.net>
14095
14096         Another fseek test.
14097         * tests/test-fseek.c (main): Also test ungetc handling.
14098         * tests/test-fseeko.c (main): Likewise.
14099         * modules/fseeko (Depends-on): Add verify.
14100         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
14101         large.
14102         Reported by Larry Jones.
14103
14104         Fix fseeko on mingw.
14105         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
14106         seek.
14107
14108         Beef up fseek tests.
14109         * tests/test-fseek.c (main): Also test eof handling.
14110         * tests/test-fseeko.c (main): Likewise.
14111         Reported by Larry Jones.
14112
14113 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
14114
14115         Fix fseeko on BSD-based platforms.
14116         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
14117         successful seek.
14118
14119 2007-12-12  Eric Blake  <ebb9@byu.net>
14120
14121         Allow circular dependency of separate libtests.a
14122         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
14123         when use_libtests.
14124
14125 2007-12-11  Eric Blake  <ebb9@byu.net>
14126
14127         Fix bug with -0.0L in previous patch.
14128         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
14129         * tests/test-isnan.c (main): Also test on zeroes.
14130         * tests/test-isnanf.c (main): Likewise.
14131         * tests/test-isnanl.h (main): Likewise.
14132
14133         Detect pseudo-denormals on x86 even when cross-compiling.
14134         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
14135         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
14136         invalid bit patterns that happen to satisfy ==.
14137
14138         Avoid link failures with separate libtests.a.
14139         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
14140         last, to satisfy circular dependencies.
14141
14142 2007-12-11  Eric Blake  <ebb9@byu.net>
14143         and Bruno Haible  <bruno@clisp.org>
14144
14145         Fix OpenBSD 4.0 <float.h> handling of long double.
14146         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
14147         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
14148         * doc/headers/float.texi (float.h): Document OpenBSD bug.
14149
14150 2007-12-11  Jim Meyering  <meyering@redhat.com>
14151
14152         * users.txt: Add libvirt.
14153
14154         Support versions of autoconf prior to 2.59c.
14155         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
14156         if it is not already defined.
14157
14158 2007-12-09  Bruno Haible  <bruno@clisp.org>
14159
14160         Let 'gnulib-tool --import' collect sources needed for the tests in
14161         tests/ rather than in lib/.
14162         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
14163         argument. If true, add rules to generate libtests.a, and put libtests.a
14164         into $(LDADD). Consider source files in subdirectories and set
14165         uses_subdirs.
14166         (func_emit_initmacro_start, func_emit_initmacro_end,
14167         func_emit_initmacro_done): Pass all arguments explicitly.
14168         (func_import): Determine two module lists main_modules,
14169         testsrelated_modules. Determine use_libtests. Determine two variables
14170         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
14171         instead of just sed_transform_lib_file. Determine two variables
14172         main_files and testsrelated_files. Compute 'files' as the union of
14173         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
14174         func_add_or_update. In the generated gnulib-comp.m4, collect the
14175         object files for tests/ in different variables than those for lib/.
14176         Substitute LIBTESTS_LIBDEPS.
14177         (func_create_testdir): Combine the uses_subdirs results from
14178         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
14179
14180 2007-12-09  Bruno Haible  <bruno@clisp.org>
14181
14182         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
14183         the build-aux directory.
14184
14185 2007-12-09  Bruno Haible  <bruno@clisp.org>
14186
14187         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
14188         introduced on 2006-09-09.
14189
14190 2007-12-07  Jim Meyering  <meyering@redhat.com>
14191
14192         Let these macros work also with autoconf-2.59.
14193         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
14194         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
14195         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
14196
14197 2007-12-06  Jim Meyering  <meyering@redhat.com>
14198
14199         Avoid a configure-time syntax error in gl_FUNC_ACL.
14200         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
14201         function in each branch, before testing the cache variable.
14202
14203 2007-12-04  Eric Blake  <ebb9@byu.net>
14204
14205         Make scripts executable.
14206         * build-aux/config.guess: Add execute permissions.
14207         * build-aux/config.sub: Likewise.
14208         * build-aux/gendocs.sh: Likewise.
14209
14210         Fix frexp on mingw.
14211         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
14212         cross-compiling.
14213         * doc/functions/frexp.texi (frexp): Document the bug.
14214
14215         Make cygwin fseeko check more reliable.
14216         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
14217         version numbers, rather than unrelated feature check.
14218         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
14219         * doc/functions/ftello.texi (ftello): Likewise.
14220         Reported by Bruno Haible.
14221
14222         * m4/strerror.m4: Bump version number.
14223
14224 2007-12-03  Bruno Haible  <bruno@clisp.org>
14225
14226         * doc/functions/mprotect.texi: Mention the mingw problem.
14227
14228 2007-12-03  Eric Blake  <ebb9@byu.net>
14229
14230         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
14231         REPLACE_STRERROR is initialized before this macro.
14232
14233 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
14234
14235         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
14236         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
14237         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
14238         put -lsec in even for programs other than 'ls'.  This fixes a problem
14239         for gettext reported by Bruno Haible in
14240         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
14241         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
14242         Add support for Solaris 10.  This isn't efficient, but should get the
14243         job done for now.
14244
14245 2007-12-03  James Youngman  <jay@gnu.org>
14246
14247         * doc/regexprops-generic.texi: change "an close-group" to "a
14248         close-group" and "illegal" to "not allowed".
14249
14250 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14251
14252         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
14253         pr_byname.h. Needed for the rare case when the maintainer has done
14254         "make maintainer-clean" in the source directory and then attempts a
14255         build outside the source directory.
14256         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
14257         scripts_byname.h.
14258
14259 2007-12-02  Martin Lambers <marlam@marlam.de>
14260             Bruno Haible  <bruno@clisp.org>
14261
14262         * lib/getpagesize.h: Remove file.
14263         * lib/unistd.in.h: Include declaration of getpagesize here.
14264         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
14265         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
14266         HAVE_SYS_PARAM_H.
14267         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
14268         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
14269         * modules/getpagesize (Files): Remove lib/getpagesize.h.
14270         (Depends-on): Add unistd.
14271         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
14272         (Include): Use <unistd.h> instead of getpagesize.h.
14273         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
14274         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
14275         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
14276         gl_GETPAGESIZE invocation, already handled by module dependency.
14277         * lib/pagealign_alloc.c: Don't include getpagesize.h.
14278
14279 2007-12-02  Bruno Haible  <bruno@clisp.org>
14280
14281         * modules/strings-tests: New file.
14282         * tests/test-strings.c: New file.
14283
14284         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
14285         * lib/strings.in.h: New file.
14286         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
14287         * m4/strings_h.m4: New file.
14288         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
14289         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
14290         * modules/strings: New file.
14291         * modules/string (Makefile.am): Update.
14292         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
14293         Reported by Karl Berry.
14294
14295 2007-12-01  Eric Blake  <ebb9@byu.net>
14296
14297         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
14298         accomodate fix in cygwin 1.5.25.
14299
14300 2007-12-01  Jim Meyering  <meyering@redhat.com>
14301
14302         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
14303         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
14304         that would inhibit utf8-optimization of a regexp containing line-
14305         or buffer-anchors, e.g., `^', `$'.
14306
14307 2007-11-30  Bruno Haible  <bruno@clisp.org>
14308
14309         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
14310         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
14311         glthread_recursive_lock_init.
14312         * lib/lock.c (glthread_recursive_lock_init)
14313         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
14314         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
14315
14316 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
14317
14318         New function qset_acl, like set_acl but with syscall semantics.
14319         * lib/acl.h (qset_acl): New decl.
14320         * lib/acl.c (qset_acl): New function.
14321         (set_acl): Use new function.  Use more-consistent diagnostics.
14322
14323 2007-11-28  Jim Meyering  <meyering@redhat.com>
14324
14325         * modules/physmem (License): Change from GPL to LGPLv2+.
14326
14327 2007-11-26  Bruno Haible  <bruno@clisp.org>
14328
14329         * lib/vasnprintf.c (decode_long_double): Don't abort if the
14330         'long double' type has excess precision.
14331         Reported by Jim Meyering in
14332         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
14333
14334 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14335
14336         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
14337         Sync from <http://gnu.org/licenses>.
14338         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
14339         with license text from same location.
14340         * doc/maintain.texi, doc/standards.texi:  Sync from
14341         <http://savannah.gnu.org/projects/gnustandards>.
14342
14343 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
14344         and Jim Meyering  <meyering@redhat.com>
14345
14346         Adjust getdate' grammar to accept a slightly more regular language.
14347         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
14348         Before, the former was rejected.
14349         * lib/getdate.y (digits_to_date_time): New function, factored
14350         out of ...
14351         (number): ...here.  Just call digits_to_date_time.
14352         (hybrid): New non-terminal to handle an <unsigned number,
14353         signed relative offset> sequence consistently.
14354
14355 2007-11-18  Jim Meyering  <meyering@redhat.com>
14356
14357         Pull my changes from coreutils:
14358         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
14359         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
14360         use of $gnulib_tool_option_extras, so that it's separated from the
14361         preceding argument.
14362
14363         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
14364         * build-aux/bootstrap (cp_mark_as_generated): Create any required
14365         parent destination directories before copying a file into place.
14366
14367 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
14368
14369         bootstrap: work also with 4-argument variant of AC_INIT
14370         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
14371
14372 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
14373
14374         Port test-getaddrinfo to Solaris.
14375         Problem reported by Bruno Haible in
14376         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
14377         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
14378         explanation of setting 'hints'.
14379         Don't reject an implementation merely because it returns EAI_SERVICE.
14380         (EAI_SERVICE): Define to 0 if not defined.
14381
14382 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
14383
14384         The license of gnu-make and posix-shell is now "GPLed build tool".
14385         * modules/gnu-make (License): Likewise.
14386         * modules/posix-shell (License): Likewise.
14387
14388         New module posix-shell, for determining a POSIX shell
14389         or perhaps something that is close enough to a POSIX shell.
14390         * m4/posix-shell.m4: New file.
14391         * modules/posix-shell: New file.
14392
14393         * MODULES.html.sh: Mention new module.
14394
14395         New module gnu-make, for determining whether we're using GNU Make.
14396         * m4/gnu-make.m4: New file.
14397         * modules/gnu-make: New file.
14398         * MODULES.html.sh: Mention new module.
14399
14400 2007-11-14  Jim Meyering  <meyering@redhat.com>
14401
14402         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
14403         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
14404         use this macro to create a function _definition_.
14405         Remove useless "#undef ARGMATCH_DIE".
14406
14407 2007-11-14  Bruno Haible  <bruno@clisp.org>
14408
14409         * lib/config.charset: Update for OpenBSD 4.1.
14410         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
14411
14412 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
14413
14414         Document 64-bit #if problems in stdint.texi.
14415         * doc/headers/stdint.texi (stdint.h): Mention problems with
14416         64-bit-#if, and how to work around them.
14417
14418         Don't insist on 'long long int' support in the preprocessor.  It
14419         breaks too many things.  For example, PRIdMAX still uses a 'long
14420         long int' format with the latest Sun compiler, even though
14421         HAVE_LONG_LONG_INT isn't defined due to that compiler's
14422         preprocessor problem.  This causes the latest coreutils to dump
14423         core on Solaris 10 sparc with the Sun C compiler.
14424         Instead, fix the 2007-10-16 problem in a different way, by evaluating
14425         the troublesome expressions at configure-time, not at #if-time.
14426         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
14427         preprocessor.
14428         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
14429         compile-time C checks, done at 'configure'-time.
14430         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
14431         * modules/inttypes (Makefile): Substitute the new symbols that
14432         gl_INTTYPES_H now generates.
14433         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
14434
14435 2007-11-12  Bruno Haible  <bruno@clisp.org>
14436
14437         Tests for Unicode character classification functions.
14438
14439         * modules/unictype/bidicategory-byname-tests: New file.
14440         * modules/unictype/bidicategory-name-tests: New file.
14441         * modules/unictype/bidicategory-of-tests: New file.
14442         * modules/unictype/bidicategory-test-tests: New file.
14443         * modules/unictype/block-list-tests: New file.
14444         * modules/unictype/block-of-tests: New file.
14445         * modules/unictype/block-test-tests: New file.
14446         * modules/unictype/category-C-tests: New file.
14447         * modules/unictype/category-Cc-tests: New file.
14448         * modules/unictype/category-Cf-tests: New file.
14449         * modules/unictype/category-Cn-tests: New file.
14450         * modules/unictype/category-Co-tests: New file.
14451         * modules/unictype/category-Cs-tests: New file.
14452         * modules/unictype/category-L-tests: New file.
14453         * modules/unictype/category-Ll-tests: New file.
14454         * modules/unictype/category-Lm-tests: New file.
14455         * modules/unictype/category-Lo-tests: New file.
14456         * modules/unictype/category-Lt-tests: New file.
14457         * modules/unictype/category-Lu-tests: New file.
14458         * modules/unictype/category-M-tests: New file.
14459         * modules/unictype/category-Mc-tests: New file.
14460         * modules/unictype/category-Me-tests: New file.
14461         * modules/unictype/category-Mn-tests: New file.
14462         * modules/unictype/category-N-tests: New file.
14463         * modules/unictype/category-Nd-tests: New file.
14464         * modules/unictype/category-Nl-tests: New file.
14465         * modules/unictype/category-No-tests: New file.
14466         * modules/unictype/category-P-tests: New file.
14467         * modules/unictype/category-Pc-tests: New file.
14468         * modules/unictype/category-Pd-tests: New file.
14469         * modules/unictype/category-Pe-tests: New file.
14470         * modules/unictype/category-Pf-tests: New file.
14471         * modules/unictype/category-Pi-tests: New file.
14472         * modules/unictype/category-Po-tests: New file.
14473         * modules/unictype/category-Ps-tests: New file.
14474         * modules/unictype/category-S-tests: New file.
14475         * modules/unictype/category-Sc-tests: New file.
14476         * modules/unictype/category-Sk-tests: New file.
14477         * modules/unictype/category-Sm-tests: New file.
14478         * modules/unictype/category-So-tests: New file.
14479         * modules/unictype/category-Z-tests: New file.
14480         * modules/unictype/category-Zl-tests: New file.
14481         * modules/unictype/category-Zp-tests: New file.
14482         * modules/unictype/category-Zs-tests: New file.
14483         * modules/unictype/category-and-not-tests: New file.
14484         * modules/unictype/category-and-tests: New file.
14485         * modules/unictype/category-byname-tests: New file.
14486         * modules/unictype/category-name-tests: New file.
14487         * modules/unictype/category-none-tests: New file.
14488         * modules/unictype/category-of-tests: New file.
14489         * modules/unictype/category-or-tests: New file.
14490         * modules/unictype/category-test-withtable-tests: New file.
14491         * modules/unictype/combining-class-tests: New file.
14492         * modules/unictype/ctype-alnum-tests: New file.
14493         * modules/unictype/ctype-alpha-tests: New file.
14494         * modules/unictype/ctype-blank-tests: New file.
14495         * modules/unictype/ctype-cntrl-tests: New file.
14496         * modules/unictype/ctype-digit-tests: New file.
14497         * modules/unictype/ctype-graph-tests: New file.
14498         * modules/unictype/ctype-lower-tests: New file.
14499         * modules/unictype/ctype-print-tests: New file.
14500         * modules/unictype/ctype-punct-tests: New file.
14501         * modules/unictype/ctype-space-tests: New file.
14502         * modules/unictype/ctype-upper-tests: New file.
14503         * modules/unictype/ctype-xdigit-tests: New file.
14504         * modules/unictype/decimal-digit-tests: New file.
14505         * modules/unictype/digit-tests: New file.
14506         * modules/unictype/mirror-tests: New file.
14507         * modules/unictype/numeric-tests: New file.
14508         * modules/unictype/property-alphabetic-tests: New file.
14509         * modules/unictype/property-ascii-hex-digit-tests: New file.
14510         * modules/unictype/property-bidi-arabic-digit-tests: New file.
14511         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
14512         * modules/unictype/property-bidi-block-separator-tests: New file.
14513         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
14514         * modules/unictype/property-bidi-common-separator-tests: New file.
14515         * modules/unictype/property-bidi-control-tests: New file.
14516         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
14517         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
14518         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
14519         * modules/unictype/property-bidi-european-digit-tests: New file.
14520         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
14521         * modules/unictype/property-bidi-left-to-right-tests: New file.
14522         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
14523         * modules/unictype/property-bidi-other-neutral-tests: New file.
14524         * modules/unictype/property-bidi-pdf-tests: New file.
14525         * modules/unictype/property-bidi-segment-separator-tests: New file.
14526         * modules/unictype/property-bidi-whitespace-tests: New file.
14527         * modules/unictype/property-byname-tests: New file.
14528         * modules/unictype/property-combining-tests: New file.
14529         * modules/unictype/property-composite-tests: New file.
14530         * modules/unictype/property-currency-symbol-tests: New file.
14531         * modules/unictype/property-dash-tests: New file.
14532         * modules/unictype/property-decimal-digit-tests: New file.
14533         * modules/unictype/property-default-ignorable-code-point-tests: New file.
14534         * modules/unictype/property-deprecated-tests: New file.
14535         * modules/unictype/property-diacritic-tests: New file.
14536         * modules/unictype/property-extender-tests: New file.
14537         * modules/unictype/property-format-control-tests: New file.
14538         * modules/unictype/property-grapheme-base-tests: New file.
14539         * modules/unictype/property-grapheme-extend-tests: New file.
14540         * modules/unictype/property-grapheme-link-tests: New file.
14541         * modules/unictype/property-hex-digit-tests: New file.
14542         * modules/unictype/property-hyphen-tests: New file.
14543         * modules/unictype/property-id-continue-tests: New file.
14544         * modules/unictype/property-id-start-tests: New file.
14545         * modules/unictype/property-ideographic-tests: New file.
14546         * modules/unictype/property-ids-binary-operator-tests: New file.
14547         * modules/unictype/property-ids-trinary-operator-tests: New file.
14548         * modules/unictype/property-ignorable-control-tests: New file.
14549         * modules/unictype/property-iso-control-tests: New file.
14550         * modules/unictype/property-join-control-tests: New file.
14551         * modules/unictype/property-left-of-pair-tests: New file.
14552         * modules/unictype/property-line-separator-tests: New file.
14553         * modules/unictype/property-logical-order-exception-tests: New file.
14554         * modules/unictype/property-lowercase-tests: New file.
14555         * modules/unictype/property-math-tests: New file.
14556         * modules/unictype/property-non-break-tests: New file.
14557         * modules/unictype/property-not-a-character-tests: New file.
14558         * modules/unictype/property-numeric-tests: New file.
14559         * modules/unictype/property-other-alphabetic-tests: New file.
14560         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
14561         * modules/unictype/property-other-grapheme-extend-tests: New file.
14562         * modules/unictype/property-other-id-continue-tests: New file.
14563         * modules/unictype/property-other-id-start-tests: New file.
14564         * modules/unictype/property-other-lowercase-tests: New file.
14565         * modules/unictype/property-other-math-tests: New file.
14566         * modules/unictype/property-other-uppercase-tests: New file.
14567         * modules/unictype/property-paired-punctuation-tests: New file.
14568         * modules/unictype/property-paragraph-separator-tests: New file.
14569         * modules/unictype/property-pattern-syntax-tests: New file.
14570         * modules/unictype/property-pattern-white-space-tests: New file.
14571         * modules/unictype/property-private-use-tests: New file.
14572         * modules/unictype/property-punctuation-tests: New file.
14573         * modules/unictype/property-quotation-mark-tests: New file.
14574         * modules/unictype/property-radical-tests: New file.
14575         * modules/unictype/property-sentence-terminal-tests: New file.
14576         * modules/unictype/property-soft-dotted-tests: New file.
14577         * modules/unictype/property-space-tests: New file.
14578         * modules/unictype/property-terminal-punctuation-tests: New file.
14579         * modules/unictype/property-test-tests: New file.
14580         * modules/unictype/property-titlecase-tests: New file.
14581         * modules/unictype/property-unassigned-code-value-tests: New file.
14582         * modules/unictype/property-unified-ideograph-tests: New file.
14583         * modules/unictype/property-uppercase-tests: New file.
14584         * modules/unictype/property-variation-selector-tests: New file.
14585         * modules/unictype/property-white-space-tests: New file.
14586         * modules/unictype/property-xid-continue-tests: New file.
14587         * modules/unictype/property-xid-start-tests: New file.
14588         * modules/unictype/property-zero-width-tests: New file.
14589         * modules/unictype/scripts-tests: New file.
14590         * modules/unictype/syntax-c-ident-tests: New file.
14591         * modules/unictype/syntax-c-whitespace-tests: New file.
14592         * modules/unictype/syntax-java-ident-tests: New file.
14593         * modules/unictype/syntax-java-whitespace-tests: New file.
14594         * tests/unictype/test-bidi_byname.c: New file.
14595         * tests/unictype/test-bidi_name.c: New file.
14596         * tests/unictype/test-bidi_of.c: New file.
14597         * tests/unictype/test-bidi_test.c: New file.
14598         * tests/unictype/test-block_list.c: New file.
14599         * tests/unictype/test-block_of.c: New file.
14600         * tests/unictype/test-block_test.c: New file.
14601         * tests/unictype/test-categ_and.c: New file.
14602         * tests/unictype/test-categ_and_not.c: New file.
14603         * tests/unictype/test-categ_byname.c: New file.
14604         * tests/unictype/test-categ_name.c: New file.
14605         * tests/unictype/test-categ_none.c: New file.
14606         * tests/unictype/test-categ_of.c: New file.
14607         * tests/unictype/test-categ_or.c: New file.
14608         * tests/unictype/test-categ_test_withtable.c: New file.
14609         * tests/unictype/test-combining.c: New file.
14610         * tests/unictype/test-decdigit.c: New file.
14611         * tests/unictype/test-digit.c: New file.
14612         * tests/unictype/test-mirror.c: New file.
14613         * tests/unictype/test-numeric.c: New file.
14614         * tests/unictype/test-pr_byname.c: New file.
14615         * tests/unictype/test-pr_test.c: New file.
14616         * tests/unictype/test-predicate-part1.h: New file.
14617         * tests/unictype/test-predicate-part2.h: New file.
14618         * tests/unictype/test-scripts.c: New file.
14619         * tests/unictype/test-sy_c_ident.c: New file.
14620         * tests/unictype/test-sy_java_ident.c: New file.
14621
14622         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
14623         for Unicode 5.0.0.
14624         * tests/unictype/test-categ_Cc.c: Likewise.
14625         * tests/unictype/test-categ_Cf.c: Likewise.
14626         * tests/unictype/test-categ_Cn.c: Likewise.
14627         * tests/unictype/test-categ_Co.c: Likewise.
14628         * tests/unictype/test-categ_Cs.c: Likewise.
14629         * tests/unictype/test-categ_L.c: Likewise.
14630         * tests/unictype/test-categ_Ll.c: Likewise.
14631         * tests/unictype/test-categ_Lm.c: Likewise.
14632         * tests/unictype/test-categ_Lo.c: Likewise.
14633         * tests/unictype/test-categ_Lt.c: Likewise.
14634         * tests/unictype/test-categ_Lu.c: Likewise.
14635         * tests/unictype/test-categ_M.c: Likewise.
14636         * tests/unictype/test-categ_Mc.c: Likewise.
14637         * tests/unictype/test-categ_Me.c: Likewise.
14638         * tests/unictype/test-categ_Mn.c: Likewise.
14639         * tests/unictype/test-categ_N.c: Likewise.
14640         * tests/unictype/test-categ_Nd.c: Likewise.
14641         * tests/unictype/test-categ_Nl.c: Likewise.
14642         * tests/unictype/test-categ_No.c: Likewise.
14643         * tests/unictype/test-categ_P.c: Likewise.
14644         * tests/unictype/test-categ_Pc.c: Likewise.
14645         * tests/unictype/test-categ_Pd.c: Likewise.
14646         * tests/unictype/test-categ_Pe.c: Likewise.
14647         * tests/unictype/test-categ_Pf.c: Likewise.
14648         * tests/unictype/test-categ_Pi.c: Likewise.
14649         * tests/unictype/test-categ_Po.c: Likewise.
14650         * tests/unictype/test-categ_Ps.c: Likewise.
14651         * tests/unictype/test-categ_S.c: Likewise.
14652         * tests/unictype/test-categ_Sc.c: Likewise.
14653         * tests/unictype/test-categ_Sk.c: Likewise.
14654         * tests/unictype/test-categ_Sm.c: Likewise.
14655         * tests/unictype/test-categ_So.c: Likewise.
14656         * tests/unictype/test-categ_Z.c: Likewise.
14657         * tests/unictype/test-categ_Zl.c: Likewise.
14658         * tests/unictype/test-categ_Zp.c: Likewise.
14659         * tests/unictype/test-categ_Zs.c: Likewise.
14660         * tests/unictype/test-ctype_alnum.c: Likewise.
14661         * tests/unictype/test-ctype_alpha.c: Likewise.
14662         * tests/unictype/test-ctype_blank.c: Likewise.
14663         * tests/unictype/test-ctype_cntrl.c: Likewise.
14664         * tests/unictype/test-ctype_digit.c: Likewise.
14665         * tests/unictype/test-ctype_graph.c: Likewise.
14666         * tests/unictype/test-ctype_lower.c: Likewise.
14667         * tests/unictype/test-ctype_print.c: Likewise.
14668         * tests/unictype/test-ctype_punct.c: Likewise.
14669         * tests/unictype/test-ctype_space.c: Likewise.
14670         * tests/unictype/test-ctype_upper.c: Likewise.
14671         * tests/unictype/test-ctype_xdigit.c: Likewise.
14672         * tests/unictype/test-decdigit.h: Likewise.
14673         * tests/unictype/test-digit.h: Likewise.
14674         * tests/unictype/test-numeric.h: Likewise.
14675         * tests/unictype/test-pr_alphabetic.c: Likewise.
14676         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
14677         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
14678         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
14679         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
14680         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
14681         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
14682         * tests/unictype/test-pr_bidi_control.c: Likewise.
14683         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
14684         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
14685         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
14686         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
14687         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
14688         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
14689         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
14690         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
14691         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
14692         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
14693         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
14694         * tests/unictype/test-pr_combining.c: Likewise.
14695         * tests/unictype/test-pr_composite.c: Likewise.
14696         * tests/unictype/test-pr_currency_symbol.c: Likewise.
14697         * tests/unictype/test-pr_dash.c: Likewise.
14698         * tests/unictype/test-pr_decimal_digit.c: Likewise.
14699         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
14700         * tests/unictype/test-pr_deprecated.c: Likewise.
14701         * tests/unictype/test-pr_diacritic.c: Likewise.
14702         * tests/unictype/test-pr_extender.c: Likewise.
14703         * tests/unictype/test-pr_format_control.c: Likewise.
14704         * tests/unictype/test-pr_grapheme_base.c: Likewise.
14705         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
14706         * tests/unictype/test-pr_grapheme_link.c: Likewise.
14707         * tests/unictype/test-pr_hex_digit.c: Likewise.
14708         * tests/unictype/test-pr_hyphen.c: Likewise.
14709         * tests/unictype/test-pr_id_continue.c: Likewise.
14710         * tests/unictype/test-pr_id_start.c: Likewise.
14711         * tests/unictype/test-pr_ideographic.c: Likewise.
14712         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
14713         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
14714         * tests/unictype/test-pr_ignorable_control.c: Likewise.
14715         * tests/unictype/test-pr_iso_control.c: Likewise.
14716         * tests/unictype/test-pr_join_control.c: Likewise.
14717         * tests/unictype/test-pr_left_of_pair.c: Likewise.
14718         * tests/unictype/test-pr_line_separator.c: Likewise.
14719         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
14720         * tests/unictype/test-pr_lowercase.c: Likewise.
14721         * tests/unictype/test-pr_math.c: Likewise.
14722         * tests/unictype/test-pr_non_break.c: Likewise.
14723         * tests/unictype/test-pr_not_a_character.c: Likewise.
14724         * tests/unictype/test-pr_numeric.c: Likewise.
14725         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
14726         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
14727         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
14728         * tests/unictype/test-pr_other_id_continue.c: Likewise.
14729         * tests/unictype/test-pr_other_id_start.c: Likewise.
14730         * tests/unictype/test-pr_other_lowercase.c: Likewise.
14731         * tests/unictype/test-pr_other_math.c: Likewise.
14732         * tests/unictype/test-pr_other_uppercase.c: Likewise.
14733         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
14734         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
14735         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
14736         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
14737         * tests/unictype/test-pr_private_use.c: Likewise.
14738         * tests/unictype/test-pr_punctuation.c: Likewise.
14739         * tests/unictype/test-pr_quotation_mark.c: Likewise.
14740         * tests/unictype/test-pr_radical.c: Likewise.
14741         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
14742         * tests/unictype/test-pr_soft_dotted.c: Likewise.
14743         * tests/unictype/test-pr_space.c: Likewise.
14744         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
14745         * tests/unictype/test-pr_titlecase.c: Likewise.
14746         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
14747         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
14748         * tests/unictype/test-pr_uppercase.c: Likewise.
14749         * tests/unictype/test-pr_variation_selector.c: Likewise.
14750         * tests/unictype/test-pr_white_space.c: Likewise.
14751         * tests/unictype/test-pr_xid_continue.c: Likewise.
14752         * tests/unictype/test-pr_xid_start.c: Likewise.
14753         * tests/unictype/test-pr_zero_width.c: Likewise.
14754         * tests/unictype/test-sy_c_whitespace.c: Likewise.
14755         * tests/unictype/test-sy_java_whitespace.c: Likewise.
14756
14757 2007-11-12  Bruno Haible  <bruno@clisp.org>
14758
14759         Unicode character classification functions.
14760         * lib/unictype.h: New file.
14761         * modules/unictype/base: New file.
14762         * modules/unictype/category-L: New file.
14763         * modules/unictype/category-Lu: New file.
14764         * modules/unictype/category-Ll: New file.
14765         * modules/unictype/category-Lt: New file.
14766         * modules/unictype/category-Lm: New file.
14767         * modules/unictype/category-Lo: New file.
14768         * modules/unictype/category-M: New file.
14769         * modules/unictype/category-Mn: New file.
14770         * modules/unictype/category-Mc: New file.
14771         * modules/unictype/category-Me: New file.
14772         * modules/unictype/category-N: New file.
14773         * modules/unictype/category-Nd: New file.
14774         * modules/unictype/category-Nl: New file.
14775         * modules/unictype/category-No: New file.
14776         * modules/unictype/category-P: New file.
14777         * modules/unictype/category-Pc: New file.
14778         * modules/unictype/category-Pd: New file.
14779         * modules/unictype/category-Ps: New file.
14780         * modules/unictype/category-Pe: New file.
14781         * modules/unictype/category-Pi: New file.
14782         * modules/unictype/category-Pf: New file.
14783         * modules/unictype/category-Po: New file.
14784         * modules/unictype/category-S: New file.
14785         * modules/unictype/category-Sm: New file.
14786         * modules/unictype/category-Sc: New file.
14787         * modules/unictype/category-Sk: New file.
14788         * modules/unictype/category-So: New file.
14789         * modules/unictype/category-Z: New file.
14790         * modules/unictype/category-Zs: New file.
14791         * modules/unictype/category-Zl: New file.
14792         * modules/unictype/category-Zp: New file.
14793         * modules/unictype/category-C: New file.
14794         * modules/unictype/category-Cc: New file.
14795         * modules/unictype/category-Cf: New file.
14796         * modules/unictype/category-Cs: New file.
14797         * modules/unictype/category-Co: New file.
14798         * modules/unictype/category-Cn: New file.
14799         * modules/unictype/category-or: New file.
14800         * modules/unictype/category-of: New file.
14801         * modules/unictype/category-test: New file.
14802         * modules/unictype/category-test-withtable: New file.
14803         * modules/unictype/category-byname: New file.
14804         * modules/unictype/category-none: New file.
14805         * modules/unictype/category-and: New file.
14806         * modules/unictype/category-and-not: New file.
14807         * modules/unictype/category-name: New file.
14808         * modules/unictype/combining-class: New file.
14809         * modules/unictype/category-all: New file.
14810         * modules/unictype/bidicategory-all: New file.
14811         * modules/unictype/bidicategory-byname: New file.
14812         * modules/unictype/bidicategory-name: New file.
14813         * modules/unictype/bidicategory-of: New file.
14814         * modules/unictype/bidicategory-test: New file.
14815         * modules/unictype/decimal-digit: New file.
14816         * modules/unictype/digit: New file.
14817         * modules/unictype/numeric: New file.
14818         * modules/unictype/mirror: New file.
14819         * modules/unictype/property-white-space: New file.
14820         * modules/unictype/property-alphabetic: New file.
14821         * modules/unictype/property-other-alphabetic: New file.
14822         * modules/unictype/property-not-a-character: New file.
14823         * modules/unictype/property-default-ignorable-code-point: New file.
14824         * modules/unictype/property-other-default-ignorable-code-point: New
14825         file.
14826         * modules/unictype/property-deprecated: New file.
14827         * modules/unictype/property-logical-order-exception: New file.
14828         * modules/unictype/property-variation-selector: New file.
14829         * modules/unictype/property-private-use: New file.
14830         * modules/unictype/property-unassigned-code-value: New file.
14831         * modules/unictype/property-uppercase: New file.
14832         * modules/unictype/property-other-uppercase: New file.
14833         * modules/unictype/property-lowercase: New file.
14834         * modules/unictype/property-other-lowercase: New file.
14835         * modules/unictype/property-titlecase: New file.
14836         * modules/unictype/property-soft-dotted: New file.
14837         * modules/unictype/property-id-start: New file.
14838         * modules/unictype/property-other-id-start: New file.
14839         * modules/unictype/property-id-continue: New file.
14840         * modules/unictype/property-other-id-continue: New file.
14841         * modules/unictype/property-xid-start: New file.
14842         * modules/unictype/property-xid-continue: New file.
14843         * modules/unictype/property-pattern-white-space: New file.
14844         * modules/unictype/property-pattern-syntax: New file.
14845         * modules/unictype/property-join-control: New file.
14846         * modules/unictype/property-grapheme-base: New file.
14847         * modules/unictype/property-grapheme-extend: New file.
14848         * modules/unictype/property-other-grapheme-extend: New file.
14849         * modules/unictype/property-grapheme-link: New file.
14850         * modules/unictype/property-bidi-control: New file.
14851         * modules/unictype/property-bidi-left-to-right: New file.
14852         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
14853         * modules/unictype/property-bidi-arabic-right-to-left: New file.
14854         * modules/unictype/property-bidi-european-digit: New file.
14855         * modules/unictype/property-bidi-eur-num-separator: New file.
14856         * modules/unictype/property-bidi-eur-num-terminator: New file.
14857         * modules/unictype/property-bidi-arabic-digit: New file.
14858         * modules/unictype/property-bidi-common-separator: New file.
14859         * modules/unictype/property-bidi-block-separator: New file.
14860         * modules/unictype/property-bidi-segment-separator: New file.
14861         * modules/unictype/property-bidi-whitespace: New file.
14862         * modules/unictype/property-bidi-non-spacing-mark: New file.
14863         * modules/unictype/property-bidi-boundary-neutral: New file.
14864         * modules/unictype/property-bidi-pdf: New file.
14865         * modules/unictype/property-bidi-embedding-or-override: New file.
14866         * modules/unictype/property-bidi-other-neutral: New file.
14867         * modules/unictype/property-hex-digit: New file.
14868         * modules/unictype/property-ascii-hex-digit: New file.
14869         * modules/unictype/property-ideographic: New file.
14870         * modules/unictype/property-unified-ideograph: New file.
14871         * modules/unictype/property-radical: New file.
14872         * modules/unictype/property-ids-binary-operator: New file.
14873         * modules/unictype/property-ids-trinary-operator: New file.
14874         * modules/unictype/property-zero-width: New file.
14875         * modules/unictype/property-space: New file.
14876         * modules/unictype/property-non-break: New file.
14877         * modules/unictype/property-iso-control: New file.
14878         * modules/unictype/property-format-control: New file.
14879         * modules/unictype/property-dash: New file.
14880         * modules/unictype/property-hyphen: New file.
14881         * modules/unictype/property-punctuation: New file.
14882         * modules/unictype/property-line-separator: New file.
14883         * modules/unictype/property-paragraph-separator: New file.
14884         * modules/unictype/property-quotation-mark: New file.
14885         * modules/unictype/property-sentence-terminal: New file.
14886         * modules/unictype/property-terminal-punctuation: New file.
14887         * modules/unictype/property-currency-symbol: New file.
14888         * modules/unictype/property-math: New file.
14889         * modules/unictype/property-other-math: New file.
14890         * modules/unictype/property-paired-punctuation: New file.
14891         * modules/unictype/property-left-of-pair: New file.
14892         * modules/unictype/property-combining: New file.
14893         * modules/unictype/property-composite: New file.
14894         * modules/unictype/property-decimal-digit: New file.
14895         * modules/unictype/property-numeric: New file.
14896         * modules/unictype/property-diacritic: New file.
14897         * modules/unictype/property-extender: New file.
14898         * modules/unictype/property-ignorable-control: New file.
14899         * modules/unictype/property-test: New file.
14900         * modules/unictype/property-byname: New file.
14901         * modules/unictype/property-all: New file.
14902         * modules/unictype/scripts: New file.
14903         * modules/unictype/scripts-all: New file.
14904         * modules/unictype/block-of: New file.
14905         * modules/unictype/block-test: New file.
14906         * modules/unictype/block-list: New file.
14907         * modules/unictype/block-all: New file.
14908         * modules/unictype/syntax-c-whitespace: New file.
14909         * modules/unictype/syntax-java-whitespace: New file.
14910         * modules/unictype/syntax-c-ident: New file.
14911         * modules/unictype/syntax-java-ident: New file.
14912         * modules/unictype/ctype-alnum: New file.
14913         * modules/unictype/ctype-alpha: New file.
14914         * modules/unictype/ctype-cntrl: New file.
14915         * modules/unictype/ctype-digit: New file.
14916         * modules/unictype/ctype-graph: New file.
14917         * modules/unictype/ctype-lower: New file.
14918         * modules/unictype/ctype-print: New file.
14919         * modules/unictype/ctype-punct: New file.
14920         * modules/unictype/ctype-space: New file.
14921         * modules/unictype/ctype-upper: New file.
14922         * modules/unictype/ctype-xdigit: New file.
14923         * modules/unictype/ctype-blank: New file.
14924         * lib/unictype/bidi_byname.c: New file.
14925         * lib/unictype/bidi_name.c: New file.
14926         * lib/unictype/bidi_of.c: New file.
14927         * lib/unictype/bidi_test.c: New file.
14928         * lib/unictype/bitmap.h: New file.
14929         * lib/unictype/block_test.c: New file.
14930         * lib/unictype/blocks.c: New file.
14931         * lib/unictype/categ_C.c: New file.
14932         * lib/unictype/categ_Cc.c: New file.
14933         * lib/unictype/categ_Cf.c: New file.
14934         * lib/unictype/categ_Cn.c: New file.
14935         * lib/unictype/categ_Co.c: New file.
14936         * lib/unictype/categ_Cs.c: New file.
14937         * lib/unictype/categ_L.c: New file.
14938         * lib/unictype/categ_Ll.c: New file.
14939         * lib/unictype/categ_Lm.c: New file.
14940         * lib/unictype/categ_Lo.c: New file.
14941         * lib/unictype/categ_Lt.c: New file.
14942         * lib/unictype/categ_Lu.c: New file.
14943         * lib/unictype/categ_M.c: New file.
14944         * lib/unictype/categ_Mc.c: New file.
14945         * lib/unictype/categ_Me.c: New file.
14946         * lib/unictype/categ_Mn.c: New file.
14947         * lib/unictype/categ_N.c: New file.
14948         * lib/unictype/categ_Nd.c: New file.
14949         * lib/unictype/categ_Nl.c: New file.
14950         * lib/unictype/categ_No.c: New file.
14951         * lib/unictype/categ_P.c: New file.
14952         * lib/unictype/categ_Pc.c: New file.
14953         * lib/unictype/categ_Pd.c: New file.
14954         * lib/unictype/categ_Pe.c: New file.
14955         * lib/unictype/categ_Pf.c: New file.
14956         * lib/unictype/categ_Pi.c: New file.
14957         * lib/unictype/categ_Po.c: New file.
14958         * lib/unictype/categ_Ps.c: New file.
14959         * lib/unictype/categ_S.c: New file.
14960         * lib/unictype/categ_Sc.c: New file.
14961         * lib/unictype/categ_Sk.c: New file.
14962         * lib/unictype/categ_Sm.c: New file.
14963         * lib/unictype/categ_So.c: New file.
14964         * lib/unictype/categ_Z.c: New file.
14965         * lib/unictype/categ_Zl.c: New file.
14966         * lib/unictype/categ_Zp.c: New file.
14967         * lib/unictype/categ_Zs.c: New file.
14968         * lib/unictype/categ_and.c: New file.
14969         * lib/unictype/categ_and_not.c: New file.
14970         * lib/unictype/categ_byname.c: New file.
14971         * lib/unictype/categ_name.c: New file.
14972         * lib/unictype/categ_none.c: New file.
14973         * lib/unictype/categ_of.c: New file.
14974         * lib/unictype/categ_or.c: New file.
14975         * lib/unictype/categ_test.c: New file.
14976         * lib/unictype/combining.c: New file.
14977         * lib/unictype/ctype_alnum.c: New file.
14978         * lib/unictype/ctype_alpha.c: New file.
14979         * lib/unictype/ctype_blank.c: New file.
14980         * lib/unictype/ctype_cntrl.c: New file.
14981         * lib/unictype/ctype_digit.c: New file.
14982         * lib/unictype/ctype_graph.c: New file.
14983         * lib/unictype/ctype_lower.c: New file.
14984         * lib/unictype/ctype_print.c: New file.
14985         * lib/unictype/ctype_punct.c: New file.
14986         * lib/unictype/ctype_space.c: New file.
14987         * lib/unictype/ctype_upper.c: New file.
14988         * lib/unictype/ctype_xdigit.c: New file.
14989         * lib/unictype/decdigit.c: New file.
14990         * lib/unictype/digit.c: New file.
14991         * lib/unictype/identsyntaxmap.h: New file.
14992         * lib/unictype/mirror.c: New file.
14993         * lib/unictype/numeric.c: New file.
14994         * lib/unictype/pr_alphabetic.c: New file.
14995         * lib/unictype/pr_ascii_hex_digit.c: New file.
14996         * lib/unictype/pr_bidi_arabic_digit.c: New file.
14997         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
14998         * lib/unictype/pr_bidi_block_separator.c: New file.
14999         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
15000         * lib/unictype/pr_bidi_common_separator.c: New file.
15001         * lib/unictype/pr_bidi_control.c: New file.
15002         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
15003         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
15004         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
15005         * lib/unictype/pr_bidi_european_digit.c: New file.
15006         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
15007         * lib/unictype/pr_bidi_left_to_right.c: New file.
15008         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
15009         * lib/unictype/pr_bidi_other_neutral.c: New file.
15010         * lib/unictype/pr_bidi_pdf.c: New file.
15011         * lib/unictype/pr_bidi_segment_separator.c: New file.
15012         * lib/unictype/pr_bidi_whitespace.c: New file.
15013         * lib/unictype/pr_byname.c: New file.
15014         * lib/unictype/pr_byname.gperf: New file.
15015         * lib/unictype/pr_combining.c: New file.
15016         * lib/unictype/pr_composite.c: New file.
15017         * lib/unictype/pr_currency_symbol.c: New file.
15018         * lib/unictype/pr_dash.c: New file.
15019         * lib/unictype/pr_decimal_digit.c: New file.
15020         * lib/unictype/pr_default_ignorable_code_point.c: New file.
15021         * lib/unictype/pr_deprecated.c: New file.
15022         * lib/unictype/pr_diacritic.c: New file.
15023         * lib/unictype/pr_extender.c: New file.
15024         * lib/unictype/pr_format_control.c: New file.
15025         * lib/unictype/pr_grapheme_base.c: New file.
15026         * lib/unictype/pr_grapheme_extend.c: New file.
15027         * lib/unictype/pr_grapheme_link.c: New file.
15028         * lib/unictype/pr_hex_digit.c: New file.
15029         * lib/unictype/pr_hyphen.c: New file.
15030         * lib/unictype/pr_id_continue.c: New file.
15031         * lib/unictype/pr_id_start.c: New file.
15032         * lib/unictype/pr_ideographic.c: New file.
15033         * lib/unictype/pr_ids_binary_operator.c: New file.
15034         * lib/unictype/pr_ids_trinary_operator.c: New file.
15035         * lib/unictype/pr_ignorable_control.c: New file.
15036         * lib/unictype/pr_iso_control.c: New file.
15037         * lib/unictype/pr_join_control.c: New file.
15038         * lib/unictype/pr_left_of_pair.c: New file.
15039         * lib/unictype/pr_line_separator.c: New file.
15040         * lib/unictype/pr_logical_order_exception.c: New file.
15041         * lib/unictype/pr_lowercase.c: New file.
15042         * lib/unictype/pr_math.c: New file.
15043         * lib/unictype/pr_non_break.c: New file.
15044         * lib/unictype/pr_not_a_character.c: New file.
15045         * lib/unictype/pr_numeric.c: New file.
15046         * lib/unictype/pr_other_alphabetic.c: New file.
15047         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
15048         * lib/unictype/pr_other_grapheme_extend.c: New file.
15049         * lib/unictype/pr_other_id_continue.c: New file.
15050         * lib/unictype/pr_other_id_start.c: New file.
15051         * lib/unictype/pr_other_lowercase.c: New file.
15052         * lib/unictype/pr_other_math.c: New file.
15053         * lib/unictype/pr_other_uppercase.c: New file.
15054         * lib/unictype/pr_paired_punctuation.c: New file.
15055         * lib/unictype/pr_paragraph_separator.c: New file.
15056         * lib/unictype/pr_pattern_syntax.c: New file.
15057         * lib/unictype/pr_pattern_white_space.c: New file.
15058         * lib/unictype/pr_private_use.c: New file.
15059         * lib/unictype/pr_punctuation.c: New file.
15060         * lib/unictype/pr_quotation_mark.c: New file.
15061         * lib/unictype/pr_radical.c: New file.
15062         * lib/unictype/pr_sentence_terminal.c: New file.
15063         * lib/unictype/pr_soft_dotted.c: New file.
15064         * lib/unictype/pr_space.c: New file.
15065         * lib/unictype/pr_terminal_punctuation.c: New file.
15066         * lib/unictype/pr_test.c: New file.
15067         * lib/unictype/pr_titlecase.c: New file.
15068         * lib/unictype/pr_unassigned_code_value.c: New file.
15069         * lib/unictype/pr_unified_ideograph.c: New file.
15070         * lib/unictype/pr_uppercase.c: New file.
15071         * lib/unictype/pr_variation_selector.c: New file.
15072         * lib/unictype/pr_white_space.c: New file.
15073         * lib/unictype/pr_xid_continue.c: New file.
15074         * lib/unictype/pr_xid_start.c: New file.
15075         * lib/unictype/pr_zero_width.c: New file.
15076         * lib/unictype/scripts.c: New file.
15077         * lib/unictype/sy_c_ident.c: New file.
15078         * lib/unictype/sy_c_whitespace.c: New file.
15079         * lib/unictype/sy_java_ident.c: New file.
15080         * lib/unictype/sy_java_whitespace.c: New file.
15081
15082         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
15083         Unicode 5.0.0.
15084         * lib/unictype/blocks.h: Likewise.
15085         * lib/unictype/categ_C.h: Likewise.
15086         * lib/unictype/categ_Cc.h: Likewise.
15087         * lib/unictype/categ_Cf.h: Likewise.
15088         * lib/unictype/categ_Cn.h: Likewise.
15089         * lib/unictype/categ_Co.h: Likewise.
15090         * lib/unictype/categ_Cs.h: Likewise.
15091         * lib/unictype/categ_L.h: Likewise.
15092         * lib/unictype/categ_Ll.h: Likewise.
15093         * lib/unictype/categ_Lm.h: Likewise.
15094         * lib/unictype/categ_Lo.h: Likewise.
15095         * lib/unictype/categ_Lt.h: Likewise.
15096         * lib/unictype/categ_Lu.h: Likewise.
15097         * lib/unictype/categ_M.h: Likewise.
15098         * lib/unictype/categ_Mc.h: Likewise.
15099         * lib/unictype/categ_Me.h: Likewise.
15100         * lib/unictype/categ_Mn.h: Likewise.
15101         * lib/unictype/categ_N.h: Likewise.
15102         * lib/unictype/categ_Nd.h: Likewise.
15103         * lib/unictype/categ_Nl.h: Likewise.
15104         * lib/unictype/categ_No.h: Likewise.
15105         * lib/unictype/categ_P.h: Likewise.
15106         * lib/unictype/categ_Pc.h: Likewise.
15107         * lib/unictype/categ_Pd.h: Likewise.
15108         * lib/unictype/categ_Pe.h: Likewise.
15109         * lib/unictype/categ_Pf.h: Likewise.
15110         * lib/unictype/categ_Pi.h: Likewise.
15111         * lib/unictype/categ_Po.h: Likewise.
15112         * lib/unictype/categ_Ps.h: Likewise.
15113         * lib/unictype/categ_S.h: Likewise.
15114         * lib/unictype/categ_Sc.h: Likewise.
15115         * lib/unictype/categ_Sk.h: Likewise.
15116         * lib/unictype/categ_Sm.h: Likewise.
15117         * lib/unictype/categ_So.h: Likewise.
15118         * lib/unictype/categ_Z.h: Likewise.
15119         * lib/unictype/categ_Zl.h: Likewise.
15120         * lib/unictype/categ_Zp.h: Likewise.
15121         * lib/unictype/categ_Zs.h: Likewise.
15122         * lib/unictype/categ_of.h: Likewise.
15123         * lib/unictype/combining.h: Likewise.
15124         * lib/unictype/ctype_alnum.h: Likewise.
15125         * lib/unictype/ctype_alpha.h: Likewise.
15126         * lib/unictype/ctype_blank.h: Likewise.
15127         * lib/unictype/ctype_cntrl.h: Likewise.
15128         * lib/unictype/ctype_digit.h: Likewise.
15129         * lib/unictype/ctype_graph.h: Likewise.
15130         * lib/unictype/ctype_lower.h: Likewise.
15131         * lib/unictype/ctype_print.h: Likewise.
15132         * lib/unictype/ctype_punct.h: Likewise.
15133         * lib/unictype/ctype_space.h: Likewise.
15134         * lib/unictype/ctype_upper.h: Likewise.
15135         * lib/unictype/ctype_xdigit.h: Likewise.
15136         * lib/unictype/decdigit.h: Likewise.
15137         * lib/unictype/digit.h: Likewise.
15138         * lib/unictype/mirror.h: Likewise.
15139         * lib/unictype/numeric.h: Likewise.
15140         * lib/unictype/pr_alphabetic.h: Likewise.
15141         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
15142         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
15143         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
15144         * lib/unictype/pr_bidi_block_separator.h: Likewise.
15145         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
15146         * lib/unictype/pr_bidi_common_separator.h: Likewise.
15147         * lib/unictype/pr_bidi_control.h: Likewise.
15148         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
15149         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
15150         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
15151         * lib/unictype/pr_bidi_european_digit.h: Likewise.
15152         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
15153         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
15154         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
15155         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
15156         * lib/unictype/pr_bidi_pdf.h: Likewise.
15157         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
15158         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15159         * lib/unictype/pr_combining.h: Likewise.
15160         * lib/unictype/pr_composite.h: Likewise.
15161         * lib/unictype/pr_currency_symbol.h: Likewise.
15162         * lib/unictype/pr_dash.h: Likewise.
15163         * lib/unictype/pr_decimal_digit.h: Likewise.
15164         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15165         * lib/unictype/pr_deprecated.h: Likewise.
15166         * lib/unictype/pr_diacritic.h: Likewise.
15167         * lib/unictype/pr_extender.h: Likewise.
15168         * lib/unictype/pr_format_control.h: Likewise.
15169         * lib/unictype/pr_grapheme_base.h: Likewise.
15170         * lib/unictype/pr_grapheme_extend.h: Likewise.
15171         * lib/unictype/pr_grapheme_link.h: Likewise.
15172         * lib/unictype/pr_hex_digit.h: Likewise.
15173         * lib/unictype/pr_hyphen.h: Likewise.
15174         * lib/unictype/pr_id_continue.h: Likewise.
15175         * lib/unictype/pr_id_start.h: Likewise.
15176         * lib/unictype/pr_ideographic.h: Likewise.
15177         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15178         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
15179         * lib/unictype/pr_ignorable_control.h: Likewise.
15180         * lib/unictype/pr_iso_control.h: Likewise.
15181         * lib/unictype/pr_join_control.h: Likewise.
15182         * lib/unictype/pr_left_of_pair.h: Likewise.
15183         * lib/unictype/pr_line_separator.h: Likewise.
15184         * lib/unictype/pr_logical_order_exception.h: Likewise.
15185         * lib/unictype/pr_lowercase.h: Likewise.
15186         * lib/unictype/pr_math.h: Likewise.
15187         * lib/unictype/pr_non_break.h: Likewise.
15188         * lib/unictype/pr_not_a_character.h: Likewise.
15189         * lib/unictype/pr_numeric.h: Likewise.
15190         * lib/unictype/pr_other_alphabetic.h: Likewise.
15191         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
15192         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
15193         * lib/unictype/pr_other_id_continue.h: Likewise.
15194         * lib/unictype/pr_other_id_start.h: Likewise.
15195         * lib/unictype/pr_other_lowercase.h: Likewise.
15196         * lib/unictype/pr_other_math.h: Likewise.
15197         * lib/unictype/pr_other_uppercase.h: Likewise.
15198         * lib/unictype/pr_paired_punctuation.h: Likewise.
15199         * lib/unictype/pr_paragraph_separator.h: Likewise.
15200         * lib/unictype/pr_pattern_syntax.h: Likewise.
15201         * lib/unictype/pr_pattern_white_space.h: Likewise.
15202         * lib/unictype/pr_private_use.h: Likewise.
15203         * lib/unictype/pr_punctuation.h: Likewise.
15204         * lib/unictype/pr_quotation_mark.h: Likewise.
15205         * lib/unictype/pr_radical.h: Likewise.
15206         * lib/unictype/pr_sentence_terminal.h: Likewise.
15207         * lib/unictype/pr_soft_dotted.h: Likewise.
15208         * lib/unictype/pr_space.h: Likewise.
15209         * lib/unictype/pr_terminal_punctuation.h: Likewise.
15210         * lib/unictype/pr_titlecase.h: Likewise.
15211         * lib/unictype/pr_unassigned_code_value.h: Likewise.
15212         * lib/unictype/pr_unified_ideograph.h: Likewise.
15213         * lib/unictype/pr_uppercase.h: Likewise.
15214         * lib/unictype/pr_variation_selector.h: Likewise.
15215         * lib/unictype/pr_white_space.h: Likewise.
15216         * lib/unictype/pr_xid_continue.h: Likewise.
15217         * lib/unictype/pr_xid_start.h: Likewise.
15218         * lib/unictype/pr_zero_width.h: Likewise.
15219         * lib/unictype/scripts.h: Likewise.
15220         * lib/unictype/scripts_byname.gperf: Likewise.
15221         * lib/unictype/sy_c_ident.h: Likewise.
15222         * lib/unictype/sy_c_whitespace.h: Likewise.
15223         * lib/unictype/sy_java_ident.h: Likewise.
15224         * lib/unictype/sy_java_whitespace.h: Likewise.
15225
15226         * lib/unictype/Makefile: New file.
15227         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
15228         glibc.
15229         * lib/unictype/3level.h: New file, copied from glibc.
15230         * lib/unictype/3levelbit.h: New file.
15231
15232 2007-11-11  Bruno Haible  <bruno@clisp.org>
15233
15234         * modules/gperf: New file.
15235         * modules/iconv_open (Depends-on): Add it.
15236         (Makefile.am): Remove the GPERF definition.
15237
15238 2007-11-11  Bruno Haible  <bruno@clisp.org>
15239
15240         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
15241         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
15242
15243 2007-11-11  Bruno Haible  <bruno@clisp.org>
15244
15245         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
15246         (usage): Remove function.
15247
15248 2007-11-11  Bruno Haible  <bruno@clisp.org>
15249
15250         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
15251         gl_FUNC_CEILF_LIBS.
15252         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
15253         gl_FUNC_CEIL_LIBS.
15254         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
15255         gl_FUNC_CEILL_LIBS.
15256         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
15257         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
15258         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
15259
15260 2007-11-11  Bruno Haible  <bruno@clisp.org>
15261
15262         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
15263         roundf were declared but do not exist on functions.
15264         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
15265         roundl were declared but do not exist on functions.
15266         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
15267         HAVE_FLOORL_AND_CEILL, respectively.
15268         Needed for Sun C on Solaris 10.
15269
15270 2007-11-11  Bruno Haible  <bruno@clisp.org>
15271
15272         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
15273         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
15274         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
15275         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
15276         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
15277         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
15278         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
15279         HAVE_DECL_ROUNDF.
15280         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
15281         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
15282         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
15283         of HAVE_DECL_ROUND*.
15284         * modules/math (Makefile.am): Update.
15285
15286 2007-11-10  Bruno Haible  <bruno@clisp.org>
15287
15288         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
15289         ptrdiff_t as m4/intl.m4.
15290
15291 2007-11-10  Jim Meyering  <meyering@redhat.com>
15292
15293         Avoid link failure for the argmatch test.
15294         * tests/test-argmatch.c (usage): Define function to avoid a link
15295         failure: argmatch_die requires a usage function.
15296
15297 2007-11-09  Bruno Haible  <bruno@clisp.org>
15298
15299         * doc/functions/snprintf.texi: Mention BeOS deficiency.
15300         * doc/functions/vsnprintf.texi: Likewise.
15301         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
15302         with a size argument < 2.
15303
15304 2007-11-09  Bruno Haible  <bruno@clisp.org>
15305
15306         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
15307         buffer. Fixes an inefficiency introduced on 2007-11-03.
15308
15309 2007-11-09  Bruno Haible  <bruno@clisp.org>
15310
15311         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
15312         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
15313
15314 2007-11-08  Jim Meyering  <meyering@redhat.com>
15315
15316         Change cache variable name prefix "jm_" to "gl_" everywhere.
15317         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
15318         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
15319         * m4/uptime.m4: s/gl_/jm_/
15320
15321 2007-11-07  Bruno Haible  <bruno@clisp.org>
15322
15323         Update to GNU gettext 0.17.
15324         * m4/intl.m4: Update to GNU gettext 0.17.
15325         * m4/po.m4: Likewise.
15326         * modules/gettext (Files): Remove m4/ulonglong.m4.
15327         (configure.ac): Require gettext infrastructure from version 0.17.
15328
15329 2007-11-06  Bruno Haible  <bruno@clisp.org>
15330
15331         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
15332         symbolic values are not defined in a public header.
15333         * lib/freadable.c (freadable) [QNX]: Likewise.
15334         * lib/freadahead.c (freadahead) [QNX]: Likewise.
15335         * lib/freading.c (freading) [QNX]: Likewise.
15336         * lib/fseterr.c (fseterr) [QNX]: Likewise.
15337         * lib/fwritable.c (fwritable) [QNX]: Likewise.
15338         * lib/fwriting.c (fwriting) [QNX]: Likewise.
15339         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
15340         Reported by Alain Magloire.
15341
15342         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
15343
15344 2007-11-05  Bruno Haible  <bruno@clisp.org>
15345
15346         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
15347         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
15348         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
15349         Reported by Eric Blake.
15350
15351 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15352             Bruno Haible  <bruno@clisp.org>
15353
15354         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
15355         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
15356         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
15357         (malloc): Undefine also before including <stdlib.h>.
15358         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
15359         Needed on OSF/1 4.0.
15360
15361 2007-11-05  Jim Meyering  <meyering@redhat.com>
15362
15363         git-version-gen: sync from coreutils.
15364         * build-aux/git-version-gen: Add comments.
15365         Change the first '-' to '.' in the snapshot version string,
15366         e.g., 6.9-377-08144 -> 6.9.377-08144
15367         Remove first parameter.
15368         Don't declare a version "-dirty" merely because a time
15369         stamp has changed.
15370
15371 2007-11-04  Bruno Haible  <bruno@clisp.org>
15372
15373         * lib/lock.h: Protect all macro definitions containing an 'if'
15374         statement through a "do { ... } while (0)".
15375         * lib/tls.h: Likewise.
15376
15377 2007-11-04  Bruno Haible  <bruno@clisp.org>
15378
15379         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
15380
15381 2007-11-04  Bruno Haible  <bruno@clisp.org>
15382
15383         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
15384         * modules/fprintf-posix (Depends-on): Add nocrash.
15385         * modules/snprintf-posix (Depends-on): Likewise.
15386         * modules/sprintf-posix (Depends-on): Likewise.
15387         * modules/vasnprintf-posix (Depends-on): Likewise.
15388         * modules/vasprintf-posix (Depends-on): Likewise.
15389         * modules/vfprintf-posix (Depends-on): Likewise.
15390         * modules/vsnprintf-posix (Depends-on): Likewise.
15391         * modules/vsprintf-posix (Depends-on): Likewise.
15392         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
15393         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
15394         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
15395         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
15396         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
15397         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
15398         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
15399
15400 2007-11-04  Bruno Haible  <bruno@clisp.org>
15401
15402         * modules/nocrash: New file.
15403         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
15404         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
15405
15406 2007-11-04  Bruno Haible  <bruno@clisp.org>
15407
15408         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
15409         precision handling.
15410         * tests/test-vasprintf-posix.c (test_function): Likewise.
15411         * tests/test-snprintf-posix.h (test_function): Likewise.
15412         * tests/test-sprintf-posix.h (test_function): Likewise.
15413
15414         Fix *printf behaviour for large precisions on mingw and BeOS.
15415         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
15416         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
15417         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
15418         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
15419         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
15420         gl_PRINTF_PRECISION and test its result. Invoke
15421         gl_PREREQ_VASNPRINTF_PRECISION.
15422         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
15423         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
15424         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
15425         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
15426         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
15427         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
15428         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
15429         * doc/functions/fprintf.texi: Update.
15430         * doc/functions/printf.texi: Update.
15431         * doc/functions/snprintf.texi: Update.
15432         * doc/functions/sprintf.texi: Update.
15433         * doc/functions/vfprintf.texi: Update.
15434         * doc/functions/vprintf.texi: Update.
15435         * doc/functions/vsnprintf.texi: Update.
15436         * doc/functions/vsprintf.texi: Update.
15437
15438 2007-11-04  Bruno Haible  <bruno@clisp.org>
15439
15440         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
15441
15442 2007-11-04  Bruno Haible  <bruno@clisp.org>
15443
15444         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
15445         Reported by Sylvain Beucler <beuc@gnu.org>.
15446
15447 2007-11-03  Bruno Haible  <bruno@clisp.org>
15448
15449         * tests/test-fprintf-posix2.sh: New file.
15450         * tests/test-fprintf-posix2.c: New file.
15451         * modules/fprintf-posix-tests (Files): Add them.
15452         (TESTS): Add test-fprintf-posix2.sh.
15453         (configure.ac): Check for getrlimit and setrlimit.
15454         (check_PROGRAMS): Add test-fprintf-posix2.
15455
15456         * tests/test-printf-posix2.sh: New file.
15457         * tests/test-printf-posix2.c: New file.
15458         * modules/printf-posix-tests (Files): Add them.
15459         (TESTS): Add test-printf-posix2.sh.
15460         (configure.ac): Check for getrlimit and setrlimit.
15461         (check_PROGRAMS): Add test-printf-posix2.
15462
15463         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
15464         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
15465         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
15466         (decode_double): New function, copied from decode_long_double.
15467         (scale10_round_decimal_decoded): New function, extracted from
15468         scale10_round_decimal_long_double.
15469         (scale10_round_decimal_long_double): Use it.
15470         (scale10_round_decimal_double): New function.
15471         (floorlog10): New function.
15472         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
15473         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
15474         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
15475         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
15476         gl_PRINTF_ENOMEM and test its result. Invoke
15477         gl_PREREQ_VASNPRINTF_ENOMEM.
15478         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
15479         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
15480         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
15481         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
15482         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
15483         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
15484         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
15485         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
15486         * modules/snprintf-posix (Depends-on): Likewise.
15487         * modules/sprintf-posix (Depends-on): Likewise.
15488         * modules/vasnprintf-posix (Depends-on): Likewise.
15489         * modules/vasprintf-posix (Depends-on): Likewise.
15490         * modules/vfprintf-posix (Depends-on): Likewise.
15491         * modules/vsnprintf-posix (Depends-on): Likewise.
15492         * modules/vsprintf-posix (Depends-on): Likewise.
15493         * doc/functions/fprintf.texi: Update.
15494         * doc/functions/printf.texi: Update.
15495         * doc/functions/snprintf.texi: Update.
15496         * doc/functions/sprintf.texi: Update.
15497         * doc/functions/vfprintf.texi: Update.
15498         * doc/functions/vprintf.texi: Update.
15499         * doc/functions/vsnprintf.texi: Update.
15500         * doc/functions/vsprintf.texi: Update.
15501
15502 2007-11-03  Bruno Haible  <bruno@clisp.org>
15503
15504         * modules/frexp-nolibm-tests: New file.
15505
15506         * modules/frexp-nolibm: New file.
15507         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
15508
15509 2007-11-03  Bruno Haible  <bruno@clisp.org>
15510
15511         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
15512         value is C99 compliant.
15513         Needed for OSF/1 5.1.
15514
15515 2007-11-03  Bruno Haible  <bruno@clisp.org>
15516
15517         Fix out-of-memory handling of vasnprintf.
15518         * lib/printf-parse.c: Include <errno.h>.
15519         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
15520         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
15521         is already set.
15522
15523 2007-11-02  Eric Blake  <ebb9@byu.net>
15524
15525         Fix tests on cygwin.
15526         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
15527
15528 2007-11-01  Bruno Haible  <bruno@clisp.org>
15529
15530         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
15531         warning.
15532         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
15533         needed for POSIX compatibility.
15534
15535 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
15536
15537         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
15538         for compatibility with GNU.
15539
15540 2007-11-01  Bruno Haible  <bruno@clisp.org>
15541
15542         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
15543         (putenv): Renamed from rpl_putenv. Change argument type from
15544         'const char *' to 'char *'.
15545         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
15546         of defining putenv in config.h, just set REPLACE_PUTENV.
15547         * modules/putenv (Depends-on): Add stdlib.
15548         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
15549         (Include): Use <stdlib.h>.
15550         * lib/stdlib.in.h (putenv): New declaration.
15551         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
15552         REPLACE_PUTENV.
15553         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
15554         REPLACE_PUTENV.
15555         Needed for MacOS X 10.5.0.
15556         Reported by Peter O'Gorman <peter@pogma.com>.
15557
15558 2007-11-01  Jim Meyering  <meyering@redhat.com>
15559
15560         Treat an empty date string exactly like "0".
15561         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
15562         if the remaining date string (to be parsed) is empty, use "0".
15563         Reported by Mischa Molhoek and discussed in this thread:
15564         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
15565
15566 2007-10-31  Bruno Haible  <bruno@clisp.org>
15567
15568         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
15569         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
15570         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
15571         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
15572         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
15573         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
15574
15575 2007-10-31  Bruno Haible  <bruno@clisp.org>
15576
15577         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
15578         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
15579         (AC_TYPE_LONG_LONG_INT): Use it.
15580         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
15581         it as well.
15582         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
15583         to m4/longlong.m4.
15584         * modules/stdint (Files): Remove m4/ulonglong.m4.
15585         * modules/strtoull (Files): Use m4/longlong.m4 instead of
15586         m4/ulonglong.m4.
15587         * modules/strtoumax (Files): Likewise.
15588
15589 2007-10-30  Bruno Haible  <bruno@clisp.org>
15590
15591         * modules/xvasprintf-posix: New file.
15592         Suggested by Eric Blake.
15593
15594 2007-10-30  Bruno Haible  <bruno@clisp.org>
15595
15596         * modules/xprintf-posix-tests: New file.
15597         * tests/test-xprintf-posix.sh: New file.
15598         * tests/test-xprintf-posix.c: New file.
15599         * tests/test-xfprintf-posix.c: New file.
15600
15601         * modules/xprintf-posix: New file.
15602
15603 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15604
15605         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
15606         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
15607         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
15608
15609 2007-10-29  Bruno Haible  <bruno@clisp.org>
15610
15611         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
15612         contain the special marker '_cv_'.
15613         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
15614         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
15615         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
15616         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
15617         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
15618         Reported by Ralf Wildenhues.
15619
15620 2007-10-29  Bruno Haible  <bruno@clisp.org>
15621
15622         * gnulib-tool (func_import): When --lgpl is not specified, set
15623         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
15624         GPLv3.
15625         Reported by Simon Josefsson.
15626
15627 2007-10-28  Bruno Haible  <bruno@clisp.org>
15628
15629         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
15630         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
15631         HAVE_DECL_ISFINITE.
15632         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
15633         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
15634         HAVE_DECL_ISFINITE.
15635
15636 2007-10-28  Bruno Haible  <bruno@clisp.org>
15637
15638         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
15639         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
15640
15641 2007-10-28  Bruno Haible  <bruno@clisp.org>
15642
15643         Fix link errors with Sun C 5.0 on Solaris 10.
15644         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
15645         function is declared but not present in the compiler's libm.
15646         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
15647         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
15648         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
15649         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
15650         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
15651         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
15652         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
15653         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
15654         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
15655         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
15656         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
15657         HAVE_DECL_FLOORL.
15658
15659 2007-10-28  Bruno Haible  <bruno@clisp.org>
15660
15661         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
15662         gl_FUNC_FLOORL. Cache the result.
15663         (gl_FUNC_FLOORL): Use it.
15664         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
15665         gl_FUNC_CEILL. Cache the result.
15666         (gl_FUNC_CEILL): Use it.
15667
15668         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
15669         gl_FUNC_FLOOR. Cache the result.
15670         (gl_FUNC_FLOOR): Use it.
15671         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
15672         gl_FUNC_CEIL. Cache the result.
15673         (gl_FUNC_CEIL): Use it.
15674
15675         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
15676         gl_FUNC_FLOORF. Cache the result.
15677         (gl_FUNC_FLOORF): Use it.
15678         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
15679         gl_FUNC_CEILF. Cache the result.
15680         (gl_FUNC_CEILF): Use it.
15681
15682 2007-10-28  Bruno Haible  <bruno@clisp.org>
15683
15684         * gnulib-tool: Allow specifying the LGPL version number through
15685         --lgpl=2 or --lgpl=3.
15686         (func_usage): Document --lgpl with argument.
15687         Handle --lgpl=... arguments.
15688         (func_import): Recognize also gl_LGPL calls with an argument. When
15689         --lgpl=2 is used and the module's license is just LGPL, report an
15690         error. Set sed_transform_lib_file according to the lgpl variable. In
15691         the generated files, use --lgpl or gl_LGPL invocations with argument,
15692         if necessary.
15693         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
15694         an LGPv2+ license.
15695         * doc/gnulib-tool.texi (Modified imports): Update explanation of
15696         gl_LGPL macro.
15697
15698 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15699             Bruno Haible  <bruno@clisp.org>
15700
15701         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
15702         (u16_uctomb_aux): Likewise.
15703         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
15704         !HAVE_INLINE.
15705         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
15706
15707 2007-10-28  Bruno Haible  <bruno@clisp.org>
15708
15709         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
15710         Invoke AM_GETTEXT_OPTION if it exists.
15711         * modules/vasprintf: Likewise.
15712         * modules/verror: Likewise.
15713         * modules/xprintf: Likewise.
15714         * modules/xvasprintf: Likewise.
15715
15716 2007-10-27  Ben Pfaff  <blp@gnu.org>
15717
15718         * lib/math.in.h: Define isfinite macro and prototypes for
15719         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
15720         implementations.
15721         * m4/math_h.m4: New substitutions for isfinite module.
15722         * lib/isfinite.c: New file.
15723         * m4/isfinite.m4: New file.
15724         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
15725         * modules/isfinite: New file.
15726         * modules/isfinite-tests: New file.
15727         * tests/tests-isfinite.c: New file.
15728         * doc/functions/isfinite.texi: Mention isfinite module.
15729         * MODULES.html.sh: Mention new module.
15730
15731 2007-10-27  Ben Pfaff  <blp@gnu.org>
15732
15733         Ralf Wildenhues reported that Tru64 4.0D declares the round
15734         functions but does not have definitions.
15735         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
15736         cannot be found in any library, set the output variable to
15737         "missing" instead of "".
15738         * m4/round.m4: Also use our substitute if we cannot find round in
15739         any library, even if it is declared.
15740         * m4/roundf.m4: Likewise for roundf.
15741         * m4/roundl.m4: Likewise for roundl.
15742         * lib/math.in.h: Undefine roundf, round, roundl before defining
15743         their replacements, to allow for hypothetical systems where these
15744         may be defined as macros but not available in libraries.
15745
15746 2007-10-27  Bruno Haible  <bruno@clisp.org>
15747
15748         * doc/gnulib.texi: Invoke @firstparagraphindent.
15749         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
15750         changes in gnulib.
15751         (Source changes): New section.
15752
15753 2007-10-26  Bruno Haible  <bruno@clisp.org>
15754
15755         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
15756         borrowed from autoconf.
15757
15758 2007-10-26  Bruno Haible  <bruno@clisp.org>
15759
15760         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
15761         strerror returned the empty string. Needed on HP-UX 11.00.
15762
15763 2007-10-24  Micah Cowan  <micah@cowan.name>
15764
15765         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
15766         * build-aux/bootstrap: Remove support for now-unnecessary option,
15767         --cvs-user, and envvars CVS_USER, CVS_RSH.
15768
15769 2007-10-24  Jim Meyering  <meyering@redhat.com>
15770
15771         Avoid diagnostics from sha1sum when there is no cached checksum.
15772         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
15773         if the po.s1 file hasn't been created yet.
15774
15775         * build-aux/bootstrap: Sync from coreutils:
15776         2007-10-24  Jim Meyering  <meyering@redhat.com>
15777         Get gnulib from the git repository, not from an obsolete cvs one.
15778         * build-aux/bootstrap: Suggestion from Micah Cowan.
15779         2007-10-04  Jim Meyering  <jim@meyering.net>
15780         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
15781         (update_po_files): Work also when there are no .po files in po/.
15782
15783 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
15784
15785         * README: Append ".git" to git and cg examples.
15786         Problem reported by Benoit Sigoure.
15787
15788 2007-10-23  Micah Cowan  <micah@cowan.name>
15789
15790         * users.txt: Add wget.
15791
15792 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15793
15794         Fix linking of some unistdio tests on FreeBSD.
15795         * modules/unistdio/u16-vsnprintf-tests
15796         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
15797         * modules/unistdio/u16-vsprintf-tests
15798         (test_u16_vsnprintf1_LDADD): Likewise.
15799         * modules/unistdio/u32-vsnprintf-tests
15800         (test_u32_vsnprintf1_LDADD): Likewise.
15801         * modules/unistdio/u32-vsprintf-tests
15802         (test_u32_vsprintf1_LDADD): Likewise.
15803         * modules/unistdio/u8-vsnprintf-tests
15804         (test_u8_vsnprintf1_LDADD): Likewise.
15805         * modules/unistdio/u8-vsprintf-tests
15806         (test_u8_vsprintf1_LDADD): Likewise.
15807         * modules/unistdio/ulc-vsnprintf-tests
15808         (test_ulc_vsnprintf1_LDADD): Likewise.
15809         * modules/unistdio/ulc-vsprintf-tests
15810         (test_ulc_vsprintf1_LDADD): Likewise.
15811
15812         Fix linking of some uniconv tests on FreeBSD.
15813         * modules/uniconv/u16-conv-from-enc-tests
15814         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
15815         * modules/uniconv/u16-conv-to-enc-tests
15816         (test_u16_conv_to_enc_LDADD): Likewise.
15817         * modules/uniconv/u16-strconv-from-enc-tests
15818         (test_u16_strconv_from_enc_LDADD): Likewise.
15819         * modules/uniconv/u16-strconv-to-enc-tests
15820         (test_u16_strconv_to_enc_LDADD): Likewise.
15821         * modules/uniconv/u32-conv-from-enc-tests
15822         (test_u32_conv_from_enc_LDADD): Likewise.
15823         * modules/uniconv/u32-conv-to-enc-tests
15824         (test_u32_conv_to_enc_LDADD): Likewise.
15825         * modules/uniconv/u32-strconv-from-enc-tests
15826         (test_u32_strconv_from_enc_LDADD): Likewise.
15827         * modules/uniconv/u32-strconv-to-enc-tests
15828         (test_u32_strconv_to_enc_LDADD): Likewise.
15829         * modules/uniconv/u8-conv-from-enc-tests
15830         (test_u8_conv_from_enc_LDADD): Likewise.
15831         * modules/uniconv/u8-conv-to-enc-tests
15832         (test_u8_conv_to_enc_LDADD): Likewise.
15833         * modules/uniconv/u8-strconv-from-enc-tests
15834         (test_u8_strconv_from_enc_LDADD): Likewise.
15835         * modules/uniconv/u8-strconv-to-enc-tests
15836         (test_u8_strconv_to_enc_LDADD): Likewise.
15837
15838 2007-10-22  Bruno Haible  <bruno@clisp.org>
15839
15840         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
15841         size.
15842
15843 2007-10-22  Eric Blake  <ebb9@byu.net>
15844
15845         Tweak x*printf documentation.
15846         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
15847         variable name and comments.
15848         Suggested by Bruno Haible.
15849
15850 2007-10-22  Bruno Haible  <bruno@clisp.org>
15851
15852         * lib/acl.c (copy_acl): Fix file name in comment.
15853
15854 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
15855
15856         Fix Tru64 problem with stdbool.h.
15857         * lib/stdbool.in.h (false, true):
15858         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
15859         Don't declare as an enum in this situation; it runs afoul of Tru64.
15860         Problem reported by Steven M. Schweda in
15861         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
15862
15863 2007-10-22  Eric Blake  <ebb9@byu.net>
15864
15865         Also wrap vf?printf.
15866         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
15867         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
15868         (xvprintf, xvfprintf): New functions.
15869
15870 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15871
15872         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
15873         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
15874
15875         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
15876         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
15877
15878 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
15879
15880         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
15881         by Bruno Haible.
15882
15883 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15884
15885         * lib/getloadavg.c
15886         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
15887         Undef `sys' after including sys/table.h, for Tru64 4.0D.
15888
15889         * tests/test-i-ring.c: Work for C89.
15890
15891 2007-10-22  Bruno Haible  <bruno@clisp.org>
15892
15893         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
15894         -1u, in preprocessor expression, so that we don't test for the bug
15895         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
15896         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
15897
15898 2007-10-22  Eric Blake  <ebb9@byu.net>
15899
15900         * tests/test-yesno.sh: Silence stderr during test.
15901
15902 2007-10-22  Simon Josefsson  <simon@josefsson.org>
15903
15904         * modules/crypto/gc-camellia: New file.
15905
15906         * m4/gc-camellia.m4: New file.
15907
15908         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
15909
15910         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
15911
15912 2007-10-22  Simon Josefsson  <simon@josefsson.org>
15913
15914         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
15915         --help to stdout.  Reported by sms@antinode.org (Steven
15916         M. Schweda).
15917
15918 2007-10-22  Simon Josefsson  <simon@josefsson.org>
15919
15920         * users.txt: Fix link to libksba.
15921
15922 2007-10-21  Ben Pfaff  <blp@gnu.org>
15923
15924         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
15925         round.c roundf implementation that depends on floorf and ceilf to
15926         be tested unconditionally.
15927
15928 2007-10-21  Ben Pfaff  <blp@gnu.org>
15929
15930         * m4/check-libm-func.m4: Removed.
15931         * m4/check-math-lib.m4: New file.
15932         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
15933         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
15934         definition and lack of AC_LIBOBJ([roundf]).
15935         * m4/roundl.m4: Ditto, and similarly for roundl.
15936         * modules/round: Reference new m4 file.
15937         * modules/roundf: Ditto.
15938         * modules/roundl: Ditto.
15939         * tests/test-round2.c (main): Use ROUND instead of round.
15940         Bug report from Bruno Haible.
15941
15942 2007-10-21  Bruno Haible  <bruno@clisp.org>
15943
15944         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
15945         context.
15946
15947 2007-10-21  Bruno Haible  <bruno@clisp.org>
15948
15949         * tests/test-wcwidth.c (main): Allow negative result for some control
15950         characters.
15951
15952         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
15953         Needed on OSF/1 5.1.
15954
15955 2007-10-21  Bruno Haible  <bruno@clisp.org>
15956
15957         * tests/test-floorf1.c: Include isnanf.h.
15958         (main): Use isnanf() instead of isnan().
15959         * tests/test-ceilf1.c: Include isnanf.h.
15960         (main): Use isnanf() instead of isnan().
15961         * tests/test-truncf1.c: Include isnanf.h.
15962         (main): Use isnanf() instead of isnan().
15963         * tests/test-roundf1.c: Include isnanf.h.
15964         (main): Use isnanf() instead of isnan().
15965
15966 2007-10-21  Eric Blake  <ebb9@byu.net>
15967
15968         * users.txt: Update URL for m4.
15969
15970 2007-10-21  Bruno Haible  <bruno@clisp.org>
15971
15972         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
15973
15974 2007-10-21  Bruno Haible  <bruno@clisp.org>
15975
15976         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
15977         Git's management files if the CVS files are not present.
15978
15979 2007-10-20  Bruno Haible  <bruno@clisp.org>
15980
15981         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
15982         gcc-3.4.x.
15983
15984 2007-10-20  Ben Pfaff  <blp@gnu.org>
15985
15986         * lib/math.in.h: Declare round, roundf, roundl if we are providing
15987         implementations.
15988         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
15989         * lib/round.c: New file.
15990         * lib/roundf.c: New file.
15991         * lib/roundl.c: New file.
15992         * m4/round.m4: New file.
15993         * m4/roundf.m4: New file.
15994         * m4/roundl.m4: New file.
15995         * m4/check-libm-func-m4: New file.
15996         * modules/math: Replace round, roundf, roundl related @VARS@ in
15997         math.in.h.
15998         * modules/round: New file.
15999         * modules/round-tests: New file.
16000         * modules/roundf: New file.
16001         * modules/roundf-tests: New file.
16002         * modules/roundl: New file.
16003         * modules/roundl-tests: New file.
16004         * tests/test-round1.c: New file.
16005         * tests/test-round2.c: New file.
16006         * tests/test-roundf1.c: New file.
16007         * tests/test-roundf2.c: New file.
16008         * tests/test-roundl.c: New file.
16009         * doc/functions/round.texi: Mention round module.
16010         * doc/functions/roundf.texi: Mention roundf module.
16011         * doc/functions/roundl.texi: Mention roundl module.
16012         * MODULES.html.sh: Mention new modules.
16013         Thanks to Bruno Haible for suggestions.
16014
16015 2007-10-20  Jim Meyering  <meyering@redhat.com>
16016
16017         * lib/xprintf.c: Include <config.h> unconditionally.
16018
16019         Change xprintf's license to GPL.
16020         * modules/xprintf (License): s/LGPL/GPL/, since this module
16021         depends on modules (exit and exitfail) which are GPL.
16022         Suggestion from Bruno Haible.
16023
16024         xprintf fixes.
16025         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
16026         Use a clearer diagnostic.
16027         Patch from Bruno Haible.
16028
16029 2007-10-20  Bruno Haible  <bruno@clisp.org>
16030
16031         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
16032         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
16033         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16034
16035 2007-10-20  Bruno Haible  <bruno@clisp.org>
16036
16037         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
16038         precision in the comparison result > x - 1 or similar.
16039         * tests/test-ceilf2.c (correct_result_p): Likewise.
16040         * tests/test-truncf2.c (correct_result_p): Likewise.
16041         * tests/test-trunc2.c (correct_result_p): Likewise.
16042         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16043
16044 2007-10-20  Bruno Haible  <bruno@clisp.org>
16045
16046         * modules/ceil: New file.
16047         * m4/ceil.m4: New file.
16048         * doc/functions/ceil.texi: Mention the 'ceil' module.
16049
16050 2007-10-20  Bruno Haible  <bruno@clisp.org>
16051
16052         * modules/floor: New file.
16053         * m4/floor.m4: New file.
16054         * doc/functions/floor.texi: Mention the 'floor' module.
16055
16056 2007-10-20  Bruno Haible  <bruno@clisp.org>
16057
16058         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
16059         of %a.
16060         * modules/floorf-tests (Depends-on): Likewise.
16061         * modules/truncf-tests (Depends-on): Likewise.
16062         * modules/trunc-tests (Depends-on): Likewise.
16063         Reported by Ben Pfaff.
16064
16065 2007-10-19  Jim Meyering  <meyering@redhat.com>
16066
16067         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
16068         Don't bother testing specific errno values.  Just test ferror.
16069
16070         New module: xprintf
16071         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
16072
16073 2007-10-19  Bruno Haible  <bruno@clisp.org>
16074
16075         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
16076         syntax.
16077         * modules/javaexec (Makefile.am): Likewise.
16078         * modules/relocatable-prog (Makefile.am): Likewise.
16079         Suggested by Jim Meyering.
16080
16081 2007-10-18  Bruno Haible  <bruno@clisp.org>
16082
16083         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
16084         Reported by Jim Meyering.
16085
16086 2007-10-18  Eric Blake  <ebb9@byu.net>
16087
16088         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
16089
16090 2007-10-18  Bruno Haible  <bruno@clisp.org>
16091
16092         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
16093         the format string into writable memory. Needed in Fortify conditions.
16094
16095 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
16096             Bruno Haible  <bruno@clisp.org>
16097
16098         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
16099         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
16100         * modules/trim (Depends-on): Add mbchar.
16101         (configure.ac): Add gl_FUNC_MBRTOWC.
16102         (Makefile.am): Augment lib_SOURCES.
16103
16104 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
16105
16106         Modify glob.c to use fstatat and dirfd, to simplify it.
16107         Suggested by Eric Blake.
16108         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
16109         Don't include <stdbool.h>; not used.
16110         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
16111         (link_exists_p): Simplify implementation, since we can now assume
16112         dirfd and fstatat.
16113         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
16114
16115 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16116
16117         * gnulib-tool (func_get_dependencies): Fix sed script to
16118         match only tests.
16119
16120 2007-10-17  Bruno Haible  <bruno@clisp.org>
16121
16122         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
16123         allow locale names without encoding suffix.
16124         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
16125         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
16126
16127 2007-10-16  Bruno Haible  <bruno@clisp.org>
16128
16129         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
16130         * lib/getgroups.c (getgroups): Likewise.
16131         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
16132
16133 2007-10-16  Bruno Haible  <bruno@clisp.org>
16134
16135         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
16136         * modules/malloc-posix (License): Likewise.
16137         * modules/realloc-posix (License): Likewise.
16138         * modules/calloc-posix (License): Likewise.
16139         * modules/intprops (License): Change from GPL to LGPL, with
16140         Paul Eggert's approval.
16141
16142 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
16143
16144         Merge glibc changes into lib/glob.c.
16145
16146         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
16147         2007-10-15 04:59:03 UTC.  Here are the changes:
16148
16149         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
16150
16151         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
16152
16153         * lib/glob.c: Add some branch prediction throughout.
16154
16155         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
16156
16157         [BZ #5103]
16158         * lib/glob.c (glob): Recognize patterns starting \/.
16159
16160         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
16161
16162         [BZ #3996]
16163         * lib/glob.c (attribute_hidden): Define if not defined.
16164         (glob): Unescape dirname, filename or username when needed and not
16165         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
16166         is NULL.  Handle unescaped [ in pattern without closing ].
16167         Don't pass GLOB_CHECK down to recursive glob for directories.
16168         (__glob_pattern_type): New function.
16169         (__glob_pattern_p): Implement using __glob_pattern_type.
16170         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
16171         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
16172         Remove unreachable code.
16173
16174         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
16175
16176         * lib/glob.c (glob_in_dir): Add some comments and asserts to
16177         explain why there are no leaks.
16178
16179         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
16180
16181         [BZ #3253]
16182         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
16183         time, rather allocate increasingly bigger arrays of pointers, if
16184         possible with alloca, if too large with malloc.
16185
16186 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
16187
16188         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
16189         Problem reported by H.Merijn Brand in
16190         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
16191         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
16192         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
16193
16194 2007-10-15  Bruno Haible  <bruno@clisp.org>
16195
16196         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
16197         with explicit rpl_ prefix.
16198         * lib/fopen.c (fopen): Likewise.
16199         * lib/freopen.c (freopen): Likewise.
16200         * lib/iconv.c (iconv): Likewise.
16201         * lib/iconv_close.c (iconv_close): Likewise.
16202
16203 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16204
16205         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
16206
16207 2007-10-15  Bruno Haible  <bruno@clisp.org>
16208
16209         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
16210         <stddef.h> instead of <stdlib.h> since we only need NULL.
16211         Reported by Ben Pfaff <blp@cs.stanford.edu>.
16212
16213 2007-10-15  Bruno Haible  <bruno@clisp.org>
16214
16215         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
16216         Replace paragraph talking about LIBOBJS.
16217         Reported by Colin Watson <cjwatson@debian.org>.
16218
16219 2007-10-15  Bruno Haible  <bruno@clisp.org>
16220
16221         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
16222         <stdlib.h> before using NULL.
16223
16224 2007-10-15  Simon Josefsson  <simon@josefsson.org>
16225
16226         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
16227         Reported by Albert Chin <china@thewrittenword.com>.
16228
16229 2007-10-14  Bruno Haible  <bruno@clisp.org>
16230
16231         * modules/iconv_open-utf-tests: New file.
16232         * tests/test-iconv-utf.c: New file.
16233
16234         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
16235         * modules/iconv_open-utf: New file.
16236         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
16237         (iconv, iconv_close): New declarations.
16238         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
16239         be defined.
16240         (iconv_open): Add special handling of conversion between UTF-8 and
16241         UTF-{16,32}{BE,LE}.
16242         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
16243         * lib/iconv_close.c: New file.
16244         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
16245         gl_FUNC_ICONV_OPEN.
16246         (gl_FUNC_ICONV_OPEN): Use it.
16247         (gl_FUNC_ICONV_OPEN_UTF): New macro.
16248         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
16249         and REPLACE_ICONV_UTF.
16250         * modules/iconv_open (Depends-on): Add c-strcase.
16251         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
16252         ICONV_CONST.
16253         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
16254
16255 2007-10-13  Albert Chin  <china@thewrittenword.com>
16256             Bruno Haible  <bruno@clisp.org>
16257
16258         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
16259         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
16260
16261 2007-10-13  Bruno Haible  <bruno@clisp.org>
16262
16263         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
16264         defined, use the ISO C99 inline semantics.
16265         * lib/argp.h (ARGP_EI): Likewise.
16266
16267 2007-10-13  Bruno Haible  <bruno@clisp.org>
16268
16269         Handle 'inline' change in gcc 4.3.0.
16270         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
16271         argp_fmtstream_write, argp_fmtstream_set_lmargin,
16272         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
16273         argp_fmtstream_point): Disable 'extern' declaration if the function
16274         definition is going to be provided inline.
16275         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
16276         semantics, not the ISO C99 inline semantics.
16277         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
16278         'extern' declaration if the function definition is going to be provided
16279         inline.
16280         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
16281         the GNU C inline semantics, not the ISO C99 inline semantics. With
16282         GCC 4.2, avoid a warning.
16283
16284 2007-10-13  Bruno Haible  <bruno@clisp.org>
16285
16286         * lib/freading.h (freading): Enable the use of __freading for
16287         glibc >= 2.7.
16288         * lib/freading.c (freading): Likewise.
16289
16290 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
16291
16292         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
16293         "warning: C99 inline functions are not supported; using GNU89".
16294
16295 2007-10-12  Bruno Haible  <bruno@clisp.org>
16296
16297         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
16298         of 2.
16299         * tests/test-ceilf2.c: New file.
16300         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
16301
16302         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
16303         * modules/ceilf-tests: Update.
16304
16305 2007-10-12  Bruno Haible  <bruno@clisp.org>
16306
16307         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
16308         of 2.
16309         * tests/test-floorf2.c: New file.
16310         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
16311
16312         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
16313         * modules/floorf-tests: Update.
16314
16315 2007-10-12  Bruno Haible  <bruno@clisp.org>
16316
16317         * tests/test-trunc2.c: New file.
16318         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
16319
16320         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
16321         * modules/trunc-tests: Update.
16322
16323 2007-10-12  Bruno Haible  <bruno@clisp.org>
16324
16325         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
16326         of 2.
16327         * tests/test-truncf2.c: New file.
16328         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
16329
16330         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
16331         * modules/truncf-tests: Update.
16332
16333 2007-10-11  Eric Blake  <ebb9@byu.net>
16334
16335         Don't claim strerror is broken on Interix.
16336         * doc/functions/strerror.texi (strerror): Known broken systems are
16337         now Solaris 8, and not Interix.
16338         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
16339         Interix on cross-compile.
16340         Reported by Martin Koeppe in
16341         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
16342
16343 2007-10-11  Bruno Haible  <bruno@clisp.org>
16344
16345         * modules/i-ring-tests: New file.
16346         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
16347         instead of assert.
16348
16349 2007-10-11  Bruno Haible  <bruno@clisp.org>
16350
16351         * modules/filenamecat-tests: New file.
16352         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
16353         * lib/filenamecat.c: Remove test code.
16354
16355 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
16356
16357         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
16358
16359         * lib/strerror.c: Include <string.h> always, to test interface,
16360         and to remove the need for the dummy.
16361         Include intprops.h to compute width instead of doing it ourselves
16362         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
16363         (strerror): Define it to return NULL if there's no system strerror.
16364         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
16365         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
16366         ancient pre-strerror Unix systems well any more.  Saying "unknown
16367         system error" is enough.
16368         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
16369         simpler strerror.c implementation.
16370         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
16371         Simplify the tests to reflect the simpler strerror implementation.
16372         * modules/strerror (Depends-on): Add intprops.
16373
16374 2007-10-09  Eric Blake  <ebb9@byu.net>
16375
16376         Silence test-fpending.
16377         * modules/fpending-tests (Files): Add wrapper script.
16378         * tests/test-fpending.sh: New file.
16379
16380 2007-10-09  Bruno Haible  <bruno@clisp.org>
16381
16382         * MODULES.html.sh (func_module): Don't create a hyperlink for
16383         function names like 'printf_frexp'.
16384         (Misc): Add crc, memxor.
16385         (Characteristics of floating types): New section.
16386         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
16387         isnanf-nolibm, signbit, trunc, truncf, truncl.
16388         (Enhancements for ISO C 99 functions): New subsection Input/output.
16389         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
16390         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
16391         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
16392         (Compatibility checks for POSIX:2001 functions): Add clock-time.
16393         (Enhancements for POSIX:2001 functions): Add chdir-long.
16394         (File system functions): Add areadlink, chdir-safer, read-file.
16395         Remove cycle-check.
16396         (File system as inode set): New section.
16397         (Date and time): Add gethrxtime.
16398         (Multithreading): Add openmp.
16399         (Internationalization functions): Add localename.
16400         (Unicode string functions): Add unistr/u*-mbsnlen.
16401         (Support for maintaining and releasing projects): Add git-version-gen.
16402         (Lone files): Remove directories.
16403
16404 2007-10-08  Ben Pfaff  <blp@gnu.org>
16405
16406         * lib/xmalloca.h: Fix typo in comment.
16407
16408 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
16409
16410         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
16411         when avoiding problems with integer overflow.  Use a portable test
16412         instead.
16413
16414 2007-10-08  Simon Josefsson  <simon@josefsson.org>
16415
16416         * modules/dummy (License): Change to LGPLv2+.
16417         * modules/float (License): Likewise
16418         * modules/realloc (License): Likewise
16419         * modules/stdlib (License): Likewise
16420
16421 2007-10-07  Bruno Haible  <bruno@clisp.org>
16422
16423         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
16424         * floor.c (TWO_MANT_DIG): Likewise.
16425         * ceil.c (TWO_MANT_DIG): Likewise.
16426         Reported by Ben Pfaff.
16427
16428 2007-10-07  Bruno Haible  <bruno@clisp.org>
16429
16430         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
16431         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
16432         * lib/frexp.c (FUNC): Likewise.
16433         * lib/printf-frexp.h (printf_frexp): Likewise.
16434         * lib/printf-frexpl.h (printf_frexpl): Likewise.
16435         * lib/printf-frexp.c (FUNC): Likewise.
16436         Suggested by Jim Meyering.
16437
16438 2007-10-07  Jim Meyering  <meyering@redhat.com>
16439
16440         Make xnanosleep's integer overflow test more robust.
16441         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
16442         so that gcc-4.3.0 doesn't optimize away this test for overflow.
16443
16444 2007-10-07  Bruno Haible  <bruno@clisp.org>
16445
16446         * NEWS: Mention the license change.
16447
16448         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
16449         abbreviations in the modules files.
16450
16451         Change copyright notice from GPLv2+ to GPLv3+.
16452         * README: Change copyright notice.
16453         * MODULES.html.sh: Likewise.
16454         * build-aux/bootstrap.conf: Likewise.
16455         * build-aux/config.libpath: Likewise.
16456         * build-aux/csharpcomp.sh.in: Likewise.
16457         * build-aux/csharpexec.sh.in: Likewise.
16458         * build-aux/install-reloc: Likewise.
16459         * build-aux/javacomp.sh.in: Likewise.
16460         * build-aux/javaexec.sh.in: Likewise.
16461         * build-aux/ldd.sh.in: Likewise.
16462         * build-aux/reloc-ldflags: Likewise.
16463         * build-aux/relocatable.sh.in: Likewise.
16464         * build-aux/x-to-1.in: Likewise.
16465         * check-module: Likewise.
16466         * config/srclistvars.sh: Likewise.
16467         * gnulib-tool: Likewise.
16468         * lib/acl-internal.h: Likewise.
16469         * lib/acl.c: Likewise.
16470         * lib/acl.h: Likewise.
16471         * lib/acl_entries.c: Likewise.
16472         * lib/areadlink-with-size.c: Likewise.
16473         * lib/areadlink.c: Likewise.
16474         * lib/areadlink.h: Likewise.
16475         * lib/argmatch.c: Likewise.
16476         * lib/argmatch.h: Likewise.
16477         * lib/argp-ba.c: Likewise.
16478         * lib/argp-eexst.c: Likewise.
16479         * lib/argp-fmtstream.c: Likewise.
16480         * lib/argp-fmtstream.h: Likewise.
16481         * lib/argp-fs-xinl.c: Likewise.
16482         * lib/argp-help.c: Likewise.
16483         * lib/argp-namefrob.h: Likewise.
16484         * lib/argp-parse.c: Likewise.
16485         * lib/argp-pin.c: Likewise.
16486         * lib/argp-pv.c: Likewise.
16487         * lib/argp-pvh.c: Likewise.
16488         * lib/argp-xinl.c: Likewise.
16489         * lib/argp.h: Likewise.
16490         * lib/at-func.c: Likewise.
16491         * lib/atanl.c: Likewise.
16492         * lib/backupfile.c: Likewise.
16493         * lib/backupfile.h: Likewise.
16494         * lib/basename.c: Likewise.
16495         * lib/binary-io.h: Likewise.
16496         * lib/byteswap.in.h: Likewise.
16497         * lib/c-stack.c: Likewise.
16498         * lib/c-stack.h: Likewise.
16499         * lib/c-strcasestr.c: Likewise.
16500         * lib/c-strcasestr.h: Likewise.
16501         * lib/c-strstr.c: Likewise.
16502         * lib/c-strstr.h: Likewise.
16503         * lib/c-strtod.c: Likewise.
16504         * lib/calloc.c: Likewise.
16505         * lib/canon-host.c: Likewise.
16506         * lib/canon-host.h: Likewise.
16507         * lib/canonicalize-lgpl.c: Likewise.
16508         * lib/canonicalize.c: Likewise.
16509         * lib/canonicalize.h: Likewise.
16510         * lib/ceil.c: Likewise.
16511         * lib/ceilf.c: Likewise.
16512         * lib/ceill.c: Likewise.
16513         * lib/chdir-long.c: Likewise.
16514         * lib/chdir-long.h: Likewise.
16515         * lib/chdir-safer.c: Likewise.
16516         * lib/chdir-safer.h: Likewise.
16517         * lib/chown.c: Likewise.
16518         * lib/classpath.c: Likewise.
16519         * lib/classpath.h: Likewise.
16520         * lib/clean-temp.c: Likewise.
16521         * lib/clean-temp.h: Likewise.
16522         * lib/cloexec.c: Likewise.
16523         * lib/close-stream.c: Likewise.
16524         * lib/closein.c: Likewise.
16525         * lib/closein.h: Likewise.
16526         * lib/closeout.c: Likewise.
16527         * lib/closeout.h: Likewise.
16528         * lib/concat-filename.c: Likewise.
16529         * lib/copy-file.c: Likewise.
16530         * lib/copy-file.h: Likewise.
16531         * lib/count-one-bits.h: Likewise.
16532         * lib/crc.c: Likewise.
16533         * lib/crc.h: Likewise.
16534         * lib/creat-safer.c: Likewise.
16535         * lib/csharpcomp.c: Likewise.
16536         * lib/csharpcomp.h: Likewise.
16537         * lib/csharpexec.c: Likewise.
16538         * lib/csharpexec.h: Likewise.
16539         * lib/cycle-check.c: Likewise.
16540         * lib/cycle-check.h: Likewise.
16541         * lib/diacrit.c: Likewise.
16542         * lib/diacrit.h: Likewise.
16543         * lib/diffseq.h: Likewise.
16544         * lib/dirchownmod.c: Likewise.
16545         * lib/dirent.in.h: Likewise.
16546         * lib/dirfd.c: Likewise.
16547         * lib/dirfd.h: Likewise.
16548         * lib/dirname.c: Likewise.
16549         * lib/dirname.h: Likewise.
16550         * lib/dummy.c: Likewise.
16551         * lib/dup-safer.c: Likewise.
16552         * lib/dup2.c: Likewise.
16553         * lib/eealloc.h: Likewise.
16554         * lib/error.c: Likewise.
16555         * lib/error.h: Likewise.
16556         * lib/euidaccess.c: Likewise.
16557         * lib/exclude.c: Likewise.
16558         * lib/exclude.h: Likewise.
16559         * lib/execute.c: Likewise.
16560         * lib/execute.h: Likewise.
16561         * lib/exitfail.c: Likewise.
16562         * lib/exitfail.h: Likewise.
16563         * lib/expl.c: Likewise.
16564         * lib/fatal-signal.c: Likewise.
16565         * lib/fatal-signal.h: Likewise.
16566         * lib/fbufmode.c: Likewise.
16567         * lib/fbufmode.h: Likewise.
16568         * lib/fchdir.c: Likewise.
16569         * lib/fchmodat.c: Likewise.
16570         * lib/fchownat.c: Likewise.
16571         * lib/fcntl--.h: Likewise.
16572         * lib/fcntl-safer.h: Likewise.
16573         * lib/fcntl.in.h: Likewise.
16574         * lib/fd-safer.c: Likewise.
16575         * lib/fflush.c: Likewise.
16576         * lib/file-has-acl.c: Likewise.
16577         * lib/file-set.c: Likewise.
16578         * lib/file-type.c: Likewise.
16579         * lib/file-type.h: Likewise.
16580         * lib/fileblocks.c: Likewise.
16581         * lib/filemode.c: Likewise.
16582         * lib/filemode.h: Likewise.
16583         * lib/filename.h: Likewise.
16584         * lib/filenamecat.c: Likewise.
16585         * lib/filenamecat.h: Likewise.
16586         * lib/findprog.c: Likewise.
16587         * lib/findprog.h: Likewise.
16588         * lib/float.in.h: Likewise.
16589         * lib/floor.c: Likewise.
16590         * lib/floorf.c: Likewise.
16591         * lib/floorl.c: Likewise.
16592         * lib/fopen-safer.c: Likewise.
16593         * lib/fopen.c: Likewise.
16594         * lib/fpending.c: Likewise.
16595         * lib/fpending.h: Likewise.
16596         * lib/fprintf.c: Likewise.
16597         * lib/fprintftime.h: Likewise.
16598         * lib/fpucw.h: Likewise.
16599         * lib/fpurge.c: Likewise.
16600         * lib/fpurge.h: Likewise.
16601         * lib/freadable.c: Likewise.
16602         * lib/freadable.h: Likewise.
16603         * lib/freadahead.c: Likewise.
16604         * lib/freadahead.h: Likewise.
16605         * lib/freading.c: Likewise.
16606         * lib/freading.h: Likewise.
16607         * lib/free.c: Likewise.
16608         * lib/freopen.c: Likewise.
16609         * lib/frexp.c: Likewise.
16610         * lib/frexpl.c: Likewise.
16611         * lib/fseek.c: Likewise.
16612         * lib/fseterr.c: Likewise.
16613         * lib/fseterr.h: Likewise.
16614         * lib/fstatat.c: Likewise.
16615         * lib/fstrcmp.c: Likewise.
16616         * lib/fstrcmp.h: Likewise.
16617         * lib/fsusage.c: Likewise.
16618         * lib/fsusage.h: Likewise.
16619         * lib/ftell.c: Likewise.
16620         * lib/ftello.c: Likewise.
16621         * lib/fts-cycle.c: Likewise.
16622         * lib/fts.c: Likewise.
16623         * lib/fts_.h: Likewise.
16624         * lib/full-read.c: Likewise.
16625         * lib/full-read.h: Likewise.
16626         * lib/full-write.c: Likewise.
16627         * lib/full-write.h: Likewise.
16628         * lib/fwritable.c: Likewise.
16629         * lib/fwritable.h: Likewise.
16630         * lib/fwriteerror.c: Likewise.
16631         * lib/fwriteerror.h: Likewise.
16632         * lib/fwriting.c: Likewise.
16633         * lib/fwriting.h: Likewise.
16634         * lib/gcd.c: Likewise.
16635         * lib/gcd.h: Likewise.
16636         * lib/getcwd.c: Likewise.
16637         * lib/getdate.h: Likewise.
16638         * lib/getdate.y: Likewise.
16639         * lib/getdomainname.c: Likewise.
16640         * lib/getdomainname.h: Likewise.
16641         * lib/getgroups.c: Likewise.
16642         * lib/gethostname.c: Likewise.
16643         * lib/gethrxtime.c: Likewise.
16644         * lib/gethrxtime.h: Likewise.
16645         * lib/getloadavg.c: Likewise.
16646         * lib/getndelim2.c: Likewise.
16647         * lib/getndelim2.h: Likewise.
16648         * lib/getnline.c: Likewise.
16649         * lib/getnline.h: Likewise.
16650         * lib/getopt.c: Likewise.
16651         * lib/getopt.in.h: Likewise.
16652         * lib/getopt1.c: Likewise.
16653         * lib/getopt_int.h: Likewise.
16654         * lib/getpagesize.h: Likewise.
16655         * lib/getsubopt.c: Likewise.
16656         * lib/gettime.c: Likewise.
16657         * lib/getugroups.c: Likewise.
16658         * lib/getugroups.h: Likewise.
16659         * lib/getusershell.c: Likewise.
16660         * lib/gl_anyavltree_list1.h: Likewise.
16661         * lib/gl_anyavltree_list2.h: Likewise.
16662         * lib/gl_anyhash_list1.h: Likewise.
16663         * lib/gl_anyhash_list2.h: Likewise.
16664         * lib/gl_anylinked_list1.h: Likewise.
16665         * lib/gl_anylinked_list2.h: Likewise.
16666         * lib/gl_anyrbtree_list1.h: Likewise.
16667         * lib/gl_anyrbtree_list2.h: Likewise.
16668         * lib/gl_anytree_list1.h: Likewise.
16669         * lib/gl_anytree_list2.h: Likewise.
16670         * lib/gl_anytree_oset.h: Likewise.
16671         * lib/gl_anytreehash_list1.h: Likewise.
16672         * lib/gl_anytreehash_list2.h: Likewise.
16673         * lib/gl_array_list.c: Likewise.
16674         * lib/gl_array_list.h: Likewise.
16675         * lib/gl_array_oset.c: Likewise.
16676         * lib/gl_array_oset.h: Likewise.
16677         * lib/gl_avltree_list.c: Likewise.
16678         * lib/gl_avltree_list.h: Likewise.
16679         * lib/gl_avltree_oset.c: Likewise.
16680         * lib/gl_avltree_oset.h: Likewise.
16681         * lib/gl_avltreehash_list.c: Likewise.
16682         * lib/gl_avltreehash_list.h: Likewise.
16683         * lib/gl_carray_list.c: Likewise.
16684         * lib/gl_carray_list.h: Likewise.
16685         * lib/gl_linked_list.c: Likewise.
16686         * lib/gl_linked_list.h: Likewise.
16687         * lib/gl_linkedhash_list.c: Likewise.
16688         * lib/gl_linkedhash_list.h: Likewise.
16689         * lib/gl_list.c: Likewise.
16690         * lib/gl_list.h: Likewise.
16691         * lib/gl_oset.c: Likewise.
16692         * lib/gl_oset.h: Likewise.
16693         * lib/gl_rbtree_list.c: Likewise.
16694         * lib/gl_rbtree_list.h: Likewise.
16695         * lib/gl_rbtree_oset.c: Likewise.
16696         * lib/gl_rbtree_oset.h: Likewise.
16697         * lib/gl_rbtreehash_list.c: Likewise.
16698         * lib/gl_rbtreehash_list.h: Likewise.
16699         * lib/gl_sublist.c: Likewise.
16700         * lib/gl_sublist.h: Likewise.
16701         * lib/group-member.c: Likewise.
16702         * lib/group-member.h: Likewise.
16703         * lib/hard-locale.c: Likewise.
16704         * lib/hard-locale.h: Likewise.
16705         * lib/hash-pjw.c: Likewise.
16706         * lib/hash-pjw.h: Likewise.
16707         * lib/hash-triple.c: Likewise.
16708         * lib/hash.c: Likewise.
16709         * lib/hash.h: Likewise.
16710         * lib/human.c: Likewise.
16711         * lib/human.h: Likewise.
16712         * lib/i-ring.c: Likewise.
16713         * lib/i-ring.h: Likewise.
16714         * lib/idcache.c: Likewise.
16715         * lib/imaxabs.c: Likewise.
16716         * lib/imaxdiv.c: Likewise.
16717         * lib/inet_pton.c: Likewise.
16718         * lib/inet_pton.h: Likewise.
16719         * lib/intprops.h: Likewise.
16720         * lib/inttostr.c: Likewise.
16721         * lib/inttostr.h: Likewise.
16722         * lib/inttypes.in.h: Likewise.
16723         * lib/isapipe.c: Likewise.
16724         * lib/isdir.c: Likewise.
16725         * lib/isnan.c: Likewise.
16726         * lib/isnan.h: Likewise.
16727         * lib/isnanf.c: Likewise.
16728         * lib/isnanf.h: Likewise.
16729         * lib/isnanl-nolibm.h: Likewise.
16730         * lib/isnanl.c: Likewise.
16731         * lib/isnanl.h: Likewise.
16732         * lib/javacomp.c: Likewise.
16733         * lib/javacomp.h: Likewise.
16734         * lib/javaexec.c: Likewise.
16735         * lib/javaexec.h: Likewise.
16736         * lib/javaversion.c: Likewise.
16737         * lib/javaversion.h: Likewise.
16738         * lib/javaversion.java: Likewise.
16739         * lib/lbrkprop.h: Likewise.
16740         * lib/lchmod.h: Likewise.
16741         * lib/lchown.c: Likewise.
16742         * lib/ldexpl.c: Likewise.
16743         * lib/linebreak.c: Likewise.
16744         * lib/linebreak.h: Likewise.
16745         * lib/linebuffer.c: Likewise.
16746         * lib/linebuffer.h: Likewise.
16747         * lib/locale.in.h: Likewise.
16748         * lib/logl.c: Likewise.
16749         * lib/long-options.c: Likewise.
16750         * lib/long-options.h: Likewise.
16751         * lib/lstat.c: Likewise.
16752         * lib/lstat.h: Likewise.
16753         * lib/math.in.h: Likewise.
16754         * lib/mbchar.c: Likewise.
16755         * lib/mbchar.h: Likewise.
16756         * lib/mbfile.h: Likewise.
16757         * lib/mbiter.h: Likewise.
16758         * lib/mbscasecmp.c: Likewise.
16759         * lib/mbscasestr.c: Likewise.
16760         * lib/mbschr.c: Likewise.
16761         * lib/mbscspn.c: Likewise.
16762         * lib/mbslen.c: Likewise.
16763         * lib/mbsncasecmp.c: Likewise.
16764         * lib/mbsnlen.c: Likewise.
16765         * lib/mbspbrk.c: Likewise.
16766         * lib/mbspcasecmp.c: Likewise.
16767         * lib/mbsrchr.c: Likewise.
16768         * lib/mbssep.c: Likewise.
16769         * lib/mbsspn.c: Likewise.
16770         * lib/mbsstr.c: Likewise.
16771         * lib/mbstok_r.c: Likewise.
16772         * lib/mbswidth.c: Likewise.
16773         * lib/mbswidth.h: Likewise.
16774         * lib/mbuiter.h: Likewise.
16775         * lib/memcasecmp.c: Likewise.
16776         * lib/memcasecmp.h: Likewise.
16777         * lib/memchr.c: Likewise.
16778         * lib/memcmp.c: Likewise.
16779         * lib/memcoll.c: Likewise.
16780         * lib/memcoll.h: Likewise.
16781         * lib/memcpy.c: Likewise.
16782         * lib/memrchr.c: Likewise.
16783         * lib/mkancesdirs.c: Likewise.
16784         * lib/mkdir-p.c: Likewise.
16785         * lib/mkdir-p.h: Likewise.
16786         * lib/mkdir.c: Likewise.
16787         * lib/mkdirat.c: Likewise.
16788         * lib/mkdtemp.c: Likewise.
16789         * lib/mkstemp-safer.c: Likewise.
16790         * lib/mkstemp.c: Likewise.
16791         * lib/modechange.c: Likewise.
16792         * lib/modechange.h: Likewise.
16793         * lib/mountlist.c: Likewise.
16794         * lib/mountlist.h: Likewise.
16795         * lib/mpsort.c: Likewise.
16796         * lib/nanosleep.c: Likewise.
16797         * lib/obstack.c: Likewise.
16798         * lib/obstack.h: Likewise.
16799         * lib/open-safer.c: Likewise.
16800         * lib/open.c: Likewise.
16801         * lib/openat-die.c: Likewise.
16802         * lib/openat-priv.h: Likewise.
16803         * lib/openat-proc.c: Likewise.
16804         * lib/openat.c: Likewise.
16805         * lib/openat.h: Likewise.
16806         * lib/pagealign_alloc.c: Likewise.
16807         * lib/pagealign_alloc.h: Likewise.
16808         * lib/physmem.c: Likewise.
16809         * lib/physmem.h: Likewise.
16810         * lib/pipe-safer.c: Likewise.
16811         * lib/pipe.c: Likewise.
16812         * lib/pipe.h: Likewise.
16813         * lib/posixtm.c: Likewise.
16814         * lib/posixtm.h: Likewise.
16815         * lib/posixver.c: Likewise.
16816         * lib/printf-frexp.c: Likewise.
16817         * lib/printf-frexp.h: Likewise.
16818         * lib/printf-frexpl.c: Likewise.
16819         * lib/printf-frexpl.h: Likewise.
16820         * lib/printf.c: Likewise.
16821         * lib/progname.c: Likewise.
16822         * lib/progname.h: Likewise.
16823         * lib/progreloc.c: Likewise.
16824         * lib/putenv.c: Likewise.
16825         * lib/quote.c: Likewise.
16826         * lib/quote.h: Likewise.
16827         * lib/quotearg.c: Likewise.
16828         * lib/quotearg.h: Likewise.
16829         * lib/raise.c: Likewise.
16830         * lib/readline.c: Likewise.
16831         * lib/readline.h: Likewise.
16832         * lib/readlink.c: Likewise.
16833         * lib/readtokens.c: Likewise.
16834         * lib/readtokens.h: Likewise.
16835         * lib/readtokens0.c: Likewise.
16836         * lib/readtokens0.h: Likewise.
16837         * lib/readutmp.c: Likewise.
16838         * lib/readutmp.h: Likewise.
16839         * lib/realloc.c: Likewise.
16840         * lib/relocwrapper.c: Likewise.
16841         * lib/rename-dest-slash.c: Likewise.
16842         * lib/rename.c: Likewise.
16843         * lib/rmdir.c: Likewise.
16844         * lib/rpmatch.c: Likewise.
16845         * lib/safe-read.c: Likewise.
16846         * lib/safe-read.h: Likewise.
16847         * lib/safe-write.c: Likewise.
16848         * lib/safe-write.h: Likewise.
16849         * lib/same-inode.h: Likewise.
16850         * lib/same.c: Likewise.
16851         * lib/same.h: Likewise.
16852         * lib/save-cwd.c: Likewise.
16853         * lib/save-cwd.h: Likewise.
16854         * lib/savedir.c: Likewise.
16855         * lib/savedir.h: Likewise.
16856         * lib/savewd.c: Likewise.
16857         * lib/savewd.h: Likewise.
16858         * lib/search.in.h: Likewise.
16859         * lib/setenv.c: Likewise.
16860         * lib/setenv.h: Likewise.
16861         * lib/settime.c: Likewise.
16862         * lib/sh-quote.c: Likewise.
16863         * lib/sh-quote.h: Likewise.
16864         * lib/sig2str.c: Likewise.
16865         * lib/sig2str.h: Likewise.
16866         * lib/signal.in.h: Likewise.
16867         * lib/signbitd.c: Likewise.
16868         * lib/signbitf.c: Likewise.
16869         * lib/signbitl.c: Likewise.
16870         * lib/sigprocmask.c: Likewise.
16871         * lib/sincosl.c: Likewise.
16872         * lib/sleep.c: Likewise.
16873         * lib/sprintf.c: Likewise.
16874         * lib/sqrtl.c: Likewise.
16875         * lib/stat-time.h: Likewise.
16876         * lib/stdio--.h: Likewise.
16877         * lib/stdio-safer.h: Likewise.
16878         * lib/stdlib--.h: Likewise.
16879         * lib/stdlib-safer.h: Likewise.
16880         * lib/stdlib.in.h: Likewise.
16881         * lib/stpcpy.c: Likewise.
16882         * lib/stpncpy.c: Likewise.
16883         * lib/strchrnul.c: Likewise.
16884         * lib/strcspn.c: Likewise.
16885         * lib/strerror.c: Likewise.
16886         * lib/strftime.c: Likewise.
16887         * lib/strftime.h: Likewise.
16888         * lib/striconveh.c: Likewise.
16889         * lib/striconveh.h: Likewise.
16890         * lib/striconveha.c: Likewise.
16891         * lib/striconveha.h: Likewise.
16892         * lib/stripslash.c: Likewise.
16893         * lib/strnlen1.c: Likewise.
16894         * lib/strnlen1.h: Likewise.
16895         * lib/strtod.c: Likewise.
16896         * lib/strtoimax.c: Likewise.
16897         * lib/strtok_r.c: Likewise.
16898         * lib/strtol.c: Likewise.
16899         * lib/strtoll.c: Likewise.
16900         * lib/strtoul.c: Likewise.
16901         * lib/strtoull.c: Likewise.
16902         * lib/sysexits.in.h: Likewise.
16903         * lib/tempname.c: Likewise.
16904         * lib/tempname.h: Likewise.
16905         * lib/timespec.h: Likewise.
16906         * lib/tls.c: Likewise.
16907         * lib/tls.h: Likewise.
16908         * lib/tmpdir.c: Likewise.
16909         * lib/tmpdir.h: Likewise.
16910         * lib/tmpfile-safer.c: Likewise.
16911         * lib/tmpfile.c: Likewise.
16912         * lib/trigl.c: Likewise.
16913         * lib/trigl.h: Likewise.
16914         * lib/trim.c: Likewise.
16915         * lib/trim.h: Likewise.
16916         * lib/trunc.c: Likewise.
16917         * lib/truncf.c: Likewise.
16918         * lib/truncl.c: Likewise.
16919         * lib/tsearch.c: Likewise.
16920         * lib/unicodeio.c: Likewise.
16921         * lib/unicodeio.h: Likewise.
16922         * lib/unistd--.h: Likewise.
16923         * lib/unistd-safer.h: Likewise.
16924         * lib/unistdio/ulc-fprintf.c: Likewise.
16925         * lib/unistdio/ulc-vfprintf.c: Likewise.
16926         * lib/unlinkdir.c: Likewise.
16927         * lib/unlinkdir.h: Likewise.
16928         * lib/unlocked-io.h: Likewise.
16929         * lib/unsetenv.c: Likewise.
16930         * lib/userspec.c: Likewise.
16931         * lib/utime.c: Likewise.
16932         * lib/utimecmp.c: Likewise.
16933         * lib/utimecmp.h: Likewise.
16934         * lib/utimens.c: Likewise.
16935         * lib/verify.h: Likewise.
16936         * lib/verror.c: Likewise.
16937         * lib/verror.h: Likewise.
16938         * lib/version-etc-fsf.c: Likewise.
16939         * lib/version-etc.c: Likewise.
16940         * lib/version-etc.h: Likewise.
16941         * lib/vfprintf.c: Likewise.
16942         * lib/vprintf.c: Likewise.
16943         * lib/vsprintf.c: Likewise.
16944         * lib/w32spawn.h: Likewise.
16945         * lib/wait-process.c: Likewise.
16946         * lib/wait-process.h: Likewise.
16947         * lib/wcwidth.c: Likewise.
16948         * lib/write-any-file.c: Likewise.
16949         * lib/xalloc-die.c: Likewise.
16950         * lib/xalloc.h: Likewise.
16951         * lib/xasprintf.c: Likewise.
16952         * lib/xgetcwd.c: Likewise.
16953         * lib/xgetcwd.h: Likewise.
16954         * lib/xgetdomainname.c: Likewise.
16955         * lib/xgetdomainname.h: Likewise.
16956         * lib/xgethostname.c: Likewise.
16957         * lib/xmalloc.c: Likewise.
16958         * lib/xmalloca.c: Likewise.
16959         * lib/xmalloca.h: Likewise.
16960         * lib/xmemcoll.c: Likewise.
16961         * lib/xnanosleep.c: Likewise.
16962         * lib/xreadlink.c: Likewise.
16963         * lib/xreadlink.h: Likewise.
16964         * lib/xsetenv.c: Likewise.
16965         * lib/xsetenv.h: Likewise.
16966         * lib/xstriconv.c: Likewise.
16967         * lib/xstriconv.h: Likewise.
16968         * lib/xstrndup.c: Likewise.
16969         * lib/xstrndup.h: Likewise.
16970         * lib/xstrtod.c: Likewise.
16971         * lib/xstrtod.h: Likewise.
16972         * lib/xstrtol-error.c: Likewise.
16973         * lib/xstrtol.c: Likewise.
16974         * lib/xstrtol.h: Likewise.
16975         * lib/xtime.h: Likewise.
16976         * lib/xvasprintf.c: Likewise.
16977         * lib/xvasprintf.h: Likewise.
16978         * lib/yesno.c: Likewise.
16979         * lib/yesno.h: Likewise.
16980         * posix-modules: Likewise.
16981         * tests/test-alloca-opt.c: Likewise.
16982         * tests/test-arcfour.c: Likewise.
16983         * tests/test-arctwo.c: Likewise.
16984         * tests/test-argmatch.c: Likewise.
16985         * tests/test-argp-2.sh: Likewise.
16986         * tests/test-argp.c: Likewise.
16987         * tests/test-arpa_inet.c: Likewise.
16988         * tests/test-array_list.c: Likewise.
16989         * tests/test-array_oset.c: Likewise.
16990         * tests/test-atexit.c: Likewise.
16991         * tests/test-avltree_list.c: Likewise.
16992         * tests/test-avltree_oset.c: Likewise.
16993         * tests/test-avltreehash_list.c: Likewise.
16994         * tests/test-base64.c: Likewise.
16995         * tests/test-binary-io.c: Likewise.
16996         * tests/test-byteswap.c: Likewise.
16997         * tests/test-c-ctype.c: Likewise.
16998         * tests/test-c-strcasecmp.c: Likewise.
16999         * tests/test-c-strcasestr.c: Likewise.
17000         * tests/test-c-strncasecmp.c: Likewise.
17001         * tests/test-c-strstr.c: Likewise.
17002         * tests/test-canonicalize-lgpl.c: Likewise.
17003         * tests/test-canonicalize.c: Likewise.
17004         * tests/test-carray_list.c: Likewise.
17005         * tests/test-ceilf.c: Likewise.
17006         * tests/test-ceill.c: Likewise.
17007         * tests/test-count-one-bits.c: Likewise.
17008         * tests/test-crc.c: Likewise.
17009         * tests/test-dirname.c: Likewise.
17010         * tests/test-fbufmode.c: Likewise.
17011         * tests/test-fcntl.c: Likewise.
17012         * tests/test-fflush.c: Likewise.
17013         * tests/test-floorf.c: Likewise.
17014         * tests/test-floorl.c: Likewise.
17015         * tests/test-fopen.c: Likewise.
17016         * tests/test-fprintf-posix.c: Likewise.
17017         * tests/test-fprintf-posix.h: Likewise.
17018         * tests/test-fpurge.c: Likewise.
17019         * tests/test-freadable.c: Likewise.
17020         * tests/test-freadahead.c: Likewise.
17021         * tests/test-freading.c: Likewise.
17022         * tests/test-freopen.c: Likewise.
17023         * tests/test-frexp.c: Likewise.
17024         * tests/test-frexpl.c: Likewise.
17025         * tests/test-fseek.c: Likewise.
17026         * tests/test-fseeko.c: Likewise.
17027         * tests/test-fseterr.c: Likewise.
17028         * tests/test-fstrcmp.c: Likewise.
17029         * tests/test-ftell.c: Likewise.
17030         * tests/test-ftello.c: Likewise.
17031         * tests/test-fwritable.c: Likewise.
17032         * tests/test-fwriting.c: Likewise.
17033         * tests/test-getaddrinfo.c: Likewise.
17034         * tests/test-getpass.c: Likewise.
17035         * tests/test-gettimeofday.c: Likewise.
17036         * tests/test-hmac-md5.c: Likewise.
17037         * tests/test-hmac-sha1.c: Likewise.
17038         * tests/test-iconv.c: Likewise.
17039         * tests/test-iconvme.c: Likewise.
17040         * tests/test-inttypes.c: Likewise.
17041         * tests/test-isnan.c: Likewise.
17042         * tests/test-isnanf.c: Likewise.
17043         * tests/test-isnanl-nolibm.c: Likewise.
17044         * tests/test-isnanl.c: Likewise.
17045         * tests/test-isnanl.h: Likewise.
17046         * tests/test-ldexpl.c: Likewise.
17047         * tests/test-linked_list.c: Likewise.
17048         * tests/test-linkedhash_list.c: Likewise.
17049         * tests/test-locale.c: Likewise.
17050         * tests/test-localename.c: Likewise.
17051         * tests/test-lock.c: Likewise.
17052         * tests/test-lseek.c: Likewise.
17053         * tests/test-malloca.c: Likewise.
17054         * tests/test-math.c: Likewise.
17055         * tests/test-mbscasecmp.c: Likewise.
17056         * tests/test-mbscasestr1.c: Likewise.
17057         * tests/test-mbscasestr2.c: Likewise.
17058         * tests/test-mbscasestr3.c: Likewise.
17059         * tests/test-mbscasestr4.c: Likewise.
17060         * tests/test-mbschr.c: Likewise.
17061         * tests/test-mbscspn.c: Likewise.
17062         * tests/test-mbsncasecmp.c: Likewise.
17063         * tests/test-mbspbrk.c: Likewise.
17064         * tests/test-mbspcasecmp.c: Likewise.
17065         * tests/test-mbsrchr.c: Likewise.
17066         * tests/test-mbsspn.c: Likewise.
17067         * tests/test-mbsstr1.c: Likewise.
17068         * tests/test-mbsstr2.c: Likewise.
17069         * tests/test-mbsstr3.c: Likewise.
17070         * tests/test-md5.c: Likewise.
17071         * tests/test-memmem.c: Likewise.
17072         * tests/test-netinet_in.c: Likewise.
17073         * tests/test-open.c: Likewise.
17074         * tests/test-printf-frexp.c: Likewise.
17075         * tests/test-printf-frexpl.c: Likewise.
17076         * tests/test-printf-posix.c: Likewise.
17077         * tests/test-printf-posix.h: Likewise.
17078         * tests/test-rbtree_list.c: Likewise.
17079         * tests/test-rbtree_oset.c: Likewise.
17080         * tests/test-rbtreehash_list.c: Likewise.
17081         * tests/test-read-file.c: Likewise.
17082         * tests/test-rijndael.c: Likewise.
17083         * tests/test-search.c: Likewise.
17084         * tests/test-signbit.c: Likewise.
17085         * tests/test-sleep.c: Likewise.
17086         * tests/test-snprintf-posix.c: Likewise.
17087         * tests/test-snprintf-posix.h: Likewise.
17088         * tests/test-snprintf.c: Likewise.
17089         * tests/test-sprintf-posix.c: Likewise.
17090         * tests/test-sprintf-posix.h: Likewise.
17091         * tests/test-stat-time.c: Likewise.
17092         * tests/test-stdbool.c: Likewise.
17093         * tests/test-stdint.c: Likewise.
17094         * tests/test-stdio.c: Likewise.
17095         * tests/test-stdlib.c: Likewise.
17096         * tests/test-stpncpy.c: Likewise.
17097         * tests/test-strcasestr.c: Likewise.
17098         * tests/test-striconv.c: Likewise.
17099         * tests/test-striconveh.c: Likewise.
17100         * tests/test-striconveha.c: Likewise.
17101         * tests/test-string.c: Likewise.
17102         * tests/test-sys_select.c: Likewise.
17103         * tests/test-sys_socket.c: Likewise.
17104         * tests/test-sys_stat.c: Likewise.
17105         * tests/test-sys_time.c: Likewise.
17106         * tests/test-sysexits.c: Likewise.
17107         * tests/test-time.c: Likewise.
17108         * tests/test-tls.c: Likewise.
17109         * tests/test-trunc.c: Likewise.
17110         * tests/test-truncf.c: Likewise.
17111         * tests/test-truncl.c: Likewise.
17112         * tests/test-unistd.c: Likewise.
17113         * tests/test-vasnprintf-posix.c: Likewise.
17114         * tests/test-vasnprintf-posix2.c: Likewise.
17115         * tests/test-vasnprintf.c: Likewise.
17116         * tests/test-vasprintf-posix.c: Likewise.
17117         * tests/test-vasprintf.c: Likewise.
17118         * tests/test-verify.c: Likewise.
17119         * tests/test-vfprintf-posix.c: Likewise.
17120         * tests/test-vprintf-posix.c: Likewise.
17121         * tests/test-vsnprintf-posix.c: Likewise.
17122         * tests/test-vsnprintf.c: Likewise.
17123         * tests/test-vsprintf-posix.c: Likewise.
17124         * tests/test-wchar.c: Likewise.
17125         * tests/test-wctype.c: Likewise.
17126         * tests/test-wcwidth.c: Likewise.
17127         * tests/test-xstrtol.c: Likewise.
17128         * tests/test-xvasprintf.c: Likewise.
17129         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
17130         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
17131         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
17132         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
17133         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
17134         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
17135         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
17136         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
17137         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
17138         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
17139         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
17140         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
17141         * tests/uniname/test-uninames.c: Likewise.
17142         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
17143         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
17144         * tests/unistdio/test-u16-printf1.h: Likewise.
17145         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
17146         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
17147         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
17148         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
17149         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
17150         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
17151         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
17152         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
17153         * tests/unistdio/test-u32-printf1.h: Likewise.
17154         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
17155         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
17156         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
17157         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
17158         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
17159         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
17160         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
17161         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
17162         * tests/unistdio/test-u8-printf1.h: Likewise.
17163         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
17164         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
17165         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
17166         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
17167         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
17168         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
17169         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
17170         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
17171         * tests/unistdio/test-ulc-printf1.h: Likewise.
17172         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
17173         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
17174         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
17175         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
17176         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
17177         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
17178         * tests/uniwidth/test-u16-strwidth.c: Likewise.
17179         * tests/uniwidth/test-u16-width.c: Likewise.
17180         * tests/uniwidth/test-u32-strwidth.c: Likewise.
17181         * tests/uniwidth/test-u32-width.c: Likewise.
17182         * tests/uniwidth/test-u8-strwidth.c: Likewise.
17183         * tests/uniwidth/test-u8-width.c: Likewise.
17184         * tests/uniwidth/test-uc_width.c: Likewise.
17185         * config/srclist-update: Likewise.
17186         (fixlicense): Update to GPLv3+.
17187
17188         Change copyright notice from LGPLv2.1+ to LGPLv3+.
17189         * tests/test-tsearch.c: Change copyright notice.
17190
17191         Change copyright notice from LGPLv2.0+ to LGPLv3+.
17192         * lib/c-strcaseeq.h: Change copyright notice.
17193         * lib/streq.h: Likewise.
17194         * lib/uniconv.h: Likewise.
17195         * lib/uniconv/u-conv-from-enc.h: Likewise.
17196         * lib/uniconv/u-conv-to-enc.h: Likewise.
17197         * lib/uniconv/u-strconv-from-enc.h: Likewise.
17198         * lib/uniconv/u-strconv-to-enc.h: Likewise.
17199         * lib/uniconv/u16-conv-from-enc.c: Likewise.
17200         * lib/uniconv/u16-conv-to-enc.c: Likewise.
17201         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
17202         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
17203         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
17204         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
17205         * lib/uniconv/u32-conv-from-enc.c: Likewise.
17206         * lib/uniconv/u32-conv-to-enc.c: Likewise.
17207         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
17208         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
17209         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
17210         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
17211         * lib/uniconv/u8-conv-from-enc.c: Likewise.
17212         * lib/uniconv/u8-conv-to-enc.c: Likewise.
17213         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
17214         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
17215         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
17216         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
17217         * lib/uniname.h: Likewise.
17218         * lib/uniname/uniname.c: Likewise.
17219         * lib/unistdio.h: Likewise.
17220         * lib/unistdio/u-asnprintf.h: Likewise.
17221         * lib/unistdio/u-asprintf.h: Likewise.
17222         * lib/unistdio/u-printf-args.c: Likewise.
17223         * lib/unistdio/u-printf-args.h: Likewise.
17224         * lib/unistdio/u-printf-parse.h: Likewise.
17225         * lib/unistdio/u-snprintf.h: Likewise.
17226         * lib/unistdio/u-sprintf.h: Likewise.
17227         * lib/unistdio/u-vasprintf.h: Likewise.
17228         * lib/unistdio/u-vsnprintf.h: Likewise.
17229         * lib/unistdio/u-vsprintf.h: Likewise.
17230         * lib/unistdio/u16-asnprintf.c: Likewise.
17231         * lib/unistdio/u16-asprintf.c: Likewise.
17232         * lib/unistdio/u16-printf-parse.c: Likewise.
17233         * lib/unistdio/u16-snprintf.c: Likewise.
17234         * lib/unistdio/u16-sprintf.c: Likewise.
17235         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
17236         * lib/unistdio/u16-u16-asprintf.c: Likewise.
17237         * lib/unistdio/u16-u16-snprintf.c: Likewise.
17238         * lib/unistdio/u16-u16-sprintf.c: Likewise.
17239         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
17240         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
17241         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
17242         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
17243         * lib/unistdio/u16-vasnprintf.c: Likewise.
17244         * lib/unistdio/u16-vasprintf.c: Likewise.
17245         * lib/unistdio/u16-vsnprintf.c: Likewise.
17246         * lib/unistdio/u16-vsprintf.c: Likewise.
17247         * lib/unistdio/u32-asnprintf.c: Likewise.
17248         * lib/unistdio/u32-asprintf.c: Likewise.
17249         * lib/unistdio/u32-printf-parse.c: Likewise.
17250         * lib/unistdio/u32-snprintf.c: Likewise.
17251         * lib/unistdio/u32-sprintf.c: Likewise.
17252         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
17253         * lib/unistdio/u32-u32-asprintf.c: Likewise.
17254         * lib/unistdio/u32-u32-snprintf.c: Likewise.
17255         * lib/unistdio/u32-u32-sprintf.c: Likewise.
17256         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
17257         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
17258         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
17259         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
17260         * lib/unistdio/u32-vasnprintf.c: Likewise.
17261         * lib/unistdio/u32-vasprintf.c: Likewise.
17262         * lib/unistdio/u32-vsnprintf.c: Likewise.
17263         * lib/unistdio/u32-vsprintf.c: Likewise.
17264         * lib/unistdio/u8-asnprintf.c: Likewise.
17265         * lib/unistdio/u8-asprintf.c: Likewise.
17266         * lib/unistdio/u8-printf-parse.c: Likewise.
17267         * lib/unistdio/u8-snprintf.c: Likewise.
17268         * lib/unistdio/u8-sprintf.c: Likewise.
17269         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
17270         * lib/unistdio/u8-u8-asprintf.c: Likewise.
17271         * lib/unistdio/u8-u8-snprintf.c: Likewise.
17272         * lib/unistdio/u8-u8-sprintf.c: Likewise.
17273         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
17274         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
17275         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
17276         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
17277         * lib/unistdio/u8-vasnprintf.c: Likewise.
17278         * lib/unistdio/u8-vasprintf.c: Likewise.
17279         * lib/unistdio/u8-vsnprintf.c: Likewise.
17280         * lib/unistdio/u8-vsprintf.c: Likewise.
17281         * lib/unistdio/ulc-asnprintf.c: Likewise.
17282         * lib/unistdio/ulc-asprintf.c: Likewise.
17283         * lib/unistdio/ulc-printf-parse.c: Likewise.
17284         * lib/unistdio/ulc-snprintf.c: Likewise.
17285         * lib/unistdio/ulc-sprintf.c: Likewise.
17286         * lib/unistdio/ulc-vasnprintf.c: Likewise.
17287         * lib/unistdio/ulc-vasprintf.c: Likewise.
17288         * lib/unistdio/ulc-vsnprintf.c: Likewise.
17289         * lib/unistdio/ulc-vsprintf.c: Likewise.
17290         * lib/unistr.h: Likewise.
17291         * lib/unistr/u-cpy-alloc.h: Likewise.
17292         * lib/unistr/u-cpy.h: Likewise.
17293         * lib/unistr/u-endswith.h: Likewise.
17294         * lib/unistr/u-move.h: Likewise.
17295         * lib/unistr/u-set.h: Likewise.
17296         * lib/unistr/u-startswith.h: Likewise.
17297         * lib/unistr/u-stpcpy.h: Likewise.
17298         * lib/unistr/u-stpncpy.h: Likewise.
17299         * lib/unistr/u-strcat.h: Likewise.
17300         * lib/unistr/u-strcpy.h: Likewise.
17301         * lib/unistr/u-strcspn.h: Likewise.
17302         * lib/unistr/u-strdup.h: Likewise.
17303         * lib/unistr/u-strlen.h: Likewise.
17304         * lib/unistr/u-strncat.h: Likewise.
17305         * lib/unistr/u-strncpy.h: Likewise.
17306         * lib/unistr/u-strnlen.h: Likewise.
17307         * lib/unistr/u-strpbrk.h: Likewise.
17308         * lib/unistr/u-strspn.h: Likewise.
17309         * lib/unistr/u-strstr.h: Likewise.
17310         * lib/unistr/u-strtok.h: Likewise.
17311         * lib/unistr/u16-check.c: Likewise.
17312         * lib/unistr/u16-chr.c: Likewise.
17313         * lib/unistr/u16-cmp.c: Likewise.
17314         * lib/unistr/u16-cpy-alloc.c: Likewise.
17315         * lib/unistr/u16-cpy.c: Likewise.
17316         * lib/unistr/u16-endswith.c: Likewise.
17317         * lib/unistr/u16-mblen.c: Likewise.
17318         * lib/unistr/u16-mbsnlen.c: Likewise.
17319         * lib/unistr/u16-mbtouc-aux.c: Likewise.
17320         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
17321         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
17322         * lib/unistr/u16-mbtouc.c: Likewise.
17323         * lib/unistr/u16-mbtoucr.c: Likewise.
17324         * lib/unistr/u16-move.c: Likewise.
17325         * lib/unistr/u16-next.c: Likewise.
17326         * lib/unistr/u16-prev.c: Likewise.
17327         * lib/unistr/u16-set.c: Likewise.
17328         * lib/unistr/u16-startswith.c: Likewise.
17329         * lib/unistr/u16-stpcpy.c: Likewise.
17330         * lib/unistr/u16-stpncpy.c: Likewise.
17331         * lib/unistr/u16-strcat.c: Likewise.
17332         * lib/unistr/u16-strchr.c: Likewise.
17333         * lib/unistr/u16-strcmp.c: Likewise.
17334         * lib/unistr/u16-strcpy.c: Likewise.
17335         * lib/unistr/u16-strcspn.c: Likewise.
17336         * lib/unistr/u16-strdup.c: Likewise.
17337         * lib/unistr/u16-strlen.c: Likewise.
17338         * lib/unistr/u16-strmblen.c: Likewise.
17339         * lib/unistr/u16-strmbtouc.c: Likewise.
17340         * lib/unistr/u16-strncat.c: Likewise.
17341         * lib/unistr/u16-strncmp.c: Likewise.
17342         * lib/unistr/u16-strncpy.c: Likewise.
17343         * lib/unistr/u16-strnlen.c: Likewise.
17344         * lib/unistr/u16-strpbrk.c: Likewise.
17345         * lib/unistr/u16-strrchr.c: Likewise.
17346         * lib/unistr/u16-strspn.c: Likewise.
17347         * lib/unistr/u16-strstr.c: Likewise.
17348         * lib/unistr/u16-strtok.c: Likewise.
17349         * lib/unistr/u16-to-u32.c: Likewise.
17350         * lib/unistr/u16-to-u8.c: Likewise.
17351         * lib/unistr/u16-uctomb-aux.c: Likewise.
17352         * lib/unistr/u16-uctomb.c: Likewise.
17353         * lib/unistr/u32-check.c: Likewise.
17354         * lib/unistr/u32-chr.c: Likewise.
17355         * lib/unistr/u32-cmp.c: Likewise.
17356         * lib/unistr/u32-cpy-alloc.c: Likewise.
17357         * lib/unistr/u32-cpy.c: Likewise.
17358         * lib/unistr/u32-endswith.c: Likewise.
17359         * lib/unistr/u32-mblen.c: Likewise.
17360         * lib/unistr/u32-mbsnlen.c: Likewise.
17361         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
17362         * lib/unistr/u32-mbtouc.c: Likewise.
17363         * lib/unistr/u32-mbtoucr.c: Likewise.
17364         * lib/unistr/u32-move.c: Likewise.
17365         * lib/unistr/u32-next.c: Likewise.
17366         * lib/unistr/u32-prev.c: Likewise.
17367         * lib/unistr/u32-set.c: Likewise.
17368         * lib/unistr/u32-startswith.c: Likewise.
17369         * lib/unistr/u32-stpcpy.c: Likewise.
17370         * lib/unistr/u32-stpncpy.c: Likewise.
17371         * lib/unistr/u32-strcat.c: Likewise.
17372         * lib/unistr/u32-strchr.c: Likewise.
17373         * lib/unistr/u32-strcmp.c: Likewise.
17374         * lib/unistr/u32-strcpy.c: Likewise.
17375         * lib/unistr/u32-strcspn.c: Likewise.
17376         * lib/unistr/u32-strdup.c: Likewise.
17377         * lib/unistr/u32-strlen.c: Likewise.
17378         * lib/unistr/u32-strmblen.c: Likewise.
17379         * lib/unistr/u32-strmbtouc.c: Likewise.
17380         * lib/unistr/u32-strncat.c: Likewise.
17381         * lib/unistr/u32-strncmp.c: Likewise.
17382         * lib/unistr/u32-strncpy.c: Likewise.
17383         * lib/unistr/u32-strnlen.c: Likewise.
17384         * lib/unistr/u32-strpbrk.c: Likewise.
17385         * lib/unistr/u32-strrchr.c: Likewise.
17386         * lib/unistr/u32-strspn.c: Likewise.
17387         * lib/unistr/u32-strstr.c: Likewise.
17388         * lib/unistr/u32-strtok.c: Likewise.
17389         * lib/unistr/u32-to-u16.c: Likewise.
17390         * lib/unistr/u32-to-u8.c: Likewise.
17391         * lib/unistr/u32-uctomb.c: Likewise.
17392         * lib/unistr/u8-check.c: Likewise.
17393         * lib/unistr/u8-chr.c: Likewise.
17394         * lib/unistr/u8-cmp.c: Likewise.
17395         * lib/unistr/u8-cpy-alloc.c: Likewise.
17396         * lib/unistr/u8-cpy.c: Likewise.
17397         * lib/unistr/u8-endswith.c: Likewise.
17398         * lib/unistr/u8-mblen.c: Likewise.
17399         * lib/unistr/u8-mbsnlen.c: Likewise.
17400         * lib/unistr/u8-mbtouc-aux.c: Likewise.
17401         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
17402         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
17403         * lib/unistr/u8-mbtouc.c: Likewise.
17404         * lib/unistr/u8-mbtoucr.c: Likewise.
17405         * lib/unistr/u8-move.c: Likewise.
17406         * lib/unistr/u8-next.c: Likewise.
17407         * lib/unistr/u8-prev.c: Likewise.
17408         * lib/unistr/u8-set.c: Likewise.
17409         * lib/unistr/u8-startswith.c: Likewise.
17410         * lib/unistr/u8-stpcpy.c: Likewise.
17411         * lib/unistr/u8-stpncpy.c: Likewise.
17412         * lib/unistr/u8-strcat.c: Likewise.
17413         * lib/unistr/u8-strchr.c: Likewise.
17414         * lib/unistr/u8-strcmp.c: Likewise.
17415         * lib/unistr/u8-strcpy.c: Likewise.
17416         * lib/unistr/u8-strcspn.c: Likewise.
17417         * lib/unistr/u8-strdup.c: Likewise.
17418         * lib/unistr/u8-strlen.c: Likewise.
17419         * lib/unistr/u8-strmblen.c: Likewise.
17420         * lib/unistr/u8-strmbtouc.c: Likewise.
17421         * lib/unistr/u8-strncat.c: Likewise.
17422         * lib/unistr/u8-strncmp.c: Likewise.
17423         * lib/unistr/u8-strncpy.c: Likewise.
17424         * lib/unistr/u8-strnlen.c: Likewise.
17425         * lib/unistr/u8-strpbrk.c: Likewise.
17426         * lib/unistr/u8-strrchr.c: Likewise.
17427         * lib/unistr/u8-strspn.c: Likewise.
17428         * lib/unistr/u8-strstr.c: Likewise.
17429         * lib/unistr/u8-strtok.c: Likewise.
17430         * lib/unistr/u8-to-u16.c: Likewise.
17431         * lib/unistr/u8-to-u32.c: Likewise.
17432         * lib/unistr/u8-uctomb-aux.c: Likewise.
17433         * lib/unistr/u8-uctomb.c: Likewise.
17434         * lib/unitypes.h: Likewise.
17435         * lib/uniwidth.h: Likewise.
17436         * lib/uniwidth/cjk.h: Likewise.
17437         * lib/uniwidth/u16-strwidth.c: Likewise.
17438         * lib/uniwidth/u16-width.c: Likewise.
17439         * lib/uniwidth/u32-strwidth.c: Likewise.
17440         * lib/uniwidth/u32-width.c: Likewise.
17441         * lib/uniwidth/u8-strwidth.c: Likewise.
17442         * lib/uniwidth/u8-width.c: Likewise.
17443         * lib/uniwidth/width.c: Likewise.
17444
17445 2007-10-07  Bruno Haible  <bruno@clisp.org>
17446
17447         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
17448         The file is still under LGPL (see modules/inttypes).
17449
17450 2007-10-06  Bruno Haible  <bruno@clisp.org>
17451
17452         * modules/trunc (Dependencies): Add 'extensions'.
17453         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
17454         Reported by Ben Pfaff <blp@gnu.org>.
17455
17456 2007-10-06  Bruno Haible  <bruno@clisp.org>
17457
17458         * modules/freopen-tests: New file.
17459         * tests/test-freopen.c: New file.
17460
17461         * modules/fopen-tests: New file.
17462         * tests/test-fopen.c: New file.
17463
17464         * modules/fopen: New file.
17465         * lib/fopen.c: New file.
17466         * m4/fopen.m4: New file.
17467         * modules/freopen: New file.
17468         * lib/freopen.c: New file.
17469         * m4/freopen.m4: New file.
17470         * lib/stdio.in.h (fopen, freopen): New declarations.
17471         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
17472         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
17473         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
17474         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
17475         * doc/functions/fopen.texi: Mention the 'fopen' module.
17476         * doc/functions/freopen.texi: Mention the 'freopen' module.
17477
17478 2007-10-06  Bruno Haible  <bruno@clisp.org>
17479
17480         * modules/open-tests: New file.
17481         * tests/test-open.c: New file.
17482
17483         * modules/open: New file.
17484         * lib/open.c: New file.
17485         * m4/open.m4: New file.
17486         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
17487         lib/open.c does.
17488         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
17489         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
17490         macros.
17491         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
17492         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
17493         REPLACE_OPEN.
17494         * doc/functions/open.texi: Mention the 'open' module.
17495
17496 2007-10-04  Bruno Haible  <bruno@clisp.org>
17497
17498         * modules/ceill-tests: New file.
17499         * tests/test-ceill.c: New file.
17500
17501         * modules/ceill: New file.
17502         * lib/ceill.c: Replace entire file.
17503         * m4/ceill.m4: New file.
17504         * lib/math.in.h (ceill): Replace declaration.
17505         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
17506         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
17507         * doc/functions/ceill.texi: Mention the 'ceill' module.
17508         * modules/mathl (Files): Remove lib/ceill.c.
17509         (Depends-on): Add ceill.
17510
17511 2007-10-04  Bruno Haible  <bruno@clisp.org>
17512
17513         * modules/ceilf-tests: New file.
17514         * tests/test-ceilf.c: New file.
17515
17516         * modules/ceilf: New file.
17517         * lib/ceil.c: New file.
17518         * lib/ceilf.c: New file.
17519         * m4/ceilf.m4: New file.
17520         * lib/math.in.h (ceilf): New declaration.
17521         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
17522         HAVE_DECL_CEILF.
17523         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
17524         HAVE_DECL_CEILF.
17525         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
17526
17527 2007-10-04  Bruno Haible  <bruno@clisp.org>
17528
17529         * modules/floorl-tests: New file.
17530         * tests/test-floorl.c: New file.
17531
17532         * modules/floorl: New file.
17533         * lib/floorl.c: Replace entire file.
17534         * m4/floorl.m4: New file.
17535         * lib/math.in.h (floorl): Replace declaration.
17536         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
17537         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
17538         * doc/functions/floorl.texi: Mention the 'floorl' module.
17539         * modules/mathl (Files): Remove lib/floorl.c.
17540         (Depends-on): Add floorl.
17541
17542 2007-10-04  Bruno Haible  <bruno@clisp.org>
17543
17544         * modules/floorf-tests: New file.
17545         * tests/test-floorf.c: New file.
17546
17547         * modules/floorf: New file.
17548         * lib/floor.c: New file.
17549         * lib/floorf.c: New file.
17550         * m4/floorf.m4: New file.
17551         * lib/math.in.h (floorf): New declaration.
17552         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
17553         HAVE_DECL_FLOORF.
17554         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
17555         HAVE_DECL_FLOORF.
17556         * doc/functions/floorf.texi: Mention the 'floorf' module.
17557
17558 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
17559             Bruno Haible  <bruno@clisp.org>
17560
17561         Advertise for the Git server instead of the CVS server.
17562         * doc/gnulib-intro.texi (Steady Development): Mention the Git
17563         repository instead of the CVS one.
17564         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
17565         about all VCS systems generically.
17566         * doc/gnulib.texi (Introduction): Capitalize `Git'.
17567
17568 2007-10-04  Bruno Haible  <bruno@clisp.org>
17569
17570         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
17571         means.
17572         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
17573
17574 2007-10-04  Bruno Haible  <bruno@clisp.org>
17575
17576         * modules/truncl-tests: New file.
17577         * tests/test-truncl.c: New file.
17578
17579         * modules/truncl: New file.
17580         * lib/truncl.c: New file.
17581         * m4/truncl.m4: New file.
17582         * lib/math.in.h (truncl): New declaration.
17583         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
17584         HAVE_DECL_TRUNCL.
17585         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
17586         HAVE_DECL_TRUNCL.
17587         * doc/functions/truncl.texi: Mention the 'truncl' module.
17588
17589 2007-10-04  Bruno Haible  <bruno@clisp.org>
17590
17591         * modules/truncf-tests: New file.
17592         * tests/test-truncf.c: New file.
17593
17594         * modules/truncf: New file.
17595         * lib/trunc.c: Make paramerizable through USE_* macros.
17596         * lib/truncf.c: New file.
17597         * m4/truncf.m4: New file.
17598         * lib/math.in.h (truncf): New declaration.
17599         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
17600         HAVE_DECL_TRUNCF.
17601         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
17602         HAVE_DECL_TRUNCF.
17603         * doc/functions/truncf.texi: Mention the 'truncf' module.
17604
17605 2007-10-03  Bruno Haible  <bruno@clisp.org>
17606
17607         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
17608         augmentation also for tests modules.
17609         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
17610         * modules/atexit-tests (Makefile.am): Likewise.
17611         * modules/binary-io-tests (Makefile.am): Likewise.
17612         * modules/c-strcase-tests (Makefile.am): Likewise.
17613         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
17614         * modules/canonicalize-tests (Makefile.am): Likewise.
17615         * modules/closein-tests (Makefile.am): Likewise.
17616         * modules/fprintf-posix-tests (Makefile.am): Likewise.
17617         * modules/freadahead-tests (Makefile.am): Likewise.
17618         * modules/fseek-tests (Makefile.am): Likewise.
17619         * modules/fseeko-tests (Makefile.am): Likewise.
17620         * modules/ftell-tests (Makefile.am): Likewise.
17621         * modules/ftello-tests (Makefile.am): Likewise.
17622         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
17623         * modules/isnanl-tests (Makefile.am): Likewise.
17624         * modules/lseek-tests (Makefile.am): Likewise.
17625         * modules/mbscasecmp-tests (Makefile.am): Likewise.
17626         * modules/mbscasestr-tests (Makefile.am): Likewise.
17627         * modules/mbschr-tests (Makefile.am): Likewise.
17628         * modules/mbscspn-tests (Makefile.am): Likewise.
17629         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
17630         * modules/mbspbrk-tests (Makefile.am): Likewise.
17631         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
17632         * modules/mbsrchr-tests (Makefile.am): Likewise.
17633         * modules/mbsspn-tests (Makefile.am): Likewise.
17634         * modules/mbsstr-tests (Makefile.am): Likewise.
17635         * modules/printf-posix-tests (Makefile.am): Likewise.
17636         * modules/snprintf-posix-tests (Makefile.am): Likewise.
17637         * modules/sprintf-posix-tests (Makefile.am): Likewise.
17638         * modules/tsearch-tests (Makefile.am): Likewise.
17639         * modules/uniname/uniname-tests (Makefile.am): Likewise.
17640         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
17641         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
17642         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
17643         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
17644         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
17645         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
17646         * modules/vprintf-posix-tests (Makefile.am): Likewise.
17647         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
17648         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
17649         * modules/xstrtoimax-tests (Makefile.am): Likewise.
17650         * modules/xstrtol-tests (Makefile.am): Likewise.
17651         * modules/xstrtoumax-tests (Makefile.am): Likewise.
17652         * modules/yesno-tests (Makefile.am): Likewise.
17653
17654 2007-10-03  Bruno Haible  <bruno@clisp.org>
17655
17656         * modules/trunc-tests: New file.
17657         * tests/test-trunc.c: New file.
17658
17659         * modules/trunc: New file.
17660         * lib/trunc.c: New file.
17661         * m4/trunc.m4: New file.
17662         * lib/math.in.h (trunc): New declaration.
17663         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
17664         HAVE_DECL_TRUNC.
17665         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
17666         HAVE_DECL_TRUNC.
17667         * doc/functions/trunc.texi: Mention the 'trunc' module.
17668
17669 2007-10-03  Bruno Haible  <bruno@clisp.org>
17670
17671         * tests/test-fpending.c: New file, mostly copied
17672         from coreutils/lib/t-fpending.c.
17673         * modules/fpending-tests: New file.
17674
17675 2007-10-03  Bruno Haible  <bruno@clisp.org>
17676
17677         Port the stdio extensions to QNX (untested).
17678         * lib/fseterr.c (fseterr): Add support for QNX.
17679         * lib/fbufmode.c (fbufmode): Likewise.
17680         * lib/freadable.c (freadable): Likewise.
17681         * lib/fwritable.c (fwritable): Likewise.
17682         * lib/freading.c (freading): Likewise.
17683         * lib/fwriting.c (fwriting): Likewise.
17684         * lib/freadahead.c (freadahed): Likewise.
17685         * lib/fpurge.c (fpurge): Likewise.
17686         * lib/fseeko.c (rpl_fseeko): Likewise.
17687
17688 2007-10-03  Bruno Haible  <bruno@clisp.org>
17689             Jim Meyering  <jim@meyering.net>
17690             Eric Blake  <ebb9@byu.net>
17691
17692         * doc/relocatable.texi: Use @command instead of @program.
17693
17694 2007-10-02  Jim Meyering  <jim@meyering.net>
17695
17696         Perform one more "_.h" -> ".in.h" substitution.
17697         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
17698         instead of unistd_.h here, too.
17699
17700 2007-10-01  Bruno Haible  <bruno@clisp.org>
17701
17702         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
17703         Needed for the alloca-opt module.
17704
17705 2007-09-30  Bruno Haible  <bruno@clisp.org>
17706
17707         * lib/alloca.in.h: Renamed from lib/alloca_.h.
17708         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
17709         alloca_.h.
17710         * lib/argz.in.h: Renamed from lib/argz_.h.
17711         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
17712         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
17713         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
17714         byteswap_.h.
17715         * lib/dirent.in.h: Renamed from lib/dirent_.h.
17716         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
17717         dirent_.h.
17718         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
17719         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
17720         fcntl_.h.
17721         * lib/float.in.h: Renamed from lib/float_.h.
17722         * modules/float (Files, Makefile.am): Use float.in.h instead of
17723         float_.h.
17724         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
17725         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
17726         fnmatch_.h.
17727         * lib/getopt.in.h: Renamed from lib/getopt_.h.
17728         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
17729         getopt_.h.
17730         * lib/glob.in.h: Renamed from lib/glob_.h.
17731         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
17732         * lib/iconv.in.h: Renamed from lib/iconv_.h.
17733         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
17734         iconv_.h.
17735         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
17736         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
17737         inttypes_.h.
17738         * lib/locale.in.h: Renamed from lib/locale_.h.
17739         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
17740         locale_.h.
17741         * lib/math.in.h: Renamed from lib/math_.h.
17742         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
17743         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
17744         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
17745         of netinet_in_.h. Add dependency.
17746         * lib/poll.in.h: Renamed from lib/poll_.h.
17747         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
17748         * lib/search.in.h: Renamed from lib/search_.h.
17749         * modules/search (Files, Makefile.am): Use search.in.h instead of
17750         search_.h.
17751         * lib/signal.in.h: Renamed from lib/signal_.h.
17752         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
17753         _signal.h.
17754         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
17755         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
17756         stdbool_.h.
17757         * lib/stdint.in.h: Renamed from lib/stdint_.h.
17758         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
17759         stdint_.h.
17760         * lib/stdio.in.h: Renamed from lib/stdio_.h.
17761         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
17762         stdio_.h.
17763         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
17764         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
17765         stdlib_.h.
17766         * lib/string.in.h: Renamed from lib/string_.h.
17767         * modules/string (Files, Makefile.am): Use string.in.h instead of
17768         string_.h.
17769         * doc/gnulib-tool.texi (Initial import): Update.
17770         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
17771         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
17772         of sys_select_.h. Add dependency.
17773         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
17774         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
17775         of sys_socket_.h.
17776         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
17777         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
17778         sys_stat_.h.
17779         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
17780         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
17781         sys_time_.h.
17782         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
17783         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
17784         sysexits_.h.
17785         * lib/time.in.h: Renamed from lib/time_.h.
17786         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
17787         * lib/unistd.in.h: Renamed from lib/unistd_.h.
17788         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
17789         unistd_.h.
17790         * lib/wchar.in.h: Renamed from lib/wchar_.h.
17791         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
17792         wchar_.h.
17793         * lib/wctype.in.h: Renamed from lib/wctype_.h.
17794         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
17795         wctype_.h.
17796         * build-aux/bootstrap (slurp): Update.
17797         * lib/.cppi-disable: Update.
17798
17799 2007-09-30  Bruno Haible  <bruno@clisp.org>
17800
17801         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
17802         Needed on BeOS.
17803
17804 2007-09-30  Bruno Haible  <bruno@clisp.org>
17805
17806         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
17807
17808 2007-09-29  Bruno Haible  <bruno@clisp.org>
17809
17810         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
17811
17812 2007-09-29  Bruno Haible  <bruno@clisp.org>
17813
17814         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
17815         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
17816         * build-aux/install-reloc: Compile also areadlink.c.
17817         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
17818
17819 2007-09-29  Bruno Haible  <bruno@clisp.org>
17820
17821         * gnulib-tool (func_emit_initmacro_done): Indentation.
17822
17823 2007-09-29  Bruno Haible  <bruno@clisp.org>
17824
17825         * README: Add CVS checkout update instructions.
17826         Info from Bob Proulx <bob@proulx.com>.
17827
17828 2007-09-28  Eric Blake  <ebb9@byu.net>
17829
17830         Provide move-if-change.
17831         * build-aux/move-if-change: New file, based on best practice
17832         rather than any canonical upstream location.
17833
17834 2007-09-28  Jim Meyering  <jim@meyering.net>
17835
17836         Fix canonicalize loop-detection corner case.
17837         Do not attempt to stat the symlink values stored via seen_triple.
17838         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
17839         on linux-2.6.18, (but not 2.6.22).
17840         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
17841         triple_compare.  The former compares dev,ino,filename, while the latter
17842         would actually stat dirname(filename) when dev and ino were equal.
17843         * lib/hash-triple.c: Install <string.h>.
17844         (STREQ): Define.
17845         (triple_compare_ino_str): New function.
17846         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
17847
17848 2007-09-28  Eric Blake  <ebb9@byu.net>
17849
17850         Enforce that AC_REPLACE_FUNCS files exist.
17851         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
17852         override check for typos.
17853
17854         Fix test-closein on Solaris 10.
17855         * tests/test-closein.c (main): Don't assume stdin can be inherited
17856         closed on all systems.
17857         * tests/test-closein.sh: Likewise.
17858         Reported by Piotr Tarnowski.
17859
17860 2007-09-28  Jim Meyering  <jim@meyering.net>
17861
17862         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
17863
17864 2007-09-27  Jim Meyering  <jim@meyering.net>
17865
17866         canonicalize: Avoid a false-positive cycle failure.
17867         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
17868         Sort.  Remove cycle-check.
17869         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
17870         not cycle-check.h.
17871         (seen_triple): New function.
17872         (canonicalize_filename_mode): Use it instead of cycle-check.
17873         * tests/test-canonicalize.c: Add a test for this bug.
17874         * tests/test-canonicalize.sh: Set up and run the test.
17875
17876         New module, file-set, from coreutils.
17877         * modules/file-set: Define it.
17878         * lib/file-set.c, lib/file-set.h: Implement.
17879
17880         New module, hash-triple, from coreutils.
17881         * modules/hash-triple: Define it.
17882         * lib/hash-triple.c, lib/hash-triple.h: Implement.
17883
17884 2007-09-25  Eric Blake  <ebb9@byu.net>
17885
17886         Fix strerror on Interix.
17887         * lib/string_.h (strerror): Declare replacement.
17888         * doc/functions/strerror.texi (strerror): Document the Interix
17889         shortcoming.
17890         * modules/string (Makefile.am): Support new hooks.
17891         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
17892         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
17893         gl_FUNC_STRERROR_SEPARATE.
17894         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
17895         * lib/strerror.c (rpl_strerror): Provide replacement.
17896         * modules/strerror (Depends-on): Add string.
17897         (configure.ac): Detect use of module.
17898         * tests/test-strerror.c: New file.
17899         * modules/strerror-tests: New test module.
17900         * modules/argp (Depends-on): Add strerror.
17901         * modules/error (Depends-on): Likewise.
17902         Reported by Martin Koeppe.
17903
17904 2007-09-24  Bruno Haible  <bruno@clisp.org>
17905
17906         * README: Update git instructions.
17907
17908 2007-09-24  Eric Blake  <ebb9@byu.net>
17909
17910         Revert fpending breakage from 2007-09-08.
17911         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
17912         __fpending.c.
17913
17914 2007-09-24  Jim Meyering  <jim@meyering.net>
17915
17916         filenamecat.c: Add a test.
17917         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
17918         showing how the function works when DIR is the empty string.
17919
17920 2007-09-21  Simon Josefsson  <simon@josefsson.org>
17921
17922         * tests/test-canonicalize.sh: Turn on executable bit.
17923
17924 2007-09-19  Eric Blake  <ebb9@byu.net>
17925
17926         * README: Update CVS instructions.
17927
17928 2007-09-18  Bruno Haible  <bruno@clisp.org>
17929
17930         * modules/areadlink: New file.
17931         * lib/areadlink.h (areadlink): New declaration.
17932         * lib/areadlink.c: New file, based on lib/xreadlink.c.
17933
17934 2007-09-17  Jim Meyering  <jim@meyering.net>
17935
17936         * lib/savewd.c (ESTALE) [!defined]: Define.
17937         Reported to be required on Interix by Martin Koeppe.
17938
17939 2007-09-17  Bruno Haible  <bruno@clisp.org>
17940
17941         * gnulib-tool (func_version): Use $version.
17942
17943 2007-09-16  Bruno Haible  <bruno@clisp.org>
17944
17945         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
17946         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
17947         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
17948         Reported by Greg Schafer <gschafer@zip.com.au>.
17949
17950 2007-09-15  Bruno Haible  <bruno@clisp.org>
17951
17952         * gnulib-tool (sed): Try a little harder to make bash understand the
17953         alias.
17954         Reported by Bruce Korb <bruce.korb@gmail.com>.
17955
17956 2007-09-13  Eric Blake  <ebb9@byu.net>
17957
17958         * ChangeLog: Remove conflict markers.
17959
17960 2007-09-13  Simon Josefsson  <simon@josefsson.org>
17961
17962         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
17963         Reported by Bruno Haible <bruno@clisp.org>.
17964
17965 2007-09-12  Bruno Haible  <bruno@clisp.org>
17966
17967         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
17968         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
17969         is not defined.
17970
17971 2007-09-12  Eric Blake  <ebb9@byu.net>
17972
17973         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
17974         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
17975         Autoconf definition.
17976         * modules/euidaccess (Depends-on): Add extensions, for
17977         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
17978         * modules/fnmatch (Depends-on): Likewise.
17979         * modules/getaddrinfo (Depends-on): Likewise.
17980         * modules/getdelim (Depends-on): Likewise.
17981         * modules/getline (Depends-on): Likewise.
17982         * modules/getsubopt (Depends-on): Likewise.
17983         * modules/gettext (Depends-on): Likewise.
17984         * modules/group-member (Depends-on): Likewise.
17985         * modules/mbchar (Depends-on): Likewise.
17986         * modules/memmem (Depends-on): Likewise.
17987         * modules/mempcpy (Depends-on): Likewise.
17988         * modules/memrchr (Depends-on): Likewise.
17989         * modules/pagealign_alloc (Depends-on): Likewise.
17990         * modules/readutmp (Depends-on): Likewise.
17991         * modules/stpcpy (Depends-on): Likewise.
17992         * modules/stpncpy (Depends-on): Likewise.
17993         * modules/strchrnul (Depends-on): Likewise.
17994         * modules/strndup (Depends-on): Likewise.
17995         * modules/strsep (Depends-on): Likewise.
17996         * modules/strverscmp (Depends-on): Likewise.
17997         * modules/vasprintf (Depends-on): Likewise.
17998         * modules/wcwidth (Depends-on): Likewise.
17999         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
18000         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
18001         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
18002         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
18003         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
18004         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
18005         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
18006         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
18007         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
18008         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
18009         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
18010         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
18011         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
18012         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
18013         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
18014         * m4/readutmp.m4 (gl_READUTMP): Likewise.
18015         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
18016         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
18017         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
18018         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
18019         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
18020         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
18021         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
18022         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
18023         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
18024         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
18025         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
18026         so that lock.m4 can be used in gettext without extensions module.
18027
18028 2007-09-11  Bruno Haible  <bruno@clisp.org>
18029
18030         * m4/isc-posix.m4: Remove file.
18031         Suggested by Eric Blake.
18032
18033 2007-09-11  Eric Blake  <ebb9@byu.net>
18034
18035         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
18036
18037 2007-09-10  Bruno Haible  <bruno@clisp.org>
18038
18039         * posix-modules: Fix typo in error message.
18040         Reported by Matt <mkraai@beckman.com>.
18041
18042 2007-09-09  Bruno Haible  <bruno@clisp.org>
18043
18044         * doc/functions/getdelim.texi: Update list of platforms lacking the
18045         function.
18046         * doc/functions/getline.texi: Likewise.
18047
18048 2007-09-09  Jim Meyering  <jim@meyering.net>
18049
18050         * lib/hash.c (hash_initialize): Detect calloc failure.
18051         Reported by Bruno Haible.
18052
18053 2007-09-09  Bruno Haible  <bruno@clisp.org>
18054
18055         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
18056         malloc or realloc fails.
18057
18058 2007-09-09  Bruno Haible  <bruno@clisp.org>
18059
18060         * modules/getcwd (Depends-on): Add malloc-posix.
18061         * modules/glob (Depends-on): Likewise.
18062         * modules/putenv (Depends-on): Likewise.
18063         * modules/strdup (Depends-on): Likewise.
18064         * modules/getdelim (Depends-on): Add realloc-posix.
18065         * modules/read-file (Depends-on): Likewise.
18066
18067 2007-09-09  Bruno Haible  <bruno@clisp.org>
18068
18069         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
18070         (gl_FUNC_MALLOC_POSIX): Require it.
18071         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
18072         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
18073         * modules/realloc (Files): Add m4/malloc.m4.
18074         * modules/calloc (Files): Likewise.
18075
18076 2007-09-09  Bruno Haible  <bruno@clisp.org>
18077
18078         * modules/malloc-posix: New file.
18079         * modules/malloc (Depends-on): Add malloc-posix.
18080         * lib/malloc.c: Include errno.h.
18081         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
18082         and a POSIX-compatible malloc into a single function. Set ENOMEM
18083         when returning NULL.
18084         * m4/malloc.m4: New file.
18085         * doc/functions/malloc.texi: Mention the malloc-posix module.
18086         * lib/stdlib_.h (malloc): New declaration.
18087         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
18088         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
18089         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
18090         and HAVE_MALLOC_POSIX.
18091
18092 2007-09-09  Bruno Haible  <bruno@clisp.org>
18093
18094         * modules/realloc-posix: New file.
18095         * modules/realloc (Depends-on): Add realloc-posix.
18096         * lib/realloc.c: Include errno.h.
18097         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
18098         and a POSIX-compatible realloc into a single function. Set ENOMEM
18099         when returning NULL.
18100         * m4/realloc.m4: New file.
18101         * doc/functions/realloc.texi: Mention the realloc-posix module.
18102         * lib/stdlib_.h (realloc): New declaration.
18103         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
18104         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
18105         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
18106         and HAVE_REALLOC_POSIX.
18107
18108 2007-09-09  Bruno Haible  <bruno@clisp.org>
18109
18110         * modules/calloc-posix: New file.
18111         * modules/calloc (Depends-on): Add calloc-posix.
18112         * lib/calloc.c: Include errno.h.
18113         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
18114         and a POSIX-compatible calloc into a single function. Set ENOMEM
18115         when returning NULL.
18116         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
18117         * doc/functions/calloc.texi: Mention the calloc-posix module.
18118         * lib/stdlib_.h (calloc): New declaration.
18119         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
18120         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
18121         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
18122         and HAVE_CALLOC_POSIX.
18123
18124 2007-09-09  Bruno Haible  <bruno@clisp.org>
18125
18126         Allow for modules to show an arbitrary notice.
18127         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
18128         * gnulib-tool: New option --extract-notice.
18129         (func_usage): Document it.
18130         (sed_extract_prog): Update.
18131         (func_get_notice): New function.
18132         (func_modules_notice): New function.
18133         (func_import, func_create_testdir): Invoke it.
18134         Suggested by Jim Meyering.
18135
18136 2007-09-09  Bruno Haible  <bruno@clisp.org>
18137
18138         * gnulib-tool: New options --verbose, --quiet.
18139         (func_usage): Document them.
18140         (verbose): New variable.
18141         (func_execute_command): New function.
18142         (func_import): Don't show the module list and the file list if
18143         $verbose < 0.
18144         (func_create_testdir): Likewise. Use func_execute_command.
18145         (func_create_megatestdir): Use func_execute_command.
18146
18147 2007-09-08  Bruno Haible  <bruno@clisp.org>
18148
18149         * gnulib-tool (func_import): Prefer rsync over wget when available,
18150         for fetching the PO files.
18151
18152 2007-09-08  Bruno Haible  <bruno@clisp.org>
18153
18154         * posix-modules: New file. Portions copied from gnulib-tool.
18155         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
18156
18157 2007-09-08  Jim Meyering  <jim@meyering.net>
18158
18159         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
18160         * lib/fpending.h: Rename from __fpending.h.
18161         * lib/fpending.c: Rename from __fpending.c.
18162         Include "fpending.h", not "__fpending.h".
18163         * lib/__fpending.h, lib/__fpending.c: Remove files.
18164         * modules/fpending (Files): Reflect new file names.
18165         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
18166
18167 2007-09-08  Bruno Haible  <bruno@clisp.org>
18168
18169         * m4/inttypes-h.m4: Remove stub file.
18170
18171 2007-09-07  Simon Josefsson  <simon@josefsson.org>
18172
18173         * doc/headers/stdint.texi: Discuss #include_next issue.
18174
18175 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
18176
18177         * build-aux/bootstrap: Remove obsolete comment about wget --help.
18178
18179 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18180
18181         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
18182         in variable name.
18183
18184 2007-09-03  Jim Meyering  <jim@meyering.net>
18185
18186         New module: git-version-gen.
18187         * modules/git-version-gen: New file.
18188
18189         Import changes from coreutils for bootstrap script.
18190
18191         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
18192
18193         bootstrap: uses rsync to download the .po files
18194         * build-aux/bootstrap (po_download_command_format): New global.
18195         (download_po_files): Use rsync.
18196         (update_po_files): Don't remove .po files after download,
18197         so future rsync runs can take advantage of the copies.
18198
18199         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
18200
18201         Solve the unnecessary-.po-file-regeneration problem once and for all.
18202         * build-aux/bootstrap (download_po_files): New function, renamed from
18203         get_translations.  Now, downloads, but doesn't update LINGUAS.
18204         (update_po_files): New function.
18205
18206         bootstrap: Ignore more.
18207         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
18208         uniwidth to e.g., lib/.gitignore.
18209         (slurp): Handle the sys_stat_.h -> sys mapping, too.
18210
18211         * build-aux/bootstrap: New setting: vc_ignore.
18212         (insert_sorted_if_absent): Create $file if absent.
18213         Adapt to new, possibly empty, list: $vc_ignore.
18214
18215         bootstrap: generate more ignorable names
18216         * build-aux/bootstrap (slurp): When generating ignorable names,
18217         also map .sin to .sed, .gperf to .c, and .y to .c.
18218
18219 2007-09-03  Jim Meyering  <jim@meyering.net>
18220
18221         * build-aux/git-version-gen: New file, from coreutils.  For details, see
18222         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
18223
18224 2007-09-02  Bruno Haible  <bruno@clisp.org>
18225
18226         Fix mis-recognition of 'mcs' on QNX 6.
18227         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
18228         output contains the string "Mono".
18229         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
18230         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
18231
18232 2007-09-01  Bruno Haible  <bruno@clisp.org>
18233
18234         Fix collision between uniwidth/* and linebreak modules.
18235         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
18236         u32_width): Remove declarations.
18237         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
18238         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
18239         streq3, streq2, streq1, streq0): Remove functions.
18240         (STREQ): Remove macro.
18241         (is_cjk_encoding): Remove function.
18242         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
18243         (uc_width, u8_width, u16_width, u32_width): Remove functions.
18244         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
18245         * NEWS: Document the change.
18246
18247 2007-09-01  Bruno Haible  <bruno@clisp.org>
18248
18249         * lib/streq.h: Add double-inclusion guard.
18250
18251 2007-09-01  Karl Berry  <karl@gnu.org>
18252
18253         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
18254
18255 2007-08-28  Jim Meyering  <jim@meyering.net>
18256
18257         Rename mreadlink_with_size to areadlink_with_size.
18258         * NEWS: Document the change.
18259         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
18260         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
18261         * lib/mreadlink.h: Rename this to...
18262         * lib/areadlink.h: ...this.
18263         * modules/mreadlink-with-size: Rename this to...
18264         * modules/areadlink-with-size: ...this.
18265         * lib/canonicalize.c: Reflect the renaming.
18266         * modules/canonicalize: Likewise.
18267
18268 2007-08-26  Bruno Haible  <bruno@clisp.org>
18269
18270         * gnulib-tool (func_import): When deciding which files to remove,
18271         consider also dangling symbolic links.
18272         Reported by Eric Blake.
18273
18274 2007-08-26  Bruno Haible  <bruno@clisp.org>
18275
18276         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
18277
18278 2007-08-23  Simon Josefsson  <simon@josefsson.org>
18279
18280         * lib/readline.c: Don't include getline.h, the prototype is now
18281         found in stdio.h.
18282
18283 2007-08-23  Jim Meyering  <jim@meyering.net>
18284
18285         Getdelim touchup.
18286         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
18287         around the funlockfile call, since funlockfile never sets errno.
18288         Don't set errno upon failed realloc.
18289
18290 2007-08-22  Eric Blake  <ebb9@byu.net>
18291
18292         Getline touchups.
18293         * lib/getdelim.c (getdelim): Revert regression that required *n to
18294         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
18295         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
18296         getdelim, rather than whether implementation is missing.
18297         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
18298         * lib/stdio_.h (getline): Also declare if replacement is
18299         required.
18300         * doc/functions/getdelim.texi: New file.
18301         * doc/functions/getline.texi: Likewise.
18302         * doc/gnulib.texi (Function Substitutes): Add new files.
18303         Reported by Bruno Haible.
18304
18305 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
18306
18307         * users.txt: Add Guile.
18308
18309 2007-08-22  Eric Blake  <ebb9@byu.net>
18310
18311         * tests/test-getdelim.c (main): Use remove, not unlink.
18312         * tests/test-getline.c (main): Likewise.
18313
18314         Move getline and getdelim into stdio.h, per POSIX 200x.
18315         * modules/getline (Files): Remove getline.h.
18316         (Depends-on): Add stdio.
18317         (configure.ac): Add module indicator.
18318         * modules/getdelim (Files): Remove getdelim.h.
18319         (Depends-on): Add stdio.
18320         (configure.ac): Add module indicator.
18321         * modules/stdio (Makefile.am): Work with new indicators.
18322         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
18323         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
18324         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
18325         * lib/getdelim.h: Delete.
18326         * lib/getline.h: Delete.
18327         * lib/stdio_.h (getdelim, getline): Declare.
18328         * modules/getdelim-tests: New module.
18329         * modules/getline-tests: Likewise.
18330         * tests/test-getdelim.c: New file.
18331         * tests/test-getline.c: Likewise.
18332         * NEWS: Document the change.
18333         * lib/getline.c: Update choice of header.
18334         * lib/csharpcomp.c: Likewise.
18335         * lib/getpass.c: Likewise.
18336         * lib/javacomp.c: Likewise.
18337         * lib/javaversion.c: Likewise.
18338         * lib/yesno.c: Likewise.
18339         * lib/getdelim.c: Likewise.
18340         (getdelim): Set errno on failure, and avoid memory leak.
18341
18342 2007-08-19  Bruno Haible  <bruno@clisp.org>
18343
18344         * modules/closein (Depends-on): Add freadahead.
18345         * lib/closein.c: Include freadahead.h.
18346         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
18347         is zero.
18348
18349 2007-08-19  Bruno Haible  <bruno@clisp.org>
18350
18351         * modules/freadahead-tests: New file.
18352         * tests/test-freadahead.sh: New file.
18353         * tests/test-freadahead.c: New file.
18354
18355         * modules/freadahead: New file.
18356         * lib/freadahead.h: New file.
18357         * lib/freadahead.c: New file.
18358         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
18359         fbufmode, fpurge, freadable, fwritable.
18360
18361 2007-08-19  Eric Blake  <ebb9@byu.net>
18362
18363         Test yesno in combination with closein.
18364         * lib/yesno.c (yesno): Document use of stdin.
18365         * modules/yesno-tests (Files): New module.
18366         * tests/test-yesno.c (main): New file.
18367         * tests/test-yesno.sh: Likewise.
18368
18369 2007-08-19  Bruno Haible  <bruno@clisp.org>
18370
18371         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
18372         * lib/fseeko.c (rpl_fseeko): Likewise.
18373         * lib/fseterr.c (fseterr): Likewise.
18374
18375 2007-08-19  Bruno Haible  <bruno@clisp.org>
18376
18377         * tests/test-lseek.c (main): Disable a test for BeOS.
18378         * doc/functions/lseek.texi: Document the BeOS bug.
18379
18380 2007-08-19  Bruno Haible  <bruno@clisp.org>
18381             Eric Blake  <ebb9@byu.net>
18382
18383         * lib/lseek.c: Include <sys/stat.h>.
18384         (rpl_lseek): Add workaround code also for Unix platforms.
18385         Needed for BeOS.
18386         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
18387         * doc/functions/lseek.texi: Document BeOS definiency.
18388
18389 2007-08-18  Bruno Haible  <bruno@clisp.org>
18390
18391         * modules/fstrcmp-tests: New file.
18392         * tests/test-fstrcmp.c: New file.
18393
18394 2007-08-18  Bruno Haible  <bruno@clisp.org>
18395
18396         * modules/fstrcmp: New file, from GNU gettext with modifications.
18397         * lib/fstrcmp.h: New file, from GNU gettext.
18398         * lib/fstrcmp.c: New file, from GNU gettext.
18399         * MODULES.html.sh (String handling): Add fstrcmp.
18400
18401 2007-08-18  Bruno Haible  <bruno@clisp.org>
18402
18403         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
18404         'bool'.
18405         (diag, compareseq): Remove const from the ctxt argument.
18406         (USE_HEURISTIC): Undefine at the end.
18407
18408 2007-08-18  Jim Meyering  <jim@meyering.net>
18409
18410         New file: lib/idcache.h
18411         * NEWS: Mention the addition.
18412         * modules/idcache (Files): Add lib/idcache.h
18413         * lib/idcache.c: Include "idcache.h".
18414         Don't include <sys/types.h>.
18415         Add a FIXME comment.
18416         Move file-scoped "static" declarations to the top.
18417         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
18418
18419 2007-08-17  Bruno Haible  <bruno@clisp.org>
18420         and Paul Eggert  <eggert@cs.ucla.edu>
18421
18422         * MODULES.html.sh: Add diffseq.
18423         * modules/diffseq: New file.
18424         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
18425         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
18426
18427 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
18428
18429         Import changes from coreutils for bootstrap script.
18430
18431         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
18432
18433         * build-aux/bootstrap (slurp): Work even in environments where
18434         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
18435         current code does not slurp files whose names start with ".", and
18436         this looks like it might be a troublesome area.
18437
18438         2007-07-11  Jim Meyering  <jim@meyering.net>
18439
18440         If there's a GPL vN copyright comment, require that N == 3.
18441
18442         2007-07-08  Jim Meyering  <jim@meyering.net>
18443
18444         Run the coreutils-specific code only if tests/Makefile.am.in exists.
18445         * build-aux/bootstrap (mam_template): Move definition out of loop.
18446
18447         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
18448
18449         * build-aux/bootstrap (symlink_to_dir): Rename function from
18450         symlink_to_gnulib.  Add a directory parameter.  Update all
18451         callers.
18452         (cp_mark_as_generated): Also check for -- and link to -- files in
18453         gl/.
18454
18455         2007-07-08  Jim Meyering  <jim@meyering.net>
18456
18457         Adapt to deeper hierarchy in gnulib.
18458         * build-aux/bootstrap (symlink_to_dir): If the destination
18459         directory doesn't exist, create it. This is required at least for
18460         "lib/uniwidth/cjk.h".
18461
18462         2007-05-15  Jim Meyering  <jim@meyering.net>
18463
18464         * build-aux/bootstrap: Now that generated Makefile.am files
18465         are no longer under version control, they must be created at
18466         bootstrap time.
18467
18468 2007-08-14  Ben Pfaff  <blp@gnu.org>
18469
18470         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
18471
18472 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
18473
18474         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
18475         given the changes below.
18476         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
18477         even on hosts that have padding bits beyond the supported 64.
18478
18479 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
18480
18481         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
18482         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
18483         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
18484         depends on it.
18485         (xstrtol_error): Remove.
18486         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
18487         but with a different signature.
18488         (ATTRIBUTE_NORETURN, __attribute__): New macros.
18489         * lib/xstrtol-error.c: Include exitfail.h.
18490         (xstrtol_fatal): New function, with a different signature from the
18491         old xstrtol_error, so that the caller need not worry about passing
18492         in an exit status, or about storage management of the option argument.
18493         (xstrtol_error): Now a static function.  Redo signature to
18494         implement xstrtol_fatal.  Output the correct number of hyphens in
18495         front of the option so that the caller need not worry about
18496         storage management.
18497         (N_): New macro.
18498         (_): Remove; not used now.
18499         * modules/xstrtol: Depend on getopt.
18500         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
18501         of old STRTOL_FATAL_ERROR macro.
18502         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
18503         of test program.
18504         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
18505         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
18506
18507 2007-08-08  Eric Blake  <ebb9@byu.net>
18508
18509         * lib/xstrtol-error.c: Add missing include.
18510
18511         Move xstrtol messages into gnulib domain, when --pobase is used.
18512         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
18513         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
18514         * modules/xstrtol (Files): Distribute new file.
18515         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
18516         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
18517         * tests/test-xstrtol.c: ...into new file.
18518         * tests/test-xstrtoul.c: Also test xstrtoul.
18519         * tests/test-xstrtoimax.c: Also test xstrtoimax.
18520         * tests/test-xstrtoumax.c: Also test xstrtoumax.
18521         * tests/test-xstrtol.sh: Drive the tests.
18522         * tests/test-xstrtoimax.sh: Likewise.
18523         * tests/test-xstrtoumax.sh: Likewise.
18524         * modules/xstrtol-tests: New module.
18525         * modules/xstrtoimax-tests: Likewise.
18526         * modules/xstrtoumax-tests: Likewise.
18527
18528 2007-08-08  Jim Meyering  <jim@meyering.net>
18529
18530         New function: mfile_name_concat.
18531         * lib/filenamecat.c (mfile_name_concat): New function, just like
18532         file_name_concat, but return NULL upon failure rather than exiting
18533         with a diagnostic.
18534         * lib/filenamecat.h: Declare it.
18535
18536 2007-08-07  Bruno Haible  <bruno@clisp.org>
18537
18538         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
18539         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
18540         warning from gcc.
18541         Reported by Eric Blake.
18542
18543 2007-08-07  Simon Josefsson  <simon@josefsson.org>
18544
18545         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
18546         * modules/crypto/arcfour (License): Likewise.
18547         * modules/crypto/des-tests (License): Likewise.
18548         * modules/crypto/gc-arctwo-tests (License): Likewise.
18549         * modules/crypto/gc-des-tests (License): Likewise.
18550         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
18551         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
18552         * modules/crypto/gc-md2-tests (License): Likewise.
18553         * modules/crypto/gc-md4-tests (License): Likewise.
18554         * modules/crypto/gc-md5-tests (License): Likewise.
18555         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
18556         * modules/crypto/gc-rijndael-tests (License): Likewise.
18557         * modules/crypto/gc-sha1-tests (License): Likewise.
18558         * modules/crypto/gc-tests (License): Likewise.
18559         * modules/crypto/hmac-md5 (License): Likewise.
18560         * modules/crypto/hmac-sha1 (License): Likewise.
18561         * modules/crypto/md2-tests (License): Likewise.
18562         * modules/crypto/md4-tests (License): Likewise.
18563         * modules/crypto/md5 (License): Likewise.
18564         * modules/crypto/rijndael (License): Likewise.
18565         * modules/crypto/sha1 (License): Likewise.
18566         * modules/memxor (License): Likewise.
18567
18568 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
18569         and Bruno Haible  <bruno@clisp.org>
18570
18571         * NEWS: Describe interface changes to human, xstrtol.
18572         * lib/human.h: Include <xstrtol.h>.
18573         (human_options): Return enum strtol_error, not int.  Remove
18574         bool arg; take int * instead.
18575         * lib/human.c: Don't include "gettext.h".
18576         (_): Remove; no longer used.
18577         Don't include <xstrtol.h>, since human.h does it.
18578         (human_options): Adjust to abovementioned interface changes.
18579         Do not report error to stderr; that's now the caller's
18580         responsibility.
18581         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
18582         interface change.
18583         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
18584         Str, Argument_type_string.  All uses changed.  Put " argument"
18585         in diagnostics to make them clearer.  Change wording of suffix
18586         message for clarity.
18587         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
18588         Argument_type_string.
18589         (STRTOL_FATAL_WARN): Remove; no longer used.
18590         * modules/human (Depends-on): Remove gettext-h.
18591
18592 2007-08-06  Simon Josefsson  <simon@josefsson.org>
18593
18594         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
18595
18596 2007-07-31  Bruno Haible  <bruno@clisp.org>
18597
18598         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
18599         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
18600         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
18601
18602 2007-07-31  Bruno Haible  <bruno@clisp.org>
18603
18604         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
18605         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
18606
18607 2007-07-30  Bruno Haible  <bruno@clisp.org>
18608
18609         * modules/base64 (License): Use the synonymous term "LGPLv2+".
18610         * modules/c-ctype (License): Likewise.
18611         * modules/c-strcase (License): Likewise.
18612         * modules/check-version (License): Likewise.
18613         * modules/iconv (License): Likewise.
18614         * modules/iconv_open (License): Likewise.
18615         * modules/read-file (License): Likewise.
18616         * modules/striconv (License): Likewise.
18617         * modules/strverscmp (License): Likewise.
18618         * modules/vasprintf (License): Likewise.
18619         * modules/crypto/des (License): Likewise.
18620         * modules/crypto/gc (License): Likewise.
18621         * modules/crypto/gc-arcfour (License): Likewise.
18622         * modules/crypto/gc-arctwo (License): Likewise.
18623         * modules/crypto/gc-des (License): Likewise.
18624         * modules/crypto/gc-hmac-md5 (License): Likewise.
18625         * modules/crypto/gc-hmac-sha1 (License): Likewise.
18626         * modules/crypto/gc-md2 (License): Likewise.
18627         * modules/crypto/gc-md4 (License): Likewise.
18628         * modules/crypto/gc-md5 (License): Likewise.
18629         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
18630         * modules/crypto/gc-random (License): Likewise.
18631         * modules/crypto/gc-rijndael (License): Likewise.
18632         * modules/crypto/gc-sha1 (License): Likewise.
18633         * modules/crypto/md2 (License): Likewise.
18634         * modules/crypto/md4 (License): Likewise.
18635
18636 2007-07-30  Jim Meyering  <jim@meyering.net>
18637
18638         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
18639         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
18640         it has valid stat data.  This bug would cause du not to count the
18641         sizes of inaccessible directories.
18642         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
18643         in <http://bugzilla.redhat.com/250077>.
18644
18645 2007-07-25  Peter O'Gorman  <peter@pogma.com>
18646             Bruno Haible  <bruno@clisp.org>
18647
18648         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
18649         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
18650         #include_next, gives a diagnostic about it, but reports no error in
18651         the exit code.
18652         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
18653
18654 2007-07-24  Ben Pfaff  <blp@gnu.org>
18655
18656         Improve name: "count-one-bits" is better than "popcount".
18657         * MODULES.html.sh: Update name.
18658         * lib/popcount.h: Renamed lib/count-one-bits.h.
18659         (popcount): Renamed count_one_bits.
18660         (popcountl): Renamed count_one_bits_l.
18661         (popcountll): Renamed count_one_bits_ll.
18662         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
18663         * modules/popcount: Renamed module/count-one-bits.
18664         * modules/popcount-tests: Renamed module/count-one-bits-tests.
18665         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
18666
18667 2007-07-23  Ben Pfaff  <blp@gnu.org>
18668
18669         * lib/popcount.h (popcount32): Reduce size of constants, to allow
18670         better code generation, and add U to large constants to avoid
18671         warnings, in non-GCC case.
18672         Suggested by Bruno Haible.
18673
18674 2007-07-23  Ben Pfaff  <blp@gnu.org>
18675
18676         * lib/popcount.h: Use verify_true instead of if...abort.
18677         * modules/popcount: Depend on verify module.
18678         Suggested by Jim Meyering.
18679
18680 2007-07-23  Bruno Haible  <bruno@clisp.org>
18681
18682         * gnulib-tool (func_import): Create a .cvsignore file also when the
18683         directory is not yet in CVS but the toplevel directory is. When
18684         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
18685         Reported by Karl Berry.
18686
18687 2007-07-22  Ben Pfaff  <blp@gnu.org>
18688
18689         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
18690         case.
18691         Suggested by Eric Blake.
18692
18693 2007-07-22  Ben Pfaff  <blp@gnu.org>
18694
18695         New module: popcount.
18696         * MODULES.html.sh: Add popcount.
18697         * modules/popcount: New file.
18698         * modules/popcount-tests: New file.
18699         * tests/test-popcount.c: New file.
18700         * lib/popcount.h: New file.
18701         * m4/popcount.m4: New file.
18702
18703 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
18704
18705         * build-aux/announce-gen: Update to GPLv3.
18706
18707         * build-aux/config.guess: Update from config.
18708
18709 2007-07-21  Bruno Haible  <bruno@clisp.org>
18710
18711         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
18712         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
18713
18714 2007-07-20  Jim Meyering  <jim@meyering.net>
18715
18716         * check-module: Diagnose a self-dependency.
18717
18718 2007-07-19  Bruno Haible  <bruno@clisp.org>
18719
18720         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
18721         empty.
18722         Reported by Eric Blake.
18723
18724 2007-07-18  Bruno Haible  <bruno@clisp.org>
18725
18726         * gnulib-tool: New options --po-base, --po-domain.
18727         (func_usage): Document them.
18728         (pobase, po_domain): New variables.
18729         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
18730         DEFAULT_TEXT_DOMAIN.
18731         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
18732         (func_import): Consider pobase and po_domain. Create a po/ directory.
18733         (func_create_testdir): Set pobase and po_domain to empty.
18734         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
18735         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
18736
18737 2007-07-18  Bruno Haible  <bruno@clisp.org>
18738
18739         * gnulib-tool (func_get_automake_snippet): Synthesize also an
18740         EXTRA_DIST augmentation for files in build-aux/.
18741
18742 2007-07-16  Bruno Haible  <bruno@clisp.org>
18743
18744         * modules/lseek (License): Use the synonymous term "LGPLv2+".
18745         * modules/getdelim (License): Likewise.
18746
18747 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18748
18749         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
18750         * modules/d-type (License): Likewise.
18751         * modules/extensions (License): Likewise.
18752         * modules/fnmatch (License): Likewise.
18753         * modules/fseeko (License): Likewise.
18754         * modules/getaddrinfo (License): Likewise.
18755         * modules/getline (License): Likewise.
18756         * modules/getlogin_r (License): Likewise.
18757         * modules/getpass (License): Likewise.
18758         * modules/gettimeofday (License): Likewise.
18759         * modules/glob (License): Likewise.
18760         * modules/inet_ntop (License): Likewise.
18761         * modules/malloc (License): Likewise.
18762         * modules/malloca (License): Likewise.
18763         * modules/memmem (License): Likewise.
18764         * modules/mempcpy (License): Likewise.
18765         * modules/memset (License): Likewise.
18766         * modules/minmax (License): Likewise.
18767         * modules/mktime (License): Likewise.
18768         * modules/netinet_in (License): Likewise.
18769         * modules/pathmax (License): Likewise.
18770         * modules/poll (License): Likewise.
18771         * modules/regex (License): Likewise.
18772         * modules/snprintf (License): Likewise.
18773         * modules/stdbool (License): Likewise.
18774         * modules/stdint (License): Likewise.
18775         * modules/stdio (License): Likewise.
18776         * modules/strcase (License): Likewise.
18777         * modules/strcasestr (License): Likewise.
18778         * modules/strdup (License): Likewise.
18779         * modules/string (License): Likewise.
18780         * modules/strndup (License): Likewise.
18781         * modules/strnlen (License): Likewise.
18782         * modules/strpbrk (License): Likewise.
18783         * modules/strptime (License): Likewise.
18784         * modules/strsep (License): Likewise.
18785         * modules/sys_select (License): Likewise.
18786         * modules/sys_socket (License): Likewise.
18787         * modules/sys_stat (License): Likewise.
18788         * modules/sys_time (License): Likewise.
18789         * modules/time (License): Likewise.
18790         * modules/time_r (License): Likewise.
18791         * modules/timegm (License): Likewise.
18792         * modules/unistd (License): Likewise.
18793         * modules/vsnprintf (License): Likewise.
18794         * modules/wctype (License): Likewise.
18795
18796 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18797
18798         * modules/argz (License): LGPLv2+.
18799
18800 2007-07-15  Karl Berry  <karl@gnu.org>
18801
18802         * doc/gnulib.texi: revise node structure per new fdl.texi.
18803
18804 2007-07-14  Bruno Haible  <bruno@clisp.org>
18805
18806         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
18807         the output file.
18808         * lib/uniname/uninames.h: Regenerated.
18809
18810 2007-07-14  Karl Berry  <karl@gnu.org>
18811
18812         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
18813         omitting sectioning and index commands.
18814
18815 2007-07-13  Bruno Haible  <bruno@clisp.org>
18816
18817         New gnulib-tool option --more-symlinks.
18818         * gnulib-tool (func_usage): Document --more-symlinks.
18819         (do_copyrights): New variable.
18820         Recognize option --more-symlinks.
18821         (func_import): Don't add a copyright notice transform to
18822         sed_transform_lib_file if do_copyrights is empty.
18823
18824 2007-07-13  Bruno Haible  <bruno@clisp.org>
18825
18826         * lib/vasnprintf.c (decimal_point_char): Define also if
18827         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
18828         && !NEED_PRINTF_DIRECTIVE_A.
18829         Reported by Clemens Koller <clemens.koller@anagramm.de> via
18830         Gary V. Vaughan <gary@gnu.org>.
18831
18832 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
18833
18834         * lib/inttypes_.h: Undo previous change, since it was fixed
18835         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
18836
18837 2007-07-13  Bruno Haible  <bruno@clisp.org>
18838
18839         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
18840         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
18841
18842 2007-07-13  Jim Meyering  <jim@meyering.net>
18843
18844         df: Don't fail for Tru64's "file-on-file mount".
18845         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
18846         so we fall through and use statfs instead.  Details here:
18847         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
18848         Reported by Albert Chin.
18849
18850 2007-07-13  Bruno Haible  <bruno@clisp.org>
18851
18852         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
18853         * modules/configmake (License): Likewise.
18854         * modules/gettext (License): Likewise.
18855         * modules/gettext-h (License): Likewise.
18856         * modules/include_next (License): Likewise.
18857         * modules/link-warning (License): Likewise.
18858         * modules/localcharset (License): Likewise.
18859         * modules/localename (License): Likewise.
18860         * modules/lock (License): Likewise.
18861         * modules/relocatable-lib-lgpl (License): Likewise.
18862         * modules/size_max (License): Likewise.
18863         * modules/vasnprintf (License): Likewise.
18864         * modules/wchar (License): Likewise.
18865         * modules/xsize (License): Likewise.
18866
18867 2007-07-13  Bruno Haible  <bruno@clisp.org>
18868
18869         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
18870         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
18871
18872 2007-07-12  Bruno Haible  <bruno@clisp.org>
18873
18874         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
18875         in the modules files.
18876
18877 2007-07-11  Karl Berry  <karl@gnu.org>
18878
18879         * MODULES.html.sh (func_module): use
18880          sed -e '\|^'"${includefile}"'$|d'
18881          instead of /.../d, to avoid errors on $includefile's containing /.
18882
18883 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
18884
18885         * gnulib-tool (func_import): Avoid duplication of --avoid
18886         statements
18887         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
18888         names to `_' in variable names.
18889
18890 2007-07-10  Eric Blake  <ebb9@byu.net>
18891
18892         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
18893         * NEWS: Document this change.
18894
18895 2007-07-08  Bruno Haible  <bruno@clisp.org>
18896
18897         Update to Unicode 5.0.
18898         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
18899         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
18900         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
18901         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
18902         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
18903         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
18904         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
18905         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
18906         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
18907         U+10A3F, U+1D242..U+1D244.
18908         (nonspacing_table_ind): Update.
18909         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
18910         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
18911
18912 2007-07-08  Bruno Haible  <bruno@clisp.org>
18913
18914         Update to Unicode 5.0.
18915         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
18916         code transform. Extend the name index field of unicode_name_to_code and
18917         unicode_code_to_name from 16 to 24 bits.
18918         * lib/uniname/uniname.c (unicode_character_name,
18919         unicode_name_character): Add the range 0x12xxx to the code transform.
18920         * lib/uniname/uninames.h: Regenerated.
18921         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
18922
18923 2007-07-07  Bruno Haible  <bruno@clisp.org>
18924
18925         * modules/wcwidth-tests: New file.
18926         * tests/test-wcwidth.c: New file.
18927
18928         Work around MacOS X wcwidth() bug.
18929         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
18930         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
18931         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
18932         original wcwidth in non-UTF-8 locales.
18933         * modules/wcwidth (Depends-on): Add localcharset, streq,
18934         uniwidth/width.
18935         * doc/functions/wcwidth.texi: Update.
18936
18937 2007-07-07  Bruno Haible  <bruno@clisp.org>
18938
18939         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
18940         (wcwidth): New declaration.
18941         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
18942         macros.
18943         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
18944         here. Prepare for creating <wchar.h> unconditionally.
18945         * modules/wchar (Depends-on): Add link-warning.
18946         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
18947         REPLACE_WCWIDTH, and GL_LINK_WARNING.
18948         * lib/wcwidth.h: Remove file.
18949         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
18950         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
18951         * modules/wcwidth (Files): Remove lib/wcwidth.h.
18952         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
18953         (Include): Replace wcwidth.h with <wchar.h>.
18954         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
18955         * lib/mbchar.h: Don't include wcwidth.h.
18956         * lib/mbswidth.c: Likewise.
18957         * NEWS: Mention the change.
18958
18959 2007-07-07  Bruno Haible  <bruno@clisp.org>
18960
18961         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
18962         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
18963         definition with an external declaration.
18964         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
18965         defined as a function. Remove AC_C_INLINE requirement.
18966         * modules/wcwidth (Files): Add lib/wcwidth.c.
18967         (Makefile.am): Remove redundant statement.
18968
18969 2007-07-07  Bruno Haible  <bruno@clisp.org>
18970
18971         * MODULES.html.sh (Unicode string functions): Add the new modules.
18972
18973         * tests/uniwidth/test-u32-strwidth.c: New file.
18974         * modules/uniwidth/u32-strwidth-tests: New file.
18975
18976         * lib/uniwidth/u32-strwidth.c: New file.
18977         * modules/uniwidth/u32-strwidth: New file.
18978
18979         * tests/uniwidth/test-u16-strwidth.c: New file.
18980         * modules/uniwidth/u16-strwidth-tests: New file.
18981
18982         * lib/uniwidth/u16-strwidth.c: New file.
18983         * modules/uniwidth/u16-strwidth: New file.
18984
18985         * tests/uniwidth/test-u8-strwidth.c: New file.
18986         * modules/uniwidth/u8-strwidth-tests: New file.
18987
18988         * lib/uniwidth/u8-strwidth.c: New file.
18989         * modules/uniwidth/u8-strwidth: New file.
18990
18991         * tests/uniwidth/test-u32-width.c: New file.
18992         * modules/uniwidth/u32-width-tests: New file.
18993
18994         * lib/uniwidth/u32-width.c: New file.
18995         * modules/uniwidth/u32-width: New file.
18996
18997         * tests/uniwidth/test-u16-width.c: New file.
18998         * modules/uniwidth/u16-width-tests: New file.
18999
19000         * lib/uniwidth/u16-width.c: New file.
19001         * modules/uniwidth/u16-width: New file.
19002
19003         * tests/uniwidth/test-u8-width.c: New file.
19004         * modules/uniwidth/u8-width-tests: New file.
19005
19006         * lib/uniwidth/u8-width.c: New file.
19007         * modules/uniwidth/u8-width: New file.
19008
19009         * tests/uniwidth/test-uc_width.c: New file.
19010         * modules/uniwidth/width-tests: New file.
19011
19012         * lib/uniwidth/width.c: New file, from GNU libiconv.
19013         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
19014         * modules/uniwidth/width: New file.
19015
19016         * lib/uniwidth.h: New file, from GNU libiconv.
19017         * modules/uniwidth/base: New file.
19018
19019 2007-07-07  Bruno Haible  <bruno@clisp.org>
19020
19021         * lib/uniname.h: New file, from GNU gettext.
19022         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
19023         * lib/uniname/uninames.h: New file, from GNU gettext.
19024         * lib/uniname/uniname.c: New file, from GNU gettext.
19025         * tests/uniname/test-uninames.sh: New file.
19026         * tests/uniname/test-uninames.c: New file, from GNU gettext.
19027         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
19028         * modules/uniname/base: New file.
19029         * modules/uniname/uniname: New file.
19030         * modules/uniname/uniname-tests: New file.
19031         * MODULES.html.sh (Unicode string functions): Add the new modules.
19032
19033 2007-07-06  Bruno Haible  <bruno@clisp.org>
19034
19035         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
19036
19037 2007-07-06  Bruno Haible  <bruno@clisp.org>
19038
19039         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
19040         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
19041         includes <cygwin/sys_time.h> which includes <sys/select.h> which
19042         include <sys/time.h>.
19043         Reported by Eric Blake.
19044
19045 2007-07-06  Eric Blake  <ebb9@byu.net>
19046
19047         Fix testing canonicalize on cygwin.
19048         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
19049         Revert patch from 2007-06-19.
19050         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
19051         canonicalize module is also in use.
19052         * tests/test-canonicalize.c: New file.
19053         * tests/test-canonicalize.sh: Likewise.
19054         * modules/canonicalize-tests: Likewise.
19055
19056 2007-07-06  Jim Meyering  <jim@meyering.net>
19057
19058         * lib/getugroups.c (getugroups): Detect getgrent failure.
19059         Adjust comment to reflect reality: this function may return -1.
19060
19061 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
19062
19063         * build-aux/bootstrap (TP_URL,get_translations): Update to use
19064         the new TP address.
19065         (usage): Fix typo
19066         (gnulib_mk): New variable.
19067
19068 2007-07-05  Jim Meyering  <jim@meyering.net>
19069
19070         Don't let endgrent clobber errno, no matter how improbable.
19071         * lib/getugroups.c (getugroups): Save and restore errno around
19072         endgrent call.
19073
19074         Close the group DB even when failing with 2^31 or more members.
19075         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
19076
19077 2007-07-04  Jim Meyering  <jim@meyering.net>
19078
19079         * lib/getugroups.h: New file.
19080         * lib/getugroups.c: Include "getugroups.h".
19081         Remove uses of "register" keyword.
19082         Move local variable, "cp", down into scope where used.
19083         Give "username" parameter the "const" attribute.
19084         * modules/getugroups (Files): Add lib/getugroups.h
19085
19086 2007-07-04  Karl Berry  <karl@gnu.org>
19087
19088         * MODULES.html.sh (func_all_modules): Complete rename of
19089         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
19090
19091 2007-07-02  Bruno Haible  <bruno@clisp.org>
19092
19093         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
19094         mode, when inttypes.h comes from gnulib.
19095         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
19096
19097 2007-07-02  Simon Josefsson  <simon@josefsson.org>
19098
19099         * NEWS: Mention lgpl module name change.
19100
19101         * modules/lgpl-2.1: Renamed from lgpl.
19102
19103         * NEWS: Mention gpl module name change.
19104
19105         * modules/gpl-3.0: New file, based on gpl-2.0.
19106
19107         * modules/gpl-2.0: Renamed from gpl.
19108
19109         * modules/gpl: Fix filename, doc/gpl.texi is now found at
19110         doc/gpl-2.0.texi.
19111
19112 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
19113
19114         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
19115         #define __STDC_LIMIT_MACROS temporarily while including
19116         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
19117         Problem reported by Joel E. Denny in
19118         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
19119
19120 2007-07-01  Bruno Haible  <bruno@clisp.org>
19121
19122         * lib/unistdio.h: New file.
19123         * lib/unistdio/u-asnprintf.h: New file.
19124         * lib/unistdio/u-asprintf.h: New file.
19125         * lib/unistdio/u-printf-args.c: New file.
19126         * lib/unistdio/u-printf-args.h: New file.
19127         * lib/unistdio/u-printf-parse.h: New file.
19128         * lib/unistdio/u-snprintf.h: New file.
19129         * lib/unistdio/u-sprintf.h: New file.
19130         * lib/unistdio/u-vasprintf.h: New file.
19131         * lib/unistdio/u-vsnprintf.h: New file.
19132         * lib/unistdio/u-vsprintf.h: New file.
19133         * lib/unistdio/ulc-asnprintf.c: New file.
19134         * lib/unistdio/ulc-asprintf.c: New file.
19135         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
19136         * lib/unistdio/ulc-printf-parse.c: New file.
19137         * lib/unistdio/ulc-snprintf.c: New file.
19138         * lib/unistdio/ulc-sprintf.c: New file.
19139         * lib/unistdio/ulc-vasnprintf.c: New file.
19140         * lib/unistdio/ulc-vasprintf.c: New file.
19141         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
19142         * lib/unistdio/ulc-vsnprintf.c: New file.
19143         * lib/unistdio/ulc-vsprintf.c: New file.
19144         * lib/unistdio/u8-asnprintf.c: New file.
19145         * lib/unistdio/u8-asprintf.c: New file.
19146         * lib/unistdio/u8-printf-parse.c: New file.
19147         * lib/unistdio/u8-snprintf.c: New file.
19148         * lib/unistdio/u8-sprintf.c: New file.
19149         * lib/unistdio/u8-vasnprintf.c: New file.
19150         * lib/unistdio/u8-vasprintf.c: New file.
19151         * lib/unistdio/u8-vsnprintf.c: New file.
19152         * lib/unistdio/u8-vsprintf.c: New file.
19153         * lib/unistdio/u8-u8-asnprintf.c: New file.
19154         * lib/unistdio/u8-u8-asprintf.c: New file.
19155         * lib/unistdio/u8-u8-snprintf.c: New file.
19156         * lib/unistdio/u8-u8-sprintf.c: New file.
19157         * lib/unistdio/u8-u8-vasnprintf.c: New file.
19158         * lib/unistdio/u8-u8-vasprintf.c: New file.
19159         * lib/unistdio/u8-u8-vsnprintf.c: New file.
19160         * lib/unistdio/u8-u8-vsprintf.c: New file.
19161         * lib/unistdio/u16-asnprintf.c: New file.
19162         * lib/unistdio/u16-asprintf.c: New file.
19163         * lib/unistdio/u16-printf-parse.c: New file.
19164         * lib/unistdio/u16-snprintf.c: New file.
19165         * lib/unistdio/u16-sprintf.c: New file.
19166         * lib/unistdio/u16-vasnprintf.c: New file.
19167         * lib/unistdio/u16-vasprintf.c: New file.
19168         * lib/unistdio/u16-vsnprintf.c: New file.
19169         * lib/unistdio/u16-vsprintf.c: New file.
19170         * lib/unistdio/u16-u16-asnprintf.c: New file.
19171         * lib/unistdio/u16-u16-asprintf.c: New file.
19172         * lib/unistdio/u16-u16-snprintf.c: New file.
19173         * lib/unistdio/u16-u16-sprintf.c: New file.
19174         * lib/unistdio/u16-u16-vasnprintf.c: New file.
19175         * lib/unistdio/u16-u16-vasprintf.c: New file.
19176         * lib/unistdio/u16-u16-vsnprintf.c: New file.
19177         * lib/unistdio/u16-u16-vsprintf.c: New file.
19178         * lib/unistdio/u32-asnprintf.c: New file.
19179         * lib/unistdio/u32-asprintf.c: New file.
19180         * lib/unistdio/u32-printf-parse.c: New file.
19181         * lib/unistdio/u32-snprintf.c: New file.
19182         * lib/unistdio/u32-sprintf.c: New file.
19183         * lib/unistdio/u32-vasnprintf.c: New file.
19184         * lib/unistdio/u32-vasprintf.c: New file.
19185         * lib/unistdio/u32-vsnprintf.c: New file.
19186         * lib/unistdio/u32-vsprintf.c: New file.
19187         * lib/unistdio/u32-u32-asnprintf.c: New file.
19188         * lib/unistdio/u32-u32-asprintf.c: New file.
19189         * lib/unistdio/u32-u32-snprintf.c: New file.
19190         * lib/unistdio/u32-u32-sprintf.c: New file.
19191         * lib/unistdio/u32-u32-vasnprintf.c: New file.
19192         * lib/unistdio/u32-u32-vasprintf.c: New file.
19193         * lib/unistdio/u32-u32-vsnprintf.c: New file.
19194         * lib/unistdio/u32-u32-vsprintf.c: New file.
19195         * tests/unistdio/test-ulc-asnprintf1.c: New file.
19196         * tests/unistdio/test-ulc-asnprintf1.h: New file.
19197         * tests/unistdio/test-ulc-printf1.h: New file.
19198         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
19199         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
19200         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
19201         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
19202         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
19203         * tests/unistdio/test-ulc-vasprintf1.c: New file.
19204         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
19205         * tests/unistdio/test-ulc-vsprintf1.c: New file.
19206         * tests/unistdio/test-u8-asnprintf1.c: New file.
19207         * tests/unistdio/test-u8-asnprintf1.h: New file.
19208         * tests/unistdio/test-u8-printf1.h: New file.
19209         * tests/unistdio/test-u8-vasnprintf1.c: New file.
19210         * tests/unistdio/test-u8-vasnprintf2.c: New file.
19211         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
19212         * tests/unistdio/test-u8-vasnprintf3.c: New file.
19213         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
19214         * tests/unistdio/test-u8-vasprintf1.c: New file.
19215         * tests/unistdio/test-u8-vsnprintf1.c: New file.
19216         * tests/unistdio/test-u8-vsprintf1.c: New file.
19217         * tests/unistdio/test-u16-asnprintf1.c: New file.
19218         * tests/unistdio/test-u16-asnprintf1.h: New file.
19219         * tests/unistdio/test-u16-printf1.h: New file.
19220         * tests/unistdio/test-u16-vasnprintf1.c: New file.
19221         * tests/unistdio/test-u16-vasnprintf2.c: New file.
19222         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
19223         * tests/unistdio/test-u16-vasnprintf3.c: New file.
19224         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
19225         * tests/unistdio/test-u16-vasprintf1.c: New file.
19226         * tests/unistdio/test-u16-vsnprintf1.c: New file.
19227         * tests/unistdio/test-u16-vsprintf1.c: New file.
19228         * tests/unistdio/test-u32-asnprintf1.c: New file.
19229         * tests/unistdio/test-u32-asnprintf1.h: New file.
19230         * tests/unistdio/test-u32-printf1.h: New file.
19231         * tests/unistdio/test-u32-vasnprintf1.c: New file.
19232         * tests/unistdio/test-u32-vasnprintf2.c: New file.
19233         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
19234         * tests/unistdio/test-u32-vasnprintf3.c: New file.
19235         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
19236         * tests/unistdio/test-u32-vasprintf1.c: New file.
19237         * tests/unistdio/test-u32-vsnprintf1.c: New file.
19238         * tests/unistdio/test-u32-vsprintf1.c: New file.
19239         * modules/unistdio/base: New file.
19240         * modules/unistdio/u-printf-args: New file.
19241         * modules/unistdio/ulc-asnprintf: New file.
19242         * modules/unistdio/ulc-asprintf: New file.
19243         * modules/unistdio/ulc-fprintf: New file.
19244         * modules/unistdio/ulc-printf-parse: New file.
19245         * modules/unistdio/ulc-snprintf: New file.
19246         * modules/unistdio/ulc-sprintf: New file.
19247         * modules/unistdio/ulc-vasnprintf: New file.
19248         * modules/unistdio/ulc-vasprintf: New file.
19249         * modules/unistdio/ulc-vfprintf: New file.
19250         * modules/unistdio/ulc-vsnprintf: New file.
19251         * modules/unistdio/ulc-vsprintf: New file.
19252         * modules/unistdio/u8-asnprintf: New file.
19253         * modules/unistdio/u8-asprintf: New file.
19254         * modules/unistdio/u8-printf-parse: New file.
19255         * modules/unistdio/u8-snprintf: New file.
19256         * modules/unistdio/u8-sprintf: New file.
19257         * modules/unistdio/u8-vasnprintf: New file.
19258         * modules/unistdio/u8-vasprintf: New file.
19259         * modules/unistdio/u8-vsnprintf: New file.
19260         * modules/unistdio/u8-vsprintf: New file.
19261         * modules/unistdio/u8-u8-asnprintf: New file.
19262         * modules/unistdio/u8-u8-asprintf: New file.
19263         * modules/unistdio/u8-u8-snprintf: New file.
19264         * modules/unistdio/u8-u8-sprintf: New file.
19265         * modules/unistdio/u8-u8-vasnprintf: New file.
19266         * modules/unistdio/u8-u8-vasprintf: New file.
19267         * modules/unistdio/u8-u8-vsnprintf: New file.
19268         * modules/unistdio/u8-u8-vsprintf: New file.
19269         * modules/unistdio/u16-asnprintf: New file.
19270         * modules/unistdio/u16-asprintf: New file.
19271         * modules/unistdio/u16-printf-parse: New file.
19272         * modules/unistdio/u16-snprintf: New file.
19273         * modules/unistdio/u16-sprintf: New file.
19274         * modules/unistdio/u16-vasnprintf: New file.
19275         * modules/unistdio/u16-vasprintf: New file.
19276         * modules/unistdio/u16-vsnprintf: New file.
19277         * modules/unistdio/u16-vsprintf: New file.
19278         * modules/unistdio/u16-u16-asnprintf: New file.
19279         * modules/unistdio/u16-u16-asprintf: New file.
19280         * modules/unistdio/u16-u16-snprintf: New file.
19281         * modules/unistdio/u16-u16-sprintf: New file.
19282         * modules/unistdio/u16-u16-vasnprintf: New file.
19283         * modules/unistdio/u16-u16-vasprintf: New file.
19284         * modules/unistdio/u16-u16-vsnprintf: New file.
19285         * modules/unistdio/u16-u16-vsprintf: New file.
19286         * modules/unistdio/u32-asnprintf: New file.
19287         * modules/unistdio/u32-asprintf: New file.
19288         * modules/unistdio/u32-printf-parse: New file.
19289         * modules/unistdio/u32-snprintf: New file.
19290         * modules/unistdio/u32-sprintf: New file.
19291         * modules/unistdio/u32-vasnprintf: New file.
19292         * modules/unistdio/u32-vasprintf: New file.
19293         * modules/unistdio/u32-vsnprintf: New file.
19294         * modules/unistdio/u32-vsprintf: New file.
19295         * modules/unistdio/u32-u32-asnprintf: New file.
19296         * modules/unistdio/u32-u32-asprintf: New file.
19297         * modules/unistdio/u32-u32-snprintf: New file.
19298         * modules/unistdio/u32-u32-sprintf: New file.
19299         * modules/unistdio/u32-u32-vasnprintf: New file.
19300         * modules/unistdio/u32-u32-vasprintf: New file.
19301         * modules/unistdio/u32-u32-vsnprintf: New file.
19302         * modules/unistdio/u32-u32-vsprintf: New file.
19303         * modules/unistdio/ulc-asnprintf-tests: New file.
19304         * modules/unistdio/ulc-vasnprintf-tests: New file.
19305         * modules/unistdio/ulc-vasprintf-tests: New file.
19306         * modules/unistdio/ulc-vsnprintf-tests: New file.
19307         * modules/unistdio/ulc-vsprintf-tests: New file.
19308         * modules/unistdio/u8-asnprintf-tests: New file.
19309         * modules/unistdio/u8-vasnprintf-tests: New file.
19310         * modules/unistdio/u8-vasprintf-tests: New file.
19311         * modules/unistdio/u8-vsnprintf-tests: New file.
19312         * modules/unistdio/u8-vsprintf-tests: New file.
19313         * modules/unistdio/u16-asnprintf-tests: New file.
19314         * modules/unistdio/u16-vasnprintf-tests: New file.
19315         * modules/unistdio/u16-vasprintf-tests: New file.
19316         * modules/unistdio/u16-vsnprintf-tests: New file.
19317         * modules/unistdio/u16-vsprintf-tests: New file.
19318         * modules/unistdio/u32-asnprintf-tests: New file.
19319         * modules/unistdio/u32-vasnprintf-tests: New file.
19320         * modules/unistdio/u32-vasprintf-tests: New file.
19321         * modules/unistdio/u32-vsnprintf-tests: New file.
19322         * modules/unistdio/u32-vsprintf-tests: New file.
19323         * MODULES.html.sh (Unicode string functions): Add the new modules.
19324
19325 2007-07-01  Bruno Haible  <bruno@clisp.org>
19326
19327         * lib/sprintf.c (sprintf): Limit the available length estimation,
19328         to avoid address wraparound.
19329         * lib/vsprintf.c (vsprintf): Likewise.
19330         * modules/sprintf-posix (Dependencies): Add stdint.
19331         * modules/vsprintf-posix (Dependencies): Likewise.
19332
19333 2007-07-01  Bruno Haible  <bruno@clisp.org>
19334
19335         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
19336         Windows PATH as well. Conservative double-quoting. Comments.
19337
19338 2007-07-01  Bruno Haible  <bruno@clisp.org>
19339             Eric Blake  <ebb9@byu.net>
19340             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19341
19342         * gnulib-tool (self_abspathname): Fix algorithm to cope with
19343         empty components in $PATH, denoting '.'.
19344
19345 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19346
19347         * gnulib-tool: Fix indentation.
19348         (func_create_megatestdir): Likewise.
19349         Report by Bruno Haible.
19350
19351 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19352
19353         Sync from Automake.
19354         * build-aux/gnupload: Fix shell portability issues with for loops.
19355         Report by Karl Berry.
19356
19357 2007-06-29  Simon Josefsson  <simon@josefsson.org>
19358
19359         * build-aux/maint.mk (POURL): Use translationproject.org.
19360
19361 2007-06-27  Simon Josefsson  <simon@josefsson.org>
19362             Bruno Haible  <bruno@clisp.org>
19363
19364         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
19365         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
19366         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
19367         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
19368         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
19369
19370 2007-06-27  Bruno Haible  <bruno@clisp.org>
19371
19372         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
19373         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
19374
19375 2007-06-26  Karl Berry  <karl@gnu.org>
19376
19377         * MODULES.html.sh: remove xreadlink-with-size.
19378
19379 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
19380
19381         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
19382         method that I hope also handles the double-include problem noted
19383         by Bruno Haible in
19384         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
19385
19386 2007-06-23  Bruno Haible  <bruno@clisp.org>
19387
19388         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
19389         Don't let the 'mostlyclean' target fail if the last subdirectory could
19390         not be removed.
19391         Reported by Karl Berry.
19392
19393 2007-06-23  Bruno Haible  <bruno@clisp.org>
19394
19395         * gnulib-tool (echo): Add a speedier workaround for ksh.
19396         * tests/test-echo.sh: Likewise.
19397
19398 2007-06-23  Bruno Haible  <bruno@clisp.org>
19399
19400         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
19401         * tests/test-echo.sh: Likewise.
19402
19403 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19404
19405         * gnulib-tool (IFS): Initialize early, so we don't set it to
19406         empty later.
19407         (self_abspathname): Rewrite algorithm to set it, reindent.
19408         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
19409         (func_create_megatestdir): Merge some sed scripts.
19410
19411 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
19412
19413         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
19414         exposed by Sun Studio 11 cc on Solaris 8.
19415
19416 2007-06-22  Bruno Haible  <bruno@clisp.org>
19417
19418         * gnulib-tool (echo): Ensure the echo primitive does not interpret
19419         backslashes.
19420         * tests/test-echo.sh: New file.
19421
19422 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19423
19424         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
19425         simplify `sed_replace_build_aux' scripts, they are portable but
19426         echoing them with `echo' is not.
19427         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
19428
19429 2007-06-21  Karl Berry  <karl@gnu.org>
19430
19431         * config/srclist.txt: guess we can't handle the licenses via
19432         srclist at the moment.
19433
19434 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
19435
19436         * MODULES.html.sh: Add include_next.
19437         * modules/include_next: New file.
19438
19439 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
19440
19441         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
19442         INCLUDE_NEXT.
19443         (gl_CHECK_NEXT_HEADERS): New macro.
19444         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
19445         the obsolescent gl_ABSOLUTE_HEADER.
19446         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
19447         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
19448         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
19449         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
19450         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
19451         * m4/math_h.m4 (gl_MATH_H): Likewise.
19452         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
19453         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
19454         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
19455         * m4/stdint.m4 (gl_STDINT_H): Likewise.
19456         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
19457         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
19458         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
19459         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19460         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
19461         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
19462         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
19463         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
19464         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
19465         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
19466         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
19467         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
19468         * m4/inttypes.m4 (gl_INTTYPES_H): Define
19469         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
19470         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
19471         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
19472         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
19473         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
19474         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
19475         * lib/float_.h: Likewise.
19476         * lib/inttypes_.h: Likewise.
19477         * lib/math_.h: Likewise.
19478         * lib/search_.h: Likewise.
19479         * lib/signal_.h: Likewise.
19480         * lib/stdint_.h: Likewise.
19481         * lib/stdio_.h: Likewise.
19482         * lib/stdlib_.h: Likewise.
19483         * lib/string_.h: Likewise.
19484         * lib/sys_stat_.h: Likewise.
19485         * lib/sys_time_.h: Likewise.
19486         * lib/time_.h: Likewise.
19487         * lib/unistd_.h: Likewise.
19488         * lib/wchar_.h: Likewise.
19489         * lib/wctype_.h: Likewise.
19490         * lib/dirent_.h: Likewise.
19491         * lib/iconv_.h: Likewise.
19492         * lib/locale_.h: Likewise.
19493         * lib/netinet_in_.h: Likewise.
19494         * lib/sys_select_.h: Likewise.
19495         * lib/sys_socket_.h: Likewise.
19496         * lib/sysexits_.h: Likewise.
19497         * modules/fcntl (Depends-on): Depend on include_next, not
19498         absolute_header.
19499         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
19500         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
19501         * modules/fchdir: Likewise.
19502         * modules/float: Likewise.
19503         * modules/iconv_open: Likewise.
19504         * modules/inttypes: Likewise.
19505         * modules/locale: Likewise.
19506         * modules/math: Likewise.
19507         * modules/netinet_in: Likewise.
19508         * modules/search: Likewise.
19509         * modules/signal: Likewise.
19510         * modules/stdint: Likewise.
19511         * modules/stdio: Likewise.
19512         * modules/stdlib: Likewise.
19513         * modules/string: Likewise.
19514         * modules/sys_select: Likewise.
19515         * modules/sys_socket: Likewise.
19516         * modules/sys_stat: Likewise.
19517         * modules/sys_time: Likewise.
19518         * modules/sysexits: Likewise.
19519         * modules/time: Likewise.
19520         * modules/unistd: Likewise.
19521         * modules/wchar: Likewise.
19522         * modules/wctype: Likewise.
19523         * modules/sys_stat: Change maintainer to "all".
19524         * modules/unistd: Likewise.
19525
19526 2007-06-20  Karl Berry  <karl@gnu.org>
19527
19528         * config/srclist.txt: track www changes in license files.
19529
19530 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
19531
19532         * build-aux/bootstrap: Remove stray dot.
19533         Make sure build_aux settings are honored when linking
19534         gnulib_extra_files.
19535
19536 2007-06-19  Eric Blake  <ebb9@byu.net>
19537
19538         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
19539         Allow compilation on cygwin.
19540
19541 2007-06-19  Jim Meyering  <jim@meyering.net>
19542
19543         xreadlink-with-size: Remove module.  No longer used.
19544         Ex-callers now use xreadlink or mreadlink-with-size.
19545         * modules/xreadlink-with-size: Remove module.
19546         * lib/xreadlink-with-size.c: Remove file.
19547         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
19548         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
19549         just before the function definition *is* accurate.
19550
19551         Eliminate one way canonicalize_filename_mode could exit.
19552         * lib/canonicalize.c (canonicalize_filename_mode):
19553         Use mreadlink_with_size, not xreadlink_with_size.
19554
19555 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
19556
19557         Detect porting problems to FreeBSD/arm, which has time_t wider than
19558         long int.  Original problem reported for GNU diff by Xin Li in
19559         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
19560         * modules/getdate (Depends-on): Add intprops, verify.
19561         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
19562         is an integer type no wider than long int.
19563
19564 2007-06-18  Jim Meyering  <jim@meyering.net>
19565
19566         New module: mreadlink-with-size.
19567         * MODULES.html.sh: Add mreadlink-with-size.
19568         * modules/mreadlink-with-size: New module
19569         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
19570         not xreadlink-with-size.
19571         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
19572
19573 2007-06-16  Bruno Haible  <bruno@clisp.org>
19574
19575         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
19576         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
19577         Reported by Gary V. Vaughan <gary@gnu.org>.
19578
19579 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19580
19581         Revamp lchown so that it lives in unistd.h where it belongs.
19582         * lib/lchown.h: Remove.
19583         * lib/dirchownmod.c: Don't include lib/lchown.h.
19584         * lib/fchownat.c: Likewise.
19585         * lib/openat.c: Likewise.
19586         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
19587         does not follow symlinks.
19588         (EOPNOTSUPP): Define if not defined.
19589         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
19590         is defined to 0.
19591         (lchown): New decl.
19592         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
19593         Do not check for lchown decl.
19594         Set REPLACE_LCHOWN.
19595         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
19596         REPLACE_LCHOWN.
19597         * modules/chown: Make it clear it follows symlinks.
19598         * modules/lchown: Make it clear it doesn't follow symlinks.
19599         (Files): Remove lib/lchown.h
19600         (Depends-on): Add unistd.
19601         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
19602         (Include): Include <unistd.h>, not "lchown.h".
19603         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
19604         REPLACE_LCHOWN.
19605
19606 2007-06-15  Jim Meyering  <jim@meyering.net>
19607
19608         Change license (GPL to LGPL) of fsusage and dependents.
19609         * modules/fsusage (License): Change to LGPL.
19610         * modules/full-read (License): Likewise.
19611         * modules/full-write (License): Likewise.
19612         * modules/safe-read (License): Likewise.
19613         * modules/safe-write (License): Likewise.
19614
19615 2007-06-14  Ben Pfaff  <blp@gnu.org>
19616
19617         Missing part of allocsa -> malloca transition.
19618         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
19619         gl_MALLOCA.
19620
19621 2007-06-12  Bruno Haible  <bruno@clisp.org>
19622
19623         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
19624         to ia64, x86_64, i386.
19625         Reported by Eric Blake.
19626
19627 2007-06-12  Bruno Haible  <bruno@clisp.org>
19628
19629         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
19630         cross-compiling to x86_64.
19631
19632 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
19633
19634         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
19635         glitch reported by Ralf Wildenhues in
19636         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
19637
19638         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
19639         Vin Shelton.
19640
19641 2007-06-11  Bruno Haible  <bruno@clisp.org>
19642
19643         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
19644         replacement string.
19645         Reported by Eric Blake.
19646
19647 2007-06-10  Bruno Haible  <bruno@clisp.org>
19648
19649         Prepare vasnprintf code for use with Unicode strings.
19650         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
19651         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
19652         TYPE_U32_STRING.
19653         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
19654         a_u32_string variants.
19655         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
19656         * lib/printf-args.c: Don't include config.h and the specification
19657         header if PRINTF_FETCHARGS is already defined.
19658         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
19659         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
19660         TYPE_U16_STRING, TYPE_U32_STRING.
19661         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
19662         u16_directive, u16_directives, u32_directive, u32_directives): New
19663         types.
19664         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
19665         New declarations.
19666         * lib/printf-parse.c: Don't include config.h and the specification
19667         header if PRINTF_PARSE is already defined. Eliminate the set of
19668         parameters for WIDE_CHAR_VERSION; the user of this file must provide
19669         them now. Include c-ctype.h.
19670         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
19671         directive and CHAR_T_ONLY_ASCII.
19672         * lib/vasnprintf.c: Don't include config.h and the specification header
19673         if VASNPRINTF is already defined.
19674         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
19675         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
19676         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
19677         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
19678         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
19679         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
19680         code accordingly.
19681         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
19682         pad_ourselves also in this case, with the 'c' and 's' directives, and
19683         with a different notion of "width".
19684         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
19685
19686 2007-06-10  Bruno Haible  <bruno@clisp.org>
19687
19688         * modules/unistr/u32-mbsnlen: New file.
19689         * lib/unistr/u32-mbsnlen.c: New file.
19690
19691         * modules/unistr/u16-mbsnlen: New file.
19692         * lib/unistr/u16-mbsnlen.c: New file.
19693
19694         * modules/unistr/u8-mbsnlen: New file.
19695         * lib/unistr/u8-mbsnlen.c: New file.
19696
19697         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
19698         declarations.
19699
19700 2007-06-10  Bruno Haible  <bruno@clisp.org>
19701
19702         * lib/string_.h (mbsnlen): New declaration.
19703         * lib/mbsnlen.c: New file.
19704         * m4/mbsnlen.m4: New file.
19705         * modules/mbsnlen: New file.
19706         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
19707         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
19708         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
19709
19710 2007-06-10  Bruno Haible  <bruno@clisp.org>
19711
19712         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
19713
19714 2007-06-10  Bruno Haible  <bruno@clisp.org>
19715
19716         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
19717         * lib/mbuiter.h: Likewise.
19718
19719 2007-06-10  Bruno Haible  <bruno@clisp.org>
19720
19721         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
19722         declaration.
19723
19724 2007-06-10  Karl Berry  <karl@gnu.org>
19725
19726         * config/srclist.txt: remove gettext entries, Bruno prefers
19727         to update individually.
19728
19729 2007-06-10  Bruno Haible  <bruno@clisp.org>
19730
19731         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
19732         'maxlen'. Ensure only length + width bytes are allocated, not
19733         length + 1 + width.
19734
19735 2007-06-09  Bruno Haible  <bruno@clisp.org>
19736
19737         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
19738         (CHAR_T): Remove macro.
19739         (VASNPRINTF): Update.
19740
19741 2007-06-09  Bruno Haible  <bruno@clisp.org>
19742
19743         * MODULES.html.sh (Unicode string functions): Add the new modules.
19744
19745         * modules/uniconv/u32-conv-to-enc: New file.
19746         * lib/uniconv/u32-conv-to-enc.c: New file.
19747         * modules/uniconv/u32-conv-to-enc-tests: New file.
19748         * tests/uniconv/test-u32-conv-to-enc.c: New file.
19749
19750         * modules/uniconv/u16-conv-to-enc: New file.
19751         * lib/uniconv/u16-conv-to-enc.c: New file.
19752         * lib/uniconv/u-conv-to-enc.h: New file.
19753         * modules/uniconv/u16-conv-to-enc-tests: New file.
19754         * tests/uniconv/test-u16-conv-to-enc.c: New file.
19755
19756         * modules/uniconv/u8-conv-to-enc: New file.
19757         * lib/uniconv/u8-conv-to-enc.c: New file.
19758         * modules/uniconv/u8-conv-to-enc-tests: New file.
19759         * tests/uniconv/test-u8-conv-to-enc.c: New file.
19760
19761         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
19762         u32_conv_to_encoding): New declarations.
19763
19764 2007-06-09  Bruno Haible  <bruno@clisp.org>
19765
19766         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
19767
19768 2007-06-09  Bruno Haible  <bruno@clisp.org>
19769
19770         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
19771         * modules/malloca: Renamed from modules/allocsa, updated.
19772         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
19773         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
19774         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
19775         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
19776         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
19777         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
19778         * modules/xmalloca: Renamed from modules/xallocsa, updated.
19779         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
19780         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
19781         * modules/c-strcasestr (Depends-on): Update.
19782         * lib/c-strcasestr.c: Update.
19783         * modules/c-strstr (Depends-on): Update.
19784         * lib/c-strstr.c: Update.
19785         * modules/canonicalize-lgpl (Depends-on): Update.
19786         * lib/canonicalize-lgpl.c: Update.
19787         * modules/clean-temp (Depends-on): Update.
19788         * lib/clean-temp.c: Update.
19789         * modules/csharpcomp (Depends-on): Update.
19790         * lib/csharpcomp.c: Update.
19791         * modules/csharpexec (Depends-on): Update.
19792         * lib/csharpexec.c: Update.
19793         * modules/javacomp (Depends-on): Update.
19794         * lib/javacomp.c: Update.
19795         * modules/javaexec (Depends-on): Update.
19796         * lib/javaexec.c: Update.
19797         * modules/mbscasestr (Depends-on): Update.
19798         * lib/mbscasestr.c: Update.
19799         * modules/mbsstr (Depends-on): Update.
19800         * lib/mbsstr.c: Update.
19801         * modules/setenv (Depends-on): Update.
19802         * lib/setenv.c: Update.
19803         * modules/strcasestr (Depends-on): Update.
19804         * lib/strcasestr.c: Update.
19805         * modules/striconveha (Depends-on): Update.
19806         * lib/striconveha.c: Update.
19807         * modules/relocatable-prog-wrapper (Files): Update.
19808         * lib/relocwrapper.c: Update.
19809         * build-aux/install-reloc: Update.
19810         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
19811
19812 2007-06-08  Bruno Haible  <bruno@clisp.org>
19813
19814         Port to uClibc.
19815         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
19816         * lib/fpurge.c (fpurge): Likewise.
19817         * lib/freading.c (freading): Likewise.
19818         * lib/fseeko.c (rpl_fseeko): Likewise.
19819         * lib/fseterr.c (fseterr): Likewise.
19820         * lib/fwriting.c (fwriting): Likewise.
19821         * tests/test-fflush.c (main): Avoid a failure on uClibc.
19822
19823 2007-06-08  Bruno Haible  <bruno@clisp.org>
19824
19825         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
19826         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
19827         * modules/gettext (Files): Add m4/intlmacosx.m4.
19828
19829 2007-06-07  Bruno Haible  <bruno@clisp.org>
19830
19831         * modules/localename-tests: New file.
19832         * tests/test-localename.c: New file.
19833
19834         New module 'localename'.
19835         * lib/localename.h: New file.
19836         * lib/localename.c: New file, from GNU gettext.
19837         * m4/localename.m4: New file.
19838         * modules/localename: New file.
19839
19840 2007-06-07  Bruno Haible  <bruno@clisp.org>
19841
19842         Work around the lack of <wchar.h> on some builds of uClibc.
19843         * doc/headers/wchar.texi: Update.
19844         * lib/wchar_.h: Include <wchar.h> only if it exists.
19845         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
19846         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
19847         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
19848         doesn't exist.
19849         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
19850         * modules/mbfile (Depends-on): Add wchar.
19851         * modules/mbiter (Depends-on): Likewise.
19852         * modules/mbuiter (Depends-on): Likewise.
19853         Reported by Simon Josefsson.
19854
19855 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
19856
19857         Work around problem reported by Steven M. Schweda in
19858         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
19859         Tru64 5.1B with the Compaq compiler environment installed declares
19860         an 'isblank' function but does not define it in the C library.
19861         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
19862         * lib/regex_internal.h (isblank): Likewise.
19863         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
19864         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
19865
19866 2007-06-05  Bruno Haible  <bruno@clisp.org>
19867
19868         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
19869         ia64.
19870         * modules/printf-safe: New file.
19871         * modules/fprintf-posix (Depends-on): Add printf-safe.
19872         * modules/printf-posix (Depends-on): Likewise.
19873         * modules/snprintf-posix (Depends-on): Likewise.
19874         * modules/sprintf-posix (Depends-on): Likewise.
19875         * modules/vasnprintf-posix (Depends-on): Likewise.
19876         * modules/vasprintf-posix (Depends-on): Likewise.
19877         * modules/vfprintf-posix (Depends-on): Likewise.
19878         * modules/vprintf-posix (Depends-on): Likewise.
19879         * modules/vsnprintf-posix (Depends-on): Likewise.
19880         * modules/vsprintf-posix (Depends-on): Likewise.
19881         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
19882         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
19883         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
19884         "no" on i386, x86_64, ia64.
19885         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
19886         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
19887         on i386, x86_64, ia64.
19888         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
19889         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
19890         on i386, x86_64, ia64.
19891         * tests/test-vasnprintf-posix.c: Include float.h.
19892         (LDBL80_WORDS): New macro.
19893         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
19894         on i386, x86_64, ia64.
19895         * tests/test-vasprintf-posix.c: Include float.h.
19896         (LDBL80_WORDS): New macro.
19897         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
19898         on i386, x86_64, ia64.
19899         * tests/test-snprintf-posix.c: Include float.h.
19900         * tests/test-sprintf-posix.c: Likewise.
19901         * tests/test-vsnprintf-posix.c: Likewise.
19902         * tests/test-vsprintf-posix.c: Likewise.
19903
19904 2007-06-05  Bruno Haible  <bruno@clisp.org>
19905
19906         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
19907         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
19908         non-IEEE numbers on i386, x86_64, ia64.
19909         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
19910         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
19911         * tests/test-isnanl.h: Include float.h.
19912         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
19913
19914 2007-06-05  Bruno Haible  <bruno@clisp.org>
19915
19916         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
19917         also the %a / %A. Handle the %a / %A code before this extra handling.
19918
19919 2007-06-05  Bruno Haible  <bruno@clisp.org>
19920
19921         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
19922         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
19923
19924 2007-06-05  Bruno Haible  <bruno@clisp.org>
19925
19926         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
19927         typo in variable name.
19928
19929 2007-06-05  Eric Blake  <ebb9@byu.net>
19930
19931         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
19932         Reported by Simon Josefsson.
19933
19934 2007-06-04  Bruno Haible  <bruno@clisp.org>
19935
19936         Avoid test failures on some PowerPC platforms.
19937         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
19938         Define differently for PowerPC.
19939         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
19940         Reported by Gary V. Vaughan <gary@gnu.org>.
19941
19942 2007-06-02  Bruno Haible  <bruno@clisp.org>
19943
19944         Fix test-stdint failure on FreeBSD/ia64.
19945         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
19946         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
19947         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
19948         * doc/headers/stdint.texi: Update.
19949
19950 2007-06-01  Bruno Haible  <bruno@clisp.org>
19951
19952         * tests/test-binary-io.c (main): Pass a third argument to open().
19953         Reported by Gary V. Vaughan <gary@gnu.org>.
19954
19955 2007-06-01  Bruno Haible  <bruno@clisp.org>
19956
19957         * doc/functions/frexpl.texi: Update for mingw.
19958
19959 2007-06-01  Bruno Haible  <bruno@clisp.org>
19960
19961         * tests/test-lseek.c (main): Disable test of errno for invalid third
19962         argument.
19963         * doc/functions/lseek.texi: Update.
19964         Reported by Gary V. Vaughan <gary@gnu.org>.
19965
19966 2007-05-28  Bruno Haible  <bruno@clisp.org>
19967
19968         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
19969
19970 2007-05-31  Eric Blake  <ebb9@byu.net>
19971
19972         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
19973         cross compiling.
19974
19975 2007-05-30  Eric Blake  <ebb9@byu.net>
19976         and Bruno Haible  <bruno@clisp.org>
19977
19978         Work around mingw test failures exposed by m4-1.4.9b.
19979         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
19980         * tests/test-unistd.c: Disable uid_t and git_t tests for the
19981         moment.
19982
19983 2007-05-30  Bruno Haible  <bruno@clisp.org>
19984
19985         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
19986         assuming that they are closed. Needed on HP-UX 11.
19987
19988 2007-05-29  Bruno Haible  <bruno@clisp.org>
19989
19990         Fix a problem with #include_next.
19991         * lib/dirent_.h: Split the double-inclusion guard.
19992         * lib/fcntl_.h: Likewise.
19993         * lib/float_.h: Likewise.
19994         * lib/iconv_.h: Likewise.
19995         * lib/inttypes_.h: Likewise.
19996         * lib/locale_.h: Likewise.
19997         * lib/math_.h: Likewise.
19998         * lib/netinet_in_.h: Likewise.
19999         * lib/search_.h: Likewise.
20000         * lib/signal_.h: Likewise.
20001         * lib/stdint_.h: Likewise.
20002         * lib/stdio_.h: Likewise.
20003         * lib/stdlib_.h: Likewise.
20004         * lib/string_.h: Likewise.
20005         * lib/sys_select_.h: Likewise.
20006         * lib/sys_socket_.h: Likewise.
20007         * lib/sys_stat_.h: Likewise.
20008         * lib/sys_time_.h: Likewise.
20009         * lib/sysexits_.h: Likewise.
20010         * lib/time_.h: Likewise.
20011         * lib/unistd_.h: Likewise.
20012         * lib/wchar_.h: Likewise.
20013         * lib/wctype_.h: Likewise.
20014
20015 2007-05-29  Bruno Haible  <bruno@clisp.org>
20016
20017         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
20018         for the moment.
20019
20020 2007-05-29  Bruno Haible  <bruno@clisp.org>
20021
20022         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
20023         invocation.
20024         Reported by Eric Blake.
20025
20026 2007-05-29  Bruno Haible  <bruno@clisp.org>
20027
20028         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
20029         compiling case.
20030
20031 2007-05-29  Eric Blake  <ebb9@byu.net>
20032             Bruno Haible  <bruno@clisp.org>
20033
20034         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
20035         cross compiles.
20036
20037 2007-05-28  Eric Blake  <ebb9@byu.net>
20038
20039         * modules/closein-tests (test_closein_LDADD): Support test on
20040         cygwin with libtool.
20041
20042 2007-05-28  Bruno Haible  <bruno@clisp.org>
20043
20044         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
20045         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
20046         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
20047         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
20048         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
20049         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
20050         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
20051         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
20052         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
20053
20054 2007-05-28  Eric Blake  <ebb9@byu.net>
20055
20056         Unconditionally include <config.h> in unit tests.
20057         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
20058         * tests/test-allocsa.c, tests/test-arcfour.c,
20059         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
20060         tests/test-array_list.c, tests/test-array_oset.c,
20061         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
20062         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
20063         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
20064         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
20065         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
20066         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
20067         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
20068         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
20069         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
20070         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
20071         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
20072         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
20073         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
20074         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
20075         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
20076         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
20077         test-md5.c, test-memmem.c, test-printf-posix.c,
20078         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
20079         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
20080         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
20081         test-strcasestr.c, test-striconv.c, test-striconveh.c,
20082         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
20083         test-vasnprintf-posix2.c, test-vasnprintf.c,
20084         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
20085         test-vfprintf-posix.c, test-vprintf-posix.c,
20086         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
20087         test-xvasprintf.c: Likewise.
20088
20089 2007-05-28  Bruno Haible  <bruno@clisp.org>
20090
20091         * gnulib-tool (func_import): Remember the --with-tests command-line
20092         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
20093         Reported by Eric Blake.
20094
20095 2007-05-28  Bruno Haible  <bruno@clisp.org>
20096
20097         * modules/ftell-tests: New file.
20098         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
20099         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
20100
20101         * lib/ftell.c: New file.
20102         * modules/ftell: New file.
20103         * m4/ftell.m4: New file.
20104         * doc/functions/ftell.texi: Update.
20105         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
20106         REPLACE_FTELL.
20107         * lib/stdio_.h (rpl_ftell): New declaration.
20108         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
20109         REPLACE_FTELL.
20110
20111 2007-05-28  Eric Blake  <ebb9@byu.net>
20112
20113         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
20114
20115 2007-05-28  Bruno Haible  <bruno@clisp.org>
20116
20117         * modules/fseek-tests: New file.
20118         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
20119         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
20120
20121         * lib/fseek.c: New file.
20122         * modules/fseek: New file.
20123         * m4/fseek.m4: New file.
20124         * doc/functions/fseek.texi: Update.
20125         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
20126         REPLACE_FSEEK.
20127         * lib/stdio_.h (rpl_fseek): New declaration.
20128         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
20129         REPLACE_FSEEK.
20130
20131 2007-05-28  Bruno Haible  <bruno@clisp.org>
20132
20133         * lib/stdio_.h (fflush): More comments.
20134
20135 2007-05-28  Bruno Haible  <bruno@clisp.org>
20136
20137         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
20138         runtime test.
20139
20140 2007-05-28  Eric Blake  <ebb9@byu.net>
20141
20142         Improve lseek module.
20143         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
20144         * lib/unistd_.h (lseek): Scale back link warning message.
20145         * tests/test-lseek.c: Beef up test.
20146         * tests/test-lseek.sh: Exercise more facets of lseek.
20147         Reported by Bruno Haible.
20148
20149 2007-05-28  Bruno Haible  <bruno@clisp.org>
20150
20151         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
20152         to define.
20153
20154 2007-05-27  Bruno Haible  <bruno@clisp.org>
20155
20156         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
20157
20158 2007-05-27  Bruno Haible  <bruno@clisp.org>
20159
20160         * modules/openmp: New file.
20161         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
20162         Noah Misch.
20163
20164 2007-05-26  Bruno Haible  <bruno@clisp.org>
20165
20166         * modules/chdir-long (Depends-on): Add fchdir.
20167         * modules/chdir-safer (Depends-on): Likewise.
20168         * modules/fts (Depends-on): Likewise.
20169         * modules/fts-lgpl (Depends-on): Likewise.
20170         * modules/openat (Depends-on): Likewise.
20171         * modules/savewd (Depends-on): Likewise.
20172
20173 2007-05-24  Eric Blake  <ebb9@byu.net>
20174
20175         Fix lseek on mingw.
20176         * modules/lseek: New module.
20177         * m4/lseek.m4: New file.
20178         * lib/lseek.c: New file.
20179         * modules/lseek-tests: New file.
20180         * tests/test-lseek.c: New file.
20181         * tests/test-lseek.sh: New file.
20182         * MODULES.html.sh: Document lseek module.
20183         * modules/fflush (Depends-on): Add lseek, fseeko.
20184         * modules/fseeko (Depends-on): Likewise.
20185         * modules/ftello (Depends-on): Likewise.
20186         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
20187         broken.
20188         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
20189         broken.
20190         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
20191         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
20192         * lib/ftello.c (rpl_ftello): Likewise.
20193         * tests/test-fseeko.c (main): Test this.
20194         * tests/test-fseeko.sh: Likewise.
20195         * tests/test-ftello.c (main): Likewise.
20196         * tests/test-ftello.sh: Likewise.
20197         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
20198         implies replacing fseek.
20199         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
20200         HAVE_FTELLO.
20201         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
20202         * modules/unistd (Makefile.am): Likewise.
20203         * lib/unistd_.h (lseek): Declare a replacement.
20204         * doc/functions/lseek.texi (lseek): Document this fix.
20205         * doc/functions/fseek.texi (fseek): Likewise.
20206         * doc/functions/ftell.texi (ftell): Likewise.
20207
20208 2007-05-24  Bruno Haible  <bruno@clisp.org>
20209
20210         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
20211         in the printed representation of a NaN.
20212         * tests/test-vasprintf-posix.c (test_function): Likewise.
20213         * tests/test-snprintf-posix.h (test_function): Likewise.
20214         * tests/test-sprintf-posix.h (test_function): Likewise.
20215         Reported by Eric Blake.
20216
20217 2007-05-23  Eric Blake  <ebb9@byu.net>
20218
20219         Fix fseeko/ftello on cygwin 1.5.24.
20220         * doc/functions/fseeko.texi (fseeko): Document the fix.
20221         * doc/functions/ftello.texi (ftello): Document the fix.
20222         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
20223         * doc/functions/stdout.text (stdout): New file.
20224         * doc/functions/stderr.text (stderr): New file.
20225         * doc/gnulib.texi (Function Substitutes): Use new files.
20226         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
20227         prior to 1.7.0.
20228         * tests/test-ftello.c (main): Likewise for ftello.
20229         * tests/test-fseeko.sh: New file.
20230         * tests/test-ftello.sh: New file.
20231         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
20232         with seekable stdin.
20233         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
20234         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
20235         (gl_REPLACE_FSEEKO): New macro.
20236         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
20237         * modules/fseeko (Files): Distribute fseeko.c.
20238         * modules/ftello (Files): Distribute ftello.c.
20239         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
20240         mode.
20241         * lib/ftello.c (rpl_ftello): New file.
20242         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
20243         fseeko, ftello.
20244         (gl_STDIN_LARGE_OFFSET): New macro.
20245         * modules/stdio (Makefile.am): Perform the replacement.
20246         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
20247
20248 2007-05-23  Bruno Haible  <bruno@clisp.org>
20249
20250         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
20251         GNULIB_POSIXCHECK is defined.
20252
20253 2007-05-21  Bruno Haible  <bruno@clisp.org>
20254
20255         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
20256         Check also the output for NaN arguments. When cross-compiling, guess
20257         no on IRIX.
20258         * lib/vasnprintf.c: Update comments.
20259         * tests/test-vasnprintf-posix.c (strisnan): New function.
20260         (test_function): Use it.
20261         * tests/test-vasprintf-posix.c (strisnan): New function.
20262         (test_function): Use it.
20263         * tests/test-snprintf-posix.h (strisnan): New function.
20264         (test_function): Use it.
20265         * tests/test-sprintf-posix.h (strisnan): New function.
20266         (test_function): Use it.
20267         Reported by Eric Blake.
20268
20269 2007-05-20  Bruno Haible  <bruno@clisp.org>
20270
20271         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
20272         numbers that fails on BeOS.
20273         * doc/functions/frexpl.texi: Update.
20274
20275 2007-05-20  Jim Meyering  <jim@meyering.net>
20276
20277         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
20278         forced upon us by glibc-2.6.
20279
20280 2007-05-20  Bruno Haible  <bruno@clisp.org>
20281
20282         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
20283         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
20284         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
20285         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
20286         NEED_PRINTF_INFINITE.
20287         (is_infinitel): New function.
20288         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
20289         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
20290         gl_PREREQ_VASNPRINTF_INFINITE.
20291         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
20292         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
20293         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
20294         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
20295         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
20296         gl_PREREQ_VASNPRINTF_INFINITE.
20297         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
20298         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
20299         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
20300         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
20301         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
20302         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
20303         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
20304         * doc/functions/fprintf.texi: Update.
20305         * doc/functions/printf.texi: Update.
20306         * doc/functions/snprintf.texi: Update.
20307         * doc/functions/sprintf.texi: Update.
20308         * doc/functions/vfprintf.texi: Update.
20309         * doc/functions/vprintf.texi: Update.
20310         * doc/functions/vsnprintf.texi: Update.
20311         * doc/functions/vsprintf.texi: Update.
20312
20313 2007-05-20  Bruno Haible  <bruno@clisp.org>
20314
20315         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
20316         was not found in libc.
20317         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
20318
20319 2007-05-20  Bruno Haible  <bruno@clisp.org>
20320
20321         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
20322         printed as "-nan" instead of "nan".
20323         * tests/test-vasprintf-posix.c (test_function): Likewise.
20324         * tests/test-snprintf-posix.h (test_function): Likewise.
20325         * tests/test-sprintf-posix.h (test_function): Likewise.
20326         Needed for HP-UX 11.
20327
20328 2007-05-20  Jim Meyering  <jim@meyering.net>
20329
20330         Fix buggy test for the fchownat-deref bug.
20331         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
20332         symlink required for the run-test.  Without it, this test would
20333         always declare that fchownat doesn't work, and client code would
20334         unnecessarily use the replacement function with fixed libc.
20335         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
20336         Reported by Greg Schafer.
20337
20338 2007-05-19  Bruno Haible  <bruno@clisp.org>
20339
20340         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
20341         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
20342         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
20343         Needed for IRIX 6.5 and Solaris 2.5.1.
20344
20345 2007-05-19  Bruno Haible  <bruno@clisp.org>
20346
20347         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
20348         (test_function): Skip tests involving -0.0 on platforms where
20349         -0.0 = 0.0.
20350         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
20351         (test_function): Skip tests involving -0.0 on platforms where
20352         -0.0 = 0.0.
20353         * tests/test-snprintf-posix.h (have_minus_zero): New function.
20354         (test_function): Skip tests involving -0.0 on platforms where
20355         -0.0 = 0.0.
20356         * tests/test-sprintf-posix.h (have_minus_zero): New function.
20357         (test_function): Skip tests involving -0.0 on platforms where
20358         -0.0 = 0.0.
20359         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
20360         tests.
20361         * tests/test-printf-posix.h (test_function): Likewise.
20362         * tests/test-printf-posix.output: Remove all -0.0 related results.
20363         Needed for IRIX 6.5.
20364
20365 2007-05-19  Bruno Haible  <bruno@clisp.org>
20366
20367         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
20368         printed as "nan0x7fffffff" instead of "nan".
20369         * tests/test-vasprintf-posix.c (test_function): Likewise.
20370         * tests/test-snprintf-posix.h (test_function): Likewise.
20371         * tests/test-sprintf-posix.h (test_function): Likewise.
20372         * tests/test-fprintf-posix.h (NaN): Remove macro.
20373         (test_function): Remove all NaN related tests.
20374         * tests/test-printf-posix.h (NaN): Remove macro.
20375         (test_function): Remove all NaN related tests.
20376         * tests/test-printf-posix.output: Remove all NaN related results.
20377         Needed for IRIX 6.5.
20378
20379 2007-05-19  Bruno Haible  <bruno@clisp.org>
20380
20381         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
20382         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
20383
20384 2007-05-19  Bruno Haible  <bruno@clisp.org>
20385
20386         * lib/float_.h: New file.
20387         * m4/float_h.m4: New file.
20388         * modules/float: New file.
20389         * modules/isnanl (Dependencies): Add float.
20390         * modules/isnanl-nolibm (Dependencies): Likewise.
20391         * modules/mathl (Dependencies): Likewise.
20392         * modules/printf-frexpl (Dependencies): Likewise.
20393         * modules/signbit (Dependencies): Likewise.
20394         * modules/vasnprintf (Dependencies): Likewise.
20395         * doc/headers/float.texi: Update.
20396
20397 2007-05-19  Jim Meyering  <jim@meyering.net>
20398
20399         * lib/utimens.c (gl_futimens): Rename from futimens,
20400         now that glibc-2.6 declares futimens.
20401         * lib/utimens.h: Likewise.
20402
20403 2007-05-19  Bruno Haible  <bruno@clisp.org>
20404
20405         Avoid test failures on mingw.
20406         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
20407         * tests/test-printf-posix.sh: Likewise.
20408         * tests/test-vfprintf-posix.sh: Likewise.
20409         * tests/test-vprintf-posix.sh: Likewise.
20410
20411 2007-05-19  Bruno Haible  <bruno@clisp.org>
20412
20413         Fix *printf result for NaN, Inf, -0.0 on mingw.
20414         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
20415         * lib/vasnprintf.c: Include math.h and isnan.h.
20416         (is_infinite_or_zero): New function.
20417         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
20418         values in the %f, %F, %e, %E, %g, %G directives.
20419         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
20420         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
20421         gl_PRINTF_INFINITE and test its result. Invoke
20422         gl_PREREQ_VASNPRINTF_INFINITE.
20423         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
20424         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
20425         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
20426         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
20427         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
20428         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
20429         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
20430         * doc/functions/fprintf.texi: Update.
20431         * doc/functions/printf.texi: Update.
20432         * doc/functions/snprintf.texi: Update.
20433         * doc/functions/sprintf.texi: Update.
20434         * doc/functions/vfprintf.texi: Update.
20435         * doc/functions/vprintf.texi: Update.
20436         * doc/functions/vsnprintf.texi: Update.
20437         * doc/functions/vsprintf.texi: Update.
20438
20439 2007-05-19  Bruno Haible  <bruno@clisp.org>
20440
20441         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
20442         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
20443         Instead of multiplying with 10^k, set extra_zeroes to k.
20444         (scale10_round_long_double): Remove function.
20445
20446 2007-05-18  Bruno Haible  <bruno@clisp.org>
20447
20448         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
20449         introduced on 2007-05-06.
20450
20451 2007-05-18  Bruno Haible  <bruno@clisp.org>
20452
20453         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
20454         %g directives.
20455         * tests/test-vasprintf-posix.c (test_function): Likewise.
20456         * tests/test-snprintf-posix.h (test_function): Likewise.
20457         * tests/test-sprintf-posix.h (test_function): Likewise.
20458
20459 2007-05-18  Bruno Haible  <bruno@clisp.org>
20460
20461         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
20462         (strmatch): New function.
20463         (test_function): Test the %f directive on numbers of various exponents.
20464         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
20465         (strmatch): New function.
20466         (test_function): Test the %f directive on numbers of various exponents.
20467         * tests/test-snprintf-posix.h (strmatch): New function.
20468         (test_function): Test the %f directive on numbers of various exponents.
20469         * tests/test-sprintf-posix.h (strmatch): New function.
20470         (test_function): Test the %f directive on numbers of various exponents.
20471         * tests/test-snprintf-posix.c (SIZEOF): New macro.
20472         * tests/test-sprintf-posix.c (SIZEOF): New macro.
20473         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
20474         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
20475
20476 2007-05-18  Bruno Haible  <bruno@clisp.org>
20477
20478         Add support for 'long double' number output.
20479         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
20480         * lib/vasnprintf.c: Include math.h and float+.h.
20481         (mp_limb_t): New type.
20482         (GMP_LIMB_BITS): New macro.
20483         (mp_twolimb_t): New type.
20484         (GMP_TWOLIMB_BITS): New macro.
20485         (mpn_t): New type.
20486         (multiply, divide, convert_to_decimal, decode_long_double,
20487         scale10_round_long_double, scale10_round_decimal_long_double,
20488         floorlog10l): New functions.
20489         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
20490         for the %f, %F, %e, %E, %g, %G directives.
20491         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
20492         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
20493         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
20494         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
20495         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
20496         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
20497         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
20498         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
20499         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
20500         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
20501         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
20502         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
20503         * modules/snprintf-posix (Depends-on): Likewise.
20504         * modules/sprintf-posix (Depends-on): Likewise.
20505         * modules/vasnprintf-posix (Depends-on): Likewise.
20506         * modules/vasprintf-posix (Depends-on): Likewise.
20507         * modules/vfprintf-posix (Depends-on): Likewise.
20508         * modules/vsnprintf-posix (Depends-on): Likewise.
20509         * modules/vsprintf-posix (Depends-on): Likewise.
20510         * modules/vasnprintf (Files): Add lib/float+.h.
20511         * doc/functions/fprintf.texi: Update.
20512         * doc/functions/printf.texi: Update.
20513         * doc/functions/snprintf.texi: Update.
20514         * doc/functions/sprintf.texi: Update.
20515         * doc/functions/vfprintf.texi: Update.
20516         * doc/functions/vprintf.texi: Update.
20517         * doc/functions/vsnprintf.texi: Update.
20518         * doc/functions/vsprintf.texi: Update.
20519
20520 2007-05-18  Bruno Haible  <bruno@clisp.org>
20521
20522         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
20523
20524 2007-05-18  Bruno Haible  <bruno@clisp.org>
20525
20526         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
20527         for printing 64-bit integers. Needed for mingw.
20528
20529 2007-05-18  Bruno Haible  <bruno@clisp.org>
20530
20531         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
20532         gl_FUNC_FREXPL_WORKS.
20533         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
20534
20535 2007-05-18  Bruno Haible  <bruno@clisp.org>
20536
20537         * modules/frexpl-nolibm-tests: New file.
20538
20539         * modules/frexpl-nolibm: New file.
20540         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
20541
20542 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
20543
20544         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
20545         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
20546         GCC 4.2, which otherwise issues a lot of warnings.
20547         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
20548         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
20549         Likewise.
20550         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
20551         * modules/iconv_open (iconv.h): Likewise.
20552         * modules/locale (locale.h): Likewise.
20553         * modules/netinet_in (netinet/in.h): Likewise.
20554         * modules/sys_select (sys_select.h): Likewise.
20555         * modules/sys_socket (sys/socket.h): Likewise.
20556         * modules/sys_stat (sys/stat.h): Likewise.
20557         * modules/sysexits (sysexits.h): Likewise.
20558         * modules/unistd (unistd.h): Likewise.
20559
20560 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20561
20562         * modules/closein-tests (Makefile.am): Distribute
20563         `test-closein.sh'.
20564
20565 2007-05-17  Bruno Haible  <bruno@clisp.org>
20566
20567         * tests/test-printf-posix.output: Renamed from
20568         tests/test-fprintf-posix.out.
20569         * modules/fprintf-posix-tests: Update.
20570         * modules/printf-posix-tests: Update.
20571         * modules/vfprintf-posix-tests: Update.
20572         * modules/vprintf-posix-tests: Update.
20573         * tests/test-fprintf-posix.sh: Update.
20574         * tests/test-printf-posix.sh: Update.
20575         * tests/test-vfprintf-posix.sh: Update.
20576         * tests/test-vprintf-posix.sh: Update.
20577         Reported by Ralf Wildenhues.
20578
20579 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20580
20581         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
20582         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
20583         GCC 4.2, which otherwise issues a lot of warnings.
20584         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
20585         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
20586         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
20587         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
20588         it should no longer be needed.
20589         * lib/string_.h: Likewise.
20590         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
20591         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
20592         * modules/inttypes (inttypes.h): Likewise.
20593         * modules/math (math.h): Likewise.
20594         * modules/search (search.h): Likewise.
20595         * modules/signal (signal.h): Likewise.
20596         * modules/stdint (stdint.h): Likewise.
20597         * modules/stdio (stdio.h): Likewise.
20598         * modules/stdlib (stdlib.h): Likewise.
20599         * modules/string (string.h): Likewise.
20600         * modules/sys_time (sys/time.h): Likewise.
20601         * modules/time (time.h): Likewise.
20602         * modules/wchar (wchar.h): Likewise.
20603         * modules/wctype (wtype.h): Likewise.
20604
20605 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
20606
20607         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
20608
20609 2007-05-13  Bruno Haible  <bruno@clisp.org>
20610
20611         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
20612         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
20613         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
20614         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
20615         (gl_PREREQ_STRTOK_R): Don't require it here.
20616
20617 2007-05-13  Bruno Haible  <bruno@clisp.org>
20618
20619         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
20620         when used in C++ mode.
20621
20622 2007-05-12  Bruno Haible  <bruno@clisp.org>
20623
20624         * lib/linebuffer.h: Tweak doc.
20625         * lib/linebuffer.c: Likewise.
20626
20627 2007-05-12  James Youngman  <jay@gnu.org>
20628
20629         * lib/linebuffer.c (readlinebuffer_delim): New function,
20630         like readlinebuffer, but use a caller-specified delimiter.
20631         (readlinebuffer): Just call readlinebuffer_delim with '\n'
20632         as the delimiter.
20633         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
20634
20635 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
20636
20637         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
20638         * modules/openat (Files): Remove openat-die.c.
20639         (Depends-on): Add openat-die.
20640         * modules/openat-die: New module.
20641
20642 2007-05-06  Bruno Haible  <bruno@clisp.org>
20643
20644         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
20645         Update with info about Cygwin.
20646         * doc/functions/fprintf.texi: Update.
20647         * doc/functions/printf.texi: Update.
20648         * doc/functions/snprintf.texi: Update.
20649         * doc/functions/sprintf.texi: Update.
20650         * doc/functions/vfprintf.texi: Update.
20651         * doc/functions/vprintf.texi: Update.
20652         * doc/functions/vsnprintf.texi: Update.
20653         * doc/functions/vsprintf.texi: Update.
20654         Reported by Eric Blake.
20655
20656 2007-05-06  Bruno Haible  <bruno@clisp.org>
20657
20658         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
20659         padding ourselves for the floating-point directives.
20660         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
20661         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
20662         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
20663         gl_PRINTF_FLAG_ZERO and test its result. Invoke
20664         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
20665         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
20666         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
20667         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
20668         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
20669         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
20670         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
20671         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
20672         * tests/test-snprintf-posix.h (test_function): Also check the width
20673         and some flags in the %f directive.
20674         * tests/test-sprintf-posix.h (test_function): Likewise.
20675         * tests/test-vasnprintf-posix.c (test_function): Likewise.
20676         * tests/test-vasprintf-posix.c (test_function): Likewise.
20677         * doc/functions/fprintf.texi: Update.
20678         * doc/functions/printf.texi: Update.
20679         * doc/functions/snprintf.texi: Update.
20680         * doc/functions/sprintf.texi: Update.
20681         * doc/functions/vfprintf.texi: Update.
20682         * doc/functions/vprintf.texi: Update.
20683         * doc/functions/vsnprintf.texi: Update.
20684         * doc/functions/vsprintf.texi: Update.
20685
20686 2007-05-06  Bruno Haible  <bruno@clisp.org>
20687
20688         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
20689         pass the ' flag character to sprintf or snprintf.
20690         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
20691         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
20692         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
20693         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
20694         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
20695         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
20696         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
20697         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
20698         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
20699         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
20700         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
20701         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
20702         * tests/test-snprintf-posix.h (test_function): Also check the grouping
20703         flag.
20704         * tests/test-sprintf-posix.h (test_function): Likewise.
20705         * tests/test-vasnprintf-posix.c (test_function): Likewise.
20706         * tests/test-vasprintf-posix.c (test_function): Likewise.
20707         * doc/functions/fprintf.texi: Update.
20708         * doc/functions/printf.texi: Update.
20709         * doc/functions/snprintf.texi: Update.
20710         * doc/functions/sprintf.texi: Update.
20711         * doc/functions/vfprintf.texi: Update.
20712         * doc/functions/vprintf.texi: Update.
20713         * doc/functions/vsnprintf.texi: Update.
20714         * doc/functions/vsprintf.texi: Update.
20715
20716 2007-05-01  Bruno Haible  <bruno@clisp.org>
20717
20718         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
20719
20720 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
20721
20722         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
20723         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
20724
20725 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
20726
20727         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
20728         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
20729         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
20730
20731 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
20732
20733         * lib/argp-help.c (struct hol_entry): New member `ord'.
20734         (HOL_ENTRY_PTRCMP): Use ord for comparison
20735         (hol_sort): Initialize ord.
20736
20737 2007-05-01  Bruno Haible  <bruno@clisp.org>
20738
20739         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
20740         Reported by Eric Blake.
20741         * doc/gnulib.texi (Function Substitutes): Update.
20742
20743 2007-05-01  Bruno Haible  <bruno@clisp.org>
20744
20745         * doc/functions.texi: Remove file, now redundant through
20746         doc/functions/*.texi.
20747
20748 2007-05-01  Bruno Haible  <bruno@clisp.org>
20749
20750         * modules/argp (Depends-on): Add sleep.
20751
20752 2007-05-01  Bruno Haible  <bruno@clisp.org>
20753
20754         * modules/sleep-tests: New file.
20755         * tests/test-sleep.c: New file.
20756
20757         * modules/sleep: New file.
20758         * lib/sleep.c: New file.
20759         * m4/sleep.m4: New file.
20760         * lib/unistd_.h (sleep): New declaration.
20761         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
20762         HAVE_SLEEP.
20763         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
20764         * doc/functions/sleep.texi: Document the sleep module.
20765
20766 2007-05-01  Bruno Haible  <bruno@clisp.org>
20767
20768         * lib/sigprocmask.h: Remove file.
20769         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
20770         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
20771         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
20772         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
20773         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
20774         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
20775         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
20776         HAVE_SIGSET_T as a shell variable.
20777         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
20778         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
20779         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
20780         (Depends-on): Add signal. Remove verify.
20781         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
20782         (Include): Mention <signal.h> instead of sigprocmask.h.
20783         * NEWS: Mention the change.
20784         * lib/fatal-signal.c: Don't include sigprocmask.h.
20785
20786 2007-05-01  Bruno Haible  <bruno@clisp.org>
20787
20788         * modules/signal: New file.
20789         * lib/signal_.h: New file.
20790         * m4/signal_h.m4: New file.
20791
20792 2007-05-01  Bruno Haible  <bruno@clisp.org>
20793
20794         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
20795         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
20796         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
20797         HAVE_WCTYPE_CTMP_BUG into wctype.h.
20798
20799 2007-05-01  Bruno Haible  <bruno@clisp.org>
20800
20801         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
20802         configure time.
20803         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
20804         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
20805         * modules/sys_stat (Makefile.am): Substitute their values into
20806         sys/stat.h.
20807
20808 2007-05-01  Bruno Haible  <bruno@clisp.org>
20809
20810         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
20811         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
20812         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
20813
20814 2007-05-01  Bruno Haible  <bruno@clisp.org>
20815
20816         * doc/header/assert.texi: Undo last change: don't mention the gnulib
20817         'assert' module here.
20818
20819 2007-05-01  Bruno Haible  <bruno@clisp.org>
20820
20821         * doc/functions/*.texi: New files.
20822         * doc/functions/google-ranking.txt: New file.
20823         * doc/gnulib.texi (Function Substitutes): New chapter.
20824         (ctime, inet_ntoa): Remove sections.
20825         * doc/ctime.texi: Remove file.
20826         * doc/inet_ntoa.texi: Remove file.
20827         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
20828         dependencies.
20829         (%.info): New rule, specifying a --reference-limit.
20830
20831 2007-05-01  Bruno Haible  <bruno@clisp.org>
20832
20833         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
20834
20835 2007-05-01  Bruno Haible  <bruno@clisp.org>
20836
20837         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
20838         the portability of 'mkdir' to mingw systems.
20839
20840 2007-05-01  Bruno Haible  <bruno@clisp.org>
20841
20842         * doc/headers/google-ranking.txt: New file.
20843
20844 2007-04-30  Eric Blake  <ebb9@byu.net>
20845
20846         Prefer fseeko to fseek.
20847         * modules/getpass (Depends-on): Add fseeko.
20848         * lib/getpass.c (getpass): Use fseeko, not fseek.
20849
20850 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
20851
20852         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
20853         assumes the sorting is stable, while most qsort implementations
20854         are not.  Use argument addresses to ensure they never compare as
20855         equal.
20856
20857         * tests/test-argp-2.sh (usage-indent test): Fix output
20858         (func_compare): Restore diff options
20859         * tests/test-argp.c: Restore #include "progname.h"
20860
20861 2007-04-29  Bruno Haible  <bruno@clisp.org>
20862
20863         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
20864         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
20865         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
20866         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
20867         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
20868         (configure.ac): Define CHECK_SNPRINTF_POSIX.
20869         (TESTS, check_PROGRAMS): Add test-snprintf.
20870         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
20871         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
20872         (TESTS, check_PROGRAMS): Add test-vsnprintf.
20873         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
20874         assertions that fail on HP-UX, OSF/1, or IRIX.
20875         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
20876
20877 2007-04-29  Bruno Haible  <bruno@clisp.org>
20878
20879         * MODULES.html.sh (posix_functions): Remove 'contents'.
20880
20881 2007-04-29  Karl Berry  <karl@gnu.org>
20882
20883         * config/srclist.txt (gendocs_template_min): new entry.
20884
20885 2007-04-29  Bruno Haible  <bruno@clisp.org>
20886
20887         Work around fpurge bug on BSD systems.
20888         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
20889         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
20890         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
20891         fpurge to rpl_fpurge if the system already has this function.
20892         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
20893         the case where the system already has this function. Correct invariants
20894         on BSD systems.
20895         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
20896         BSD systems.
20897
20898 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
20899
20900         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
20901         proposed by Sven Verdoolaege.
20902
20903         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
20904         options.
20905         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
20906         (usage and help tests): Update
20907
20908 2007-04-29  Bruno Haible  <bruno@clisp.org>
20909
20910         * tests/test-fflush.c (main): Use a file of size 17, not 10.
20911         Print more information in case of failure. Disable a test on BeOS.
20912
20913 2007-04-29  Bruno Haible  <bruno@clisp.org>
20914
20915         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
20916         This helps debugging on systems on which no gdb is available.
20917
20918 2007-04-29  Bruno Haible  <bruno@clisp.org>
20919
20920         * lib/freading.h: Improve comments.
20921         * lib/fwriting.h: Likewise.
20922         * tests/test-freading.c (main): Don't check freading immediately after
20923         repositioning. Needed for glibc.
20924
20925 2007-04-29  Bruno Haible  <bruno@clisp.org>
20926
20927         * lib/freading.c (freading): Trivial simplification.
20928
20929 2007-04-28  Bruno Haible  <bruno@clisp.org>
20930
20931         * tests/test-fwriting.c (main): Also test the interaction between
20932         fflush and fwriting.
20933         * modules/fwriting-tests (Depends-on): Add fflush.
20934
20935         * tests/test-freading.c (main): Also test the interaction between
20936         fflush and freading.
20937         * modules/freading-tests (Depends-on): Add fflush.
20938
20939 2007-04-28  Bruno Haible  <bruno@clisp.org>
20940
20941         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
20942         fseeko and ftello.
20943         Suggested by Eric Blake.
20944
20945 2007-04-28  Jim Meyering  <jim@meyering.net>
20946
20947         Avoid false-negative in gl_STDINT_H's C99 conformance test.
20948         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
20949         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
20950
20951 2007-04-27  Eric Blake  <ebb9@byu.net>
20952
20953         * doc/headers/assert.texi (assert.h): Document assert module use.
20954
20955 2007-04-27  Bruno Haible  <bruno@clisp.org>
20956
20957         * doc/headers/*.texi: New files.
20958         * doc/gnulib.texi (Header File Substitutes): New chapter.
20959         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
20960         dependencies.
20961         (standards.info ,standards.html, standards.dvi): Update dependencies.
20962         (mostlyclean, clean): New targets.
20963
20964 2007-04-27  Bruno Haible  <bruno@clisp.org>
20965
20966         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
20967         * modules/sysexits (Files, Makefile.am): Update.
20968
20969         * lib/sys_socket_.h: Renamed from lib/socket_.h.
20970         * modules/sys_socket (Files, Makefile.am): Update.
20971
20972         * lib/sys_stat_.h: Renamed from lib/stat_.h.
20973         * modules/sys_stat (Files, Makefile.am): Update.
20974
20975 2007-04-27  Eric Blake  <ebb9@byu.net>
20976
20977         * lib/freading.h: Improve comments.
20978         * lib/fwriting.h: Likewise.
20979         * lib/fflush.c: Likewise.
20980
20981         Fix closein for mingw.
20982         * modules/closein-tests: Add tests for closein.
20983         * tests/test-closein.c: New file.
20984         * tests/test-closein.sh: Likewise.
20985         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
20986         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
20987
20988 2007-04-27  Bruno Haible  <bruno@clisp.org>
20989
20990         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
20991         version is < 6.
20992         * lib/math_.h [__DECC]: Likewise.
20993         * lib/stdio_.h [__DECC]: Likewise.
20994         * lib/stdlib_.h [__DECC]: Likewise.
20995         * lib/string_.h [__DECC]: Likewise.
20996         * lib/time_.h [__DECC]: Likewise.
20997         * lib/wchar_.h [__DECC]: Likewise.
20998         * lib/wctype_.h [__DECC]: Likewise.
20999
21000 2007-04-27  Bruno Haible  <bruno@clisp.org>
21001
21002         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
21003
21004 2007-04-27  Bruno Haible  <bruno@clisp.org>
21005
21006         * lib/fflush.c: Add comments.
21007         * modules/fpurge-tests (Depends-on): Add fflush.
21008         * modules/freadable-tests (Depends-on): Likewise.
21009         * modules/fwritable-tests (Depends-on): Likewise.
21010
21011 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
21012
21013         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
21014         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
21015         Report by Bruno Haible <bruno@clisp.org>.
21016
21017 2007-04-26  Eric Blake  <ebb9@byu.net>
21018
21019         Fix fflush on mingw.
21020         * modules/fflush (Depends-on): Add freading.
21021         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
21022         but unread data.
21023
21024 2007-04-26  Eric Blake  <ebb9@byu.net>
21025         and Bruno Haible  <bruno@clisp.org>
21026
21027         Implement freading and fwriting.
21028         * lib/freading.c: New file.
21029         * lib/freading.h: Likewise.
21030         * m4/freading.m4: Likewise.
21031         * modules/freading: Likewise.
21032         * modules/freading-tests: Likewise.
21033         * tests/test-freading.c: Likewise.
21034         * lib/fwriting.c: New file.
21035         * lib/fwriting.h: Likewise.
21036         * m4/fwriting.m4: Likewise.
21037         * modules/fwriting: Likewise.
21038         * modules/fwriting-tests: Likewise.
21039         * tests/test-fwriting.c: Likewise.
21040         * MODULES.html.sh (File stream based Input/Output): Mention them.
21041
21042 2007-04-26  Bruno Haible  <bruno@clisp.org>
21043
21044         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
21045         'long' when we assume it.
21046         Suggested by Eric Blake.
21047
21048 2007-04-26  Bruno Haible  <bruno@clisp.org>
21049
21050         Ensure fseeko, ftello are declared on glibc systems.
21051         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
21052         * modules/fseeko (configure.ac-early): Likewise.
21053         * modules/ftello (configure.ac-early): Likewise.
21054         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
21055         AC_FUNC_FSEEKO for this.
21056         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
21057         (gl_CHECK_FSEEKO): Remove macro.
21058
21059 2007-04-26  Bruno Haible  <bruno@clisp.org>
21060
21061         * tests/test-fflush.c (main): Also check the ftell result after
21062         fflush and fseek/fseeko.
21063         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
21064         file descriptor position cache in the stream.
21065         * lib/fseeko.c (rpl_fseeko): Likewise.
21066
21067 2007-04-26  Bruno Haible  <bruno@clisp.org>
21068
21069         * modules/fflush-tests (Depends-on): Add fseeko.
21070
21071 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
21072             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21073
21074         * lib/argz_.h: ensure error_t definition is obtained in same
21075         mechanism system argz.h would have.
21076         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
21077         argz facilities are known bad.  Err on the side of caution if
21078         cross-compiling.
21079
21080 2007-04-25  Eric Blake  <ebb9@byu.net>
21081
21082         * lib/fpurge.c (includes): Use stdlib.h for free.
21083         * tests/test-fflush.c (main): Also test fflush-fseeko.
21084
21085 2007-04-25  Bruno Haible  <bruno@clisp.org>
21086
21087         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
21088         * lib/fseeko.c: New file.
21089         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
21090         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
21091         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
21092         gl_FUNC_FSEEKO.
21093         (gl_FUNC_FSEEKO): Invoke it.
21094         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
21095         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
21096         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
21097
21098 2007-04-25  Bruno Haible  <bruno@clisp.org>
21099
21100         * modules/fflush (Depends-on): Add ftello.
21101
21102 2007-04-25  Bruno Haible  <bruno@clisp.org>
21103
21104         * modules/ftello-tests: New file.
21105         * tests/test-ftello.c: New file.
21106
21107         * modules/ftello: New file.
21108         * m4/ftello.m4: New file.
21109         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
21110         HAVE_FTELLO.
21111         * lib/stdio_.h (ftello): New declaration.
21112         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
21113         HAVE_FTELLO.
21114
21115 2007-04-25  Bruno Haible  <bruno@clisp.org>
21116
21117         * modules/fseeko-tests: New file.
21118         * tests/test-fseeko.c: New file.
21119
21120         * modules/fseeko: New file.
21121         * m4/fseeko.m4: New file.
21122         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
21123         HAVE_FSEEKO.
21124         * lib/stdio_.h (fseeko): New declaration.
21125         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
21126         HAVE_FSEEKO.
21127
21128 2007-04-25  Bruno Haible  <bruno@clisp.org>
21129
21130         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
21131
21132 2007-04-25  Bruno Haible  <bruno@clisp.org>
21133
21134         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
21135         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
21136         * tests/test-unistd.c: Likewise.
21137         * tests/test-fcntl.c: Likewise.
21138
21139 2007-04-23  Eric Blake  <ebb9@byu.net>
21140
21141         * lib/fflush.c: Fix missing include.
21142         Reported by Bruno Haible.
21143
21144 2007-04-23  Bruno Haible  <bruno@clisp.org>
21145
21146         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
21147         Reported by Eric Blake.
21148
21149 2007-04-23  Bruno Haible  <bruno@clisp.org>
21150
21151         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
21152
21153 2007-04-23  Bruno Haible  <bruno@clisp.org>
21154
21155         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
21156
21157 2007-04-23  Bruno Haible  <bruno@clisp.org>
21158
21159         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
21160         Needed on HP-UX 11.
21161
21162 2007-04-16  Eric Blake  <ebb9@byu.net>
21163
21164         Make fflush rely on fpurge.
21165         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
21166         open coding all variants.
21167         * modules/fflush (Depends-on): Add fpurge and unistd.
21168         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
21169         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
21170
21171         Fix --with-tests compilation on cygwin.
21172         * modules/argmatch-tests (Makefile.am): List gnulib library first
21173         in LDADD.
21174         * modules/argp-tests (Makefile.am): Likewise.
21175         * modules/array-list-tests (Makefile.am): Likewise.
21176         * modules/array-oset-tests (Makefile.am): Likewise.
21177         * modules/avltree-list-tests (Makefile.am): Likewise.
21178         * modules/avltree-oset-tests (Makefile.am): Likewise.
21179         * modules/avltreehash-list-tests (Makefile.am): Likewise.
21180         * modules/carray-list-tests (Makefile.am): Likewise.
21181         * modules/dirname-tests (Makefile.am): Likewise.
21182         * modules/frexp-tests (Makefile.am): Likewise.
21183         * modules/isnanl-tests (Makefile.am): Likewise.
21184         * modules/linked-list-tests (Makefile.am): Likewise.
21185         * modules/linkedhash-list-tests (Makefile.am): Likewise.
21186         * modules/lock-tests (Makefile.am): Likewise.
21187         * modules/rbtree-list-tests (Makefile.am): Likewise.
21188         * modules/rbtree-oset-tests (Makefile.am): Likewise.
21189         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
21190         * modules/tls-tests (Makefile.am): Likewise.
21191         * modules/tsearch-tests (Makefile.am): Likewise.
21192         * modules/xvasprintf-tests (Makefile.am): Likewise.
21193
21194         Fix fpurge for cygwin.
21195         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
21196         value.
21197         * modules/fpurge-tests (Depends-on): Clean up trash.
21198
21199 2007-04-16  Simon Josefsson  <simon@josefsson.org>
21200
21201         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
21202
21203         * m4/autobuild.m4: Re-indent.
21204
21205 2007-04-13  Bruno Haible  <bruno@clisp.org>
21206
21207         * modules/fpurge-tests: New file.
21208         * tests/test-fpurge.c: New file.
21209
21210         * modules/fpurge: New file.
21211         * lib/fpurge.h: New file.
21212         * lib/fpurge.c: New file.
21213         * m4/fpurge.m4: New file.
21214
21215 2007-04-13  Bruno Haible  <bruno@clisp.org>
21216
21217         * modules/fbufmode-tests: New file.
21218         * tests/test-fbufmode.c: New file.
21219
21220         * modules/fbufmode: New file.
21221         * lib/fbufmode.h: New file.
21222         * lib/fbufmode.c: New file.
21223         * m4/fbufmode.m4: New file.
21224
21225 2007-04-13  Bruno Haible  <bruno@clisp.org>
21226
21227         * modules/fwritable-tests: New file.
21228         * tests/test-fwritable.c: New file.
21229
21230         * modules/fwritable: New file.
21231         * lib/fwritable.h: New file.
21232         * lib/fwritable.c: New file.
21233         * m4/fwritable.m4: New file.
21234
21235 2007-04-13  Bruno Haible  <bruno@clisp.org>
21236
21237         * modules/freadable-tests: New file.
21238         * tests/test-freadable.c: New file.
21239
21240         * modules/freadable: New file.
21241         * lib/freadable.h: New file.
21242         * lib/freadable.c: New file.
21243         * m4/freadable.m4: New file.
21244
21245 2007-04-13  Bruno Haible  <bruno@clisp.org>
21246
21247         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
21248         MOSTLYCLEANFILES.
21249
21250 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
21251
21252         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
21253         gzip bootstrap.conf to avoid dragging in i18n machinery.
21254         (gnulib_tool_option): Use it.
21255
21256 2007-04-13  Bruno Haible  <bruno@clisp.org>
21257
21258         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
21259         %F directives.
21260         * tests/test-vasprintf-posix.c (test_function): Likewise.
21261         * tests/test-snprintf-posix.h (test_function): Likewise.
21262         * tests/test-sprintf-posix.h (test_function): Likewise.
21263         * tests/test-fprintf-posix.h (test_function): Likewise.
21264         * tests/test-printf-posix.h (test_function): Likewise.
21265         * tests/test-fprintf-posix.out: Likewise.
21266
21267 2007-04-13  Bruno Haible  <bruno@clisp.org>
21268
21269         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
21270         * modules/tls-tests (configure.ac): Likewise.
21271         Reported by Arto C. Nirkko <anirkko@insel.ch>.
21272
21273 2007-04-13  Bruno Haible  <bruno@clisp.org>
21274
21275         * lib/tls.c (glthread_tls_get): Fix return type.
21276         Patch by Arto C. Nirkko <anirkko@insel.ch>.
21277
21278 2007-04-12  Eric Blake  <ebb9@byu.net>
21279
21280         * modules/gettime (Depends-on): Remove gettime.
21281         Reported by Dmitry V. Levin.
21282
21283 2007-04-12  Bruno Haible  <bruno@clisp.org>
21284
21285         * modules/fflush (Include): Mention <stdio.h>.
21286         * modules/strtoimax (Include): Mention <inttypes.h>.
21287         * modules/strtoumax (Include): Likewise.
21288
21289 2007-04-12  Eric Blake  <ebb9@byu.net>
21290
21291         * .cvsignore: New file.
21292         * .gitignore: Likewise.
21293
21294 2007-04-12  Bruno Haible  <bruno@clisp.org>
21295
21296         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
21297         not before, since $(LDADD) often contains libgnu.a.
21298         * modules/striconv-tests (test_striconv_LDADD): Likewise.
21299         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
21300         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
21301         Needed on Cygwin.
21302
21303 2007-04-12  Eric Blake  <ebb9@byu.net>
21304
21305         Work around glibc's failure to flush stdin on fclose.
21306         * lib/closein.c (close_stdin): Flush stdin before closing.
21307
21308         Work around glibc's failure to reset seekable stdin on exit.
21309         * modules/closein: New module.
21310         * lib/closein.c: New file.
21311         * lib/closein.h: Likewise.
21312         * m4/closein.m4: Likewise.
21313         * MODULES.html.sh (File stream based Input/Output): Document it.
21314
21315 2007-04-12  Simon Josefsson  <simon@josefsson.org>
21316
21317         * gnulib-tool: Rename generated 'autobuild' script to
21318         'do-autobuild' in --create-megatestdir output.
21319
21320         * doc/gnulib.texi (Build robot for gnulib): Fix.
21321
21322 2007-04-12  Simon Josefsson  <simon@josefsson.org>
21323
21324         * modules/sysexits (Depends-on): Add absolute-header.
21325
21326 2007-04-12  Eric Blake  <ebb9@byu.net>
21327
21328         No need to preserve errno on success.
21329         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
21330         Reported by Bruno Haible.
21331
21332 2007-04-12  Simon Josefsson  <simon@josefsson.org>
21333
21334         * MODULES.html.sh (Support for maintaining and releasing
21335         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
21336
21337 2007-04-12  Simon Josefsson  <simon@josefsson.org>
21338
21339         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
21340
21341 2007-04-12  Simon Josefsson  <simon@josefsson.org>
21342
21343         * modules/autobuild: New module.
21344
21345         * m4/autobuild.m4: New file.
21346
21347 2007-04-11  Bruno Haible  <bruno@clisp.org>
21348
21349         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
21350         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
21351         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
21352         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
21353         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
21354         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
21355         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
21356         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
21357         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
21358         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
21359         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
21360         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
21361         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
21362         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
21363         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
21364         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
21365         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
21366         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
21367         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
21368         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
21369         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
21370         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
21371         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
21372         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
21373         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
21374         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
21375         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
21376         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
21377         Reported by Eric Blake.
21378
21379 2007-04-11  Bruno Haible  <bruno@clisp.org>
21380
21381         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
21382
21383 2007-04-10  Bruno Haible  <bruno@clisp.org>
21384
21385         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
21386         for NaN and Infinity. Needed on FreeBSD 6.1.
21387         * tests/test-vasnprintf-posix.c (test_function): Undo last change
21388         regarding results for "%010a" of Infinity and NaN.
21389         * tests/test-vasprintf-posix.c (test_function): Likewise.
21390         * tests/test-snprintf-posix.h (test_function): Likewise.
21391         * tests/test-sprintf-posix.h (test_function): Likewise.
21392         * tests/test-fprintf-posix.h (test_function): Likewise.
21393         * tests/test-printf-posix.h (test_function): Likewise.
21394         * tests/test-fprintf-posix.out: Likewise.
21395
21396 2007-04-10  Bruno Haible  <bruno@clisp.org>
21397
21398         * modules/locale-tests: New file.
21399         * tests/test-locale.c: New file.
21400
21401         * modules/locale: New file.
21402         * lib/locale_.h: New file.
21403         * m4/locale_h.m4: New file.
21404
21405 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
21406             Bruno Haible  <bruno@clisp.org>
21407
21408         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
21409         be determined, test for availability of the copysignf, copysign,
21410         copysignl functions.
21411         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
21412         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
21413         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
21414
21415 2007-04-09  Eric Blake  <ebb9@byu.net>
21416
21417         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
21418         * modules/stdio (Makefile.am): Support fflush.
21419         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
21420         * modules/fflush: New file.
21421         * lib/fflush.c: Likewise.
21422         * m4/fflush.m4: Likewise.
21423         * modules/fflush-tests: New test.
21424         * tests/test-fflush.c: Likewise.
21425         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
21426
21427 2007-04-06  Bruno Haible  <bruno@clisp.org>
21428
21429         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
21430         (VASNPRINTF): Use signbit for faster determination whether to print a
21431         minus sign.
21432         * modules/vasnprintf (Files): Remove lib/float+.h.
21433         * modules/fprintf-posix (Depends-on): Add signbit.
21434         * modules/snprintf-posix (Depends-on): Likewise.
21435         * modules/sprintf-posix (Depends-on): Likewise.
21436         * modules/vasnprintf-posix (Depends-on): Likewise.
21437         * modules/vasprintf-posix (Depends-on): Likewise.
21438         * modules/vfprintf-posix (Depends-on): Likewise.
21439         * modules/vsnprintf-posix (Depends-on): Likewise.
21440         * modules/vsprintf-posix (Depends-on): Likewise.
21441
21442 2007-04-06  Bruno Haible  <bruno@clisp.org>
21443
21444         * tests/test-frexp.c (main): Test also the sign bit of zero results.
21445         * tests/test-frexpl.c (main): Likewise.
21446         * tests/test-ldexpl.c (main): Likewise.
21447         * modules/frexp-tests (Depends-on): Add signbit.
21448         * modules/frexpl-tests (Depdends-on): Likewise.
21449         * modules/ldexpl-tests (Depdends-on): Likewise.
21450
21451 2007-04-06  Bruno Haible  <bruno@clisp.org>
21452
21453         * modules/signbit-tests: New file.
21454         * tests/test-signbit.c: New file.
21455
21456         * modules/signbit: New file.
21457         * lib/signbitf.c: New file.
21458         * lib/signbitd.c: New file.
21459         * lib/signbitl.c: New file.
21460         * m4/signbit.m4: New file.
21461         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
21462         (signbit): New macro.
21463         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
21464         REPLACE_SIGNBIT.
21465         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
21466         REPLACE_FREXPL into math.h.
21467
21468 2007-04-06  Bruno Haible  <bruno@clisp.org>
21469
21470         * modules/isnanf-nolibm-tests: New file.
21471         * tests/test-isnanf.c: New file.
21472
21473         * modules/isnanf-nolibm: New file.
21474         * lib/isnanf.h: New file.
21475         * lib/isnanf.c: New file.
21476         * lib/isnan.c: Consider the USE_FLOAT macro.
21477         * m4/isnanf.m4: New file.
21478
21479 2007-04-06  Bruno Haible  <bruno@clisp.org>
21480
21481         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
21482         (Link): New section.
21483
21484         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
21485
21486 2007-04-06  Bruno Haible  <bruno@clisp.org>
21487
21488         Assume the 'long double' type.
21489         * m4/longdouble.m4: Remove file.
21490         * config/srclist.txt: Don't mention longdouble.m4.
21491         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
21492         * lib/float+.h: Likewise.
21493         * lib/frexp.c: Likewise.
21494         * lib/printf-args.h: Likewise.
21495         * lib/printf-args.c: Likewise.
21496         * lib/printf-frexp.c: Likewise.
21497         * lib/printf-parse.c: Likewise.
21498         * lib/vasnprintf.c: Likewise.
21499         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
21500         * m4/intl.m4: Likewise.
21501         * m4/isnanl.m4: Likewise.
21502         * m4/printf.m4: Likewise.
21503         * m4/printf-frexpl.m4: Likewise.
21504         * m4/vasnprintf.m4: Likewise.
21505         * modules/allocsa (Files): Remove m4/longdouble.m4.
21506         * modules/gettext (Files): Likewise.
21507         * modules/relocatable-prog-wrapper (Files): Likewise.
21508         * modules/vasnprintf (Files): Likewise.
21509         * modules/isnanl (Files): Likewise.
21510         (Include): Simplify.
21511         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
21512         (Include): Simplify.
21513         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
21514         (Include): Simplify.
21515         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
21516         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
21517         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
21518         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
21519         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
21520         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
21521         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
21522         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
21523         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
21524         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
21525         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
21526         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
21527         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
21528         * tests/test-isnanl.c: Likewise.
21529         * tests/test-snprintf-posix.h: Likewise.
21530         * tests/test-sprintf-posix.h: Likewise.
21531         * tests/test-vasnprintf-posix.c: Likewise.
21532         * tests/test-vasnprintf-posix2.c: Likewise.
21533         * tests/test-vasprintf-posix.c: Likewise.
21534
21535 2007-04-06  Bruno Haible  <bruno@clisp.org>
21536
21537         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
21538         * lib/math_.h [__DECC]: Include the overridden include file through
21539         #include_next, outside the double-inclusion guard.
21540         * lib/stdio_.h [__DECC]: Likewise.
21541         * lib/stdlib_.h [__DECC]: Likewise.
21542         * lib/string_.h [__DECC]: Likewise.
21543         * lib/time_.h [__DECC]: Likewise.
21544         * lib/wchar_.h [__DECC]: Likewise.
21545         * lib/wctype_.h [__DECC]: Likewise.
21546         * lib/inttypes_.h [__DECC]: Likewise.
21547         Reported by Albert Chin <china@thewrittenword.com> in
21548         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
21549
21550 2007-04-04  Eric Blake  <ebb9@byu.net>
21551
21552         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
21553         1.5.x.
21554
21555 2007-04-04  Bruno Haible  <bruno@clisp.org>
21556
21557         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
21558         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
21559
21560 2007-04-04  Bruno Haible  <bruno@clisp.org>
21561
21562         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
21563         results for "%010a" of Infinity and NaN.
21564         * tests/test-vasprintf-posix.c (test_function): Likewise.
21565         * tests/test-snprintf-posix.h (test_function): Likewise.
21566         * tests/test-sprintf-posix.h (test_function): Likewise.
21567         * tests/test-fprintf-posix.h (test_function): Remove these tests.
21568         * tests/test-printf-posix.h (test_function): Likewise.
21569         * tests/test-fprintf-posix.out: Update.
21570         Needed for FreeBSD 6.1.
21571
21572 2007-04-04  Bruno Haible  <bruno@clisp.org>
21573
21574         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
21575         directly used by the gnulib modules nor by gnulib-tool.
21576
21577 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
21578
21579         * DEPENDENCIES: Give overall description of version dependency
21580         desirability.  Use more-typical names for apps.
21581         Add shell, coreutils, diffutils, grep, tar, gzip.
21582
21583 2007-04-04  Simon Josefsson  <simon@josefsson.org>
21584
21585         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
21586
21587 2007-04-04  Karl Berry  <karl@gnu.org>
21588
21589         * MODULES.html.sh (func_module): missing '.
21590
21591 2007-04-03  Bruno Haible  <bruno@clisp.org>
21592
21593         * modules/argmatch-tests (Makefile.am): New variable
21594         test_argmatch_LDADD.
21595         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
21596         * modules/array-list-tests (Makefile.am): New variable
21597         test_array_list_LDADD.
21598         * modules/array-oset-tests (Makefile.am): New variable
21599         test_array_oset_LDADD.
21600         * modules/avltree-list-tests (Makefile.am): New variable
21601         test_avltree_list_LDADD.
21602         * modules/avltree-oset-tests (Makefile.am): New variable
21603         test_avltree_oset_LDADD.
21604         * modules/avltreehash-list-tests (Makefile.am): New variable
21605         test_avltreehash_list_LDADD.
21606         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
21607         test_canonicalize_lgpl_LDADD.
21608         * modules/carray-list-tests (Makefile.am): New variable
21609         test_carray_list_LDADD.
21610         * modules/dirname-tests (Makefile.am): New variable
21611         test_dirname_LDADD.
21612         * modules/linked-list-tests (Makefile.am): New variable
21613         test_linked_list_LDADD.
21614         * modules/linkedhash-list-tests (Makefile.am): New variable
21615         test_linkedhash_list_LDADD.
21616         * modules/rbtree-list-tests (Makefile.am): New variable
21617         test_rbtree_list_LDADD.
21618         * modules/rbtree-oset-tests (Makefile.am): New variable
21619         test_rbtree_oset_LDADD.
21620         * modules/rbtreehash-list-tests (Makefile.am): New variable
21621         test_rbtreehash_list_LDADD.
21622         * modules/xvasprintf-tests (Makefile.am): New variable
21623         test_xvasprintf_LDADD.
21624         Reported by Eric Blake.
21625
21626 2007-04-03  Eric Blake  <ebb9@byu.net>
21627
21628         * DEPENDENCIES: Weaken m4 requirements.
21629
21630 2007-04-03  Bruno Haible  <bruno@clisp.org>
21631
21632         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
21633         * modules/isnanl-tests (configure.ac): Likewise.
21634
21635 2007-04-03  Ben Pfaff  <blp@gnu.org>
21636
21637         * modules/iconv_open: Add $(srcdir)/ to source directory
21638         references in Makefile fragments that call gperf, to fix VPATH
21639         builds.
21640
21641 2007-04-03  Bruno Haible  <bruno@clisp.org>
21642
21643         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
21644         * lib/ldexpl.c: Undo last change.
21645
21646 2007-04-03  Bruno Haible  <bruno@clisp.org>
21647
21648         * modules/printf-frexpl (Depends-on): Undo last change.
21649         (Files): Add m4/ldexpl.m4.
21650
21651 2007-04-03  Bruno Haible  <bruno@clisp.org>
21652
21653         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
21654         * modules/isnanl (Link): New section.
21655
21656         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
21657         * modules/frexp (Link): New section.
21658
21659         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
21660         * modules/frexpl (Link): New section.
21661
21662         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
21663         * modules/ldexpl (Link): New section.
21664
21665 2007-04-03  Bruno Haible  <bruno@clisp.org>
21666
21667         * modules/TEMPLATE-EXTENDED: New file.
21668         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
21669
21670 2007-04-03  Bruno Haible  <bruno@clisp.org>
21671
21672         * DEPENDENCIES: New file.
21673         Suggested by Simon Josefsson.
21674
21675 2007-04-03  Bruno Haible  <bruno@clisp.org>
21676
21677         * doc/gnulib.texi: Escape @.
21678
21679 2007-04-03  James Youngman  <jay@gnu.org>
21680         and Paul Eggert  <eggert@cs.ucla.edu>
21681
21682         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
21683         birthtime on all systems that have birthtime, not just those which
21684         use st_birthtimensec rather than st_birthtim.  Putting zero in
21685         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
21686         that the birth time is not available for files on an NFS mount.
21687
21688 2007-04-03  Simon Josefsson  <simon@josefsson.org>
21689
21690         * modules/memxor: Move back from crypto/, suggested by Bruno.
21691         * modules/crypto/hmac-sha1: Fix memxor dependency.
21692
21693         * modules/crypto/gc: Moved from ../.
21694
21695 2007-04-02  Eric Blake  <ebb9@byu.net>
21696
21697         * lib/ldexpl.c (includes): Avoid libm.
21698
21699         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
21700
21701 2007-04-02  Bruno Haible  <bruno@clisp.org>
21702
21703         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
21704         on IRIX.
21705
21706 2007-04-02  Bruno Haible  <bruno@clisp.org>
21707
21708         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
21709         x86 or x86_64 platforms running MacOS X.
21710         Reported by Ryan Schmidt <@ryandesign.com>.
21711
21712 2007-04-02  Bruno Haible  <bruno@clisp.org>
21713
21714         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
21715         i386.
21716
21717 2007-04-01  Simon Josefsson  <simon@josefsson.org>
21718
21719         * modules/crypto/arcfour: Moved from ../.
21720         * modules/crypto/arcfour-tests: Moved from ../.
21721         * modules/crypto/arctwo: Moved from ../.
21722         * modules/crypto/arctwo-tests: Moved from ../.
21723         * modules/crypto/des: Moved from ../.
21724         * modules/crypto/des-tests: Moved from ../.
21725         * modules/crypto/gc-arcfour: Moved from ../.
21726         * modules/crypto/gc-arcfour-tests: Moved from ../.
21727         * modules/crypto/gc-arctwo: Moved from ../.
21728         * modules/crypto/gc-arctwo-tests: Moved from ../.
21729         * modules/crypto/gc-des: Moved from ../.
21730         * modules/crypto/gc-des-tests: Moved from ../.
21731         * modules/crypto/gc-hmac-md5: Moved from ../.
21732         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
21733         * modules/crypto/gc-hmac-sha1: Moved from ../.
21734         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
21735         * modules/crypto/gc-md2: Moved from ../.
21736         * modules/crypto/gc-md2-tests: Moved from ../.
21737         * modules/crypto/gc-md4: Moved from ../.
21738         * modules/crypto/gc-md4-tests: Moved from ../.
21739         * modules/crypto/gc-md5: Moved from ../.
21740         * modules/crypto/gc-md5-tests: Moved from ../.
21741         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
21742         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
21743         * modules/crypto/gc-random: Moved from ../.
21744         * modules/crypto/gc-rijndael: Moved from ../.
21745         * modules/crypto/gc-rijndael-tests: Moved from ../.
21746         * modules/crypto/gc-sha1: Moved from ../.
21747         * modules/crypto/gc-sha1-tests: Moved from ../.
21748         * modules/crypto/gc-tests: Moved from ../.
21749         * modules/crypto/hmac-md5: Moved from ../.
21750         * modules/crypto/hmac-md5-tests: Moved from ../.
21751         * modules/crypto/hmac-sha1: Moved from ../.
21752         * modules/crypto/hmac-sha1-tests: Moved from ../.
21753         * modules/crypto/md2: Moved from ../.
21754         * modules/crypto/md2-tests: Moved from ../.
21755         * modules/crypto/md4: Moved from ../.
21756         * modules/crypto/md4-tests: Moved from ../.
21757         * modules/crypto/md5: Moved from ../.
21758         * modules/crypto/md5-tests: Moved from ../.
21759         * modules/crypto/memxor: Moved from ../.
21760         * modules/crypto/rijndael: Moved from ../.
21761         * modules/crypto/rijndael-tests: Moved from ../.
21762         * modules/crypto/sha1: Moved from ../.
21763
21764 2007-03-30  James Youngman  <jay@gnu.org>
21765
21766         * tests/test-stat-time.c (prepare_test): use chmod() rather than
21767         rename() to change the ctime of a file (because ctime is unaffected
21768         by rename on jfs2 on AIX 5.1).
21769         (main): Start by doing cleanup, in case a previous run failed leaving
21770         test files behind.
21771
21772 2007-03-31  Bruno Haible  <bruno@clisp.org>
21773
21774         Support old proprietary implementations of iconv.
21775         * modules/iconv_open: New file.
21776         * lib/iconv_.h: New file.
21777         * m4/iconv_h.m4: New file.
21778         * lib/iconv_open.c: New file.
21779         * lib/iconv_open-aix.gperf: New file.
21780         * lib/iconv_open-hpux.gperf: New file.
21781         * lib/iconv_open-irix.gperf: New file.
21782         * lib/iconv_open-osf.gperf: New file.
21783         * m4/iconv_open.m4: New file.
21784         * modules/linebreak (Depends-on): Add iconv_open.
21785         * modules/striconv (Depends-on): Likewise.
21786         * modules/striconveh (Depends-on): Likewise.
21787         * modules/unicodeio (Depends-on): Likewise.
21788         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
21789         (iconv_t)(-1).
21790         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
21791         conversion if cd is (iconv_t)(-1).
21792         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
21793         is not possible.
21794
21795 2007-03-31  Bruno Haible  <bruno@clisp.org>
21796
21797         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
21798         work on Solaris either. Protect also second use of "autodetect_jp".
21799
21800 2007-03-31  Bruno Haible  <bruno@clisp.org>
21801
21802         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
21803         the function is not present.
21804
21805 2007-03-31  Bruno Haible  <bruno@clisp.org>
21806
21807         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
21808         the function is not present.
21809
21810 2007-03-31  Bruno Haible  <bruno@clisp.org>
21811
21812         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
21813         a bug in HP-UX iconv_open().
21814
21815 2007-03-31  Bruno Haible  <bruno@clisp.org>
21816
21817         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
21818         (Mathematics <math.h>): New section, add fpieee.
21819         (Input/output <stdio.h>): Add fseterr.
21820         (Mathematics <math.h>): New section, add printf-frexp.
21821         (Container data structures): Add sublist.
21822         (Core language properties): Add fpucw, inline.
21823         (Functions for greatest-width integer types <inttypes.h>): Add
21824         imaxabs, imaxdiv, inttypes.
21825         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
21826         isnanl-nolibm, ldexp.
21827         (Mathematics <math.h>): New section, add printf-frexpl.
21828         (Support for systems lacking POSIX:2001): Add fprintf-posix,
21829         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
21830         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
21831         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
21832         (Unicode string functions): Add unistr/u*-mbtoucr.
21833         (Java): Add javacomp-script, javaexec-script.
21834         (C#): Add csharpcomp-script, csharpexec-script.
21835         (Support for building libraries and executables): Add havelib,
21836         relocatable-*.
21837         (Support for maintaining and releasing projects): Renamed from
21838         'Support for maintaining and release projects'. Add announce-gen.
21839
21840 2007-03-31  Bruno Haible  <bruno@clisp.org>
21841
21842         * README: Talk primarily about git.
21843         (git and CVS): Renamed from CVS.
21844         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
21845         gnulib is available through git.
21846         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
21847
21848 2007-03-30  Bruno Haible  <bruno@clisp.org>
21849
21850         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
21851         * lib/poll_.h: Likewise.
21852         * lib/stat_.h: Likewise.
21853         * lib/sys_time_.h: Likewise.
21854         * lib/sysexit_.h: Likewise.
21855         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
21856         * lib/stdbool_.h: Likewise.
21857         * lib/byteswap_.h: Add double-inclusion guard.
21858
21859 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
21860
21861         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
21862
21863 2007-03-30  Karl Berry  <karl@gnu.org>
21864
21865         * config/srclist-update: double space after USA in the license
21866         substitution, since that's how it's usually (?) written.
21867
21868 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
21869
21870         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
21871         reported by Bruno Haible.
21872
21873 2007-03-29  Bruno Haible  <bruno@clisp.org>
21874
21875         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
21876         a bug in AIX iconv().
21877
21878 2007-03-29  Bruno Haible  <bruno@clisp.org>
21879
21880         * modules/ldexpl-tests: New file.
21881         * tests/test-ldexpl.c: New file.
21882
21883 2007-03-29  Bruno Haible  <bruno@clisp.org>
21884
21885         * lib/ldexpl.c: Include fpucw.h.
21886         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
21887         multiplication.
21888         * modules/ldexpl (Depends-on): Add fpucw.
21889
21890 2007-03-29  Bruno Haible  <bruno@clisp.org>
21891
21892         * modules/ldexpl: New file.
21893         * m4/ldexpl.m4: New file.
21894         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
21895         set.
21896         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
21897         REPLACE_LDEXPL.
21898         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
21899         REPLACE_LDEXPL.
21900         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
21901         gl_FUNC_LDEXPL_WORKS.
21902         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
21903         * modules/mathl (Files): Remove lib/ldexpl.c.
21904         (Depends-on): Add ldexpl.
21905
21906 2007-03-29  Bruno Haible  <bruno@clisp.org>
21907
21908         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
21909
21910 2007-03-29  Bruno Haible  <bruno@clisp.org>
21911
21912         * tests/test-striconveh.c (main): Don't assume that a direct conversion
21913         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
21914         and possibly also HP-UX.
21915         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
21916         work on AIX, IRIX, HP-UX, OSF/1.
21917         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
21918         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
21919         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
21920         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
21921         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
21922         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
21923
21924 2007-03-29  Bruno Haible  <bruno@clisp.org>
21925
21926         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
21927
21928 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
21929
21930         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
21931         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
21932
21933 2007-03-29  Eric Blake  <ebb9@byu.net>
21934
21935         * lib/acl-internal.h: Remove redundant include.
21936         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
21937         Cygwin when a file is locked.
21938
21939 2007-03-29  Bruno Haible  <bruno@clisp.org>
21940
21941         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
21942         file.
21943         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
21944
21945 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
21946
21947         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
21948         try to remove a parent directory if the child couldn't be removed
21949         (except for the first rmdir, which could fail because the child
21950         doesn't exist).  Problem reported by Jeff Blaine in
21951         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
21952
21953 2007-03-28  Bruno Haible  <bruno@clisp.org>
21954
21955         * lib/striconveh.c (utf8conv_carefully): New function.
21956         (mem_cd_iconveh_internal): Invoke it.
21957
21958 2007-03-28  Bruno Haible  <bruno@clisp.org>
21959
21960         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
21961         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
21962         input.
21963         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
21964         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
21965         unistr/u8-uctomb.
21966
21967 2007-03-28  Bruno Haible  <bruno@clisp.org>
21968
21969         * modules/unistr/u8-mbtoucr: New file.
21970         * lib/unistr/u8-mbtoucr.c: New file.
21971         * modules/unistr/u16-mbtoucr: New file.
21972         * lib/unistr/u16-mbtoucr.c: New file.
21973         * modules/unistr/u16-mbtoucr: New file.
21974         * lib/unistr/u16-mbtoucr.c: New file.
21975         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
21976
21977 2007-03-27  Simon Josefsson  <simon@josefsson.org>
21978             Bruno Haible  <bruno@clisp.org>
21979
21980         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
21981         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
21982         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
21983
21984         * m4/stdio_h.m4: Add stubs for vasprintf too.
21985
21986         * modules/stdio: Support vasprintf in sed command.
21987
21988         * modules/vasprintf: Depend on stdio for prototypes.  Remove
21989         vasprintf.h.  Add stdio module indicator.
21990
21991         * lib/stdio_.h: Declare asprintf and vasprintf, based on
21992         vasprintf.h.
21993
21994         * lib/vasprintf.h: File removed.
21995
21996         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
21997         * lib/vasprintf.c: Ditto.
21998         * lib/xvasprintf.c: Ditto.
21999         * tests/test-vasprintf-posix.c: Ditto.
22000         * tests/test-vasprintf.c: Ditto.
22001
22002 2007-03-27  Bruno Haible  <bruno@clisp.org>
22003
22004         Make vasnprintf multithread-safe.
22005         * lib/vasnprintf.c (decimal_point_char): New function.
22006         (VASNPRINTF): Use it.
22007         Suggested by Simon Josefsson.
22008
22009 2007-03-27  Eric Blake  <ebb9@byu.net>
22010
22011         Support sub-second birthtime on cygwin.
22012         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
22013         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
22014         (get_stat_birthtime): Also work with st_birthtim.
22015
22016 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
22017
22018         * lib/stat-time.h (USE_BIRTHTIME): Remove.
22019         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
22020         (get_stat_birthtime_ns): Do not try to use "spare" fields.
22021         (get_stat_birthtime_ns): Simplify compile-time tests.
22022         (get_stat_birthtime): Change the API to look like
22023         get_stat_mtime etc., except return a negative tv_nsec on error.
22024         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
22025         Don't check for "spare" fields.
22026         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
22027         or for struct stat.st_birthtime, as these tests aren't used.
22028         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
22029
22030 2007-03-27  Bruno Haible  <bruno@clisp.org>
22031
22032         * lib/stat-time.h: Include <sys/stat.h>.
22033
22034 2007-03-27  James Youngman  <jay@gnu.org>
22035
22036         * lib/stat-time.h (get_stat_birthtime): New function for
22037           retrieving st_birthtime as provided by UFS2 (hence *BSD).
22038         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
22039           and its variants.
22040         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
22041         * modules/stat-time-test: New file.
22042         * tests/test-stat-time.c: New test, devised by Bruno Haible.
22043
22044 2007-03-26  Bruno Haible  <bruno@clisp.org>
22045
22046         Better support of signalling NaNs.
22047         * lib/atanl.c: Include isnanl.h.
22048         (atanl): Perform test for NaN at the beginning of the function and
22049         through a call to isnanl.
22050         * lib/cosl.c: Include isnanl.h.
22051         (cosl): Perform test for NaN at the beginning of the function and
22052         through a call to isnanl.
22053         * lib/ldexpl.c: Include isnanl.h.
22054         (ldexpl): Perform test for NaN through a call to isnanl.
22055         * lib/logl.c: Include isnanl.h.
22056         (logl): Perform test for NaN at the beginning of the function and
22057         through a call to isnanl.
22058         * lib/sinl.c: Include isnanl.h.
22059         (sinl): Perform test for NaN at the beginning of the function and
22060         through a call to isnanl.
22061         * lib/sqrtl.c: Include isnanl.h.
22062         (sqrtl): Perform test for NaN at the beginning of the function and
22063         through a call to isnanl.
22064         * lib/tanl.c: Include isnanl.h.
22065         (tanl): Perform test for NaN at the beginning of the function and
22066         through a call to isnanl.
22067         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
22068         * modules/mathl (Depends-on): Add isnanl.
22069
22070 2007-03-26  Eric Blake  <ebb9@byu.net>
22071
22072         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
22073         regression in logic sense of previous patch.
22074
22075 2007-03-26  Bruno Haible  <bruno@clisp.org>
22076
22077         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
22078         unportable shell command "if ! ...".
22079         Reported by Ralf Wildenhues.
22080
22081 2007-03-25  Bruno Haible  <bruno@clisp.org>
22082
22083         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
22084         <sysexits.h> file, and only add EX_CONFIG.
22085         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
22086         absolute file name and whether it is sufficient. Substitute also
22087         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
22088         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
22089         ABSOLUTE_SYSEXITS_H into sysexits.h.
22090
22091 2007-03-25  Bruno Haible  <bruno@clisp.org>
22092
22093         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
22094         hints is NULL.
22095
22096 2007-03-25  Bruno Haible  <bruno@clisp.org>
22097
22098         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
22099         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
22100
22101 2007-03-25  Bruno Haible  <bruno@clisp.org>
22102
22103         * lib/vasnprintf.c: Include langinfo.h.
22104         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
22105         multithread-safe.
22106         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
22107         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
22108         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
22109         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
22110         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
22111         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
22112         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
22113         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
22114         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
22115         Reported by Simon Josefsson.
22116
22117 2007-03-25  Bruno Haible  <bruno@clisp.org>
22118
22119         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
22120         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
22121         * modules/vasnprintf (Depends-on): Add stdint.
22122
22123 2007-03-25  Bruno Haible  <bruno@clisp.org>
22124
22125         * modules/fpieee: New file.
22126         * m4/fpieee.m4: New file.
22127         * modules/isnan-nolibm (Depends-on): Add fpieee.
22128         * modules/isnanl-nolibm (Depends-on): Add fpieee.
22129         * modules/isnanl (Depends-on): Add fpieee.
22130
22131 2007-03-25  Bruno Haible  <bruno@clisp.org>
22132
22133         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
22134
22135 2007-03-25  Bruno Haible  <bruno@clisp.org>
22136
22137         Avoid test failures on IRIX 6.5.
22138         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
22139         (main): Use it.
22140         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
22141         macros.
22142         (main): Use them.
22143
22144 2007-03-25  Bruno Haible  <bruno@clisp.org>
22145
22146         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
22147         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
22148         exists but doesn't work.
22149         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
22150         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
22151         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
22152         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
22153
22154 2007-03-25  Bruno Haible  <bruno@clisp.org>
22155
22156         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
22157         returns inf. Needed on IRIX 6.5.
22158
22159 2007-03-25  Bruno Haible  <bruno@clisp.org>
22160
22161         * tests/test-frexpl.c: Include isnanl-nolibm.h.
22162         (main): Use isnanl instead of x != x idiom.
22163         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
22164
22165         * tests/test-frexp.c: Include isnan.h.
22166         (main): Use isnan instead of x != x idiom.
22167         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
22168
22169 2007-03-25  Bruno Haible  <bruno@clisp.org>
22170
22171         * tests/test-frexp.c (NaN): New function/macro.
22172         (main): Use it instead of 0.0 / 0.0.
22173         * tests/test-isnan.c (NaN): New function/macro.
22174         (main): Use it instead of 0.0 / 0.0.
22175         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
22176         (test_function): Use it instead of 0.0 / 0.0.
22177         * tests/test-vasprintf-posix.c (NaN): New function/macro.
22178         (test_function): Use it instead of 0.0 / 0.0.
22179         * tests/test-snprintf-posix.h (NaN): New function/macro.
22180         (test_function): Use it instead of 0.0 / 0.0.
22181         * tests/test-sprintf-posix.h (NaN): New function/macro.
22182         (test_function): Use it instead of 0.0 / 0.0.
22183         * tests/test-fprintf-posix.h (NaN): New function/macro.
22184         (test_function): Use it instead of 0.0 / 0.0.
22185         * tests/test-printf-posix.h (NaN): New function/macro.
22186         (test_function): Use it instead of 0.0 / 0.0.
22187
22188         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
22189
22190 2007-03-25  Bruno Haible  <bruno@clisp.org>
22191
22192         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
22193
22194 2007-03-25  Bruno Haible  <bruno@clisp.org>
22195
22196         * lib/regexec.c (merge_state_with_log): Make static.
22197
22198 2007-03-25  Bruno Haible  <bruno@clisp.org>
22199
22200         * lib/trigl.c (kernel_rem_pio2): Make static.
22201
22202 2007-03-25  Bruno Haible  <bruno@clisp.org>
22203
22204         * lib/sincosl.c (sincosl_table): Make static.
22205
22206 2007-03-25  Bruno Haible  <bruno@clisp.org>
22207
22208         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
22209         if the compiler does not support C99.
22210
22211 2007-03-25  Bruno Haible  <bruno@clisp.org>
22212
22213         * modules/time (Makefile.am): Ensure all rule action lines start with a
22214         tab.
22215
22216 2007-03-24  Bruno Haible  <bruno@clisp.org>
22217
22218         * modules/tsearch-tests: New file.
22219         * tests/test-tsearch.sh: New file.
22220         * tests/test-tsearch.c: New file, mostly copied from glibc.
22221
22222         * modules/search-tests: New file.
22223         * tests/test-search.c: New file.
22224
22225         * modules/search: New file.
22226         * lib/search_.h: New file, incorporating lib/tsearch.h.
22227         * m4/search_h.m4: New file.
22228         * lib/tsearch.h: Remove file.
22229         * lib/tsearch.c: Include search.h instead of tsearch.h.
22230         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
22231         HAVE_TSEARCH.
22232         * modules/tsearch (Files): Remove lib/tsearch.h.
22233         (Depends-on): Add search.
22234         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
22235         (Include): Change tsearch.h into search.h.
22236
22237 2007-03-24  Bruno Haible  <bruno@clisp.org>
22238
22239         * modules/fpucw: New file.
22240         * lib/fpucw.h: New file.
22241         * lib/frexp.c: Include fpucw.h.
22242         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
22243         (FUNC): Use them.
22244         * lib/printf-frexp.c: Include fpucw.h.
22245         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
22246         (FUNC): Use them.
22247         * lib/vasnprintf.c: Include fpucw.h.
22248         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
22249         'long double' calculations.
22250         * tests/test-frexpl.c: Include fpucw.h.
22251         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
22252         * tests/test-printf-frexpl.c: Include fpucw.h.
22253         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
22254         * modules/frexpl (Depends-on): Add fpucw.
22255         * modules/printf-frexpl (Depends-on): Likewise.
22256         * modules/fprintf-posix (Depends-on): Likewise.
22257         * modules/snprintf-posix (Depends-on): Likewise.
22258         * modules/sprintf-posix (Depends-on): Likewise.
22259         * modules/vasnprintf-posix (Depends-on): Likewise.
22260         * modules/vasprintf-posix (Depends-on): Likewise.
22261         * modules/vfprintf-posix (Depends-on): Likewise.
22262         * modules/vsnprintf-posix (Depends-on): Likewise.
22263         * modules/vsprintf-posix (Depends-on): Likewise.
22264         * modules/frexpl-tests (Depends-on): Likewise.
22265         * modules/printf-frexpl-tests (Depends-on): Likewise.
22266
22267 2007-03-24  Bruno Haible  <bruno@clisp.org>
22268
22269         * lib/float+.h: New file.
22270         * lib/isnan.c: Include float+.h.
22271         (SIZE): New macro.
22272         (FUNC): Compare only SIZE bytes of the value.
22273         * lib/vasnprintf.c: Include float+.h.
22274         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
22275         SIZEOF_LDBL or SIZEOF_DBL bytes.
22276         * modules/isnan-nolibm (Files): Add lib/float+.h.
22277         * modules/isnanl-nolibm (Files): Add lib/float+.h.
22278         * modules/isnanl (Files): Add lib/float+.h.
22279         * modules/vasnprintf (Files): Add lib/float+.h.
22280
22281 2007-03-24  Bruno Haible  <bruno@clisp.org>
22282
22283         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
22284         include isnanl-nolibm.h.
22285
22286 2007-03-24  Bruno Haible  <bruno@clisp.org>
22287
22288         * tests/test-read-file.c (main): Don't produce spurious output for
22289         expected situations. Make the test fail if it encountered unexpected
22290         results.
22291
22292 2007-03-24  Bruno Haible  <bruno@clisp.org>
22293
22294         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
22295         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
22296
22297 2007-03-24  Bruno Haible  <bruno@clisp.org>
22298
22299         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
22300
22301 2007-03-24  Bruno Haible  <bruno@clisp.org>
22302
22303         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
22304         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
22305
22306         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
22307         * modules/utf8-ucs4: Turn into a symbolic link to module
22308         unistr/u8-mbtouc.
22309
22310         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
22311         utf8-ucs4-unsafe.
22312         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
22313         unistr/u8-mbtouc-unsafe.
22314
22315         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
22316         * modules/utf16-ucs4: Turn into a symbolic link to module
22317         unistr/u16-mbtouc.
22318
22319         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
22320         utf16-ucs4-unsafe.
22321         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
22322         unistr/u16-mbtouc-unsafe.
22323
22324         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
22325         * modules/ucs4-utf8: Turn into a symbolic link to module
22326         unistr/u8-ubtomb.
22327
22328         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
22329         * modules/ucs4-utf16: Turn into a symbolic link to module
22330         unistr/u16-ubtomb.
22331
22332 2007-03-24  Bruno Haible  <bruno@clisp.org>
22333
22334         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
22335         Enable the function only if HAVE_INLINE.
22336         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
22337         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
22338         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
22339         Enable the function only if HAVE_INLINE.
22340         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
22341         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
22342         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
22343         Enable the function only if HAVE_INLINE.
22344         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
22345         Enable the function only if HAVE_INLINE.
22346         * modules/utf8-ucs4: Update.
22347         * modules/utf8-ucs4-unsafe: Update.
22348         * modules/utf16-ucs4: Update.
22349         * modules/utf16-ucs4-unsafe: Update.
22350         * modules/ucs4-utf8: Update.
22351         * modules/ucs4-utf16: Update.
22352
22353 2007-03-24  Bruno Haible  <bruno@clisp.org>
22354
22355         * lib/utf8-ucs4.h: Remove file.
22356         * lib/utf8-ucs4-unsafe.h: Remove file.
22357         * lib/utf16-ucs4.h: Remove file.
22358         * lib/utf16-ucs4-unsafe.h: Remove file.
22359         * lib/ucs4-utf8.h: Remove file.
22360         * lib/ucs4-utf16.h: Remove file.
22361         * lib/unistr.h: Include their previous contents.
22362         * m4/utf-ucs4.m4: Remove file.
22363         * m4/ucs4-utf.m4: Remove file.
22364         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
22365         (Depends-on): Add unistr/base.
22366         (configure.ac): Remove gl_UTF_UCS4.
22367         (Makefile.am): Update.
22368         (Include): Change to unistr.h.
22369         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
22370         (Depends-on): Add unistr/base.
22371         (configure.ac): Remove gl_UTF_UCS4.
22372         (Makefile.am): Update.
22373         (Include): Change to unistr.h.
22374         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
22375         (Depends-on): Add unistr/base.
22376         (configure.ac): Remove gl_UTF_UCS4.
22377         (Makefile.am): Update.
22378         (Include): Change to unistr.h.
22379         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
22380         (Depends-on): Add unistr/base.
22381         (configure.ac): Remove gl_UTF_UCS4.
22382         (Makefile.am): Update.
22383         (Include): Change to unistr.h.
22384         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
22385         (Depends-on): Add unistr/base.
22386         (configure.ac): Remove gl_UCS4_UTF.
22387         (Makefile.am): Update.
22388         (Include): Change to unistr.h.
22389         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
22390         (Depends-on): Add unistr/base.
22391         (configure.ac): Remove gl_UCS4_UTF.
22392         (Makefile.am): Update.
22393         (Include): Change to unistr.h.
22394         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
22395         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
22396         utf8-ucs4-unsafe.h.
22397         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
22398         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
22399         utf16-ucs4-unsafe.h.
22400         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
22401         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
22402         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
22403         * lib/unistr/u8-strchr.c: Likewise.
22404         * lib/unistr/u8-strrchr.c: Likewise.
22405         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
22406         * lib/unistr/u16-strchr.c: Likewise.
22407         * lib/unistr/u16-strrchr.c: Likewise.
22408         * lib/striconveh.c: Update.
22409         * lib/linebreak.c: Update.
22410
22411 2007-03-24  Bruno Haible  <bruno@clisp.org>
22412
22413         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
22414         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
22415
22416 2007-03-22  Bruno Haible  <bruno@clisp.org>
22417
22418         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
22419
22420 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
22421
22422         * MODULES.html.sh (File system functions): New module write-any-file.
22423         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
22424         * m4/write-any-file.m4: New files.
22425
22426 2007-03-23  Eric Blake  <ebb9@byu.net>
22427
22428         * gnulib-tool: Rearrange space-tab sequences, since some editors
22429         like to eat them.
22430
22431 2007-03-23  Eric Blake  <ebb9@byu.net>
22432
22433         * lib/version-etc.c (version_etc_va): Update license wording to
22434         be more concise.  Recommended by Richard Stallman.
22435
22436 2007-03-22  Bruno Haible  <bruno@clisp.org>
22437
22438         * lib/poll.c (MSG_PEEK): New fallback definition.
22439
22440 2007-03-22  Bruno Haible  <bruno@clisp.org>
22441
22442         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
22443         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
22444         (main): Update.
22445         Fixes a compilation error on BeOS.
22446
22447 2007-03-22  Bruno Haible  <bruno@clisp.org>
22448
22449         * modules/frexpl-tests: New file.
22450         * tests/test-frexpl.c: New file.
22451
22452         * modules/frexpl: New file.
22453         * m4/frexpl.m4: New file.
22454         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
22455         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
22456         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
22457         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
22458         (Depends-on): Add frexpl. Remove isnanl-nolibm.
22459         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
22460
22461 2007-03-22  Bruno Haible  <bruno@clisp.org>
22462
22463         * lib/frexpl.c: Share code with lib/frexp.c.
22464         * modules/mathl (Files): Add lib/frexp.c.
22465         (Depends-on): Add isnanl-nolibm.
22466
22467 2007-03-22  Bruno Haible  <bruno@clisp.org>
22468
22469         * modules/printf-frexp (Files): Add m4/frexp.m4.
22470         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
22471         only if the found frexp function actually works.
22472
22473 2007-03-22  Bruno Haible  <bruno@clisp.org>
22474
22475         * lib/frexp.c: Remove older implementation that uses divisions.
22476
22477 2007-03-21  Bruno Haible  <bruno@clisp.org>
22478
22479         * modules/frexp-tests: New file.
22480         * tests/test-frexp.c: New file.
22481
22482         * modules/frexp: New file.
22483         * lib/frexp.c: New file.
22484         * m4/frexp.m4: New file.
22485         * lib/math_.h (frexp): New declaration.
22486         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
22487         REPLACE_FREXP.
22488         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
22489
22490 2007-03-21  Bruno Haible  <bruno@clisp.org>
22491
22492         * modules/isnanl-tests: New file.
22493         * tests/test-isnanl.c: New file.
22494
22495         * modules/isnanl: New file.
22496         * lib/isnanl.h: New file.
22497         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
22498         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
22499         gl_FUNC_ISNANL_WORKS.
22500         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
22501         New macros.
22502
22503 2007-03-21  Bruno Haible  <bruno@clisp.org>
22504
22505         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
22506         lib/isnanl.h.
22507         (Include): Update.
22508         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
22509         * lib/vasnprintf.c: Update.
22510         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
22511         tests/test-isnanl.h, remove tests/test-isnanl.c.
22512         (Makefile.am): Update.
22513         * tests/test-isnanl-nolibm.c: New file.
22514         * tests/test-isnanl.h: New file.
22515         * tests/test-isnanl.c: Remove file.
22516
22517 2007-03-21  Jim Meyering  <jim@meyering.net>
22518
22519         When trying to open ".", treat ESTALE like EACCES.
22520         * lib/savewd.c (savewd_save): Resort to forking not just upon
22521         failure with EACCES, but also when errno is ESTALE.
22522
22523 2007-03-20  Bruno Haible  <bruno@clisp.org>
22524
22525         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
22526         Needed on AIX 5.1. Reported by Matthew Woehlke.
22527
22528 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
22529
22530         Suggestions by Bruno Haible:
22531         * lib/acl-internal.h: Include "gettext.h" rather than rolling
22532         our own.
22533         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
22534         * modules/acl (Depends-on): Add gettext.
22535
22536 2007-03-19  Bruno Haible  <bruno@clisp.org>
22537
22538         * modules/iconvme: Remove file.
22539         * lib/iconvme.h: Remove file.
22540         * lib/iconvme.c: Remove file.
22541         * m4/iconvme.m4: Remove file.
22542
22543 2007-03-19  Bruno Haible  <bruno@clisp.org>
22544
22545         * doc/relocatable-maint.texi: Break long shell script line.
22546         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
22547
22548 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
22549
22550         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
22551         handle file_has_acl.
22552         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
22553         * lib/acl.c: Move header inclusions and related macro defns into
22554         lib/acl-internal.h.
22555         (S_ISLNK): Remove defn, since that's now done for us.
22556         (file_has_acl): Move to lib/file-has-acl.c.
22557         Call acl_trivial if available.  This is the crucial part of the fix.
22558         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
22559         shared within the library.  Rewrite a bit, partly to make it compatible
22560         with the GNU coding style.
22561         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
22562         Remove unnecessary double-quotes.
22563         Don't test for acl_to_text; the build will catch that.
22564         Replace acl_entries if it doesn't exist and it is needed.
22565         Check for -lsec and acl_trivial (as used on Solaris 10).
22566         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
22567         lib/file-has-acl.c.
22568         (Depends-on): Add sys_stat, for S_ISLNK.
22569
22570 2007-03-19  Ben Pfaff  <blp@gnu.org>
22571
22572         * doc/gnulib.texi: Fix typos.
22573         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
22574
22575 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
22576
22577         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
22578         If size is zero here, buf must be zero.
22579
22580 2007-03-19  Simon Josefsson  <simon@josefsson.org>
22581
22582         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
22583         <bruno@clisp.org>.
22584
22585 2007-03-18  Bruno Haible  <bruno@clisp.org>
22586
22587         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
22588         Suggested by Eric Blake.
22589
22590 2007-03-18  Ben Pfaff  <blp@gnu.org>
22591
22592         * doc/relocatable.texi: Recommend using as prefix a directory
22593         that does not exist and will never be created.  Based on
22594         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
22595         and others.
22596
22597 2007-03-17  Bruno Haible  <bruno@clisp.org>
22598
22599         * lib/fchownat.c: Include lchown.h.
22600
22601 2007-03-17  Bruno Haible  <bruno@clisp.org>
22602
22603         Fix endless loop when the given allocated size was > INT_MAX.
22604         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
22605         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
22606         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
22607         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
22608         * lib/sprintf.c (sprintf): Likewise.
22609
22610 2007-03-17  Bruno Haible  <bruno@clisp.org>
22611
22612         * tests/test-argp-2.sh (func_compare): Output a context diff.
22613
22614 2007-03-17  Bruno Haible  <bruno@clisp.org>
22615
22616         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
22617         locale's decimal-point character.
22618
22619 2007-03-17  Bruno Haible  <bruno@clisp.org>
22620
22621         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
22622         before comparing it. Needed because on some platforms (e.g. x86) a
22623         'long double' occupies less bytes than sizeof (long double).
22624
22625 2007-03-17  Bruno Haible  <bruno@clisp.org>
22626
22627         * tests/test-crc.c (main): Make printf statements 64-bit clean.
22628         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
22629         * tests/test-getaddrinfo.c (simple): Likewise.
22630         * tests/test-read-file.c (main): Likewise.
22631
22632 2007-03-17  Bruno Haible  <bruno@clisp.org>
22633
22634         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
22635
22636 2007-03-17  Bruno Haible  <bruno@clisp.org>
22637
22638         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
22639         unused variable.
22640
22641 2007-03-17  Bruno Haible  <bruno@clisp.org>
22642
22643         * tests/test-c-strcasecmp.c: Include c-strcase.h.
22644         * tests/test-c-strncasecmp.c: Likewise.
22645
22646 2007-03-17  Bruno Haible  <bruno@clisp.org>
22647
22648         * modules/stdlib (Depends-on): Add unistd.
22649         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
22650         Needed for MacOS X 10.3.
22651
22652 2007-03-17  Bruno Haible  <bruno@clisp.org>
22653
22654         * lib/unistr/u-strdup.h: Include <stdlib.h>.
22655
22656 2007-03-17  Bruno Haible  <bruno@clisp.org>
22657
22658         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
22659
22660 2007-03-17  Bruno Haible  <bruno@clisp.org>
22661
22662         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
22663         to reflect files copied from gnulib (with or without modifications).
22664         Suggested by Jim Meyering.
22665
22666 2007-03-17  Eric Blake  <ebb9@byu.net>
22667
22668         * NEWS: Document stdlib change from 2007-02-18.
22669
22670 2007-03-17  Jim Meyering  <jim@meyering.net>
22671
22672         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
22673         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
22674         someone uses a name containing shell meta-characters.
22675         Reported by Alfred M. Szmidt.
22676
22677         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
22678
22679 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
22680
22681         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
22682         and copy gettext configuration files only if configure.ac contains
22683         a use of AM_GNU_GETTEXT_VERSION.
22684
22685 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
22686
22687         * build-aux/bootstrap (gnulib_name): New variable.
22688         (gnulib_tool_options): Use it.
22689
22690 2007-03-13  Simon Josefsson  <simon@josefsson.org>
22691
22692         * tests/test-des.c: Use new namespace.
22693
22694 2007-03-15  Bruno Haible  <bruno@clisp.org>
22695
22696         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
22697         Reported by James Youngman <jay@gnu.org>.
22698
22699 2007-03-15  Bruno Haible  <bruno@clisp.org>
22700
22701         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
22702         declared prototype. Needed with cc on OSF/1 5.1.
22703
22704 2007-03-15  Bruno Haible  <bruno@clisp.org>
22705
22706         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
22707         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
22708         (struct gl_list_implementation): Add dispose_fn argument to the
22709         'create_empty', 'create' methods.
22710         (struct gl_list_impl_base): Add field 'dispose_fn'.
22711         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
22712         argument.
22713         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
22714         dispose_fn argument.
22715         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
22716         dispose_fn on the dropped values.
22717         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
22718         dispose_fn argument.
22719         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
22720         dropped values.
22721         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
22722         (gl_tree_remove_node): Call dispose_fn on the dropped value.
22723         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
22724         (gl_tree_remove_node): Call dispose_fn on the dropped value.
22725         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
22726         argument.
22727         (gl_tree_list_free): Call dispose_fn on the dropped values.
22728         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
22729         the dropped values.
22730         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
22731         Add dispose_fn argument.
22732         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
22733         Call dispose_fn on the dropped values.
22734         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
22735         Add dispose_fn argument.
22736         (gl_sublist_create): Initialize the 'dispose_fn' field.
22737         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
22738         * tests/test-array_list.c (main): Update.
22739         * tests/test-carray_list.c (main): Update.
22740         * tests/test-avltree_list.c (main): Update.
22741         * tests/test-rbtree_list.c (main): Update.
22742         * tests/test-avltreehash_list.c (main): Update.
22743         * tests/test-rbtreehash_list.c (main): Update.
22744         * tests/test-linked_list.c (main): Update.
22745         * tests/test-linkedhash_list.c (main): Update.
22746         * tests/test-array_oset.c (main): Update.
22747
22748 2007-03-15  Bruno Haible  <bruno@clisp.org>
22749
22750         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
22751         (gl_oset_create_empty): Add dispose_fn argument.
22752         (struct gl_oset_implementation): Add dispose_fn argument to
22753         'create_empty' method.
22754         (struct gl_oset_impl_base): Add dispose_fn field.
22755         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
22756         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
22757         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
22758         values.
22759         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
22760         (gl_tree_oset_free): Call dispose_fn on the dropped values.
22761         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
22762         dropped value.
22763         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
22764         dropped value.
22765         * tests/test-array_oset.c (main): Update.
22766         * tests/test-avltree_oset.c (main): Update.
22767         * tests/test-rbtree_oset.c (main): Update.
22768         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
22769
22770 2007-03-13  Bruno Haible  <bruno@clisp.org>
22771
22772         * tests/test-stdbool.c (i): Update after last patch.
22773
22774 2007-03-12  Bruno Haible  <bruno@clisp.org>
22775
22776         * lib/quotearg.c: Include <wctype.h> early, before the definition of
22777         the iswprint macro. Needed on Solaris 2.5.1.
22778
22779 2007-03-12  Bruno Haible  <bruno@clisp.org>
22780
22781         * tests/test-printf-frexp.c (main): Declare x as volatile.
22782
22783 2007-03-12  Simon Josefsson  <simon@josefsson.org>
22784
22785         * doc/gnulib.texi (Build robot for gnulib): New section.
22786
22787 2007-03-12  Jim Meyering  <jim@meyering.net>
22788
22789         * build-aux/bootstrap: New file.
22790         * build-aux/bootstrap.conf: New file, from coreutils.
22791
22792 2007-03-11  Bruno Haible  <bruno@clisp.org>
22793
22794         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
22795
22796 2007-03-12  Simon Josefsson  <simon@josefsson.org>
22797
22798         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
22799         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
22800         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
22801
22802 2007-03-11  Bruno Haible  <bruno@clisp.org>
22803
22804         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
22805         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
22806
22807 2007-03-11  Bruno Haible  <bruno@clisp.org>
22808
22809         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
22810         formula. Needed for SunPRO C 5.0.
22811
22812 2007-03-11  Bruno Haible  <bruno@clisp.org>
22813
22814         * modules/long-options (Depends-on): Add getopt.
22815
22816 2007-03-11  Bruno Haible  <bruno@clisp.org>
22817
22818         * modules/modechange (Depends-on): Add stdbool.
22819
22820 2007-03-11  Bruno Haible  <bruno@clisp.org>
22821
22822         * modules/i-ring (Depends-on): Add stdbool.
22823
22824 2007-03-11  Bruno Haible  <bruno@clisp.org>
22825
22826         * modules/gc-des (Depends-on): Add stdbool.
22827
22828 2007-03-11  Bruno Haible  <bruno@clisp.org>
22829
22830         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
22831
22832 2007-03-11  Bruno Haible  <bruno@clisp.org>
22833
22834         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
22835
22836 2007-03-11  Bruno Haible  <bruno@clisp.org>
22837
22838         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
22839
22840 2007-03-11  Bruno Haible  <bruno@clisp.org>
22841
22842         * lib/vasnprintf.c (sprintf): Undefine.
22843
22844 2007-03-11  Bruno Haible  <bruno@clisp.org>
22845
22846         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
22847         initializers in SunPRO C and Compaq C compilers.
22848
22849 2007-03-11  Bruno Haible  <bruno@clisp.org>
22850
22851         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
22852         decrementing code ANSI C compliant.
22853
22854 2007-03-11  Bruno Haible  <bruno@clisp.org>
22855
22856         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
22857         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
22858
22859 2007-03-11  Bruno Haible  <bruno@clisp.org>
22860
22861         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
22862         <stdbool.h> substitute doesn't pass.
22863
22864 2007-03-11  Bruno Haible  <bruno@clisp.org>
22865
22866         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
22867
22868 2007-03-11  Bruno Haible  <bruno@clisp.org>
22869
22870         * gnulib-tool (func_create_megatestdir): Create also an autobuild
22871         script, for submission to autobuild.josefsson.org.
22872
22873 2007-03-10  Bruno Haible  <bruno@clisp.org>
22874
22875         * modules/canonicalize-lgpl-tests: New file.
22876         * tests/test-canonicalize-lgpl.sh: New file.
22877         * tests/test-canonicalize-lgpl.c: New file.
22878
22879         * modules/c-strcase-tests: New file.
22880         * tests/test-c-strcase.sh: New file.
22881         * tests/test-c-strcasecmp.c: New file.
22882         * tests/test-c-strncasecmp.c: New file.
22883
22884         * modules/atexit-tests: New file.
22885         * tests/test-atexit.sh: New file.
22886         * tests/test-atexit.c: New file.
22887
22888 2007-03-10  Bruno Haible  <bruno@clisp.org>
22889
22890         * tests/test-binary-io.sh: Use temporary filenames that are not so
22891         likely to clash with those of other tests (in a parallel make).
22892         * tests/test-binary-io.c: Likewise.
22893
22894 2007-03-10  Bruno Haible  <bruno@clisp.org>
22895
22896         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
22897         fallback; use #error instead.
22898         Suggested by Simon Josefsson.
22899
22900 2007-03-10  Bruno Haible  <bruno@clisp.org>
22901
22902         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
22903         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
22904         first and the last.
22905
22906 2007-03-10  Bruno Haible  <bruno@clisp.org>
22907
22908         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
22909
22910 2007-03-10  Bruno Haible  <bruno@clisp.org>
22911
22912         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
22913         "make distcheck".
22914         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
22915         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
22916         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
22917
22918 2007-03-10  Bruno Haible  <bruno@clisp.org>
22919
22920         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
22921         variable.
22922         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
22923         variable.
22924
22925 2007-03-09  Eric Blake  <ebb9@byu.net>
22926         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
22927
22928         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
22929         types are not being provided by gnulib.
22930         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
22931         types are supported.
22932
22933 2007-03-10  Bruno Haible  <bruno@clisp.org>
22934
22935         * lib/stdio_.h (__attribute__): New macro.
22936         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
22937         vsprintf): Specify __attribute__ __format__ for GCC.
22938         Suggested by Eric Blake.
22939
22940 2007-03-09  Bruno Haible  <bruno@clisp.org>
22941
22942         * modules/printf-posix-tests: New file.
22943         * tests/test-printf-posix.sh: New file.
22944         * tests/test-printf-posix.c: New file.
22945
22946         * modules/printf-posix: New file.
22947         * lib/printf.c: New file.
22948         * m4/printf-posix-rpl.m4: New file.
22949         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
22950         REPLACE_PRINTF.
22951         * lib/stdio_.h (printf): New declaration.
22952         (format, __format__, ____printf____, ____scanf____, ____strftime____,
22953         ____strfmon____): New macros.
22954         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
22955         REPLACE_PRINTF.
22956
22957 2007-03-09  Bruno Haible  <bruno@clisp.org>
22958
22959         * tests/test-vasnprintf-posix2.sh: New file.
22960         * tests/test-vasnprintf-posix2.c: New file.
22961         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
22962         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
22963         (Makefile.am): Activate test-vasnprintf-posix2.sh.
22964
22965         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
22966         a locale dependent decimal point, rather than always '.'.
22967
22968 2007-03-09  Eric Blake  <ebb9@byu.net>
22969
22970         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
22971         spite of platforms like Tandem/NSK that define it to -1.
22972
22973 2007-03-08  Bruno Haible  <bruno@clisp.org>
22974
22975         * modules/vprintf-posix-tests: New file.
22976         * tests/test-vprintf-posix.sh: New file.
22977         * tests/test-vprintf-posix.c: New file.
22978         * tests/test-printf-posix.h: New file.
22979
22980         * modules/vprintf-posix: New file.
22981         * lib/vprintf.c: New file.
22982         * m4/vprintf-posix.m4: New file.
22983         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
22984         REPLACE_VPRINTF.
22985         * lib/stdio_.h (vprintf): New declaration.
22986         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
22987         REPLACE_VPRINTF.
22988
22989 2007-03-08  Bruno Haible  <bruno@clisp.org>
22990
22991         * modules/fprintf-posix-tests: New file.
22992         * tests/test-fprintf-posix.sh: New file.
22993         * tests/test-fprintf-posix.c: New file.
22994
22995         * modules/fprintf-posix: New file.
22996         * lib/fprintf.c: New file.
22997         * m4/fprintf-posix.m4: New file.
22998         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
22999         REPLACE_FPRINTF.
23000         * lib/stdio_.h (fprintf): New declaration.
23001         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
23002         REPLACE_FPRINTF.
23003
23004 2007-03-08  Bruno Haible  <bruno@clisp.org>
23005
23006         * modules/vfprintf-posix-tests: New file.
23007         * tests/test-vfprintf-posix.sh: New file.
23008         * tests/test-vfprintf-posix.c: New file.
23009         * tests/test-fprintf-posix.h: New file.
23010         * tests/test-fprintf-posix.out: New file.
23011
23012         * modules/vfprintf-posix: New file.
23013         * lib/vfprintf.c: New file.
23014         * m4/vfprintf-posix.m4: New file.
23015         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
23016         REPLACE_VFPRINTF.
23017         * lib/stdio_.h (vfprintf): New declaration.
23018         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
23019         REPLACE_VFPRINTF.
23020
23021 2007-03-08  Bruno Haible  <bruno@clisp.org>
23022
23023         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
23024
23025 2007-03-08  Bruno Haible  <bruno@clisp.org>
23026
23027         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
23028         instead of 'expr' invocations.
23029         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
23030         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
23031         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
23032         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
23033         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
23034         Suggested by Paul Eggert.
23035
23036 2007-03-08  Bruno Haible  <bruno@clisp.org>
23037
23038         * modules/fseterr-tests: New file.
23039         * tests/test-fseterr.c: New file.
23040
23041         * modules/fseterr: New file.
23042         * lib/fseterr.h: New file.
23043         * lib/fseterr.c: New file.
23044
23045 2007-03-08  Bruno Haible  <bruno@clisp.org>
23046
23047         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
23048         * lib/getopt_.h: Likewise.
23049         * lib/mbswidth.h: Likewise.
23050         * lib/setenv.h: Likewise.
23051         * lib/vasnprintf.h: Likewise.
23052         * lib/vasprintf.h: Likewise.
23053         * lib/verror.h: Likewise.
23054         * lib/xsetenv.h: Likewise.
23055         * lib/xvasprintf.h: Likewise.
23056
23057 2007-03-08  Jim Meyering  <jim@meyering.net>
23058
23059         * users.txt: Add parted.
23060
23061         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
23062
23063 2007-03-07  Bruno Haible  <bruno@clisp.org>
23064
23065         * m4/printf.m4: Make the shell script snippets copy&pastable.
23066
23067 2007-03-02  Bruno Haible  <bruno@clisp.org>
23068
23069         * lib/netinet_in_.h: New file.
23070         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
23071         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
23072         * modules/netinet_in (Files): Add lib/netinet_in_.h.
23073         (Depends-on): Add absolute-header.
23074         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
23075         into netinet/in.h.
23076
23077 2007-03-03  Bruno Haible  <bruno@clisp.org>
23078
23079         * lib/sys_select_.h: New file.
23080         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
23081         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
23082         * modules/sys_select (Files): Add lib/sys_select_.h.
23083         (Depends-on): Add absolute-header.
23084         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
23085         into sys/select.h.
23086
23087 2007-03-02  Bruno Haible  <bruno@clisp.org>
23088
23089         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
23090         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
23091         values.
23092         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
23093         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
23094         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
23095         * modules/sys_socket (Depends-on): Add absolute-header.
23096         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
23097         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
23098         (Include): Remove requirement of inclusion of <sys/types.h>.
23099
23100 2007-03-02  Bruno Haible  <bruno@clisp.org>
23101
23102         * lib/byteswap_.h (bswap_32): Fix formula.
23103
23104 2007-03-06  Bruno Haible  <bruno@clisp.org>
23105
23106         * modules/sprintf-posix-tests: New file.
23107         * tests/test-sprintf-posix.c: New file.
23108
23109         * modules/sprintf-posix: New file.
23110         * lib/sprintf.c: New file.
23111         * m4/sprintf-posix.m4: New file.
23112         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
23113         REPLACE_SPRINTF.
23114         * lib/stdio_.h (sprintf): New declaration.
23115         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
23116         REPLACE_SPRINTF.
23117
23118 2007-03-06  Bruno Haible  <bruno@clisp.org>
23119
23120         * modules/vsprintf-posix-tests: New file.
23121         * tests/test-vsprintf-posix.c: New file.
23122         * tests/test-sprintf-posix.h: New file.
23123
23124         * modules/vsprintf-posix: New file.
23125         * lib/vsprintf.c: New file.
23126         * m4/vsprintf-posix.m4: New file.
23127         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
23128         REPLACE_VSPRINTF.
23129         * lib/stdio_.h (vsprintf): New declaration.
23130         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
23131         REPLACE_VSPRINTF.
23132
23133 2007-03-06  Bruno Haible  <bruno@clisp.org>
23134
23135         * modules/vsnprintf (Depend-on): Remove minmax.
23136
23137 2007-03-06  Bruno Haible  <bruno@clisp.org>
23138
23139         * modules/snprintf-posix-tests: New file.
23140         * tests/test-snprintf-posix.c: New file.
23141
23142         * modules/snprintf-posix: New file.
23143         * m4/snprintf-posix.m4: New file.
23144         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
23145         gl_FUNC_SNPRINTF.
23146         (gl_FUNC_SNPRINTF): Invoke it.
23147         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
23148         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
23149         is set.
23150         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
23151
23152 2007-03-06  Bruno Haible  <bruno@clisp.org>
23153
23154         * modules/vsnprintf-posix-tests: New file.
23155         * tests/test-vsnprintf-posix.c: New file.
23156         * tests/test-snprintf-posix.h: New file.
23157
23158         * modules/vsnprintf-posix: New file.
23159         * m4/vsnprintf-posix.m4: New file.
23160         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
23161         gl_FUNC_VSNPRINTF.
23162         (gl_FUNC_VSNPRINTF): Invoke it.
23163         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
23164         * lib/stdio_.h (vsnprintf): Define as a replacement if
23165         REPLACE_VSNPRINTF is set.
23166         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
23167
23168 2007-03-06  Bruno Haible  <bruno@clisp.org>
23169
23170         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
23171         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
23172
23173 2007-03-06  Bruno Haible  <bruno@clisp.org>
23174
23175         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
23176         (asinl): Declare also if HAVE_DECL_ASINL is set.
23177         (atanl): Declare also if HAVE_DECL_ATANL is set.
23178         (ceill): Declare also if HAVE_DECL_CEILL is set.
23179         (cosl): Declare also if HAVE_DECL_COSL is set.
23180         (expl): Declare also if HAVE_DECL_EXPL is set.
23181         (floorl): Declare also if HAVE_DECL_FLOORL is set.
23182         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
23183         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
23184         (logl): Declare also if HAVE_DECL_LOGL is set.
23185         (sinl): Declare also if HAVE_DECL_SINL is set.
23186         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
23187         (tanl): Declare also if HAVE_DECL_TANL is set.
23188         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
23189         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
23190         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
23191         declaration of frexpl, ldexpl.
23192         * modules/printf-frexpl (Depends-on): Add math.
23193         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
23194
23195 2007-03-05  Bruno Haible  <bruno@clisp.org>
23196
23197         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
23198         frexpl and ldexpl are declared.
23199         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
23200
23201 2007-03-05  Bruno Haible  <bruno@clisp.org>
23202
23203         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
23204         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
23205
23206 2007-03-05  Bruno Haible  <bruno@clisp.org>
23207
23208         * lib/stdio_.h: Include <stddef.h>.
23209
23210 2007-03-05  Bruno Haible  <bruno@clisp.org>
23211
23212         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
23213
23214 2007-03-05  Bruno Haible  <bruno@clisp.org>
23215
23216         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
23217         NetBSD 4, from Ralf Wildenhues.
23218
23219 2007-03-04  Bruno Haible  <bruno@clisp.org>
23220
23221         * lib/vasprintf.h: Update #if logic for the case when the functions
23222         exist but are overridden.
23223
23224 2007-03-04  Bruno Haible  <bruno@clisp.org>
23225
23226         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
23227         implementations: glibc-2.4 and MacOS X 10.3.
23228         * tests/test-vasnprintf-posix.c (test_function): Test also the case
23229         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
23230         * tests/test-vasprintf-posix.c (test_function): Likewise.
23231
23232 2007-03-04  Bruno Haible  <bruno@clisp.org>
23233
23234         * modules/vasprintf-posix-tests: New file.
23235         * tests/test-vasprintf-posix.c: New file.
23236
23237         * modules/vasprintf-posix: New file.
23238         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
23239         defined.
23240         * m4/vasprintf-posix.m4: New file.
23241         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
23242         gl_FUNC_VASPRINTF.
23243         (gl_FUNC_VASPRINTF): Invoke it.
23244         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
23245         here.
23246         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
23247
23248 2007-03-04  Bruno Haible  <bruno@clisp.org>
23249
23250         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
23251         REPLACE_GETTIMEOFDAY.
23252         * modules/sys_time (Makefile.am): Likewise.
23253         * m4/sys_time_h.m4: Likewise.
23254         * m4/gettimeofday.m4: Likewise.
23255
23256 2007-03-04  Bruno Haible  <bruno@clisp.org>
23257
23258         * modules/vasnprintf-posix-tests: New file.
23259         * tests/test-vasnprintf-posix.c: New file.
23260
23261         * modules/vasnprintf-posix: New file.
23262         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
23263         printf-frexpl.h.
23264         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
23265         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
23266         REPLACE_VASNPRINTF is defined.
23267         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
23268         gl_FUNC_VASNPRINTF.
23269         (gl_FUNC_VASNPRINTF): Invoke it.
23270         * m4/vasnprintf-posix.m4: New file.
23271         * m4/printf.m4: New file.
23272
23273 2007-03-04  Bruno Haible  <bruno@clisp.org>
23274
23275         Compile progreloc.c only if --enable-relocatable is specified.
23276         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
23277         if --enable-relocatable was specified.
23278         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
23279         lib_SOURCES.
23280
23281 2007-03-04  Jim Meyering  <jim@meyering.net>
23282
23283         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
23284         Use it consistently, rather than enumerating errno constants.
23285
23286 2007-03-04  Bruno Haible  <bruno@clisp.org>
23287
23288         * modules/xvasprintf-tests: New file.
23289         * tests/test-xvasprintf.c: New file.
23290
23291         * modules/vasprintf-tests: New file.
23292         * tests/test-vasprintf.c: New file.
23293
23294         * modules/vasnprintf-tests: New file.
23295         * tests/test-vasnprintf.c: New file.
23296
23297         * modules/vsnprintf-tests: New file.
23298         * tests/test-vsnprintf.c: New file.
23299
23300         * modules/snprintf-tests: New file.
23301         * tests/test-snprintf.c: New file.
23302
23303 2007-03-04  Bruno Haible  <bruno@clisp.org>
23304
23305         Compile relocatable.c only if --enable-relocatable is specified.
23306         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
23307         gl_RELOCATABLE_LIBRARY.
23308         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
23309         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
23310         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
23311         gl_RELOCATABLE_LIBRARY.
23312         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
23313         (Makefile.am): Remove lib_SOURCES.
23314         * modules/relocatable-lib-lgpl (configure.ac): Invoke
23315         gl_RELOCATABLE_LIBRARY.
23316         (Makefile.am): Remove lib_SOURCES.
23317         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
23318         always.
23319         * modules/relocatable-prog-wrapper (configure.ac): Invoke
23320         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
23321
23322 2007-03-04  Bruno Haible  <bruno@clisp.org>
23323
23324         * modules/argmatch-tests: New file.
23325         * tests/test-argmatch.c: New file.
23326
23327         * tests/test-allocsa.c (main): Halve the number of loop runs.
23328
23329         * modules/alloca-opt-tests: New file.
23330         * tests/test-alloca-opt.c: New file.
23331
23332 2007-03-04  Jim Meyering  <jim@meyering.net>
23333
23334         Work around difference between Linux ACLs and Solaris 10 ZFS.
23335         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
23336         for EINVAL.
23337
23338 2007-03-03  Bruno Haible  <bruno@clisp.org>
23339
23340         * modules/relocatable-prog (Depends-on): Add back progreloc's
23341         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
23342
23343 2007-03-03  Bruno Haible  <bruno@clisp.org>
23344
23345         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
23346         * modules/relocatable-lib: New file.
23347
23348 2007-03-03  Bruno Haible  <bruno@clisp.org>
23349
23350         * modules/relocatable-prog: Renamed from modules/relocatable.
23351         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
23352
23353 2007-03-03  Bruno Haible  <bruno@clisp.org>
23354
23355         * modules/relocatable-script (Files): Add doc/relocatable.texi,
23356         m4/relocatable-lib.m4.
23357         (Depends-on): Remove 'relocatable'.
23358         (configure.ac): Add gl_RELOCATABLE_NOP.
23359
23360 2007-03-03  Bruno Haible  <bruno@clisp.org>
23361
23362         * modules/relocatable-prog-wrapper: New file.
23363         * modules/relocatable (Depends-on): Add it. Remove all other
23364         dependencies except progname.
23365         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
23366
23367         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
23368         (gl_FUNC_STRERROR): Nop.
23369         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
23370
23371         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
23372         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
23373
23374         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
23375         (gl_FUNC_READLINK): Update.
23376
23377         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
23378
23379 2007-03-03  Bruno Haible  <bruno@clisp.org>
23380
23381         * lib/xreadlink.c: Include <unistd.h> unconditionally.
23382         * modules/xreadlink (Depends-on): Add unistd.
23383         * modules/xreadlink-with-size (Depends-on): Likewise.
23384
23385 2007-03-03  Bruno Haible  <bruno@clisp.org>
23386
23387         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
23388         extracted from gt_FUNC_SETENV.
23389         (gt_FUNC_SETENV): Remove macro.
23390         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
23391         remove gt_FUNC_SETENV.
23392
23393 2007-03-03  Bruno Haible  <bruno@clisp.org>
23394
23395         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
23396         ENABLE_RELOCATABLE here.
23397         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
23398
23399 2007-03-03  Bruno Haible  <bruno@clisp.org>
23400
23401         * modules/rbtreehash-list-tests (Depends-on): Add progname.
23402         * tests/test-rbtreehash_list.c: Include progname.h.
23403         (main): Call set_program_name.
23404
23405         * modules/rbtree-oset-tests (Depends-on): Add progname.
23406         * tests/test-rbtree_oset.c: Include progname.h.
23407         (main): Call set_program_name.
23408
23409         * modules/rbtree-list-tests (Depends-on): Add progname.
23410         * tests/test-rbtree_list.c: Include progname.h.
23411         (main): Call set_program_name.
23412
23413         * modules/linked-list-tests (Depends-on): Add progname.
23414         * tests/test-linked_list.c: Include progname.h.
23415         (main): Call set_program_name.
23416
23417 2007-03-03  Bruno Haible  <bruno@clisp.org>
23418
23419         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
23420         All uses of __restrict changed to _Restrict_.
23421         * lib/glob_.h (__restrict): Remove macro.
23422
23423 2007-03-02  Bruno Haible  <bruno@clisp.org>
23424
23425         * modules/gettext (configure.ac): Require gettext infrastructure
23426         from version 0.16.1.
23427
23428 2007-03-02  Bruno Haible  <bruno@clisp.org>
23429
23430         * modules/linkedhash-list-tests (Depends-on): Add progname.
23431         * tests/test-linkedhash_list.c: Include progname.h.
23432         (main): Call set_program_name.
23433
23434         * modules/carray-list-tests (Depends-on): Add progname.
23435         * tests/test-carray_list.c: Include progname.h.
23436         (main): Call set_program_name.
23437
23438         * modules/avltreehash-list-tests (Depends-on): Add progname.
23439         * tests/test-avltreehash_list.c: Include progname.h.
23440         (main): Call set_program_name.
23441
23442         * modules/avltree-oset-tests (Depends-on): Add progname.
23443         * tests/test-avltree_oset.c: Include progname.h.
23444         (main): Call set_program_name.
23445
23446         * modules/avltree-list-tests (Depends-on): Add progname.
23447         * tests/test-avltree_list.c: Include progname.h.
23448         (main): Call set_program_name.
23449
23450         * modules/array-oset-tests (Depends-on): Add progname.
23451         * tests/test-array_oset.c: Include progname.h.
23452         (main): Call set_program_name.
23453
23454         * modules/array-list-tests (Depends-on): Add progname.
23455         * tests/test-array_list.c: Include progname.h.
23456         (main): Call set_program_name.
23457
23458         * modules/argp-tests (Depends-on): Add progname.
23459         * tests/test-argp.c: Include argp.h first. Include progname.h.
23460         (main): Call set_program_name.
23461
23462 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
23463
23464         * doc/gnulib-tool.texi (Initial import): Reword description of
23465         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
23466         limited effect even if defined after the first system include.
23467
23468 2007-03-01  Bruno Haible  <bruno@clisp.org>
23469
23470         * build-aux/config.libpath: Update to libtool-1.5.22.
23471         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23472
23473 2007-03-01  Bruno Haible  <bruno@clisp.org>
23474
23475         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
23476         foo_CFLAGS.
23477         Reported by Ralf Wildenhues.
23478
23479 2007-03-01  Bruno Haible  <bruno@clisp.org>
23480
23481         * build-aux/install-reloc: Remove object files left over by some
23482         compilers.
23483         Reported by Ralf Wildenhues.
23484
23485 2007-03-01  Bruno Haible  <bruno@clisp.org>
23486
23487         * build-aux/install-reloc: Break long lines.
23488
23489 2007-03-01  Bruno Haible  <bruno@clisp.org>
23490
23491         * doc/relocatable.texi: Document that it may not work on OpenBSD.
23492         Reported by Ralf Wildenhues.
23493
23494 2007-03-01  Bruno Haible  <bruno@clisp.org>
23495
23496         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
23497         include ordering constraints.
23498
23499 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
23500
23501         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
23502         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
23503         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
23504         as another example.
23505         * lib/time_.h: Fix misspelling.
23506         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
23507         Require gl_HEADER_TIME_H_DEFAULTS.
23508         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
23509         * m4/time_r.m4 (gl_TIME_R): Likewise.
23510         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
23511
23512 2007-03-01  Bruno Haible  <bruno@clisp.org>
23513
23514         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
23515         * m4/utimens.m4 (gl_UTIMENS): Likewise.
23516
23517 2007-03-01  Jim Meyering  <jim@meyering.net>
23518
23519         * modules/xreadlink (Maintainer): Add my name.
23520         * modules/xreadlink-with-size (Depends-on): Alphabetize.
23521
23522 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
23523             Bruno Haible  <bruno@clisp.org>
23524
23525         * build-aux/install-reloc: Compile also c-ctype.c.
23526         * build-aux/relocatable.sh.in: New file.
23527         * doc/relocatable.texi: New file.
23528         * doc/relocatable-maint.texi: New file.
23529         * doc/gnulib.texi: Include relocatable-maint.texi.
23530         * lib/progreloc.c: Include unistd.h unconditionally.
23531         * lib/relocwrapper.c: Include unistd.h unconditionally.
23532         Include c-ctype.h.
23533         (add_dotbin): Use c_tolower.
23534         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
23535         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
23536         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
23537         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
23538         to m4/relocatable-lib.m4.
23539         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
23540         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
23541         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
23542         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
23543         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
23544         * modules/relocatable: New file.
23545         * modules/relocatable-lib: New file.
23546         * modules/relocatable-script: New file.
23547
23548 2007-02-28  Bruno Haible  <bruno@clisp.org>
23549
23550         Import --enable-relocatable infrastructure.
23551         * build-aux/config.libpath: New file, from GNU gettext.
23552         * build-aux/install-reloc: New file, from GNU gettext.
23553         * build-aux/reloc-ldflags: New file, from GNU gettext.
23554         * lib/relocatable.h: New file, from GNU gettext.
23555         * lib/relocatable.c: New file, from GNU gettext.
23556         * lib/relocwrapper.c: New file, from GNU gettext.
23557         * m4/relocatable.m4: New file, from GNU gettext.
23558
23559 2007-02-28  Bruno Haible  <bruno@clisp.org>
23560
23561         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
23562
23563         * modules/xreadlink: New file, from GNU gettext with modifications.
23564         * lib/xreadlink.c: New file, from GNU gettext.
23565         * lib/xreadlink.h: Add comments.
23566         (xreadlink): New declaration.
23567
23568         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
23569         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
23570         lib/xreadlink-with-size.c.
23571         (configure.ac): Remove gl_XREADLINK invocation.
23572         (Makefile.am): Augment lib_SOURCES.
23573         * m4/xreadlink.m4: Remove file.
23574         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
23575         (xreadlink_with_size): Renamed from xreadink.
23576         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
23577         * modules/canonicalize (Depends-on): Replace xreadlink with
23578         xreadlink-with-size.
23579         * lib/canonicalize.c (canonicalize_filename_mode): Update.
23580
23581 2007-02-25  Jim Meyering  <jim@meyering.net>
23582
23583         * build-aux/announce-gen: When complaining about excess arguments,
23584         list them.
23585
23586 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
23587
23588         * README: Document signed integer overflow situation more
23589         accurately.
23590
23591 2007-02-25  Bruno Haible  <bruno@clisp.org>
23592
23593         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
23594         'a' or 'A' conversion.
23595
23596 2007-02-25  Bruno Haible  <bruno@clisp.org>
23597
23598         * modules/filename: Renamed from modules/pathname.
23599         (Files): Replace lib/pathname.h with lib/filename.h. Replace
23600         lib/concatpath.c with lib/concat-filename.c.
23601         (Makefile.am): Update.
23602         (Include): Replace pathname.h with filename.h.
23603         * lib/filename.h: Renamed from lib/pathname.h.
23604         (concatenated_filename): Renamed from concatenated_pathname.
23605         * lib/concat-filename.c: Renamed from lib/concatpath.c.
23606         (concatenated_filename): Renamed from concatenated_pathname.
23607         * lib/findprog.c: Include filename.h instead of pathname.h.
23608         (find_in_path): Update.
23609         * lib/javacomp.c: Include filename.h instead of pathname.h.
23610         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
23611         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
23612         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
23613         is_oldgcj_14_13_usable, is_javac_usable): Update.
23614         * lib/javaexec.c: Include filename.h instead of pathname.h.
23615         (execute_java_class): Update.
23616         * modules/findprog: Update.
23617         * modules/javacomp: Update.
23618         * modules/javaexec: Update.
23619         * MODULES.html.sh (File system functions): Add 'filename', remove
23620         'pathname'.
23621
23622 2007-02-25  Bruno Haible  <bruno@clisp.org>
23623
23624         * modules/printf-frexpl-tests: New file.
23625         * tests/test-printf-frexpl.c: New file.
23626
23627         * modules/printf-frexpl: New file.
23628         * lib/printf-frexpl.h: New file.
23629         * lib/printf-frexpl.c: New file.
23630         * m4/printf-frexpl.m4: New file.
23631
23632 2007-02-25  Bruno Haible  <bruno@clisp.org>
23633
23634         * modules/printf-frexp-tests: New file.
23635         * tests/test-printf-frexp.c: New file.
23636
23637         * modules/printf-frexp: New file.
23638         * lib/printf-frexp.h: New file.
23639         * lib/printf-frexp.c: New file.
23640         * m4/printf-frexp.m4: New file.
23641
23642 2007-02-25  Bruno Haible  <bruno@clisp.org>
23643
23644         Assume automake >= 1.10 for the tests.
23645         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
23646         * modules/arctwo-tests: Likewise.
23647         * modules/argp-tests: Likewise.
23648         * modules/avltree-list-tests: Likewise.
23649         * modules/avltree-oset-tests: Likewise.
23650         * modules/avltreehash-list-tests: Likewise.
23651         * modules/carray-list-tests: Likewise.
23652         * modules/crc-tests: Likewise.
23653         * modules/des-tests: Likewise.
23654         * modules/gc-arcfour-tests: Likewise.
23655         * modules/gc-arctwo-tests: Likewise.
23656         * modules/gc-des-tests: Likewise.
23657         * modules/gc-hmac-md5-tests: Likewise.
23658         * modules/gc-hmac-sha1-tests: Likewise.
23659         * modules/gc-md2-tests: Likewise.
23660         * modules/gc-md4-tests: Likewise.
23661         * modules/gc-md5-tests: Likewise.
23662         * modules/gc-pbkdf2-sha1-tests: Likewise.
23663         * modules/gc-rijndael-tests: Likewise.
23664         * modules/gc-sha1-tests: Likewise.
23665         * modules/gc-tests: Likewise.
23666         * modules/getaddrinfo-tests: Likewise.
23667         * modules/hmac-md5-tests: Likewise.
23668         * modules/hmac-sha1-tests: Likewise.
23669         * modules/linked-list-tests: Likewise.
23670         * modules/linkedhash-list-tests: Likewise.
23671         * modules/lock-tests: Likewise.
23672         * modules/md2-tests: Likewise.
23673         * modules/md4-tests: Likewise.
23674         * modules/md5-tests: Likewise.
23675         * modules/rbtree-list-tests: Likewise.
23676         * modules/rbtree-oset-tests: Likewise.
23677         * modules/rbtreehash-list-tests: Likewise.
23678         * modules/read-file-tests: Likewise.
23679         * modules/rijndael-tests: Likewise.
23680         * modules/stdint-tests: Likewise.
23681         * modules/tls-tests: Likewise.
23682
23683 2007-02-24  Bruno Haible  <bruno@clisp.org>
23684
23685         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
23686         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
23687         function; instead check whether isnan with a double argument links.
23688         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
23689         function; instead check whether isnan with a 'long double' argument
23690         links.
23691         Reported by Eric Blake <ebb9@byu.net>.
23692
23693 2007-02-24  Bruno Haible  <bruno@clisp.org>
23694
23695         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
23696         defined.
23697         * lib/isnanl.c: Remove all code. Just include isnan.c.
23698         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
23699
23700 2007-02-25  Jim Meyering  <jim@meyering.net>
23701
23702         Avoid conflicting types for 'unsetenv' on FreeBSD.
23703         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
23704         conflicting with FreeBSD's (5.0 and 6.1) function declaration
23705         in stdlib.h.
23706
23707 2007-02-24  Bruno Haible  <bruno@clisp.org>
23708
23709         * modules/isnanl-nolibm-tests: New file.
23710         * tests/test-isnanl.c: New file.
23711
23712         * modules/isnanl-nolibm: New file.
23713         * lib/isnanl.h: New file.
23714         * lib/isnanl.c: New file.
23715         * m4/isnanl.m4: New file.
23716
23717 2007-02-24  Bruno Haible  <bruno@clisp.org>
23718
23719         * modules/isnan-nolibm-tests: New file.
23720         * tests/test-isnan.c: New file.
23721
23722         * modules/isnan-nolibm: New file.
23723         * lib/isnan.h: New file.
23724         * lib/isnan.c: New file.
23725         * m4/isnan.m4: New file.
23726
23727 2007-02-24  Bruno Haible  <bruno@clisp.org>
23728
23729         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
23730         assume that an exponent fits in 20 bits.
23731
23732 2007-02-24  Jim Meyering  <jim@meyering.net>
23733
23734         * m4/regex.m4: Update the description of the configure-time option,
23735         --without-included-regex, to state accurately what the defaults are,
23736         and perhaps to give people an idea why using this option is risky.
23737
23738 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
23739
23740         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
23741         loops on small arguments.  This attempts to avoid the problem
23742         Bruno Haible reported for AIX 4.3.2 in
23743         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
23744
23745 2007-02-23  Bruno Haible  <bruno@clisp.org>
23746
23747         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
23748         Needed for help2man.
23749
23750 2007-02-23  Karl Berry  <karl@gnu.org>
23751
23752         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
23753         exists, foo.h should be cvs-ignored, not committed.
23754
23755 2007-02-23  Eric Blake  <ebb9@byu.net>
23756
23757         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
23758         * lib/stat-time.h (includes): Likewise.
23759         * lib/utimecmp.c (includes): Likewise.
23760         * lib/utimens.h (includes): Likewise.
23761         * lib/getdate.y (includes): Also include "timespec.h" for use
23762         internal to the module.
23763         * modules/utimens (Depends-on): Revert yesterday's patch.
23764         * modules/nanosleep (Depends-on): Add missing dependency.
23765
23766 2007-02-22  Bruno Haible  <bruno@clisp.org>
23767
23768         * lib/glob.c: Don't include getlogin_r.h.
23769
23770 2007-02-22  Jim Meyering  <jim@meyering.net>
23771
23772         * modules/utimens (Depends-on): Add timespec, required for
23773         utimens.h's inclusion of timespec.h.
23774
23775 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
23776
23777         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
23778         long unreadable paths in GNU/Linux.  Problem reported by Andreas
23779         Schwab in
23780         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
23781         I'll try to think of a better way to fix the Solaris problem.
23782
23783         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
23784         like glibc; on Solaris 10, it fails with errno == EINVAL.
23785         POSIX says the behavior is unspecified if the first argument is NULL,
23786         so play it safe and never pass NULL to the system getcwd.
23787
23788 2007-02-21  Jim Meyering  <jim@meyering.net>
23789
23790         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
23791         of gettimeofday.  It would conflict with the one now always
23792         provided via sys_time_.h.  Reported by Matthew Woehlke, as
23793         an IRIX 6.5 build failure.
23794
23795 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
23796
23797         Minor fixups to port to Solaris 10 with Sun C 5.8.
23798         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
23799         * modules/getcwd (Depends-on): Add dirfd.
23800         * lib/putenv.c (putenv): #undef it.
23801         (rpl_putenv): New decl.
23802         (malloc, free): Include <stdlib.h> rather than prototyping separately.
23803
23804 2007-02-20  Bruno Haible  <bruno@clisp.org>
23805
23806         * modules/stdio-tests: New file.
23807         * tests/test-stdio.c: New file.
23808
23809         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
23810         (Depends-on): Add stdio.
23811         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
23812         (Include): Use <stdio.h> instead of vsnprintf.h.
23813         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
23814         HAVE_DECL_VSNPRINTF.
23815         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
23816
23817         * modules/snprintf (Files): Remove lib/snprintf.h.
23818         (Depends-on): Add stdio.
23819         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
23820         (Include): Use <stdio.h> instead of snprintf.h.
23821         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
23822         HAVE_DECL_SNPRINTF.
23823         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
23824         * lib/getaddrinfo.c: Likewise.
23825
23826         * modules/stdio: New file.
23827         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
23828         * lib/snprintf.h: Remove file.
23829         * lib/vsnprintf.h: Remove file.
23830         * lib/.cppi-disable: Remove snprintf.h.
23831         * m4/stdio_h.m4: New file.
23832         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
23833
23834 2007-02-20  Jim Meyering  <jim@meyering.net>
23835
23836         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
23837         used by e.g., mingw.  From Bruno Haible.
23838
23839 2007-02-19  Bruno Haible  <bruno@clisp.org>
23840
23841         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
23842         warnings.
23843         Reported by Ben Pfaff <blp@cs.stanford.edu>.
23844
23845 2007-02-19  Bruno Haible  <bruno@clisp.org>
23846
23847         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
23848         from mingw users.
23849
23850 2007-02-19  Bruno Haible  <bruno@clisp.org>
23851
23852         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
23853         warnings.
23854         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
23855
23856 2007-02-19  Jim Meyering  <jim@meyering.net>
23857
23858         Don't use FD after a successful "fdopendir (fd)".
23859         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
23860         Reset it by calling dirfd on the just-obtained DIR*.
23861
23862         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
23863         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
23864
23865 2007-02-18  Bruno Haible  <bruno@clisp.org>
23866
23867         * lib/readlink.c: Include <unistd.h>.
23868         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
23869         HAVE_READLINK.
23870         * modules/readlink (Depends-on): Add unistd.
23871         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23872         (Include): Add <unistd.h>.
23873
23874         * lib/getlogin_r.h: Remove file.
23875         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
23876         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
23877         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
23878         HAVE_DECL_GETLOGIN_R.
23879         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
23880         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23881         (Include): Use <unistd.h> instead of getlogin_r.h.
23882
23883         * lib/getcwd.h: Remove file.
23884         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
23885         * lib/xgetcwd.c: Likewise.
23886         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
23887         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
23888         * modules/getcwd (Files): Remove lib/getcwd.h.
23889         (Depends-on): Add unistd.
23890         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23891         (Include): Use <unistd.h> instad of getcwd.h.
23892
23893         * lib/ftruncate.c: Include <unistd.h> first.
23894         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
23895         Set HAVE_FTRUNCATE.
23896         * modules/ftruncate (Depends-on): Add unistd.
23897         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23898
23899         * lib/fchdir.c: Include <unistd.h> first.
23900         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
23901         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
23902         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
23903         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23904         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
23905
23906         * lib/dup2.c: Include <unistd.h> first.
23907         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
23908         HAVE_DUP2.
23909         * modules/dup2 (Depends-on): Add unistd.
23910         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23911
23912         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
23913         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
23914         REPLACE_CHOWN. Don't define chown as a macro here.
23915         * modules/chown (Depends-on): Add unistd.
23916         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23917
23918         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
23919         Add definition for GL_LINK_WARNING.
23920         (chown, dup2): New declarations.
23921         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
23922         link warning.
23923         (ftruncate): New declaration.
23924         (getcwd): New declaration, taken from old getcwd.h.
23925         (getlogin_r): New declaration, taken from old getlogin_r.h.
23926         (readlink): New declaration.
23927         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
23928         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
23929         (gl_PREREQ_UNISTD): Remove macro.
23930         (gl_UNISTD_MODULE_INDICATOR): New macro.
23931         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
23932         many new variables. Don't set UNISTD_H.
23933         * modules/unistd (Description): Change.
23934         (Depends-on): Add link-warning.
23935         (configure.ac): Update.
23936         (Makefile.am): Create unistd.h always. Substitute many new variables
23937         into it.
23938
23939 2007-02-18  Bruno Haible  <bruno@clisp.org>
23940
23941         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
23942         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
23943         HAVE_GETSUBOPT.
23944         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
23945         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
23946         * lib/getsubopt.h: Remove file.
23947         * modules/getsubopt (Files): Remove lib/getsubopt.h.
23948         (Depends-on): Add stdlib.
23949         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
23950         (Includes): Use <stdlib.h> instead of getsubopt.h.
23951         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
23952         Set HAVE_GETSUBOPT.
23953         * lib/getsubopt.c: Don't include getsubopt.h.
23954
23955 2007-02-18  Bruno Haible  <bruno@clisp.org>
23956
23957         * modules/fchdir (Depends-on): Add dup2.
23958
23959 2007-02-18  Bruno Haible  <bruno@clisp.org>
23960
23961         * lib/stdlib_.h: Handle glibc's special invocation convention
23962         specially.
23963
23964 2007-02-18  Bruno Haible  <bruno@clisp.org>
23965
23966         * modules/stdlib-tests: New file.
23967         * tests/test-stdlib.c: New file.
23968
23969         * modules/mkstemp (Files): Remove lib/mkstemp.h.
23970         (Depends-on): Add stdlib.
23971         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
23972         (Includes): Use <stdlib.h> instead of mkstemp.h.
23973         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
23974         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
23975         * lib/mkstemp.c: Don't include mkstemp.h.
23976         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
23977         * lib/stdlib--.h: Don't include mkstemp.h.
23978
23979         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
23980         (Depends-on): Add stdlib.
23981         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
23982         (Includes): Use <stdlib.h> instead of mkdtemp.h.
23983         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
23984         HAVE_MKDTEMP.
23985         * lib/mkdtemp.c: Don't include mkdtemp.h.
23986         * lib/clean-temp.c: Don't include mkdtemp.h.
23987
23988         * modules/exit (Files): Remove lib/exit.h.
23989         (Depends-on): Add stdlib.
23990         (Makefile.am): Remove lib_SOURCES.
23991         (Include): Use <stdlib.h> instead of exit.h.
23992         * lib/argmatch.c: Don't include exit.h.
23993         * lib/execute.c: Likewise.
23994         * lib/pagealign_alloc.c: Likewise.
23995         * lib/pipe.c: Likewise.
23996         * lib/wait-process.c: Likewise.
23997         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
23998         * lib/exitfail.c: Likewise.
23999         * lib/savewd.c: Likewise.
24000         * lib/xsetenv.c: Likewise.
24001
24002         * modules/stdlib: New file.
24003         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
24004         and extra comments about mkstemp().
24005         * lib/exit.h: Remove file.
24006         * lib/mkdtemp.h: Remove file.
24007         * lib/mkstemp.h: Remove file.
24008         * m4/stdlib_h.m4: New file.
24009         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
24010
24011 2007-02-18  Bruno Haible  <bruno@clisp.org>
24012
24013         * modules/math-tests: New file.
24014         * tests/test-math.c: New file.
24015
24016         * modules/math: New file.
24017         * modules/mathl (Files): Remove lib/mathl.h.
24018         (Depends-on): Add math.
24019         (Makefile.am): Don't mention mathl.h.
24020         (Include): Use <math.h> instead of mathl.h.
24021         * lib/math_.h: New file.
24022         * lib/mathl.h: Remove file.
24023         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
24024         mathl.h.
24025         * lib/asinl.c: Likewise.
24026         * lib/atanl.c: Likewise.
24027         * lib/ceill.c: Likewise.
24028         * lib/cosl.c: Likewise.
24029         * lib/expl.c: Likewise.
24030         * lib/floorl.c: Likewise.
24031         * lib/frexpl.c: Likewise.
24032         * lib/ldexpl.c: Likewise.
24033         * lib/logl.c: Likewise.
24034         * lib/sincosl.c: Likewise.
24035         * lib/sinl.c: Likewise.
24036         * lib/sqrtl.c: Likewise.
24037         * lib/tanl.c: Likewise.
24038         * lib/trigl.c: Likewise.
24039         * m4/math_h.m4: New file.
24040         * MODULES.html.sh (Mathematics): Add math.
24041
24042 2007-02-17  Bruno Haible  <bruno@clisp.org>
24043
24044         * modules/wctype-tests: New file.
24045         * tests/test-wctype.c: New file.
24046
24047         * modules/wchar-tests: New file.
24048         * tests/test-wchar.c: New file.
24049
24050         * modules/unistd-tests: New file.
24051         * tests/test-unistd.c: New file.
24052
24053         * modules/time-tests: New file.
24054         * tests/test-time.c: New file.
24055
24056         * modules/sysexits-tests: New file.
24057         * tests/test-sysexits.c: New file.
24058
24059         * modules/sys_time-tests: New file.
24060         * tests/test-sys_time.c: New file.
24061
24062         * modules/sys_stat-tests: New file.
24063         * tests/test-sys_stat.c: New file.
24064
24065         * modules/sys_socket-tests: New file.
24066         * tests/test-sys_socket.c: New file.
24067
24068         * modules/sys_select-tests: New file.
24069         * tests/test-sys_select.c: New file.
24070
24071         * modules/string-tests: New file.
24072         * tests/test-string.c: New file.
24073
24074         * modules/stdbool-tests: New file.
24075         * tests/test-stdbool.c: New file.
24076
24077         * modules/netinet_in-tests: New file.
24078         * tests/test-netinet_in.c: New file.
24079
24080         * modules/inttypes-tests: New file.
24081         * tests/test-inttypes.c: New file.
24082
24083         * modules/fcntl-tests: New file.
24084         * tests/test-fcntl.c: New file.
24085
24086         * modules/byteswap-tests: New file.
24087         * tests/test-byteswap.c: New file.
24088
24089         * modules/arpa_inet-tests: New file.
24090         * tests/test-arpa_inet.c: New file.
24091
24092 2007-02-17  Bruno Haible  <bruno@clisp.org>
24093
24094         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
24095         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
24096         if the corresponding module is not enabled. Emit link warnings if
24097         the function is used nevertheless.
24098         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
24099         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
24100         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
24101         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
24102         * modules/inttypes (Depends-on): Add link-warning.
24103         (Makefile.am): Copy the contents of build-aux/link-warning.h into
24104         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
24105         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
24106         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
24107         * modules/imaxdiv (configure.ac): Likewise.
24108         * modules/strtoimax (configure.ac): Likewise.
24109         * modules/strtoumax (configure.ac): Likewise.
24110
24111 2007-02-17  Bruno Haible  <bruno@clisp.org>
24112
24113         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
24114         gl_STRING_MODULE_INDICATOR_DEFAULTS.
24115         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
24116         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
24117
24118 2007-02-17  Bruno Haible  <bruno@clisp.org>
24119
24120         * modules/link-warning: New file.
24121         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
24122         * lib/string_.h (GL_LINK_WARNING): Remove definition.
24123         * modules/string (Depends-on): Add link-warning.
24124         (Makefile.am): Copy the contents of build-aux/link-warning.h into
24125         string.h.
24126         * MODULES.html.sh (Support for building libraries and executables): Add
24127         link-warning.
24128
24129 2007-02-17  Bruno Haible  <bruno@clisp.org>
24130
24131         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
24132         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
24133         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
24134         long lines.
24135
24136 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
24137             Bruno Haible  <bruno@clisp.org>
24138
24139         * modules/tmpfile: New file.
24140         * lib/tmpfile.c: New file.
24141         * m4/tmpfile.m4: New file.
24142         * MODULES.html.sh (func_all_modules): New section "Input/output".
24143
24144 2007-02-15  Bruno Haible  <bruno@clisp.org>
24145
24146         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
24147         (supports_delete_on_close): New function.
24148         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
24149
24150 2007-02-14  Bruno Haible  <bruno@clisp.org>
24151
24152         * modules/mbspcasecmp-tests: New file.
24153         * tests/test-mbspcasecmp.sh: New file.
24154         * tests/test-mbspcasecmp.c: New file.
24155
24156         New module mbspcasecmp.
24157         * modules/mbspcasecmp: New file.
24158         * lib/mbspcasecmp.c: New file.
24159         * lib/string_.h (strncasecmp): Change warning message.
24160         (mbspcasecmp): New declaration.
24161         * m4/mbspcasecmp.m4: New file.
24162         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
24163         GNULIB_MBSPCASECMP.
24164         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
24165         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
24166
24167 2007-02-14  Bruno Haible  <bruno@clisp.org>
24168
24169         * modules/mbsncasecmp-tests: New file.
24170         * tests/test-mbsncasecmp.sh: New file.
24171         * tests/test-mbsncasecmp.c: New file.
24172
24173         New module mbsncasecmp.
24174         * modules/mbsncasecmp: New file.
24175         * lib/mbsncasecmp.c: New file.
24176         * lib/string_.h (mbsncasecmp): New declaration.
24177         * m4/mbsncasecmp.m4: New file.
24178         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
24179         GNULIB_MBSNCASECMP.
24180         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
24181         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
24182
24183 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
24184
24185         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
24186         Verify that it doesn't overlap with our flags.
24187         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
24188         do not have the desired effect in multibyte locales; instead, use
24189         mbscasecmp.
24190         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
24191         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
24192         we don't require GNU fnmatch ourselves (if our users require it, they
24193         should do so explicitly).
24194
24195         Fix regex code so it doesn't rely on strcasecmp.
24196         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
24197         Otherwise, include gnulib's langinfo.h.
24198         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
24199         undesirable behavior in non-C locales.  Instead, rely on localecharset.
24200         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
24201         * modules/regex (FILES): Remove m4/codeset.m4.
24202         (Depends-on): Add localcharset.  Remove strcase.
24203
24204 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24205
24206         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
24207         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
24208
24209 2007-02-13  Bruno Haible  <bruno@clisp.org>
24210
24211         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
24212         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24213
24214 2007-02-12  Bruno Haible  <bruno@clisp.org>
24215
24216         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
24217         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
24218         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
24219         time warning rather than a link error.
24220
24221 2007-02-12  Bruno Haible  <bruno@clisp.org>
24222
24223         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
24224         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
24225         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24226
24227 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
24228
24229         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
24230         args, not 2.
24231
24232 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
24233
24234         New module 'time', so that apps can include <time.h> as per
24235         POSIX and GNU instead of separate include files like time_r.h
24236         and timegm.h.  This implementation tries out a simpler approach
24237         for replacing decls in standard include files (as compared to
24238         the string module), somewhat as an experiment.
24239
24240         * config/srclist.txt: Comment out mktime.c for now.
24241         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
24242         since it doesn't apply any more.  Use generic wording instead.
24243         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
24244         'time'.
24245         * lib/time_.h, m4/time_h.m4, modules/time: New files.
24246         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
24247         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
24248         Don't include <sys/types.h>; no longer needed since we assume C89.
24249         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
24250         * lib/strftime.c: Likewise.
24251         * lib/time_r.c: Likewise.
24252         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
24253         * lib/nanosleep.c: Include <time.h> first, to check interface.
24254         * lib/strptime.c: Likewise.
24255         * lib/time_r.c: Likewise.
24256         * lib/timegm.c: Likewise.
24257         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
24258         needed.
24259         * lib/timegm.c: Don't include timegm.h; no longer needed.
24260         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
24261         time.h now handles any problems in that area.
24262         (struct timespec, nanosleep): Remove; time.h now arranges for these.
24263         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
24264         that time.h defines struct timespec.
24265         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
24266         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
24267         handles that.
24268         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
24269         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
24270         needed.  Set REPLACE_LOCALTIME.
24271         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
24272         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
24273         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
24274         nanosleep; time_h.m4 now does that.  Don't require
24275         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
24276         module handles this now.
24277         * modules/getdate (Depends-on): Remove timespec.  Add time.
24278         * modules/nanosleep (Depends-on): Likewise.
24279         * modules/stat-time (Depends-on): Likewise.
24280         * modules/nanosleep (Include): Include time.h, not timespec.h.
24281         * modules/strptime (Files): Remove lib/strptime.h.
24282         (Depends-on): Add extensions, time.
24283         (Include): Include time.h, not strptime.h.
24284         * modules/time_r (Files): Remove lib/time_r.h.
24285         (Depends-on): Add time.
24286         (Include): Include time.h, not time_r.h.
24287         * modules/timegm: Likewise.
24288         * modules/timespec (Description): Now does timespec-related decls
24289         of our own, instead of struct timespec itself.
24290         (Depends-on): Add time; remove extensions.
24291         (Maintainer): Add self.
24292         * modules/utimecmp (Depends-on): Add time; remove timespec.
24293         * modules/utimens (Depends-on): Likewise.
24294         * modules/xnanosleep (Depends-on): Likewise.
24295
24296 2007-02-11  Bruno Haible  <bruno@clisp.org>
24297
24298         * lib/c-strstr.c: Include allocsa.h.
24299         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
24300         * lib/c-strcasestr.c: Include allocsa.h.
24301         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
24302         * lib/strcasestr.c: Include allocsa.h.
24303         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
24304         * lib/mbsstr.c: Include allocsa.h.
24305         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
24306         allocsa/freesa instead of malloc/free.
24307         * lib/mbscasestr.c: Include allocsa.h.
24308         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
24309         allocsa/freesa instead of malloc/free.
24310         * modules/c-strstr (Depends-on): Add allocsa.
24311         * modules/c-strcasestr (Depends-on): Likewise.
24312         * modules/strcasestr (Depends-on): Likewise.
24313         * modules/mbsstr (Depends-on): Likewise.
24314         * modules/mbscasestr (Depends-on): Likewise.
24315
24316 2007-02-11  Bruno Haible  <bruno@clisp.org>
24317
24318         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
24319
24320         * modules/mbsspn-tests: New file.
24321         * tests/test-mbsspn.sh: New file.
24322         * tests/test-mbsspn.c: New file.
24323
24324 2007-02-11  Bruno Haible  <bruno@clisp.org>
24325
24326         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
24327
24328         * modules/mbspbrk-tests: New file.
24329         * tests/test-mbspbrk.sh: New file.
24330         * tests/test-mbspbrk.c: New file.
24331
24332 2007-02-11  Bruno Haible  <bruno@clisp.org>
24333
24334         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
24335         unneeded cast.
24336
24337         * modules/mbscspn-tests: New file.
24338         * tests/test-mbscspn.sh: New file.
24339         * tests/test-mbscspn.c: New file.
24340
24341 2007-02-11  Bruno Haible  <bruno@clisp.org>
24342
24343         * modules/mbscasecmp-tests: New file.
24344         * tests/test-mbscasecmp.sh: New file.
24345         * tests/test-mbscasecmp.c: New file.
24346
24347 2007-02-11  Bruno Haible  <bruno@clisp.org>
24348
24349         Ensure O(n) worst-case complexity of mbscasestr.
24350         * lib/mbscasestr.c: Include stdbool.h.
24351         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
24352         functions.
24353         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
24354         the bookkeeping indicates that it's worth it.
24355         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
24356
24357         * modules/mbscasestr-tests: New file.
24358         * tests/test-mbscasestr1.c: New file.
24359         * tests/test-mbscasestr2.sh: New file.
24360         * tests/test-mbscasestr2.c: New file.
24361         * tests/test-mbscasestr3.sh: New file.
24362         * tests/test-mbscasestr3.c: New file.
24363         * tests/test-mbscasestr4.sh: New file.
24364         * tests/test-mbscasestr4.c: New file.
24365         * m4/locale-tr.m4: New file.
24366
24367 2007-02-11  Bruno Haible  <bruno@clisp.org>
24368
24369         Ensure O(n) worst-case complexity of mbsstr.
24370         * lib/mbsstr.c: Include stdbool.h.
24371         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
24372         functions.
24373         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
24374         bookkeeping indicates that it's worth it.
24375         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
24376
24377         * modules/mbsstr-tests: New file.
24378         * tests/test-mbsstr1.c: New file.
24379         * tests/test-mbsstr2.sh: New file.
24380         * tests/test-mbsstr2.c: New file.
24381         * tests/test-mbsstr3.sh: New file.
24382         * tests/test-mbsstr3.c: New file.
24383         * m4/locale-fr.m4: New file.
24384
24385 2007-02-11  Bruno Haible  <bruno@clisp.org>
24386
24387         * lib/mbsrchr.c (mbsrchr): Fix bug.
24388
24389         * modules/mbsrchr-tests: New file.
24390         * tests/test-mbsrchr.sh: New file.
24391         * tests/test-mbsrchr.c: New file.
24392
24393 2007-02-11  Bruno Haible  <bruno@clisp.org>
24394
24395         * lib/mbschr.c (mbschr): Fix bug.
24396
24397         * modules/mbschr-tests: New file.
24398         * tests/test-mbschr.sh: New file.
24399         * tests/test-mbschr.c: New file.
24400         * m4/locale-zh.m4: New file.
24401
24402 2007-02-11  Bruno Haible  <bruno@clisp.org>
24403
24404         Support for copying multibyte string iterators.
24405         * lib/mbiter.h: Include <string.h>.
24406         (mbiter_multi_copy): New function.
24407         (mbi_copy): New macro.
24408         * lib/mbuiter.h: Include <string.h>.
24409         (mbuiter_multi_copy): New function.
24410         (mbui_copy): New macro.
24411
24412 2007-02-11  Bruno Haible  <bruno@clisp.org>
24413
24414         New module mbslen.
24415         * modules/mbslen: New file.
24416         * lib/mbslen.c: New file.
24417         * lib/string_.h (mbslen): New declaration.
24418         * m4/mbslen.m4: New file.
24419         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
24420         GNULIB_MBSLEN.
24421         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
24422         * MODULES.html.sh (Internationalization functions): Add mbslen.
24423
24424 2007-02-11  Bruno Haible  <bruno@clisp.org>
24425
24426         Ensure O(n) worst-case complexity of strcasestr substitute.
24427         * lib/strcasestr.c: Include stdbool.h.
24428         (knuth_morris_pratt): New function.
24429         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
24430         bookkeeping indicates that it's worth it.
24431         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
24432
24433         * modules/strcasestr-tests: New file.
24434         * tests/test-strcasestr.c: New file.
24435
24436 2007-02-11  Bruno Haible  <bruno@clisp.org>
24437
24438         Ensure O(n) worst-case complexity of c_strcasestr.
24439         * lib/c-strcasestr.c: Include stdbool.h, string.h.
24440         (knuth_morris_pratt): New function.
24441         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
24442         the bookkeeping indicates that it's worth it.
24443         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
24444
24445         * modules/c-strcasestr-tests: New file.
24446         * tests/test-c-strcasestr.c: New file.
24447
24448 2007-02-11  Bruno Haible  <bruno@clisp.org>
24449
24450         Ensure O(n) worst-case complexity of c_strstr.
24451         * lib/c-strstr.c: Include stdbool.h, string.h.
24452         (knuth_morris_pratt): New function.
24453         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
24454         bookkeeping indicates that it's worth it.
24455         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
24456
24457         * lib/c-strstr.c: Complete rewrite for maintainability.
24458
24459         * modules/c-strstr-tests: New file.
24460         * tests/test-c-strstr.c: New file.
24461
24462 2007-02-11  Bruno Haible  <bruno@clisp.org>
24463
24464         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
24465         5.2.1 and earlier, whereby \055 was treated just like the range
24466         delimiter '-'.
24467         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
24468
24469 2007-02-08  Bruno Haible  <bruno@clisp.org>
24470
24471         * modules/regex (Depends-on): Add stdbool.
24472         Reported by Dalibor Topic <robilad@kaffe.org>.
24473
24474 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
24475
24476         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
24477         Prefer returning from main to exiting from it.
24478         Remove unnecessary parens after sizeof.
24479
24480 2007-02-05  Bruno Haible  <bruno@clisp.org>
24481
24482         New module mbssep.
24483         * modules/mbssep: New file.
24484         * lib/mbssep.c: New file.
24485         * lib/string_.h (strsep): Add a conditional link warning.
24486         (mbssep): New declaration.
24487         * m4/mbssep.m4: New file.
24488         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
24489         GNULIB_MBSSEP.
24490         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
24491         * MODULES.html.sh (Internationalization functions): Add mbssep.
24492
24493 2007-02-05  Bruno Haible  <bruno@clisp.org>
24494
24495         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
24496         Optimize search in case of 1 delimiter.
24497
24498 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
24499
24500         * lib/acl.h: Include sys/types.h before sys/acl.h.
24501
24502 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
24503
24504         Merge upstream fix for glibc bugzilla #3957:
24505
24506         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
24507
24508         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
24509         bit for RE_HAT_LISTS_NOT_NEWLINE.
24510         (build_charclass_op): Remove bogus comment.
24511
24512 2007-02-05  Simon Josefsson  <simon@josefsson.org>
24513
24514         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
24515
24516 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
24517
24518         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
24519         * lib/memmem.c [!defined _LIBC]: Include config.h.
24520
24521 2007-02-04  Bruno Haible  <bruno@clisp.org>
24522
24523         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
24524         warning message.
24525
24526 2007-02-04  Bruno Haible  <bruno@clisp.org>
24527
24528         New module mbstok_r.
24529         * modules/mbstok_r: New file.
24530         * lib/mbstok_r.c: New file.
24531         * lib/string_.h (strtok_r): Change argument names to match the
24532         comments. Add a conditional link warning.
24533         (mbstok_r): New declaration.
24534         * m4/mbstok_r.m4: New file.
24535         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
24536         GNULIB_MBSTOK_R.
24537         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
24538         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
24539
24540 2007-02-04  Bruno Haible  <bruno@clisp.org>
24541
24542         New module mbsspn.
24543         * modules/mbsspn: New file.
24544         * lib/mbsspn.c: New file.
24545         * lib/string_.h (strspn): Add a conditional link warning.
24546         (mbsspn): New declaration.
24547         * m4/mbsspn.m4: New file.
24548         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
24549         GNULIB_MBSSPN.
24550         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
24551         * MODULES.html.sh (Internationalization functions): Add mbsspn.
24552
24553 2007-02-04  Bruno Haible  <bruno@clisp.org>
24554
24555         New module mbspbrk.
24556         * modules/mbspbrk: New file.
24557         * lib/mbspbrk.c: New file.
24558         * lib/string_.h (strpbrk): Add a conditional link warning.
24559         (mbspbrk): New declaration.
24560         * m4/mbspbrk.m4: New file.
24561         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
24562         GNULIB_MBSPBRK.
24563         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
24564         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
24565
24566 2007-02-04  Bruno Haible  <bruno@clisp.org>
24567
24568         New module mbscspn.
24569         * modules/mbscspn: New file.
24570         * lib/mbscspn.c: New file.
24571         * lib/string_.h (strcspn): Add a conditional link warning.
24572         (mbscspn): New declaration.
24573         * m4/mbscspn.m4: New file.
24574         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
24575         GNULIB_MBSCSPN.
24576         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
24577         * MODULES.html.sh (Internationalization functions): Add mbscspn.
24578
24579 2007-02-04  Bruno Haible  <bruno@clisp.org>
24580
24581         New module mbscasestr, reduced goal of strcasestr.
24582         * modules/mbscasestr: New file.
24583         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
24584         (mbscasestr): Renamed from strcasestr.
24585         * lib/strcasestr.c: Don't include mbuiter.h.
24586         (strcasestr): Remove support for multibyte locales.
24587         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
24588         Change the conditional link warning.
24589         (mbscasestr): New declaration.
24590         * m4/mbscasestr.m4: New file.
24591         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
24592         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
24593         REPLACE_STRCASESTR.
24594         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
24595         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24596         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
24597         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
24598         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
24599         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
24600         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
24601         (Depends-on): Remove mbuiter.
24602         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
24603
24604 2007-02-04  Bruno Haible  <bruno@clisp.org>
24605
24606         Simplify handling of strncasecmp.
24607         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
24608         the conditional link warning.
24609         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24610         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
24611         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
24612         * modules/strcase (configure.ac): Don't invoke
24613         gl_STRING_MODULE_INDICATOR.
24614         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
24615
24616 2007-02-04  Bruno Haible  <bruno@clisp.org>
24617
24618         New module mbscasecmp, reduced goal of strcasecmp.
24619         * modules/mbscasecmp: New file.
24620         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
24621         (mbscasecmp): Renamed from strcasecmp.
24622         * lib/strcasecmp.c: Don't include mbuiter.h.
24623         (strcasecmp): Remove support for multibyte locales.
24624         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
24625         Change the conditional link warning.
24626         (mbscasecmp): New declaration.
24627         * m4/mbscasecmp.m4: New file.
24628         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
24629         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
24630         REPLACE_STRCASECMP.
24631         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
24632         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
24633         GNULIB_MBSCASECMP.
24634         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
24635         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
24636         * modules/strcase (Files): Remove m4/mbrtowc.m4.
24637         (Depends-on): Remove mbuiter.
24638         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
24639
24640 2007-02-04  Bruno Haible  <bruno@clisp.org>
24641
24642         New module mbsstr. Remove module strstr.
24643         * modules/mbsstr: New file.
24644         * modules/strstr: Remove file.
24645         * lib/mbsstr.c: Renamed from lib/strstr.c.
24646         (mbsstr): Renamed from strstr.
24647         * lib/string_.h (strstr): Remove declaration. Change the conditional
24648         link warning.
24649         (mbsstr): New declaration.
24650         * m4/mbsstr.m4: New file.
24651         * m4/strstr.m4: Remove file.
24652         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
24653         REPLACE_STRSTR.
24654         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
24655         Don't initialize GNULIB_STRSTR.
24656         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
24657         substitute GNULIB_STRSTR and REPLACE_STRSTR.
24658         * MODULES.html.sh (Internationalization functions): Add mbsstr.
24659         (Support for systems lacking ANSI C 89): Remove strstr.
24660
24661 2007-02-04  Bruno Haible  <bruno@clisp.org>
24662
24663         New module mbsrchr.
24664         * modules/mbsrchr: New file.
24665         * lib/mbsrchr.c: New file.
24666         * lib/string_.h (strrchr): Add a conditional link warning.
24667         (mbsrchr): New declaration.
24668         * m4/mbsrchr.m4: New file.
24669         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
24670         GNULIB_MBSRCHR.
24671         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
24672         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
24673
24674 2007-02-04  Bruno Haible  <bruno@clisp.org>
24675
24676         New module mbschr.
24677         * modules/mbschr: New file.
24678         * lib/mbschr.c: New file.
24679         * lib/string_.h (strchr): Add a conditional link warning.
24680         (mbschr): New declaration.
24681         * m4/mbschr.m4: New file.
24682         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
24683         GNULIB_MBSCHR.
24684         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
24685         * MODULES.html.sh (Internationalization functions): Add mbschr.
24686
24687 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
24688
24689         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
24690
24691         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
24692
24693 2007-02-04  Bruno Haible  <bruno@clisp.org>
24694
24695         New module description section 'configure.ac-early'.
24696         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
24697         (func_get_autoconf_early_snippet): New function.
24698         (func_import, func_create_testdir): Use it. Remove special cases for
24699         modules 'extensions' and 'lock'.
24700         * modules/extensions (configure.ac-early): Require
24701         gl_USE_SYSTEM_EXTENSIONS.
24702         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
24703
24704 2007-02-04  Bruno Haible  <bruno@clisp.org>
24705
24706         Make use of gcj-4.3's -fsource and -ftarget option.
24707         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
24708         and if so try the options -fsource and -ftarget.
24709         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
24710         source_version, ftarget_option, target_version arguments.
24711         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
24712         (is_envjavac_oldgcj_14_14_usable): Renamed from
24713         is_envjavac_gcj_14_14_usable.
24714         (is_envjavac_oldgcj_14_13_usable): Renamed from
24715         is_envjavac_gcj_14_13_usable.
24716         (is_gcj_present): Update.
24717         (is_gcj_43, is_gcj43_usable): New functions.
24718         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
24719         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
24720         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
24721         try the options -fsource and -ftarget.
24722
24723 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
24724
24725         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
24726         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
24727         larger value.
24728
24729 2007-02-03  Jim Meyering  <jim@meyering.net>
24730
24731         Give tools a better chance to allocate space for very large buffers.
24732         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
24733
24734         Make pwd and readlink work also when run with an unreadable parent dir
24735         on systems with openat support.
24736         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
24737         provided getcwd function, even when we have openat support.
24738         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
24739
24740 2007-02-02  Bruno Haible  <bruno@clisp.org>
24741
24742         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
24743         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
24744         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
24745         portability problems if one of these functions is only used on specific
24746         platforms.
24747         Reported by Paul Eggert.
24748
24749 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
24750
24751         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
24752         is causing more trouble than it's curing.
24753         * lib/regex_internal.h (__mempcpy): Remove.
24754         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
24755         (and make the code a tad smaller to boot).
24756         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
24757
24758 2007-02-02  Jim Meyering  <jim@meyering.net>
24759
24760         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
24761         section, not in the Makefile.am: one.
24762
24763 2007-02-02  Eric Blake  <ebb9@byu.net>
24764
24765         * lib/strchrnul.c: Always include config.h first.
24766
24767         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
24768         gnulib strstr is not necessary here.
24769
24770 2007-02-02  Simon Josefsson  <simon@josefsson.org>
24771
24772         * m4/socklen.m4: Fix typo.
24773
24774 2007-02-02  Eric Blake  <ebb9@byu.net>
24775
24776         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
24777         * modules/netinet_in (Makefile.am): Likewise.
24778
24779 2007-02-01  Bruno Haible  <bruno@clisp.org>
24780
24781         * lib/string_.h (GL_LINK_WARNING): New macro.
24782         (strcasecmp, strstr, strcasestr): If provided by the system,
24783         conditionally define as a macro that leads to a warning instead of to
24784         an error.
24785         (strncasecmp): Conditionally define as a macro that leads to a warning.
24786
24787 2007-02-01  Karl Berry  <karl@gnu.org>
24788
24789         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
24790
24791 2007-02-01  Bruno Haible  <bruno@clisp.org>
24792
24793         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
24794         renamings.
24795
24796 2007-02-01  Eric Blake  <ebb9@byu.net>
24797
24798         * modules/regex (Depends-on): Revert dependence on mempcpy.
24799         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
24800         module's definition of mempcpy.
24801         Reported by Paul Eggert.
24802
24803 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
24804
24805         * lib/string_.h: If the gnulib module XYZ is not present, undefine
24806         the symbol XYZ before redefining it.  This fixes a problem with
24807         programs that don't use XYZ, when compiled on systems that define
24808         XYZ to something else.
24809
24810 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
24811
24812         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
24813         occurs when "mkdir -m foo" creates a setgid directory that is (1)
24814         writeable to group or other and (2) is intended to have a special
24815         mode bit that is set or cleared.  In such a case, the directory
24816         should be neither group- nor other-writeable until the special
24817         mode bits are right.
24818
24819 2007-01-31  Eric Blake  <ebb9@byu.net>
24820
24821         * modules/mountlist (Depends-on): Add strstr.
24822
24823         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
24824         bug.
24825         * modules/string (Makefile.am): Remove redundant replacement.
24826         * modules/regex (Depends-on): Add mempcpy.
24827
24828 2007-01-31  Bruno Haible  <bruno@clisp.org>
24829
24830         New module description field 'Link'.
24831         * gnulib-tool (func_usage): Document --extract-link-directive.
24832         (sed_extract_prog): Recognize 'Link' directive.
24833         (func_get_link_directive): New function.
24834         (func_import): Show summary of link directives.
24835         Handle --extract-link-directive option.
24836         * modules/acl (Link): New section.
24837         * modules/clock-time (Link): New section.
24838         * modules/euidaccess (Link): New section.
24839         * modules/gettext (Link): New section.
24840         * modules/iconv (Link): New section.
24841         * modules/lock (Link): New section.
24842         * modules/nanosleep (Link): New section.
24843         * modules/readline (Link): New section.
24844
24845 2007-01-27  Bruno Haible  <bruno@clisp.org>
24846
24847         Enforce the use of gnulib modules for unportable <string.h> functions.
24848         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
24849         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
24850         (gl_HEADER_STRING_H_BODY): Require it.
24851         * lib/string_.h: If the gnulib module XYZ is not present, redefine
24852         the symbol XYZ to one that gives a link error.
24853         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
24854         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
24855         * modules/mempcpy (configure.ac): Likewise.
24856         * modules/memrchr (configure.ac): Likewise.
24857         * modules/stpcpy (configure.ac): Likewise.
24858         * modules/stpncpy (configure.ac): Likewise.
24859         * modules/strcase (configure.ac): Likewise.
24860         * modules/strcasestr (configure.ac): Likewise.
24861         * modules/strchrnul (configure.ac): Likewise.
24862         * modules/strdup (configure.ac): Likewise.
24863         * modules/strndup (configure.ac): Likewise.
24864         * modules/strnlen (configure.ac): Likewise.
24865         * modules/strpbrk (configure.ac): Likewise.
24866         * modules/strsep (configure.ac): Likewise.
24867         * modules/strstr (configure.ac): Likewise.
24868         * modules/strtok_r (configure.ac): Likewise.
24869
24870 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
24871
24872         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
24873
24874 2007-01-30  Jim Meyering  <jim@meyering.net>
24875
24876         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
24877
24878 2007-01-29  Bruno Haible  <bruno@clisp.org>
24879
24880         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
24881         * lib/execute.c: Likewise.
24882         * lib/pipe.c: Likewise.
24883         * lib/printf-args.h: Likewise.
24884         * lib/printf-args.c: Likewise.
24885         * lib/printf-parse.c: Likewise.
24886         * lib/vasnprintf.c: Likewise.
24887
24888 2007-01-29  Eric Blake  <ebb9@byu.net>
24889
24890         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
24891         declaration.
24892
24893 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
24894
24895         * lib/strptime.h (strptime): Use 'restrict' for args where
24896         POSIX requires this.
24897         * lib/strptime.c (strptime): Likewise.
24898         Change license notice from LGPL to GPL, since gnulib-tool will
24899         change this as needed.
24900         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
24901         defined.
24902         Include "strptime.h" first, to check interface.
24903         Do not #undef _LIBC and _NL_CURRENT.
24904         Do not include <stdlib.h>; no longer needed.
24905         Include "time_r.h" and declare ptime_locale_status
24906         only if _LIBC is not defined.
24907         (__P): Remove unused macro.
24908         (match_string): Bring back glibc version, but use it only if _LIBC
24909         is defined.
24910         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
24911         Remove unnecessary assertion and abort() call.
24912         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
24913         * m4/strptime.m4: Fix serial number comment.
24914         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
24915         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
24916         (Depends-on): Add time_r.
24917
24918 2007-01-29  Bruno Haible  <bruno@clisp.org>
24919
24920         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
24921         strptime.
24922         * modules/strptime (Depends-on): Add stdbool.
24923         * lib/strptime.h: Include <time.h> always. Add comments.
24924
24925 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24926
24927         * modules/strptime: New file.
24928         * lib/strptime.h: New file.
24929         * lib/strptime.c: New file.
24930         * m4/strptime.m4: New file.
24931
24932 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
24933
24934         * MODULES.html.sh: New module mpsort.
24935         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
24936
24937         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
24938         a circularity problem with HP-UX ia64 reported by Bob Proulx in
24939         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
24940         All uses changed.
24941         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
24942         All uses changed.
24943         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
24944         to _Restrict_.
24945         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
24946         the parameter matches the prototype.
24947
24948 2007-01-28  Jim Meyering  <jim@meyering.net>
24949
24950         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
24951         sys/time.h here, reverting that part of the previous patch:
24952         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
24953
24954 2007-01-28  Bruno Haible  <bruno@clisp.org>
24955
24956         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
24957         value of $(SYS_TIME_H).
24958         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
24959         remove it conditionally, too. [added by Jim Meyering]
24960         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
24961         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
24962         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
24963         GETTIMEOFDAY_REPLACEMENT to 1.
24964
24965 2007-01-28  Bruno Haible  <bruno@clisp.org>
24966
24967         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
24968         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
24969         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
24970         Set UNISTD_H instead of UNISTD_H2.
24971         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
24972
24973 2007-01-28  Bruno Haible  <bruno@clisp.org>
24974
24975         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
24976         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
24977
24978 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24979
24980         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
24981         (func_create_testdir): Ensure C locale for `grep' and `tr'
24982         character ranges.
24983         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
24984         ACLOCAL_AMFLAGS parsing state machine.
24985
24986 2007-01-27  Bruno Haible  <bruno@clisp.org>
24987
24988         * modules/unistr/base: Update.
24989
24990 2007-01-27  Bruno Haible  <bruno@clisp.org>
24991
24992         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
24993         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
24994         * modules/unistr/u32-mbtouc-unsafe: Renamed from
24995         modules/unistr/u32-mbtouc.
24996         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
24997         * lib/unistr.h: Update.
24998         * lib/linebreak.c: Update.
24999         * modules/unistr/u32-mbtouc: Renamed from
25000         modules/unistr/u32-mbtouc-safe.
25001         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
25002         * lib/unistr.h: Update.
25003         * lib/unistr/u32-to-u8.c: Update.
25004         * lib/unistr/u32-to-u16.c: Update.
25005
25006 2007-01-27  Bruno Haible  <bruno@clisp.org>
25007
25008         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
25009         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
25010         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
25011         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
25012         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
25013         * modules/unistr/u16-mbtouc-unsafe: Renamed from
25014         modules/unistr/u16-mbtouc.
25015         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
25016         * lib/unistr.h: Update.
25017         * lib/linebreak.c: Update.
25018         * modules/linebreak: Update.
25019         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
25020         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
25021         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
25022         * modules/unistr/u16-mbtouc: Renamed from
25023         modules/unistr/u16-mbtouc-safe.
25024         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
25025         * lib/unistr.h: Update.
25026         * lib/unistr/u16-to-u8.c: Update.
25027         * modules/unistr/u16-to-u8: Update.
25028         * lib/unistr/u16-to-u32.c: Update.
25029         * modules/unistr/u16-to-u32: Update.
25030
25031 2007-01-27  Bruno Haible  <bruno@clisp.org>
25032
25033         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
25034         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
25035         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
25036         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
25037         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
25038         * modules/unistr/u8-mbtouc-unsafe: Renamed from
25039         modules/unistr/u8-mbtouc.
25040         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
25041         * lib/unistr.h: Update.
25042         * lib/striconveh.c: Update.
25043         * modules/striconveh: Update.
25044         * lib/linebreak.c: Update.
25045         * modules/linebreak: Update.
25046         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
25047         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
25048         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
25049         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
25050         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
25051         * lib/unistr.h: Update.
25052         * lib/striconveh.c: Update.
25053         * modules/striconveh: Update.
25054         * lib/unistr/u8-to-u16.c: Update.
25055         * modules/unistr/u8-to-u16: Update.
25056         * lib/unistr/u8-to-u32.c: Update.
25057         * modules/unistr/u8-to-u32: Update.
25058
25059 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25060
25061         Sync from Libtool.
25062         * lib/argz.c: Do not include strings.h nor memory.h, include
25063         string.h unconditionally.  Patch by Simon Josefsson.
25064
25065 2007-01-27  Bruno Haible  <bruno@clisp.org>
25066
25067         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
25068         from gl_HEADER_STRING_H_BODY.
25069         (gl_HEADER_STRING_H_BODY): Require it.
25070         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
25071         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
25072         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
25073         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
25074         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
25075         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
25076         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25077         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
25078         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
25079         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
25080         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
25081         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
25082         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
25083         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
25084         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
25085
25086 2007-01-27  Bruno Haible  <bruno@clisp.org>
25087
25088         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
25089         check_PROGRAMS into noinst_PROGRAMS.
25090         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
25091         check_PROGRAMS in this case.
25092         (func_import): Set for_test to false.
25093         (func_create_testdir): Set for_test to true.
25094
25095 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
25096             Bruno Haible  <bruno@clisp.org>
25097
25098         * modules/strcasestr (Files): Remove lib/strcasestr.h.
25099         (Depends-on): Add string.
25100         (Includes): Use <string.h> instead of strcasestr.h.
25101         * modules/string (Makefile.am): Also substitute the value of
25102         REPLACE_STRCASESTR.
25103         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
25104         assume strcasestr is declared in <string.h> not <strings.h>. Also
25105         set REPLACE_STRCASESTR.
25106         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
25107         REPLACE_STRCASESTR.
25108         * lib/strcasestr.h: Remove file.
25109         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
25110         * lib/string_.h (strcasestr): New declaration.
25111
25112 2007-01-27  Bruno Haible  <bruno@clisp.org>
25113
25114         * lib/string_.h: Use 'extern'.
25115
25116 2007-01-27  Jim Meyering  <jim@meyering.net>
25117
25118         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
25119         of set-but-not-used local, "q".
25120
25121         * lib/mempcpy.c: Include <config.h> before <string.h>.
25122         This fixes a compilation error on HP-UX, due to the system's
25123         "restrict"-using mempcpy prototype.
25124
25125 2007-01-26  Bruno Haible  <bruno@clisp.org>
25126
25127         Small optimization.
25128         * lib/javacomp.c: Include c-strstr.h.
25129          (is_envjavac_gcj): Use c_strstr instead of strstr.
25130         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
25131
25132 2007-01-26  Bruno Haible  <bruno@clisp.org>
25133
25134         * MODULES.html.sh (Unicode string functions): Add the new modules.
25135
25136         * modules/uniconv/u32-strconv-to-locale: New file.
25137         * lib/uniconv/u32-strconv-to-locale.c: New file.
25138
25139         * modules/uniconv/u16-strconv-to-locale: New file.
25140         * lib/uniconv/u16-strconv-to-locale.c: New file.
25141
25142         * modules/uniconv/u8-strconv-to-locale: New file.
25143         * lib/uniconv/u8-strconv-to-locale.c: New file.
25144
25145         * modules/uniconv/u32-strconv-from-locale: New file.
25146         * lib/uniconv/u32-strconv-from-locale.c: New file.
25147
25148         * modules/uniconv/u16-strconv-from-locale: New file.
25149         * lib/uniconv/u16-strconv-from-locale.c: New file.
25150
25151         * modules/uniconv/u8-strconv-from-locale: New file.
25152         * lib/uniconv/u8-strconv-from-locale.c: New file.
25153
25154         * modules/uniconv/u32-strconv-to-enc: New file.
25155         * lib/uniconv/u32-strconv-to-enc.c: New file.
25156         * modules/uniconv/u32-strconv-to-enc-tests: New file.
25157         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
25158
25159         * modules/uniconv/u16-strconv-to-enc: New file.
25160         * lib/uniconv/u16-strconv-to-enc.c: New file.
25161         * lib/uniconv/u-strconv-to-enc.h: New file.
25162         * modules/uniconv/u16-strconv-to-enc-tests: New file.
25163         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
25164
25165         * modules/uniconv/u8-strconv-to-enc: New file.
25166         * lib/uniconv/u8-strconv-to-enc.c: New file.
25167         * modules/uniconv/u8-strconv-to-enc-tests: New file.
25168         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
25169
25170         * modules/uniconv/u32-strconv-from-enc: New file.
25171         * lib/uniconv/u32-strconv-from-enc.c: New file.
25172         * modules/uniconv/u32-strconv-from-enc-tests: New file.
25173         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
25174
25175         * modules/uniconv/u16-strconv-from-enc: New file.
25176         * lib/uniconv/u16-strconv-from-enc.c: New file.
25177         * modules/uniconv/u16-strconv-from-enc-tests: New file.
25178         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
25179
25180         * modules/uniconv/u8-strconv-from-enc: New file.
25181         * lib/uniconv/u8-strconv-from-enc.c: New file.
25182         * lib/uniconv/u-strconv-from-enc.h: New file.
25183         * modules/uniconv/u8-strconv-from-enc-tests: New file.
25184         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
25185
25186         * modules/uniconv/u32-conv-from-enc: New file.
25187         * lib/uniconv/u32-conv-from-enc.c: New file.
25188         * modules/uniconv/u32-conv-from-enc-tests: New file.
25189         * tests/uniconv/test-u32-conv-from-enc.c: New file.
25190
25191         * modules/uniconv/u16-conv-from-enc: New file.
25192         * lib/uniconv/u16-conv-from-enc.c: New file.
25193         * lib/uniconv/u-conv-from-enc.h: New file.
25194         * modules/uniconv/u16-conv-from-enc-tests: New file.
25195         * tests/uniconv/test-u16-conv-from-enc.c: New file.
25196
25197         * modules/uniconv/u8-conv-from-enc: New file.
25198         * lib/uniconv/u8-conv-from-enc.c: New file.
25199         * modules/uniconv/u8-conv-from-enc-tests: New file.
25200         * tests/uniconv/test-u8-conv-from-enc.c: New file.
25201
25202         * modules/uniconv/base: New file.
25203         * lib/uniconv.h: New file.
25204
25205 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
25206
25207         * doc/gnulib-tool.texi (Initial import): Update to match current
25208         behavior with strdup module.
25209         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
25210         * lib/memmem.h: Remove; all uses removed.  This is now done
25211         by <string.h>.
25212         * lib/mempcpy.h: Likewise.
25213         * lib/memrchr.h: Likewise.
25214         * lib/stpcpy.h: Likewise.
25215         * lib/stpncpy.h: Likewise.
25216         * lib/strcase.h: Likewise.
25217         * lib/strchrnul.h: Likewise.
25218         * lib/strdup.h: Likewise.
25219         * lib/strndup.h: Likewise.
25220         * lib/strnlen.h: Likewise.
25221         * lib/strpbrk.h: Likewise.
25222         * lib/strsep.h: Likewise.
25223         * lib/strstr.h: Likewise.
25224         * lib/strtok_r.h: Likewise.
25225         * lib/string_.h: New file.
25226         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
25227         Rely on <string.h> instead.
25228         * lib/canon-host.c: Likewise.
25229         * lib/chdir-long.c: Likewise.
25230         * lib/concatpath.c: Likewise.
25231         * lib/exclude.c: Likewise.
25232         * lib/fchdir.c: Likewise.
25233         * lib/getaddrinfo.c: Likewise.
25234         * lib/getcwd.c: Likewise.
25235         * lib/getsubopt.c: Likewise.
25236         * lib/glob.c: Likewise.
25237         * lib/hard-locale.c: Likewise.
25238         * lib/iconvme.c: Likewise.
25239         * lib/javacomp.c: Likewise.
25240         * lib/mempcpy.c: Likewise.
25241         * lib/memrchr.c: Likewise.
25242         * lib/regex_internal.h: Likewise.
25243         * lib/stpncpy.c: Likewise.
25244         * lib/strcasecmp.c: Likewise.
25245         * lib/strchrnul.c: Likewise.
25246         * lib/strdup.c: Likewise.
25247         * lib/striconv.c: Likewise.
25248         * lib/striconveh.c: Likewise.
25249         * lib/striconveha.c: Likewise.
25250         * lib/strncasecmp.c: Likewise.
25251         * lib/strndup.c: Likewise.
25252         * lib/strnlen.c: Likewise.
25253         * lib/strsep.c: Likewise.
25254         * lib/strstr.c: Likewise.
25255         * lib/strtok_r.c: Likewise.
25256         * lib/userspec.c: Likewise.
25257         * lib/w32spawn.h: Likewise.
25258         * lib/xstrndup.c: Likewise.
25259         * lib/mountlist.c (strstr): Remove decl.
25260         * m4/string_h.m4: New file.
25261         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
25262         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
25263         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
25264         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
25265         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
25266         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
25267         Set REPLACE_STRCASECMP if necessary.
25268         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
25269         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
25270         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
25271         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
25272         HAVE_DECL_STRDUP if necessary.
25273         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
25274         since gl_FUNC_STRNDUP does that now.
25275         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
25276         Check for decl here...
25277         (gl_PREREQ_STRNLEN): ... not here.
25278         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
25279         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
25280         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
25281         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
25282         necessary.
25283         * modules/string: New file.
25284         * modules/memmem (Files): Remove special-purpose include file.
25285         (Depends-on): Add string.
25286         (Include): Include <string.h>, not the removed file.
25287         * modules/mempcpy: Likewise.
25288         * modules/memrchr: Likewise.
25289         * modules/stpcpy: Likewise.
25290         * modules/stpncpy: Likewise.
25291         * modules/strcase: Likewise.
25292         * modules/strchrnul: Likewise.
25293         * modules/strdup: Likewise.
25294         * modules/strndup: Likewise.
25295         * modules/strnlen: Likewise.
25296         * modules/strpbrk: Likewise.
25297         * modules/strsep: Likewise.
25298         * modules/strstr: Likewise.
25299         * modules/strtok_r: Likewise.
25300         * tests/test-dirname.c: Don't include "strdup.h", since
25301         <string.h> now suffices.
25302         * tests/test-memmem.c: Don't include "memmem.h", since
25303         <string.h> now suffices.
25304
25305 2007-01-25  Bruno Haible  <bruno@clisp.org>
25306
25307         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
25308         *resultp is 0.
25309
25310         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
25311         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
25312         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
25313         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
25314
25315         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
25316         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
25317         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
25318         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
25319         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
25320         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
25321
25322 2007-01-24  Bruno Haible  <bruno@clisp.org>
25323
25324         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
25325         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
25326         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
25327         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
25328         gl_FUNC_FTS_CORE.
25329         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
25330         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
25331         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
25332         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
25333         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
25334         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
25335         gl_FUNC_FCHOWNAT.
25336         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
25337         gl_FUNC_STRFTIME.
25338         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
25339         Reported by Ralf Wildenhues.
25340
25341 2007-01-24  Bruno Haible  <bruno@clisp.org>
25342
25343         Drop AC_REQUIRE calls that are redundant with the module dependencies.
25344         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
25345         gl_GETADDRINFO.
25346         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
25347         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
25348         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
25349
25350 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
25351
25352         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
25353         Don't use 'exit'; just return from 'main'.
25354         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
25355
25356         * lib/fnmatch_.h: Readjust white space and comments to match
25357         glibc, to avoid spurious diffs.
25358
25359 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
25360
25361         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
25362         2004-12-01 change by Jakub Jelinek, since this code won't compile
25363         if !LIBC.  Problem reported by Bob Proulx.
25364
25365 2007-01-23  Bruno Haible  <bruno@clisp.org>
25366
25367         * lib/striconveh.c: Include c-strcaseeq.h.
25368         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
25369         * modules/striconveh (Depends-on): Add c-strcaseeq.
25370
25371 2007-01-23  Bruno Haible  <bruno@clisp.org>
25372
25373         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
25374
25375         * modules/c-strcaseeq: New file.
25376         * lib/c-strcaseeq.h: New file.
25377
25378         * modules/streq: New file.
25379         * lib/streq.h: New file.
25380
25381 2007-01-23  Bruno Haible  <bruno@clisp.org>
25382
25383         * modules/striconveha-tests: New file.
25384         * tests/test-striconveha.c: New file.
25385
25386         * lib/striconveha.h: Include <stdbool.h>.
25387         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
25388         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
25389         (mem_iconveha_notranslit): Renamed from mem_iconveha.
25390         (mem_iconveha): New function.
25391         (str_iconveha_notranslit): Renamed from str_iconveha.
25392         (str_iconveha): New function.
25393         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
25394         c-strcase.
25395
25396 2007-01-23  Bruno Haible  <bruno@clisp.org>
25397
25398         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
25399         encodings without forgiving before trying any encoding with handler.
25400         (str_iconveha): Try all encodings without forgiving before trying any
25401         encoding with handler.
25402
25403 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
25404
25405         Import the following changes from libc.
25406
25407         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
25408
25409         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
25410
25411         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
25412
25413         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
25414         normal_bracket label.
25415
25416         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
25417
25418         [BZ #361]
25419         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
25420         to normal_bracket after fetching the next character.
25421
25422 2007-01-22  Bruno Haible  <bruno@clisp.org>
25423
25424         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
25425         argument.
25426         * lib/striconveh.c (iconv_carefully_1): New function.
25427         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
25428         argument.
25429         (str_cd_iconveh): Update.
25430         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
25431         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
25432         * tests/test-striconveh.c (MAGIC): New macro.
25433         (new_offsets): New function.
25434         (main): Test call with and without offsets.
25435
25436 2007-01-22  Bruno Haible  <bruno@clisp.org>
25437
25438         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
25439         * modules/sys_select (Makefile.am): Likewise.
25440         * modules/sys_socket (Makefile.am): Likewise.
25441         * modules/sys_time (Makefile.am): Likewise.
25442
25443 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
25444
25445         * modules/gettimeofday (License): Change from GPL to LGPL, since
25446         gettimeofday is a library function.
25447
25448 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25449
25450         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
25451
25452 2007-01-21  Bruno Haible  <bruno@clisp.org>
25453
25454         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
25455
25456 2007-01-21  Bruno Haible  <bruno@clisp.org>
25457
25458         * modules/striconveha: New file.
25459         * lib/striconveha.h: New file.
25460         * lib/striconveha.c: New file.
25461         * MODULES.html.sh (Internationalization functions): Add striconveha.
25462         * lib/striconv.c (str_iconv): Optimize the case of an empty input
25463         string.
25464         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
25465
25466 2007-01-21  Bruno Haible  <bruno@clisp.org>
25467
25468         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
25469         * lib/striconveh.c (str_iconveh): Likewise.
25470
25471 2007-01-21  Bruno Haible  <bruno@clisp.org>
25472
25473         * lib/striconveh.h (mem_iconveh): New declaration.
25474         * lib/striconveh.c (mem_iconveh): New function.
25475         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
25476
25477 2007-01-21  Bruno Haible  <bruno@clisp.org>
25478
25479         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
25480
25481         * lib/striconveh.h (mem_cd_iconveh): Change specification.
25482         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
25483         original result buffer.
25484         (str_cd_iconveh): Update.
25485         * tests/test-striconveh.c (main): Update.
25486
25487         * lib/striconv.h (mem_cd_iconv): Change specification.
25488         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
25489         result buffer.
25490         (str_cd_iconv): Update.
25491         * tests/test-striconv.c (main): Update.
25492
25493 2007-01-21  Bruno Haible  <bruno@clisp.org>
25494
25495         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
25496
25497 2007-01-20  Jim Meyering  <jim@meyering.net>
25498
25499         * lib/userspec.c (parse_with_separator): If a user or group string
25500         starts with "+", skip the corresponding name-to-ID look-up, since
25501         such a look-up must fail: user and group names may not include "+".
25502
25503 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
25504
25505         * lib/poll.c: Include sys/time.h and time.h unconditionally,
25506         since we now assume the sys_time module.
25507         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
25508         check for sys/time.h; no longer needed.
25509         * modules/poll (Depends-on): Depend on sys_time.
25510
25511 2007-01-18  Bruno Haible  <bruno@clisp.org>
25512
25513         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
25514         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
25515
25516         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
25517         gettimeofday.
25518
25519         * tests/test-gettimeofday.c: Include <time.h>.
25520         (dummy): Remove variable.
25521
25522         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
25523         gl_HEADER_SYS_TIME_H.
25524         (gl_HEADER_SYS_TIME_H): New macro.
25525
25526         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
25527         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
25528         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
25529         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
25530         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
25531         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
25532         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
25533         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
25534         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
25535         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
25536         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
25537
25538         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
25539         last change; it caused a compilation error when cross-compiling to
25540         Cygwin.
25541
25542 2007-01-18  Jim Meyering  <jim@meyering.net>
25543
25544         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
25545         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
25546         than the race-prone "test -d sys || mkdir sys".
25547         (configure.ac): Use AC_PROG_MKDIR_P.
25548         * modules/sys_select: Likewise.
25549         * modules/sys_socket: Likewise.
25550         * modules/sys_time: Likewise.
25551
25552 2007-01-18  Eric Blake  <ebb9@byu.net>
25553
25554         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
25555         replace gettimeofday.
25556         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
25557         name, to avoid infinite recursion.
25558
25559 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
25560
25561         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
25562         module sys_time.
25563         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
25564         assume timespec.h defines struct timeval.
25565         * lib/settime.c: Likewise.
25566         * lib/utimens.c: Likewise.
25567         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
25568         since we now assume the gettimeofday module.
25569         * lib/tempname.c (__gen_tempname): Likewise.
25570         * lib/gettimeofday.h: Remove.
25571         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
25572         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
25573         Include <time.h>, for 'time()'.
25574         (localtime_buffer_addr): Also use this workaround if
25575         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
25576         to simplify the uses.  All uses changed.
25577         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
25578         that #undef is inside {}, and 'const' follows type name consistently.
25579         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
25580         (gettimeofday): Do not use the maximum possible value for
25581         tv->tv_usec, since that might break usages other than ls.c.
25582         Instead, we'll leave ls.c alone.  This undoes today's patch
25583         by Bruno.  Add a compile-time warning for 1s-clock resolution;
25584         we've never observed the problem but might as well keep the
25585         canary.
25586         * lib/nanosleep.c: Include timespec.h first, for interface check.
25587         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
25588         now assume the sys_time module.
25589         * lib/tempname.c: Likewise.
25590         * lib/timespec.h: Likewise.
25591         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
25592         needed.
25593         * lib/strftime.c: Likewise.
25594         * lib/timespec.h: Likewise.
25595         * lib/posixtm.c: Include posixtm.h first, for interface check.
25596         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
25597         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
25598         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
25599         * lib/sys_time_.h: New file.
25600         * lib/timespec.h (struct timespec): Use long int, not long.
25601         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
25602         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
25603         Remove obsolescent call to AC_HEADER_TIME.
25604         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
25605         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25606         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
25607         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
25608         Likewise.
25609         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
25610         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
25611         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
25612         into the sys_time module.  Check for gettimeofday just once.
25613         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
25614         for gettimeofday signature to just check the signature.  Merely
25615         compile it, since linking doesn't test signature.  Improve test for
25616         whether gettimeofday.o is actually needed.
25617         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
25618         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
25619         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
25620         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
25621         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
25622         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
25623         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
25624         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
25625         than worrying about sys/time.h.
25626         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
25627         Don't bother worrying about TIME_WITH_SYS_TIME.
25628         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
25629         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
25630         * m4/sys_time_h.m4: New file.
25631         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
25632         Don't include sys/time.h.  Return from main rather than exiting.
25633         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
25634         all uses changed.
25635         * modules/gethrxtime (Depends-on): Add sys_time.
25636         * modules/gettime (Depends-on): Likewise.
25637         * modules/gettimeofday (Depends-on): Likewise.
25638         * modules/nanosleep (Depends-on): Likewise.
25639         * modules/settime (Depends-on): Likewise.
25640         * modules/tempname (Depends-on): Likewise.
25641         * modules/utimens (Depends-on): Likewise.
25642         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
25643         (Include:) Change back to <sys/time.h>.
25644         (Maintainer:) Add self.
25645         * modules/sys_time: New file.
25646         * modules/tempname (Depends-on): Add gettimeofday.
25647         * tests/test-gettimeofday.c: Include <sys/time.h>
25648         rather than gettimeofday.h.
25649
25650 2007-01-17  Bruno Haible  <bruno@clisp.org>
25651
25652         * gnulib-tool (func_get_license): Revert last patch. Instead, let
25653         the license default to GPL.
25654         (func_create_testdir): Don't complain if a module is LGPL and its
25655         tests module depends on GPLed modules.
25656
25657 2007-01-17  Bruno Haible  <bruno@clisp.org>
25658
25659         * lib/gettimeofday.c (gettimeofday): Add code for the case
25660         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
25661         maximum possible value for tv->tv_usec, rather than the minimum one.
25662
25663 2005-10-08  Martin Lambers  <marlam@marlam.de>
25664 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
25665 2007-01-16  Bruno Haible  <bruno@clisp.org>
25666
25667         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
25668         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
25669         gl_FUNC_GETTIMEOFDAY.
25670         (Include): Add gettimeofday.h.
25671         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
25672         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
25673         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
25674         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
25675         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
25676         * lib/gettimeofday.h: New file.
25677         * lib/gettimeofday.c: Include <sys/timeb.h>.
25678         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
25679         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
25680         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
25681         fall back on time().
25682
25683         * tests/test-gettimeofday.c: New file.
25684         * modules/gettimeofday-tests: New file.
25685
25686 2007-01-16  Eric Blake  <ebb9@byu.net>
25687
25688         * modules/fnmatch (Depends-on): Depend on wchar.
25689         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
25690         * m4/fnmatch.m4: Likewise.
25691         * modules/mbchar (Makefile.am): Assume <wchar.h>.
25692         * m4/mbchar.m4: Likewise.
25693         * modules/mbswidth (Depends-on): Depend on wchar.
25694         * lib/mbswidth.c: Assume <wchar.h>.
25695         * m4/mbswidth.m4: Likewise.
25696         * modules/quotearg (Depends-on): Depend on wchar.
25697         * lib/quotearg.c: Assume <wchar.h>.
25698         * m4/quotearg.m4: Likewise.
25699         * modules/regex (Depends-on): Depend on wchar.
25700         * lib/regex_internal.h: Assume <wchar.h>.
25701         * m4/regex.m4: Likewise.
25702         * modules/stdint (Depends-on): Depend on wchar.
25703         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
25704         * m4/stdint.m4: Likewise.
25705         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
25706         * modules/strftime (Depends-on): Depend on wchar.
25707         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
25708         * modules/strtol (Depends-on): Depend on wchar.
25709         * lib/strtol.c: Assume <wchar.h>.
25710         * modules/wcwidth (Depends-on): Depend on wchar.
25711         * lib/wcwidth.h: Assume <wchar.h>.
25712         * m4/wcwidth.m4: Likewise.
25713
25714 2007-01-16  Bruno Haible  <bruno@clisp.org>
25715
25716         * modules/csharpexec-script: New, created from...
25717         * modules/csharpexec: ... this.
25718
25719 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
25720
25721         * modules/javaexec-script: New, created from...
25722         * modules/javaexec: ... this.
25723
25724 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25725
25726         * modules/poll (Dependencies): Add sys_select.
25727
25728 2007-01-15  Jim Meyering  <jim@meyering.net>
25729
25730         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
25731         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
25732         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
25733         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
25734
25735 2007-01-15  Bruno Haible  <bruno@clisp.org>
25736
25737         * modules/striconveh: New file.
25738         * lib/striconveh.h: New file.
25739         * lib/striconveh.c: New file.
25740         * MODULES.html.sh (Internationalization functions): Add striconveh.
25741
25742         * modules/striconveh-tests: New file.
25743         * tests/test-striconveh.c: New file.
25744
25745 2007-01-15  Bruno Haible  <bruno@clisp.org>
25746
25747         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
25748         not from GNU libiconv or GNU libc.
25749
25750 2007-01-15  Bruno Haible  <bruno@clisp.org>
25751
25752         * doc/gnulib-intro.texi (Copyright): Explain the different license
25753         terms for module descriptions, autoconf macros, tests, documentation.
25754
25755 2007-01-14  Bruno Haible  <bruno@clisp.org>
25756
25757         * modules/striconv-tests: New file.
25758         * tests/test-striconv.c: New file.
25759
25760 2007-01-14  Bruno Haible  <bruno@clisp.org>
25761
25762         * modules/iconv-tests: New file.
25763         * tests/test-iconv.c: New file.
25764
25765 2007-01-14  Bruno Haible  <bruno@clisp.org>
25766
25767         * gnulib-tool (func_get_license): For test modules, use the license of
25768         the main module.
25769
25770 2007-01-14  Bruno Haible  <bruno@clisp.org>
25771
25772         * modules/iconv (Include): Clarify that <iconv.h> can only be included
25773         if iconv is found to exist.
25774
25775 2007-01-14  Bruno Haible  <bruno@clisp.org>
25776
25777         * modules/c-ctype-tests: New file.
25778         * tests/test-c-ctype.c: New file.
25779
25780 2007-01-14  Bruno Haible  <bruno@clisp.org>
25781
25782         * modules/binary-io-tests: New file.
25783         * tests/test-binary-io.sh: New file.
25784         * tests/test-binary-io.c: New file.
25785
25786 2007-01-14  Bruno Haible  <bruno@clisp.org>
25787
25788         * modules/array-oset-tests: New file.
25789         * tests/test-array_oset.c: New file.
25790
25791 2007-01-14  Bruno Haible  <bruno@clisp.org>
25792
25793         * modules/array-list-tests: New file.
25794         * tests/test-array_list.c: New file.
25795
25796 2007-01-14  Bruno Haible  <bruno@clisp.org>
25797
25798         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
25799         and make.
25800         Reported by Simon Josefsson in
25801         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
25802
25803 2007-01-14  Bruno Haible  <bruno@clisp.org>
25804
25805         * modules/allocsa-tests: New file.
25806         * tests/test-allocsa.c: New file.
25807
25808 2007-01-14  Bruno Haible  <bruno@clisp.org>
25809
25810         * modules/fchdir (Depends-on): Add absolute-header.
25811         * modules/unistd (Depends-on): Likewise.
25812
25813 2006-12-30  Bruno Haible  <bruno@clisp.org>
25814
25815         * modules/fchdir: New file.
25816         * modules/unistd (Files): Add lib/unistd_.h.
25817         (Makefile.am): Generate unistd.h from unistd_.h.
25818         * lib/fchdir.c: New file.
25819         * lib/dirent_.h: New file.
25820         * lib/unistd_.h: New file.
25821         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
25822         * m4/fchdir.m4: New file.
25823         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
25824         (gl_HEADER_UNISTD): Invoke it.
25825         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
25826         function.
25827         * lib/backupfile.c (opendir, closedir): Undefine.
25828         * lib/chown.c (open, close): Undefine.
25829         * lib/clean-temp.c (open, close): Undefine.
25830         * lib/copy-file.c (open, close): Undefine.
25831         * lib/execute.c (open, close): Undefine.
25832         * lib/fsusage.c (open, close): Undefine.
25833         * lib/gc-gnulib.c (open, close): Undefine.
25834         * lib/getcwd.c (opendir, closedir): Undefine.
25835         * lib/glob.c (opendir, closedir): Undefine.
25836         * lib/javacomp.c (open, close): Undefine.
25837         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
25838         * lib/openat-proc.c (open, close): Undefine.
25839         * lib/pagealign_alloc.c (open, close): Undefine.
25840         * lib/pipe.c (open, close): Undefine.
25841         * lib/progreloc.c (open, close): Undefine.
25842         * lib/savedir.c (opendir, closedir): Undefine.
25843         * lib/utime.c (open, close): Undefine.
25844         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
25845
25846 2007-01-10  Bruno Haible  <bruno@clisp.org>
25847
25848         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
25849
25850 2007-01-12  Eric Blake  <ebb9@byu.net>
25851
25852         Provide a robust <wchar.h>.  Further simplifications are now
25853         possible in other modules, but not included here.
25854         * modules/wchar: New module.
25855         * m4/wchar.m4: New file.
25856         * lib/wchar_.h: Likewise.
25857         * modules/mbchar (Depends-on): Depend on wchar, as the first use
25858         of the new module.
25859         * MODULES.html.sh (Extended multibyte and wide character utilities):
25860         New section.
25861
25862 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
25863
25864         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
25865         to a reasonable default for memory allocation.
25866         (xreadlink): Don't allocate a huge buffer, to work around a buggy
25867         file system that reports garbage st_size values for symlinks.
25868         Problem reported by Liyang Hu.
25869
25870 2007-01-11  Simon Josefsson  <simon@josefsson.org>
25871
25872         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
25873         Emacs .#* auto-save files).
25874
25875 2007-01-11  Bruno Haible  <bruno@clisp.org>
25876
25877         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
25878         directory.
25879
25880 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
25881
25882         Use @...@ consistently in lib/wctype_.h.
25883         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
25884         on it being set to 1 or 0.
25885         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
25886         go back to AC_SUBSTing it.
25887         * modules/wctype (Makefile.am): Undo previous change.
25888
25889 2007-01-10  Eric Blake  <ebb9@byu.net>
25890
25891         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
25892         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
25893         * modules/wctype (Makefile.am): Likewise.
25894         Reported by Chris McGuire.
25895
25896 2007-01-10  Jim Meyering  <jim@meyering.net>
25897
25898         fts.c: a small readability/maintainability improvement
25899         * lib/fts.c (fts_read): Make this code slightly more readable and
25900         maintainable by hoisting the "sp->fts_cur = p" assignments to
25901         immediately follow the statements that set P.  Derived from
25902         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
25903
25904 2007-01-10  Eric Blake  <ebb9@byu.net>
25905
25906         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
25907         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
25908         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
25909         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
25910         Reported by Chris McGuire.
25911
25912 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25913
25914         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
25915         in sed script.
25916
25917 2007-01-09  Bruno Haible  <bruno@clisp.org>
25918
25919         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
25920         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
25921         variables.
25922         (func_module): Use them.
25923
25924 2007-01-09  Bruno Haible  <bruno@clisp.org>
25925
25926         * modules/unistr/base: New file.
25927         * lib/unistr.h: New file.
25928
25929         * modules/unistr/u8-to-u16: New file.
25930         * lib/unistr/u8-to-u16.c: New file.
25931
25932         * modules/unistr/u8-to-u32: New file.
25933         * lib/unistr/u8-to-u32.c: New file.
25934
25935         * modules/unistr/u16-to-u8: New file.
25936         * lib/unistr/u16-to-u8.c: New file.
25937
25938         * modules/unistr/u16-to-u32: New file.
25939         * lib/unistr/u16-to-u32.c: New file.
25940
25941         * modules/unistr/u32-to-u8: New file.
25942         * lib/unistr/u32-to-u8.c: New file.
25943
25944         * modules/unistr/u32-to-u16: New file.
25945         * lib/unistr/u32-to-u16.c: New file.
25946
25947         * modules/unistr/u8-check: New file.
25948         * modules/unistr/u16-check: New file.
25949         * modules/unistr/u32-check: New file.
25950         * lib/unistr/u8-check.c: New file.
25951         * lib/unistr/u16-check.c: New file.
25952         * lib/unistr/u32-check.c: New file.
25953
25954         * modules/unistr/u8-chr: New file.
25955         * modules/unistr/u16-chr: New file.
25956         * modules/unistr/u32-chr: New file.
25957         * lib/unistr/u8-chr.c: New file.
25958         * lib/unistr/u16-chr.c: New file.
25959         * lib/unistr/u32-chr.c: New file.
25960
25961         * modules/unistr/u8-cmp: New file.
25962         * modules/unistr/u16-cmp: New file.
25963         * modules/unistr/u32-cmp: New file.
25964         * lib/unistr/u8-cmp.c: New file.
25965         * lib/unistr/u16-cmp.c: New file.
25966         * lib/unistr/u32-cmp.c: New file.
25967
25968         * modules/unistr/u8-cpy: New file.
25969         * modules/unistr/u16-cpy: New file.
25970         * modules/unistr/u32-cpy: New file.
25971         * lib/unistr/u8-cpy.c: New file.
25972         * lib/unistr/u16-cpy.c: New file.
25973         * lib/unistr/u32-cpy.c: New file.
25974         * lib/unistr/u-cpy.h: New file.
25975
25976         * modules/unistr/u8-cpy-alloc: New file.
25977         * modules/unistr/u16-cpy-alloc: New file.
25978         * modules/unistr/u32-cpy-alloc: New file.
25979         * lib/unistr/u8-cpy-alloc.c: New file.
25980         * lib/unistr/u16-cpy-alloc.c: New file.
25981         * lib/unistr/u32-cpy-alloc.c: New file.
25982         * lib/unistr/u-cpy-alloc.h: New file.
25983
25984         * modules/unistr/u8-endswith: New file.
25985         * modules/unistr/u16-endswith: New file.
25986         * modules/unistr/u32-endswith: New file.
25987         * lib/unistr/u8-endswith.c: New file.
25988         * lib/unistr/u16-endswith.c: New file.
25989         * lib/unistr/u32-endswith.c: New file.
25990         * lib/unistr/u-endswith.h: New file.
25991
25992         * modules/unistr/u8-mblen: New file.
25993         * modules/unistr/u16-mblen: New file.
25994         * modules/unistr/u32-mblen: New file.
25995         * lib/unistr/u8-mblen.c: New file.
25996         * lib/unistr/u16-mblen.c: New file.
25997         * lib/unistr/u32-mblen.c: New file.
25998
25999         * modules/unistr/u8-mbtouc: New file.
26000         * modules/unistr/u16-mbtouc: New file.
26001         * modules/unistr/u32-mbtouc: New file.
26002         * lib/unistr/u8-mbtouc.c: New file.
26003         * lib/unistr/u16-mbtouc.c: New file.
26004         * lib/unistr/u32-mbtouc.c: New file.
26005
26006         * modules/unistr/u8-mbtouc-safe: New file.
26007         * modules/unistr/u16-mbtouc-safe: New file.
26008         * modules/unistr/u32-mbtouc-safe: New file.
26009         * lib/unistr/u8-mbtouc-safe.c: New file.
26010         * lib/unistr/u16-mbtouc-safe.c: New file.
26011         * lib/unistr/u32-mbtouc-safe.c: New file.
26012
26013         * modules/unistr/u8-move: New file.
26014         * modules/unistr/u16-move: New file.
26015         * modules/unistr/u32-move: New file.
26016         * lib/unistr/u8-move.c: New file.
26017         * lib/unistr/u16-move.c: New file.
26018         * lib/unistr/u32-move.c: New file.
26019         * lib/unistr/u-move.h: New file.
26020
26021         * modules/unistr/u8-next: New file.
26022         * modules/unistr/u16-next: New file.
26023         * modules/unistr/u32-next: New file.
26024         * lib/unistr/u8-next.c: New file.
26025         * lib/unistr/u16-next.c: New file.
26026         * lib/unistr/u32-next.c: New file.
26027
26028         * modules/unistr/u8-prev: New file.
26029         * modules/unistr/u16-prev: New file.
26030         * modules/unistr/u32-prev: New file.
26031         * lib/unistr/u8-prev.c: New file.
26032         * lib/unistr/u16-prev.c: New file.
26033         * lib/unistr/u32-prev.c: New file.
26034
26035         * modules/unistr/u8-set: New file.
26036         * modules/unistr/u16-set: New file.
26037         * modules/unistr/u32-set: New file.
26038         * lib/unistr/u8-set.c: New file.
26039         * lib/unistr/u16-set.c: New file.
26040         * lib/unistr/u32-set.c: New file.
26041         * lib/unistr/u-set.h: New file.
26042
26043         * modules/unistr/u8-startswith: New file.
26044         * modules/unistr/u16-startswith: New file.
26045         * modules/unistr/u32-startswith: New file.
26046         * lib/unistr/u8-startswith.c: New file.
26047         * lib/unistr/u16-startswith.c: New file.
26048         * lib/unistr/u32-startswith.c: New file.
26049         * lib/unistr/u-startswith.h: New file.
26050
26051         * modules/unistr/u8-stpcpy: New file.
26052         * modules/unistr/u16-stpcpy: New file.
26053         * modules/unistr/u32-stpcpy: New file.
26054         * lib/unistr/u8-stpcpy.c: New file.
26055         * lib/unistr/u16-stpcpy.c: New file.
26056         * lib/unistr/u32-stpcpy.c: New file.
26057         * lib/unistr/u-stpcpy.h: New file.
26058
26059         * modules/unistr/u8-stpncpy: New file.
26060         * modules/unistr/u16-stpncpy: New file.
26061         * modules/unistr/u32-stpncpy: New file.
26062         * lib/unistr/u8-stpncpy.c: New file.
26063         * lib/unistr/u16-stpncpy.c: New file.
26064         * lib/unistr/u32-stpncpy.c: New file.
26065         * lib/unistr/u-stpncpy.h: New file.
26066
26067         * modules/unistr/u8-strcat: New file.
26068         * modules/unistr/u16-strcat: New file.
26069         * modules/unistr/u32-strcat: New file.
26070         * lib/unistr/u8-strcat.c: New file.
26071         * lib/unistr/u16-strcat.c: New file.
26072         * lib/unistr/u32-strcat.c: New file.
26073         * lib/unistr/u-strcat.h: New file.
26074
26075         * modules/unistr/u8-strchr: New file.
26076         * modules/unistr/u16-strchr: New file.
26077         * modules/unistr/u32-strchr: New file.
26078         * lib/unistr/u8-strchr.c: New file.
26079         * lib/unistr/u16-strchr.c: New file.
26080         * lib/unistr/u32-strchr.c: New file.
26081
26082         * modules/unistr/u8-strcmp: New file.
26083         * modules/unistr/u16-strcmp: New file.
26084         * modules/unistr/u32-strcmp: New file.
26085         * lib/unistr/u8-strcmp.c: New file.
26086         * lib/unistr/u16-strcmp.c: New file.
26087         * lib/unistr/u32-strcmp.c: New file.
26088
26089         * modules/unistr/u8-strcpy: New file.
26090         * modules/unistr/u16-strcpy: New file.
26091         * modules/unistr/u32-strcpy: New file.
26092         * lib/unistr/u8-strcpy.c: New file.
26093         * lib/unistr/u16-strcpy.c: New file.
26094         * lib/unistr/u32-strcpy.c: New file.
26095         * lib/unistr/u-strcpy.h: New file.
26096
26097         * modules/unistr/u8-strcspn: New file.
26098         * modules/unistr/u16-strcspn: New file.
26099         * modules/unistr/u32-strcspn: New file.
26100         * lib/unistr/u8-strcspn.c: New file.
26101         * lib/unistr/u16-strcspn.c: New file.
26102         * lib/unistr/u32-strcspn.c: New file.
26103         * lib/unistr/u-strcspn.h: New file.
26104
26105         * modules/unistr/u8-strdup: New file.
26106         * modules/unistr/u16-strdup: New file.
26107         * modules/unistr/u32-strdup: New file.
26108         * lib/unistr/u8-strdup.c: New file.
26109         * lib/unistr/u16-strdup.c: New file.
26110         * lib/unistr/u32-strdup.c: New file.
26111         * lib/unistr/u-strdup.h: New file.
26112
26113         * modules/unistr/u8-strlen: New file.
26114         * modules/unistr/u16-strlen: New file.
26115         * modules/unistr/u32-strlen: New file.
26116         * lib/unistr/u8-strlen.c: New file.
26117         * lib/unistr/u16-strlen.c: New file.
26118         * lib/unistr/u32-strlen.c: New file.
26119         * lib/unistr/u-strlen.h: New file.
26120
26121         * modules/unistr/u8-strmblen: New file.
26122         * modules/unistr/u16-strmblen: New file.
26123         * modules/unistr/u32-strmblen: New file.
26124         * lib/unistr/u8-strmblen.c: New file.
26125         * lib/unistr/u16-strmblen.c: New file.
26126         * lib/unistr/u32-strmblen.c: New file.
26127
26128         * modules/unistr/u8-strmbtouc: New file.
26129         * modules/unistr/u16-strmbtouc: New file.
26130         * modules/unistr/u32-strmbtouc: New file.
26131         * lib/unistr/u8-strmbtouc.c: New file.
26132         * lib/unistr/u16-strmbtouc.c: New file.
26133         * lib/unistr/u32-strmbtouc.c: New file.
26134
26135         * modules/unistr/u8-strncat: New file.
26136         * modules/unistr/u16-strncat: New file.
26137         * modules/unistr/u32-strncat: New file.
26138         * lib/unistr/u8-strncat.c: New file.
26139         * lib/unistr/u16-strncat.c: New file.
26140         * lib/unistr/u32-strncat.c: New file.
26141         * lib/unistr/u-strncat.h: New file.
26142
26143         * modules/unistr/u8-strncmp: New file.
26144         * modules/unistr/u16-strncmp: New file.
26145         * modules/unistr/u32-strncmp: New file.
26146         * lib/unistr/u8-strncmp.c: New file.
26147         * lib/unistr/u16-strncmp.c: New file.
26148         * lib/unistr/u32-strncmp.c: New file.
26149
26150         * modules/unistr/u8-strncpy: New file.
26151         * modules/unistr/u16-strncpy: New file.
26152         * modules/unistr/u32-strncpy: New file.
26153         * lib/unistr/u8-strncpy.c: New file.
26154         * lib/unistr/u16-strncpy.c: New file.
26155         * lib/unistr/u32-strncpy.c: New file.
26156         * lib/unistr/u-strncpy.h: New file.
26157
26158         * modules/unistr/u8-strnlen: New file.
26159         * modules/unistr/u16-strnlen: New file.
26160         * modules/unistr/u32-strnlen: New file.
26161         * lib/unistr/u8-strnlen.c: New file.
26162         * lib/unistr/u16-strnlen.c: New file.
26163         * lib/unistr/u32-strnlen.c: New file.
26164         * lib/unistr/u-strnlen.h: New file.
26165
26166         * modules/unistr/u8-strpbrk: New file.
26167         * modules/unistr/u16-strpbrk: New file.
26168         * modules/unistr/u32-strpbrk: New file.
26169         * lib/unistr/u8-strpbrk.c: New file.
26170         * lib/unistr/u16-strpbrk.c: New file.
26171         * lib/unistr/u32-strpbrk.c: New file.
26172         * lib/unistr/u-strpbrk.h: New file.
26173
26174         * modules/unistr/u8-strrchr: New file.
26175         * modules/unistr/u16-strrchr: New file.
26176         * modules/unistr/u32-strrchr: New file.
26177         * lib/unistr/u8-strrchr.c: New file.
26178         * lib/unistr/u16-strrchr.c: New file.
26179         * lib/unistr/u32-strrchr.c: New file.
26180
26181         * modules/unistr/u8-strspn: New file.
26182         * modules/unistr/u16-strspn: New file.
26183         * modules/unistr/u32-strspn: New file.
26184         * lib/unistr/u8-strspn.c: New file.
26185         * lib/unistr/u16-strspn.c: New file.
26186         * lib/unistr/u32-strspn.c: New file.
26187         * lib/unistr/u-strspn.h: New file.
26188
26189         * modules/unistr/u8-strstr: New file.
26190         * modules/unistr/u16-strstr: New file.
26191         * modules/unistr/u32-strstr: New file.
26192         * lib/unistr/u8-strstr.c: New file.
26193         * lib/unistr/u16-strstr.c: New file.
26194         * lib/unistr/u32-strstr.c: New file.
26195         * lib/unistr/u-strstr.h: New file.
26196
26197         * modules/unistr/u8-strtok: New file.
26198         * modules/unistr/u16-strtok: New file.
26199         * modules/unistr/u32-strtok: New file.
26200         * lib/unistr/u8-strtok.c: New file.
26201         * lib/unistr/u16-strtok.c: New file.
26202         * lib/unistr/u32-strtok.c: New file.
26203         * lib/unistr/u-strtok.h: New file.
26204
26205         * modules/unistr/u8-uctomb: New file.
26206         * modules/unistr/u16-uctomb: New file.
26207         * modules/unistr/u32-uctomb: New file.
26208         * lib/unistr/u8-uctomb.c: New file.
26209         * lib/unistr/u16-uctomb.c: New file.
26210         * lib/unistr/u32-uctomb.c: New file.
26211
26212         * MODULES.html.sh (Unicode string functions): Add the new modules.
26213
26214 2007-01-08  Bruno Haible  <bruno@clisp.org>
26215
26216         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
26217         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
26218         subdirectories.
26219
26220 2007-01-08  Karl Berry  <karl@gnu.org>
26221
26222         * doc/error.texi: mention that main() fns must set program_name
26223         when progname is used.
26224
26225 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
26226
26227         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
26228         WCTYPE_H is empty, for the benefit of builds from non-distclean
26229         directories.  Problem reported by Eric Blake in
26230         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
26231
26232 2007-01-08  Bruno Haible  <bruno@clisp.org>
26233
26234         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
26235         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
26236         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
26237         PROVIDE_CANONICALIZE_FILENAME_MODE.
26238         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
26239
26240 2007-01-08  Bruno Haible  <bruno@clisp.org>
26241
26242         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
26243         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
26244         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
26245         * lib/fts.c: Likewise.
26246         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
26247
26248 2006-12-25  Bruno Haible  <bruno@clisp.org>
26249
26250         * modules/utf8-ucs4-safe: New file.
26251         * lib/utf8-ucs4-safe.h: New file.
26252         * lib/unistr/utf8-ucs4-safe.c: New file.
26253
26254         * modules/utf16-ucs4-safe: New file.
26255         * lib/utf16-ucs4-safe.h: New file.
26256         * lib/unistr/utf16-ucs4-safe.c: New file.
26257
26258         * MODULES.html.sh (Unicode string functions): Add the new modules.
26259
26260 2007-01-08  Bruno Haible  <bruno@clisp.org>
26261
26262         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
26263         (Depends-on): Add unitypes.
26264         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
26265         (u8_mbtouc_aux): Move out to separate file.
26266         (u8_mbtouc): Use ucs4_t, uint8_t types.
26267         * lib/unistr/utf8-ucs4.c: New file.
26268
26269         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
26270         (Depends-on): Add unitypes.
26271         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
26272         (u16_mbtouc_aux): Move out to separate file.
26273         (u16_mbtouc): Use ucs4_t, uint16_t types.
26274         * lib/unistr/utf16-ucs4.c: New file.
26275
26276         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
26277         (Depends-on): Add unitypes.
26278         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
26279         (u8_uctomb_aux): Move out to separate file.
26280         (u8_uctomb): Use ucs4_t, uint8_t types.
26281         * lib/unistr/ucs4-utf8.c: New file.
26282
26283         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
26284         (Depends-on): Add unitypes.
26285         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
26286         (u16_uctomb_aux): Move out to separate file.
26287         (u16_uctomb): Use ucs4_t, uint16_t types.
26288         * lib/unistr/ucs4-utf16.c: New file.
26289
26290 2006-12-25  Bruno Haible  <bruno@clisp.org>
26291
26292         * modules/unitypes: New file.
26293         * lib/unitypes.h: New file.
26294         * MODULES.html.sh (func_all_modules): New section "Unicode string
26295         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
26296         this section. Add unitypes.
26297
26298 2007-01-08  Bruno Haible  <bruno@clisp.org>
26299
26300         Avoid variable names that conflict with those from libtool.
26301         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
26302         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
26303         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
26304         library_names_spec to acl_library_names_spec, hardcode_* to
26305         acl_hardcode_*.
26306         Reported by Ralf Wildenhues.
26307
26308 2007-01-08  Bruno Haible  <bruno@clisp.org>
26309
26310         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
26311         definition.
26312         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
26313         definition.
26314         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
26315         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
26316         definition.
26317         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
26318         definition.
26319         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
26320         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
26321         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
26322         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
26323         definition.
26324         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
26325         definition.
26326         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
26327         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
26328         GC_USE_<algorithm>.
26329         * lib/gc-libgcrypt.c: Likewise.
26330         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
26331         * modules/gc-arctwo (configure.ac): Likewise.
26332         * modules/gc-des (configure.ac): Likewise.
26333         * modules/gc-hmac-md5 (configure.ac): Likewise.
26334         * modules/gc-hmac-sha1 (configure.ac): Likewise.
26335         * modules/gc-md2 (configure.ac): Likewise.
26336         * modules/gc-md4 (configure.ac): Likewise.
26337         * modules/gc-md5 (configure.ac): Likewise.
26338         * modules/gc-random (configure.ac): Likewise.
26339         * modules/gc-rijndael (configure.ac): Likewise.
26340         * modules/gc-sha1 (configure.ac): Likewise.
26341
26342 2007-01-08  Bruno Haible  <bruno@clisp.org>
26343
26344         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
26345         macro definition.
26346         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
26347         definition.
26348         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
26349         definition.
26350         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
26351         * modules/fcntl-safer (configure.ac): Likewise.
26352         * modules/fopen-safer (configure.ac): Likewise.
26353         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
26354         GNULIB_FWRITEERROR macro definition.
26355
26356 2007-01-08  Bruno Haible  <bruno@clisp.org>
26357
26358         * m4/gnulib-common.m4: New file.
26359         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
26360         (func_get_filelist): Add m4/gnulib-common.m4.
26361
26362 2007-01-08  Bruno Haible  <bruno@clisp.org>
26363
26364         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
26365         command.
26366
26367 2007-01-08  Jim Meyering  <jim@meyering.net>
26368
26369         Use a more robust test for a "can't happen" condition.
26370         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
26371         narrowed the st_size value.  Presuming the "can't happen" condition
26372         is true, that narrowing could conceivably convert an invalid st_size
26373         value into a valid one.  Instead, use a change based on Matthew
26374         Woehlke's original patch.
26375
26376         Slight readability improvement: use an assert-like macro
26377         in place of literal "abort ()" uses.
26378         * lib/fts.c (fts_assert): Define.
26379         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
26380         Use this macro instead of a bare 'abort'.
26381
26382 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
26383
26384         Don't worry about using IRIX 5.3's wctype.h broken definitions;
26385         simply work around them.
26386         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
26387         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
26388         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
26389         declaring.
26390         Don't bother to define as macros, since the standard doesn't require it.
26391         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
26392         longer worry about IRIX 5.3.
26393         (HAVE_WCTYPE_CTMP_BUG): Remove.
26394
26395 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
26396
26397         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
26398         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
26399         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
26400         Problems reported by Georg Schwarz for IRIX 5.3.
26401
26402         * gnulib-tool (autoconf_minversion): Take the maximum version number
26403         found, not the minimum.  Problem reported by James Youngman.
26404
26405 2007-01-03  Karl Berry  <karl@gnu.org>
26406
26407         * doc/error.texi: new file, explaining interaction with progname.
26408         * doc/gnulib.texi: include it.  Update copyright.
26409
26410 2007-01-03  Simon Josefsson  <simon@josefsson.org>
26411
26412         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
26413         AC_CANONICAL_HOST, to improve autobuild outputs.
26414
26415 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
26416             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
26417
26418         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
26419         sockets, server sockets, and other file descriptors.  Count errors
26420         to compute the return value.  Reorder the code a bit to be easier
26421         to follow.  Don't set event bits that were not requested (except
26422         POLLERR and POLLHUP).
26423
26424 2007-01-01  Bruno Haible  <bruno@clisp.org>
26425
26426         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
26427
26428 2007-01-03  Jim Meyering  <jim@meyering.net>
26429
26430         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
26431
26432 2007-01-02  Bruno Haible  <bruno@clisp.org>
26433
26434         * modules/settime (Include): Require timespec.h.
26435         * modules/nanosleep (Include): Likewise.
26436
26437 2007-01-01  Bruno Haible  <bruno@clisp.org>
26438
26439         * gnulib-tool (func_emit_copyright_notice): Bump year.
26440         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
26441
26442 2007-01-01  Bruno Haible  <bruno@clisp.org>
26443
26444         Improve support for OpenBSD.
26445         * build-aux/config.rpath (libname_spec): Export.
26446         (library_names_spec): New variable. Export.
26447         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
26448         library_names_spec from the config.rpath output. Locate shared library
26449         through the name pattern in library_names_spec.
26450
26451 2007-01-01  Eric Blake  <ebb9@byu.net>
26452
26453         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
26454
26455 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
26456
26457         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
26458         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
26459         assume the C locale, and avoid an "eval" that could cause trouble.
26460         Problem with SORT reported by Bob Proulx.
26461
26462         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
26463         Define.  Trivial patch from Henning Nielsen Lund, originally
26464         sent to bug-grep@gnu.org today.
26465
26466 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26467
26468         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
26469         struct stat.  Problem reported by Henning Nielsen Lund.
26470         * lib/acl.c: Include acl.h first, to check interface.  Don't
26471         bother to include sys/types.h and sys/stat.h again.
26472
26473 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
26474
26475         Import the following change from libc; problem reported by
26476         Sven Verdoolaege.
26477
26478         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
26479
26480         [BZ #1373]
26481         * lib/argp.h: Remove __NTH for __argp_usage inline function.
26482
26483 2006-12-28  Jim Meyering  <jim@meyering.net>
26484
26485         * build-aux/announce-gen: Do not assume that the package
26486         builds any of tar.gz, tar.bz2, and .xdelta files.
26487         Suggestion from Simon Josefsson.
26488
26489 2006-12-28  Simon Josefsson  <simon@josefsson.org>
26490
26491         * modules/announce-gen: New file.
26492
26493 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26494
26495         * lib/mbchar.h: Just include <wctype.h>; the wctype module
26496         handles its gotchas now.
26497         * lib/mbswidth.c: Likewise.
26498         * lib/wcwidth.h: Likewise.
26499         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
26500         and iswcntrl; the wctype module does this stuff now.
26501         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
26502         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
26503         * modules/mbchar (Depends-on): Add wctype.
26504         * modules/mbswidth (Depends-on): Likewise.
26505         * modules/wcwidth (Depends-on): Likewise.
26506
26507 2006-12-27  Eric Blake  <ebb9@byu.net>
26508
26509         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
26510         module uses more than what <wctype.h> is required to provide.
26511
26512 2006-12-26  Eric Blake  <ebb9@byu.net>
26513
26514         * gnulib-tool (sed_extract_prog): Avoid space-tab.
26515
26516 2006-12-26  Eric Blake  <ebb9@byu.net>
26517
26518         * modules/absolute-header: New module.
26519         * modules/fcntl (Depends-on): Depend on it.
26520         * modules/inttypes (Depends-on): Likewise.
26521         * modules/stdint (Depends-on): Likewise.
26522         * modules/sys_stat (Depends-on): Likewise.
26523         * modules/wctype (Depends-on): Likewise.
26524         * MODULES.html.sh (Support for building libraries and
26525         executables): Document it.
26526
26527 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
26528
26529         * gnulib-tool (SED): Remove, undoing previous change.
26530         The problem was that it broke coreutils on Solaris, because
26531         "sed --posix" leaked into a makefile.
26532         (sed): New alias, if 'alias' and GNU sed.
26533
26534 2006-12-24  Jim Meyering  <jim@meyering.net>
26535
26536         Work around an fchownat bug in glibc-2.4:
26537         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
26538         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
26539         in spite of the -P option.
26540         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
26541         New macros.
26542         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
26543         * modules/openat (Files): Add lib/fchownat.c.
26544         * lib/openat.c (fchownat): Don't define here.  Move to...
26545         * lib/fchownat.c: ...this new file.
26546
26547 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
26548
26549         Fix bug reported by Bruno Haible in
26550         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
26551         where quotearg.c didn't compile on Mac OS X 10.2 because it
26552         lacks <wchar.h> and wint_t.
26553         * lib/wctype_.h (__wctype_wint_t): New type.
26554         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
26555         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
26556         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
26557         Arg is now of type __wctype_wint_t, not wint_t.
26558         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
26559         substitute HAVE_WINT_T.
26560         * modules/wctype (Files): Add m4/wint_t.m4.
26561         (wctype.h): Substitute HAVE_WINT_T.
26562
26563 2006-12-23  Bruno Haible  <bruno@clisp.org>
26564
26565         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
26566
26567 2006-12-23  Bruno Haible  <bruno@clisp.org>
26568
26569         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
26570         S_ISLNK.
26571         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
26572         mingw.
26573
26574 2006-12-22  Bruno Haible  <bruno@clisp.org>
26575
26576         * lib/copy-file.c: Include acl.h.
26577         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
26578         Close the file descriptors only after being done with copy_acl.
26579         * modules/copy-file (Depends-on): Add acl.
26580
26581 2006-12-22  Bruno Haible  <bruno@clisp.org>
26582
26583         * gnulib-tool (SED): New variable.
26584         Use $SED instead of sed everywhere.
26585
26586 2006-12-22  Bruno Haible  <bruno@clisp.org>
26587
26588         * modules/no-c++: New file.
26589         * m4/no-c++.m4: New file.
26590         * MODULES.html.sh (Support for building libraries and executables):
26591         Add no-c++.
26592
26593 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
26594
26595         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
26596         Include <limits.h>, and use its INT_MAX to rewrite the
26597         j loop so that it does not overflow 'int'.  Problem reported by
26598         Ralf Wildenhues in
26599         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
26600         Play it safe by shifting left by 1 rather than multiplying by 2,
26601         as GCC is less likely to optimize this away when the value
26602         is signed (when it assumes overflow leads to undefined behavior).
26603         Also, don't assume time_t uses two's complement.
26604
26605 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
26606
26607         * MODULES.html.sh: New module wctype.
26608         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
26609         * lib/fnmatch.c: Don't bother to include <wchar.h> before
26610         <wctype.h>, since the new wctype module should fix this.
26611         * lib/quotearg.c: Include <wctype.h> unconditionally, since
26612         the wctype module should arrange for it.
26613         * lib/regex_internal.h: Likewise.
26614         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
26615         since the wctype module should handle this now.
26616         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
26617         * modules/fnmatch (Depends-on): Add wctype.
26618         * modules/quotearg (Depends-on): Likewise.
26619         * modules/regex (Depends-on): Likewise.
26620
26621 2006-12-19  Bruno Haible  <bruno@clisp.org>
26622
26623         * lib/strdup.h [C++]: Wrap definitions in extern "C".
26624         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
26625
26626 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26627
26628         * modules/savewd (Depends-on): Fix dependency on fcntl.
26629
26630 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
26631
26632         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
26633         conforms to C99, rather than relying on the user's environment
26634         setting of STDINT_H.
26635
26636 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
26637         and Eric Blake  <ebb9@byu.net>
26638
26639         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
26640         This is more consistent with the other defines here.
26641         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
26642         Port to z/OS.  Problem reported by Paul Gilmartin.
26643         Change local vars to use gl_ prefix rather than ac_.
26644         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
26645         with other defines.
26646         * modules/double-slash-root: New module.
26647         * modules/dirname (Files): Remove m4/double-slash-root.m4.
26648         (Depends-on): Add double-slash-root.
26649         * MODULES.html.sh (File system functions): Mention new module.
26650
26651 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
26652
26653         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
26654         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
26655         This is for the benefit of gzip, which doesn't do i18n.
26656
26657 2006-12-12  Jim Meyering  <jim@meyering.net>
26658
26659         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
26660         Reported by Andreas Schwab <schwab@suse.de>.
26661
26662 2006-12-12  Bruno Haible  <bruno@clisp.org>
26663
26664         Merge these changes.
26665         2006-09-05  Bruno Haible  <bruno@clisp.org>
26666         * lib/iconvme.c (iconv_string): No need to save and restore errno when
26667         iconv_alloc succeeded.
26668         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
26669         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
26670         test for " && dest " at the end - dest is always != NULL there. Call
26671         iconv with 4xNULL arguments initially, to reset the state. Call iconv
26672         with 2xNULL arguments, also to flush the state storage. Handle the
26673         IRIX iconv behaviour. Realloc the final result, to throw away unused
26674         memory.
26675
26676 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
26677
26678         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
26679         and fchmodat unconditionally, since glibc 2.4 has them.
26680         Problem reported by Arkadiusz Miskiewicz.
26681
26682 2006-12-10  Bruno Haible  <bruno@clisp.org>
26683
26684         * gnulib-tool (func_import): Show the include files only for those
26685         modules that are copied and specified.
26686         Reported by Karl Berry.
26687
26688 2006-12-08  Jim Meyering  <jim@meyering.net>
26689
26690         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
26691         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
26692
26693         * build-aux/announce-gen: Add two new options, both optional:
26694         --bootstrap-tools=TOOL_LIST
26695               a comma-separated list of tools, e.g.,
26696               autoconf,automake,bison,gnulib
26697         --gnulib-snapshot-date=DATE
26698               if gnulib is in the bootstrap tool list,
26699               then report this as the snapshot date.
26700               If not specified, use the current date/time.
26701               If you specify a date here, be sure it's UTC.
26702
26703 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26704
26705         * tests/test-argp-2.sh: Fix test to match actual output.
26706         (func_compare): Fix sed script to be portable.
26707
26708 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
26709
26710         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
26711         workaround for this case.  It is not autoconfigured now; offhand
26712         it's hard to see how to autoconfigure it.
26713
26714 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
26715
26716         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
26717         a directory that is about to be chowned.  Such a directory's
26718         initial file permissions should permit the owner only and this
26719         should not be changed until after the chown, since the group and
26720         other bits would be incorrect if they granted permission before
26721         the chown.
26722
26723         Fix porting problem for iswctype reported by Georg Schwarz in:
26724         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
26725         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
26726         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
26727         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
26728         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
26729
26730 2006-12-03  Jim Meyering  <jim@meyering.net>
26731
26732         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
26733         p->fts_statp may not yet be defined.
26734         (fts_read): Instead, set it in the caller, once p->fts_statp is
26735         sure to be defined, and corresponds to a top-level directory.
26736         This bug made du -x fail.  Here's the coreutils test case:
26737         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
26738         Reported by Mike Frysinger.
26739
26740 2006-12-01  Jim Meyering  <jim@meyering.net>
26741
26742         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
26743         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
26744         Reported by Simon Josefsson.
26745
26746 2006-11-30  Jim Meyering  <jim@meyering.net>
26747
26748         * m4/warning.m4: Use the all-permissive copyright notice
26749         recommended by RMS (rather than LGPL).
26750         * m4/vararrays.m4: Likewise.
26751         * m4/flexmember.m4: Likewise.
26752
26753 2006-11-29  Bruno Haible  <bruno@clisp.org>
26754
26755         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
26756         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
26757         using +=.
26758         Reported by Simon Josefsson <simon@josefsson.org>.
26759
26760 2006-11-28  James Youngman <jay@gnu.org>
26761
26762         * README: Advise users that they might find the bug-gnulib@gnu.org
26763         and autotools-announce@gnu.org mailing lists useful.
26764
26765 2006-11-28  Bruno Haible  <bruno@clisp.org>
26766
26767         * m4/ptrdiff_max.m4: Remove file.
26768
26769 2006-11-21  Bruno Haible  <bruno@clisp.org>
26770
26771         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
26772         _AC_COMPUTE_INT.
26773         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
26774         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
26775         _AC_COMPUTE_INT.
26776         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
26777         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
26778         _AC_COMPUTE_INT.
26779         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
26780
26781 2006-11-28  Jim Meyering  <jim@meyering.net>
26782
26783         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
26784         warning from "gcc -Wshadow" about shadowing the builtin.
26785
26786 2006-11-27  Bruno Haible  <bruno@clisp.org>
26787
26788         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
26789         _AC_COMPUTE_INT.
26790         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
26791
26792 2006-11-27  Bruno Haible  <bruno@clisp.org>
26793             Paul Eggert  <eggert@cs.ucla.edu>
26794
26795         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
26796
26797 2006-11-26  Bruno Haible  <bruno@clisp.org>
26798
26799         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
26800         noinst_LTLIBRARIES.
26801
26802 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
26803             Bruno Haible  <bruno@clisp.org>
26804
26805         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
26806         if compiling with "gcc -ansi".
26807
26808 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
26809
26810         Fix some incompatibilities with gcc -ansi -pedantic.
26811         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
26812         if compiling pedantically with GCC, unless it's C99 or later.
26813         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
26814         it mishandles gcc -ansi -pedantic as well.
26815         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
26816         if gcc -pedantic.
26817         * lib/regexec.c (check_node_accept_bytes): Don't use auto
26818         initializers for struct if -pedantic, unless it's C99 or later.
26819
26820 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
26821
26822         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
26823         Don't close an fd more than once. Identical atimes indicate
26824         success, not failure.
26825
26826 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
26827
26828         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
26829
26830 2006-11-23  Jim Meyering  <jim@meyering.net>
26831
26832         * build-aux/announce-gen: New file.  From coreutils.
26833
26834 2006-11-22  Jim Meyering  <jim@meyering.net>
26835
26836         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
26837         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
26838         (fts_read): Use a temporary to narrow the overused st_size member
26839         before using it in a switch statement.  Reported by Matthew Woehlke.
26840
26841         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
26842         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
26843
26844 2006-11-20  Bruno Haible  <bruno@clisp.org>
26845
26846         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
26847         changequote instead of pairs of brackets.
26848         Reported by Andreas Schwab <schwab@suse.de>.
26849
26850 2006-11-21  Jim Meyering  <jim@meyering.net>
26851
26852         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
26853         so as to remain compatible with older compilers.
26854         Patch from Michael Deutschmann.
26855
26856 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
26857
26858         * MODULES.html.sh (File system functions): Add openat.
26859
26860         * lib/openat.h (rpl_fstatat): New macro, if
26861         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
26862         (fstatat): Define to rpl_fstatat under the same conditions,
26863         unless COMPILING_FSTATAT.
26864         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
26865         seems to have the bug.
26866         * lib/fstatat.c: New file.
26867         * modules/openat (Files): Add it.
26868
26869 2006-11-20  Bruno Haible  <bruno@clisp.org>
26870
26871         * Makefile: New file.
26872
26873 2006-11-20  Jim Meyering  <jim@meyering.net>
26874
26875         The beginnings of syntax-related checks for gnulib.
26876         * lib/Makefile: New file.
26877         * lib/t-idcache: New script.  Ensure that the two halves of
26878         idcache.c stay in sync.
26879
26880         * lib/idcache.c: Adjust comments in user- and group- portions to
26881         be more accurate, and to be consistent with one another.
26882
26883 2006-11-20  Jim Meyering  <jim@meyering.net>
26884
26885         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
26886         continue using the flexible array member (thus, this module performs
26887         half as many malloc calls), with the addition that...
26888         (getgroup, getuser): Consistently record a non-match via an empty
26889         "name" string, and map an empty string match to a NULL return value.
26890         * modules/idcache (Depends-on): Re-add flexmember.
26891
26892         * lib/idcache.c (getuser): Remove all uses of the register keyword.
26893         (getuidbyname, getgroup, getgidbyname): Likewise.
26894
26895         Use cleaner syntax: NULL rather than 0.
26896         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
26897
26898 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
26899
26900         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
26901         It mishandled the case where the group was missing.
26902         Problem reported by Greg Schafer.
26903         * modules/idcache: Likewise.
26904
26905 2006-11-18  Jim Meyering  <jim@meyering.net>
26906
26907         * check-module (%exempt_header): Add exception for some
26908         conditionally-included headers.
26909
26910         * modules/i-ring (Depends-on): Add verify.
26911         (License): Change to LGPL.
26912
26913 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
26914
26915         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
26916         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
26917         and inttostr.h.  Use snprintf rather than uinttostr, so that
26918         LGPLed code doesn't depend on GPLed.
26919
26920 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
26921
26922         * modules/inline (License): Change from GPL to LGPL.
26923
26924 2006-11-17  Jim Meyering  <jim@meyering.net>
26925
26926         * modules/d-type (License): Switch to LGPL.
26927
26928 2006-11-15  Bruno Haible  <bruno@clisp.org>
26929
26930         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
26931
26932 2006-11-15  Eric Blake  <ebb9@byu.net>
26933
26934         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
26935         the module dependency.
26936
26937 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26938             Bruno Haible  <bruno@clisp.org>
26939
26940         * gnulib-tool (func_create_testdir): Add license consistency check.
26941
26942 2006-11-15  Eric Blake  <ebb9@byu.net>
26943
26944         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
26945         random "(cached)" in configure output.
26946
26947 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26948
26949         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
26950         test for conforming inttypes.h is both announced and cached.
26951
26952         * MODULES.html.sh (seen_modules, seen_files): New variables.
26953         (func_module): Rewrite to use a few less gnulib-tool and sed
26954         invocations.  Avoid a couple of quadratic algorithms for ...
26955         (missed_modules, missed_files): ... these, with ...
26956         (func_append, func_tmpdir): ... these new functions, from
26957         gnulib-tool.  Analogously, install traps for cleanup.
26958
26959         * tests/test-gc.c (main): Remove unused variables.
26960         * tests/test-read-file.c: Include stdlib.h, for 'free'.
26961
26962 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
26963
26964         * modules/inttostr (License): Change to LGPL.
26965
26966 2006-11-14  Eric Blake  <ebb9@byu.net>
26967
26968         * modules/tempname (License): Change to LGPL.
26969
26970 2006-11-14  Eric Blake  <ebb9@byu.net>
26971
26972         * doc/functions.texi (Function Portability): *printf functions on
26973         Cygwin now understand all POSIX size specifiers.
26974
26975 2006-11-14  Bruno Haible  <bruno@clisp.org>
26976
26977         * modules/c-ctype (License): Change to LGPL.
26978
26979 2006-11-12  Bruno Haible  <bruno@clisp.org>
26980
26981         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
26982         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
26983         for GNOME libraries, for which the include files are installed in
26984         subdirectories of $prefix/include.
26985
26986 2006-11-12  Bruno Haible  <bruno@clisp.org>
26987
26988         * m4/lib-link.m4: Require at least autoconf-2.54.
26989         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
26990         name to underscores for the --with option.
26991
26992 2006-11-13  Bruno Haible  <bruno@clisp.org>
26993
26994         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
26995         the tests directory.
26996         Reported by Ralf Wildenhues.
26997
26998 2006-11-13  Bruno Haible  <bruno@clisp.org>
26999
27000         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
27001         (func_emit_initmacro_end): Undo the override here.
27002         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
27003         Works around the famous automake error in coreutils.
27004
27005 2006-11-13  Eric Blake  <ebb9@byu.net>
27006
27007         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
27008         element, not its node.
27009
27010 2006-11-12  Bruno Haible  <bruno@clisp.org>
27011
27012         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
27013         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
27014
27015 2006-11-12  Bruno Haible  <bruno@clisp.org>
27016
27017         * gnulib-tool: New option --local-symlink.
27018         (func_usage): Document it.
27019         (lsymbolic): New variable.
27020         (func_import, func_create_testdir): If --symlink was not specified,
27021         test whether --local-symlink was specified and the file comes from
27022         the local_gnulib_dir.
27023
27024 2006-11-12  Bruno Haible  <bruno@clisp.org>
27025
27026         * gnulib-tool (func_ln): New function.
27027         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
27028
27029 2006-11-12  Bruno Haible  <bruno@clisp.org>
27030
27031         Finish support for source files in subdirectories.
27032         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
27033         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
27034         AUTOMAKE_OPTIONS.
27035         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
27036
27037 2006-11-12  Bruno Haible  <bruno@clisp.org>
27038
27039         * gnulib-tool (func_get_automake_snippet): Synthesize also an
27040         EXTRA_lib_SOURCES augmentation.
27041         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
27042
27043 2006-11-12  Jim Meyering  <jim@meyering.net>
27044
27045         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
27046         file descriptors.  This also averts a failure on systems with
27047         native openat support when a traversed directory lacks "x" access.
27048         * lib/fts_.h: Include "i-ring.h"
27049         (struct FTS) [fts_fd_ring]: New member.
27050         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
27051         (FCHDIR): Add parentheses.
27052         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
27053         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
27054         When descending, rather than simply closing the previous
27055         fts_cwd_fd value, push that file descriptor onto the ring.
27056         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
27057         (fts_open): Initialize the new fd_ring member.
27058         (fts_close): Clear the ring.
27059         (fts_safe_changedir): When possible, use our new fd_ring to skip
27060         the diropen and fstat and dev/ino comparison that would normally
27061         accompany a virtual `chdir ("..")'.
27062
27063         * modules/fts (Depends-on): Add i-ring.
27064         * modules/i-ring: New module.
27065         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
27066         * m4/i-ring.m4: New file.
27067
27068 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27069
27070         * gnulib-tool (func_create_testdir): Fix replacement of
27071         `build-aux' in configure.ac.  Run autotools in gltests
27072         subdirectory.
27073         (func_create_testdir, func_create_megatestdir, test): There is
27074         no need for '--force' in most autotool invocations in a new
27075         tree.  Actually fail the whole test if any of the tools, or the
27076         configure or make stages fail.
27077
27078         Sync from Automake.
27079         * build-aux/gnupload: Revert last change.  Add pointer to upload
27080         instructions of the GNU Maintenance Instructions.
27081         Suggestion by Karl Berry.
27082
27083 2006-11-10  Jim Meyering  <jim@meyering.net>
27084
27085         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
27086
27087 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
27088
27089         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
27090         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
27091         (bind_textdomain_codeset) [! ENABLE_NLS]:
27092         Evaluate all the arguments.  That way, callers get compatible behavior
27093         if the arguments have side effects.  Also, it avoids some GCC
27094         diagnostics in some cases; Joel E. Denny reported problems when Bison
27095         was configured with --enable-gcc-warnigs.
27096
27097 2006-11-10  Jim Meyering  <jim@meyering.net>
27098
27099         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
27100         relevant options in CFLAGS (like -O, -fno-inline) are taken into
27101         account.
27102
27103 2006-11-10  Jim Meyering  <jim@meyering.net>
27104
27105         * modules/inline: New file/module.
27106         * modules/xalloc (Files): Remove m4/inline.m4.
27107         (Depends-on): Add inline, instead.
27108         * modules/oset: Likewise.
27109         * modules/list: Likewise.
27110
27111 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
27112
27113         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
27114         Problem reported by Matthew Woehlke.
27115
27116 2006-11-09  Bruno Haible  <bruno@clisp.org>
27117
27118         * lib/tempname.c (gen_tempname): Remove variant that invokes
27119         __gen_tempname.
27120         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
27121         __gen_tempname.
27122
27123 2006-11-08  Bruno Haible  <bruno@clisp.org>
27124
27125         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
27126         to 'yes' instead of 'cross-compiling'.
27127
27128 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
27129
27130         * lib/quotearg.h (quotearg_free): New decl.
27131         * lib/quotearg.c (quotearg_free): New function.
27132         (slot0, nslots, slotvec0, slotvec):
27133         Now file-scope so that quotearg_free can get at them.
27134
27135 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27136
27137         Sync from Automake.
27138         * build-aux/gnupload: Add missing 'gnu' to example URL.
27139         Report by Karl Berry.
27140
27141 2006-11-08  Bruno Haible  <bruno@clisp.org>
27142
27143         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
27144         Suggested by Paul Eggert.
27145
27146 2006-11-08  Jim Meyering  <jim@meyering.net>
27147
27148         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
27149         It's already included if !_LIBC.
27150         (fts_safe_changedir): Add a comment.
27151
27152 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
27153
27154         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
27155         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
27156         Matthew Woehlke.
27157
27158         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
27159         definitions up, to avoid colliding with change below.
27160         (static_inline) [HAVE_INLINE]: New macro.
27161         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
27162         Provide extern decls when !HAVE_INLINE.  Do not define unless
27163         static_inline is defined, either by us or by xmalloc.c.  Use
27164         static_inline rather than static inline.
27165         (XCALLOC): Optimize sizeof(T) = 1 case.
27166         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
27167
27168 2006-11-07  Bruno Haible  <bruno@clisp.org>
27169
27170         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
27171         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
27172         AC_C_INLINE.
27173         * modules/xalloc (Files): Add m4/inline.m4.
27174
27175 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27176
27177         * README: Fix typo.
27178         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
27179         (Miscellanous Notes): ...from this.
27180
27181 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
27182
27183         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
27184         Mention that offsetof should be used instead of sizeof.
27185         From Bruno Haible.
27186
27187 2006-11-07  Bruno Haible  <bruno@clisp.org>
27188
27189         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
27190
27191 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
27192
27193         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
27194         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
27195         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
27196         (gl_tree_add_before, gl_tree_add_after):
27197         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
27198         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
27199         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
27200         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
27201         (gl_linked_add_after, gl_linked_add_at): Likewise.
27202         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
27203         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
27204         (gl_tree_add_before, gl_tree_add_after): Likewise.
27205         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
27206         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
27207         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
27208
27209 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27210
27211         * lib/gl_oset.h: Use C comment style, not C++ comment style.
27212
27213 2006-11-06  Bruno Haible  <bruno@clisp.org>
27214
27215         * m4/inline.m4: New file.
27216         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
27217         * modules/list (Files): Add m4/inline.m4.
27218         * modules/oset (Files): Likewise.
27219
27220 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
27221
27222         * lib/idcache.c: Include <stddef.h>, for offsetof.
27223         (struct userid.name): Change from char * to a flexible array member.
27224         All uses changed.
27225         * modules/idcache (Depends-on): Add flexmember.
27226
27227         * MODULES.html.sh (Core language properties): New module flexmember.
27228         * modules/flexmember, m4/flexmember.m4: New files.
27229
27230         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
27231         inline functions that are identical with the old xnmalloc_inline,
27232         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
27233         that we can avoid some unnecessary integer multiplications and
27234         divisions in the common case where the element size is known at
27235         compile time.
27236         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
27237         needed.
27238         (xnboundedmalloc): Remove.
27239         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
27240         arguments, for consistency with rest of this header.
27241         (xcharalloc): Rewrite using XNMALLOC.
27242         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
27243         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
27244         versions have been moved to lib/xalloc.h and renamed to be the
27245         non-*_inline versions.
27246         (xmalloc, xrealloc): Implement without reference to the xnmalloc
27247         and xnrealloc functions, since those functions are now inline and
27248         now call us.
27249         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
27250         renaming described above.
27251         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
27252         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
27253         captures the dependency in AC_C_INLINE.
27254
27255         New module canonicalize-lgpl, proposed by Charles Wilson in
27256         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
27257         with a few small changes afterwards.
27258         * MODULES.html.sh (File system functions): New module
27259         canonicalize-lgpl.
27260         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
27261         and canonicalize_file_name.
27262         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
27263         * modules/canonicalize-lgpl: New files.
27264
27265 2006-11-05  Bruno Haible  <bruno@clisp.org>
27266
27267         * gnulib-tool (func_import, func_create_testdir): Create directories
27268         also for files in subdirectories of lib/.
27269
27270 2006-11-05  Bruno Haible  <bruno@clisp.org>
27271
27272         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
27273         ANSI C compliant.
27274
27275 2006-11-03  Bruno Haible  <bruno@clisp.org>
27276
27277         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
27278         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
27279         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
27280         (xnboundedmalloc): New inline function.
27281         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
27282         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
27283         xmalloc.
27284         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
27285         xmalloc.
27286         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
27287         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
27288         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
27289         xmalloc.
27290         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
27291         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
27292         xmalloc.
27293         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
27294         gl_tree_add_after): Use XMALLOC instead of xmalloc.
27295         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
27296         xmalloc.
27297         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
27298         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
27299         gl_tree_add_after): Use XMALLOC instead of xmalloc.
27300         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
27301         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
27302         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
27303         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
27304
27305 2006-11-03  Bruno Haible  <bruno@clisp.org>
27306
27307         * lib/c-ctype.h [C++]: Define functions without name mangling.
27308         * lib/fwriteerror.h [C++]: Likewise.
27309         * lib/gcd.h [C++]: Likewise.
27310         * lib/linebreak.h [C++]: Likewise.
27311
27312 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
27313
27314         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
27315         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
27316         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
27317         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
27318         Check for functions and headers just once.
27319         Check for declaration of canonicalize_file_name.
27320         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
27321
27322 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
27323
27324         * gnulib-tool (func_import): Fix typo in actioncmd.
27325
27326 2006-11-02  Bruno Haible  <bruno@clisp.org>
27327
27328         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
27329         newline sequence in the Makefile.am snippet as a space, like "make"
27330         does.
27331         Reported by Roger Persson <perrog@gmail.com>.
27332
27333 2006-11-01  Bruno Haible  <bruno@clisp.org>
27334
27335         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
27336         already declared in <string.h>.
27337         * lib/strcase.h (strncasecmp): Don't declare it if yes.
27338
27339 2006-11-01  Bruno Haible  <bruno@clisp.org>
27340
27341         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
27342         * lib/strcase.h: Include <string.h>.
27343         (strcasecmp): Define to rpl_strcasecmp here.
27344
27345 2006-11-01  Bruno Haible  <bruno@clisp.org>
27346
27347         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
27348
27349 2006-11-01  Eric Blake  <ebb9@byu.net>
27350
27351         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
27352
27353         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
27354
27355 2006-10-29  Bruno Haible  <bruno@clisp.org>
27356
27357         Make it compile in C++ mode.
27358         * lib/full-write.c (full_rw): Add a cast.
27359
27360 2006-11-01  Bruno Haible  <bruno@clisp.org>
27361
27362         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
27363         be POSIX compliant.
27364         Reported by Roger Persson <perrog@gmail.com>.
27365
27366 2006-11-01  Eric Blake  <ebb9@byu.net>
27367
27368         * lib/getopt_.h: Fix comments.
27369
27370 2006-10-31  Eric Blake  <ebb9@byu.net>
27371
27372         * modules/tmpdir (Depends-on): Add sys_stat.
27373         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
27374         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
27375         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
27376         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
27377         tempname.
27378
27379 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
27380
27381         Avoid some C++ diagnostics reported by Bruno Haible.
27382         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
27383         xmalloc.
27384         (quotearg_alloc): Use xcharalloc rather than xmalloc.
27385         (struct slotvec): Move to top level.
27386         (quotearg_n_options): Rewrite to avoid xmalloc.
27387         * lib/xalloc.h (xcharalloc): New function.
27388         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
27389         [defined __cplusplus]: Add function template that provides result
27390         type propagation.  This part of the change is from Bruno Haible.
27391
27392 2006-10-29  Bruno Haible  <bruno@clisp.org>
27393
27394         Make it compile in C++ mode.
27395         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
27396         * lib/strnlen1.c (strnlen1): Cast memchr result.
27397         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
27398         * lib/clean-temp.c (string_equals, string_hash): Add casts.
27399         (create_temp_dir): Rename local variable 'template'.
27400         (compile_csharp_using_sscli): Add cast.
27401         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
27402         * lib/findprog.c (find_in_path): Likewise.
27403         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
27404         * lib/wait-process.c (register_slave_subprocess): Likewise.
27405
27406 2006-10-22  Bruno Haible  <bruno@clisp.org>
27407
27408         * modules/tsearch: New file.
27409         * lib/tsearch.h: New file.
27410         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
27411         * m4/tsearch.m4: New file.
27412         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
27413
27414 2006-10-29  Eric Blake  <ebb9@byu.net>
27415
27416         * lib/arcfour.c: Assume config.h.
27417         * lib/arctwo.c: Likewise.
27418         * lib/base64.c: Likewise.
27419         * lib/check-version.c: Likewise.
27420         * lib/crc.c: Likewise.
27421         * lib/des.c: Likewise.
27422         * lib/gc-gnulib.c: Likewise.
27423         * lib/gc-libgcrypt.c: Likewise.
27424         * lib/gc-pbkdf2-sha1.c: Likewise.
27425         * lib/getaddrinfo.c: Likewise.
27426         * lib/getdelim.c: Likewise.
27427         * lib/getline.c: Likewise.
27428         * lib/hmac-md5.c: Likewise.
27429         * lib/hmac-sha1.c: Likewise.
27430         * lib/iconvme.c: Likewise.
27431         * lib/md2.c: Likewise.
27432         * lib/md4.c: Likewise.
27433         * lib/memxor.c: Likewise.
27434         * lib/read-file.c: Likewise.
27435         * lib/readline.c: Likewise.
27436         * lib/rijndael-alg-fst.c: Likewise.
27437         * lib/rijndael-api-fst.c: Likewise.
27438         * lib/xgetdomainname.c: Likewise.
27439
27440 2006-10-28  Eric Blake  <ebb9@byu.net>
27441
27442         * lib/xstrndup.c: Assume config.h.
27443
27444 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
27445
27446         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
27447         stat-macros.h is now for our own macros, whereas stat_h is for
27448         macros in the <sys/stat.h> name space.
27449         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
27450         (STAT_MACROS_H): Remove.
27451         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
27452         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
27453         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
27454         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
27455         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
27456         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
27457         Move these macros to ...
27458         * lib/stat_.h: here.  Don't include stat-macros.h.
27459         * lib/canonicalize.c: Don't include stat-macros.h.
27460         * lib/chown.c: Likewise.
27461         * lib/euidaccess.c: Likewise.
27462         * lib/file-type.c: Likewise.
27463         * lib/filemode.c: Likewise.
27464         * lib/glob.c: Likewise.
27465         * lib/isapipe.c: Likewise.
27466         * lib/lchown.c: Likewise.
27467         * lib/lstat.c: Likewise.
27468         * lib/mkdir-p.c: Likewise.
27469         * lib/rmdir.c: Likewise.
27470         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
27471         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
27472         unless mkdir isn't declared, to speed up 'configure'.
27473         Always create sys/stat.h, since it's unlikely any real sys/stat.h
27474         would define all the S_* symbols.
27475         * modules/canonicalize (Depends-on):
27476         Depend on sys_stat, not stat-macros.
27477         * modules/chown: Likewise.
27478         * modules/euidaccess: Likewise.
27479         * modules/filemode: Likewise.
27480         * modules/file-type: Likewise.
27481         * modules/glob: Likewise.
27482         * modules/isapipe: Likewise.
27483         * modules/lchown: Likewise.
27484         * modules/lstat: Likewise.
27485         * modules/mkancesdirs: Likewise.
27486         * modules/rmdir: Likewise.
27487         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
27488         * modules/modechange: Likewise.
27489         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
27490         (configure.ac): Remove gl_STAT_MACROS.
27491         * modules/sys_stat (Depends-on): Remove stat-macros.
27492
27493 2006-10-27  Bruno Haible  <bruno@clisp.org>
27494
27495         * m4/signed.m4: Remove file.
27496         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
27497         invocation.
27498         * modules/vasnprintf (Files): Remove m4/signed.m4.
27499
27500 2006-10-27  Bruno Haible  <bruno@clisp.org>
27501
27502         Update to GNU gettext 0.16.
27503         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
27504         m4/inttypes-h.m4, m4/signed.m4.
27505         * m4/gettext.m4: Update to GNU gettext 0.16.
27506         * m4/intl.m4: New file, from GNU gettext.
27507         * m4/intldir.m4: New file, from GNU gettext.
27508         * config/srclist.txt: Update
27509
27510 2006-10-27  Eric Blake  <ebb9@byu.net>
27511
27512         * MODULES.html.sh: Document tempname.
27513         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
27514         dependencies.
27515         (Files): Move lib/tempname.c...
27516         * modules/tempname: ...to this new module.
27517         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
27518         (gl_PREREQ_TEMPNAME): Move...
27519         * m4/tempname.m4: ...to this new file.
27520         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
27521         * modules/sys_stat (Depends-on): Add stat-macros.
27522         * lib/stat_.h (includes): Pick up stat macros.
27523         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
27524         if stat macros are broken.
27525         * lib/tempname.c (includes): No need to include "stat-macros.h".
27526         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
27527         (direxists, __path_search) [!_LIBC]: Don't compile these in
27528         gnulib; the tmpdir module covers that.
27529         * lib/tempname.h: New file.
27530
27531 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
27532
27533         * COPYING: Explain how gnulib-tool converts licence headers.
27534         Almost all wording by Eric Blake.
27535
27536 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
27537
27538         * lib/mbchar.h (is_basic_table): Make read-only.
27539         * lib/mbchar.c (is_basic_table): Likewise.
27540         Reported by John Darrington.
27541
27542 2006-10-25  Bruno Haible  <bruno@clisp.org>
27543
27544         * lib/progname.h (set_program_name): Undefine before defining.
27545
27546 2006-10-25  Bruno Haible  <bruno@clisp.org>
27547
27548         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
27549         false for non-gcc C++ compilers.
27550         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
27551
27552 2006-10-24  Bruno Haible  <bruno@clisp.org>
27553
27554         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
27555         iconv implementations like Irix iconv.
27556
27557 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
27558
27559         * modules/vararrays: New file.
27560         * m4/vararrays.m4: New file, taken from diffutils.
27561         * MODULES.html.sh: New module vararrays.
27562
27563 2006-10-24  Karl Berry  <karl@gnu.org>
27564
27565         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
27566         Don't call GNU Unix.
27567
27568 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27569
27570         * users.txt: Add Libtool.
27571
27572         Sync from Libtool:
27573
27574         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
27575
27576         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
27577         to gnulib's policy of including config.h unconditionally.
27578
27579 2006-10-24  Bruno Haible  <bruno@clisp.org>
27580
27581         * modules/wcwidth (Files): Add m4/wint_t.m4.
27582         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
27583         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
27584
27585 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
27586
27587         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
27588         to pacify GCC with some -W flags enabled.  Problem reported by
27589         Bruno Haible.
27590
27591 2006-10-24  Jim Meyering  <jim@meyering.net>
27592
27593         * MODULES.html.sh: Remove uinttostr.  It's not a module.
27594         Reported by Karl Berry.
27595
27596 2006-10-23  Bruno Haible  <bruno@clisp.org>
27597
27598         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
27599
27600 2006-10-24  Bruno Haible  <bruno@clisp.org>
27601
27602         * lib/gl_list.h: Use C comment style, not C++ comment style.
27603
27604 2006-10-23  Eric Blake  <ebb9@byu.net>
27605
27606         * lib/getaddrinfo.c (includes): Add missing include.
27607
27608 2006-10-23  Bruno Haible  <bruno@clisp.org>
27609             Paul Eggert  <eggert@cs.ucla.edu>
27610
27611         Ability to rename obstack_free.
27612         * lib/obstack.h (__obstack_free): New macro. Declare instead of
27613         obstack_free.
27614         (obstack_free): Invoke the __obstack_free macro.
27615         * lib/obstack.c (obstack_free): Use __obstack_free macro.
27616
27617 2006-10-23  Bruno Haible  <bruno@clisp.org>
27618             Paul Eggert  <eggert@cs.ucla.edu>
27619
27620         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
27621         __argc, __argv from the declaration. (They are defined as macros on
27622         mingw.)
27623
27624 2006-10-22  Bruno Haible  <bruno@clisp.org>
27625
27626         * doc/gnulib-intro.texi: New file.
27627         * doc/gnulib.texi: Include it.
27628
27629 2006-10-21  Bruno Haible  <bruno@clisp.org>
27630
27631         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
27632         "Introduction", "Miscellanous Notes", "Particular Modules".
27633
27634 2006-10-21  Bruno Haible  <bruno@clisp.org>
27635
27636         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
27637         Change mostlyclean-local rule to avoid sh syntax error from bash
27638         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
27639
27640 2006-10-23  Jim Meyering  <jim@meyering.net>
27641
27642         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
27643         in place of snprintf.
27644
27645         * modules/inttostr (Files): Add lib/uinttostr.c.
27646         * lib/uinttostr.c (inttostr): New file/function.
27647         * lib/inttostr.h (uinttostr): Declare.
27648         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
27649         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
27650         Add uinttostr.
27651         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
27652
27653 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
27654
27655         * lib/canonicalize.c (ELOOP): Define if not already defined.
27656         Problem reported by Bruno Haible in
27657         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
27658
27659 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
27660
27661         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
27662         Problem reported by Perry Smith and Ville Laurikari.
27663
27664         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
27665         uses.
27666
27667 2006-10-19  Bruno Haible  <bruno@clisp.org>
27668
27669         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
27670         for mingw.
27671
27672 2006-10-19  Bruno Haible  <bruno@clisp.org>
27673
27674         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
27675         Needed for mingw.
27676
27677 2006-10-19  Bruno Haible  <bruno@clisp.org>
27678
27679         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
27680
27681 2006-10-19  Bruno Haible  <bruno@clisp.org>
27682
27683         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
27684         it.
27685
27686 2006-10-19  Bruno Haible  <bruno@clisp.org>
27687
27688         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
27689         invocation.
27690
27691 2006-10-19  Bruno Haible  <bruno@clisp.org>
27692
27693         * gnulib-tool (func_create_testdir): Don't include ftruncate and
27694         mountlist by default.
27695
27696 2006-10-16  Bruno Haible  <bruno@clisp.org>
27697
27698         * lib/c-strstr.c: Include c-strstr.h.
27699
27700 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
27701
27702         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
27703         in a slash.
27704
27705 2006-10-18  Bruno Haible  <bruno@clisp.org>
27706
27707         * lib/lock.h [C++]: Wrap definitions in extern "C".
27708
27709 2006-10-18  Bruno Haible  <bruno@clisp.org>
27710
27711         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
27712         gl_LIBOBJS list.
27713
27714 2006-10-18  Bruno Haible  <bruno@clisp.org>
27715
27716         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
27717
27718 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
27719
27720         * lib/xstrtol.h: Include gettext.h.
27721         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
27722         Problem reported by Eric Blake.
27723         * modules/xstrtol (Depends-on): Add gettext-h.
27724
27725 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
27726
27727         * lib/strftime.c (advance): New macro.
27728         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
27729         incomplete type, so you can't add 0 to it.  Problem and patch
27730         reported by Eelco Dolstra for dietlibc.
27731
27732 2006-10-18  Jim Meyering  <jim@meyering.net>
27733
27734         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
27735         type for a local, and rename it: s/up/user_proc/.
27736
27737 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
27738
27739         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
27740         READ_UTMP_USER_PROCESS.
27741         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
27742
27743 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
27744
27745         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
27746         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
27747
27748 2006-10-17  Eric Blake  <ebb9@byu.net>
27749
27750         * lib/sigprocmask.c (sigprocmask): Fix typo.
27751
27752         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
27753
27754         * modules/clean-temp (Makefile.am): Don't add to make output...
27755         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
27756         config.h.
27757
27758 2006-10-17  Bruno Haible  <bruno@clisp.org>
27759
27760         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
27761         differently if DEFAULT_TEXT_DOMAIN is set.
27762
27763 2006-10-16  Bruno Haible  <bruno@clisp.org>
27764
27765         * lib/clean-temp.c: Include fwriteerror.h.
27766
27767 2006-10-16  Bruno Haible  <bruno@clisp.org>
27768
27769         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
27770
27771 2006-10-16  Bruno Haible  <bruno@clisp.org>
27772
27773         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
27774         * lib/sigprocmask.h: Include <sys/types.h>.
27775         (sigset_t): Use the system's definition if present.
27776
27777 2006-10-17  Eric Blake  <ebb9@byu.net>
27778
27779         * lib/xvasprintf.c (includes): Assume config.h.
27780         * lib/xasprintf.c (includes): Likewise.
27781
27782 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
27783
27784         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
27785         at least as wide as intmax_t.
27786
27787 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
27788
27789         (Imported from Automake.)
27790         * build-aux/gnupload: Update to version 1.1 of directive file.
27791
27792 2006-10-16  Eric Blake  <ebb9@byu.net>
27793
27794         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
27795         match Automake 1.10a.
27796
27797 2006-10-14  Bruno Haible  <bruno@clisp.org>
27798
27799         * modules/sigprocmask: New file.
27800         * lib/sigprocmask.h: New file.
27801         * lib/sigprocmask.c: New file.
27802         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
27803         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
27804         request sigprocmask.o.
27805         (gl_PREREQ_SIGPROCMASK): New macro.
27806         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
27807         (Depends-on): Add sigprocmask.
27808         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
27809         gt_SIGNALBLOCKING. Test for 'raise' only once.
27810         * lib/fatal-signal.c: Include sigprocmask.h.
27811         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
27812         unblock_fatal_signals): Define always.
27813         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
27814         sigprocmask.
27815
27816 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
27817
27818         Sync from Automake.
27819         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
27820         which incorrectly sets the mode of an existing destination
27821         directory.  In some cases the unpatched install-sh could do the
27822         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
27823         system.  We hope this is rare in practice, but it's clearly worth
27824         fixing.  Problem reported by Alex Unleashed in
27825         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
27826         Also, don't bother to check for -m bugs unless we're using -m;
27827         suggested by Stepan Kasal.
27828
27829 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27830
27831         Sync from Automake.
27832         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
27833         `-c' flag, so they appear at the same position as in %FASTDEP%
27834         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
27835         which ignores unknown options only after the first non-option.
27836         Bug report against M4 by Nelson H. F. Beebe.
27837
27838 2006-10-13  Jim Meyering  <jim@meyering.net>
27839
27840         Fix a bug in yesterday's change.
27841         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
27842         p->fts_statp->st_dev would be used uninitialized.
27843         Ensures that we always call fts_stat on the very first entry.
27844         Miklos Szeredi reported that find -xdev stopped working.
27845
27846 2006-10-12  Bruno Haible  <bruno@clisp.org>
27847
27848         * gnulib-tool (func_get_automake_snippet): Append an automatically
27849         computed EXTRA_DIST augmentation.
27850         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
27851         * modules/alloca-opt (Makefile.am): Likewise.
27852         * modules/allocsa (Makefile.am): Likewise.
27853         * modules/arcfour (Makefile.am): Likewise.
27854         * modules/arctwo (Makefile.am): Likewise.
27855         * modules/argmatch (Makefile.am): Likewise.
27856         * modules/argz (Makefile.am): Likewise.
27857         * modules/atexit (Makefile.am): Likewise.
27858         * modules/backupfile (Makefile.am): Likewise.
27859         * modules/byteswap (Makefile.am): Likewise.
27860         * modules/c-strtod (Makefile.am): Likewise.
27861         * modules/c-strtold (Makefile.am): Likewise.
27862         * modules/calloc (Makefile.am): Likewise.
27863         * modules/canon-host (Makefile.am): Likewise.
27864         * modules/canonicalize (Makefile.am): Likewise.
27865         * modules/chdir-long (Makefile.am): Likewise.
27866         * modules/chdir-safer (Makefile.am): Likewise.
27867         * modules/check-version (Makefile.am): Likewise.
27868         * modules/chown (Makefile.am): Likewise.
27869         * modules/cloexec (Makefile.am): Likewise.
27870         * modules/close-stream (Makefile.am): Likewise.
27871         * modules/closeout (Makefile.am): Likewise.
27872         * modules/crc (Makefile.am): Likewise.
27873         * modules/csharpexec (Makefile.am): Likewise.
27874         * modules/cycle-check (Makefile.am): Likewise.
27875         * modules/des (Makefile.am): Likewise.
27876         * modules/dev-ino (Makefile.am): Likewise.
27877         * modules/dirfd (Makefile.am): Likewise.
27878         * modules/dirname (Makefile.am): Likewise.
27879         * modules/dup2 (Makefile.am): Likewise.
27880         * modules/eealloc (Makefile.am): Likewise.
27881         * modules/error (Makefile.am): Likewise.
27882         * modules/euidaccess (Makefile.am): Likewise.
27883         * modules/exclude (Makefile.am): Likewise.
27884         * modules/exitfail (Makefile.am): Likewise.
27885         * modules/fcntl-safer (Makefile.am): Likewise.
27886         * modules/fcntl (Makefile.am): Likewise.
27887         * modules/file-type (Makefile.am): Likewise.
27888         * modules/fileblocks (Makefile.am): Likewise.
27889         * modules/filemode (Makefile.am): Likewise.
27890         * modules/filenamecat (Makefile.am): Likewise.
27891         * modules/fnmatch (Makefile.am): Likewise.
27892         * modules/fopen-safer (Makefile.am): Likewise.
27893         * modules/fpending (Makefile.am): Likewise.
27894         * modules/fprintftime (Makefile.am): Likewise.
27895         * modules/free (Makefile.am): Likewise.
27896         * modules/fsusage (Makefile.am): Likewise.
27897         * modules/ftruncate (Makefile.am): Likewise.
27898         * modules/fts (Makefile.am): Likewise.
27899         * modules/gc-arcfour (Makefile.am): Likewise.
27900         * modules/gc-des (Makefile.am): Likewise.
27901         * modules/gc-hmac-md5 (Makefile.am): Likewise.
27902         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
27903         * modules/gc-md4 (Makefile.am): Likewise.
27904         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
27905         * modules/gc-sha1 (Makefile.am): Likewise.
27906         * modules/gc (Makefile.am): Likewise.
27907         * modules/getaddrinfo (Makefile.am): Likewise.
27908         * modules/getcwd (Makefile.am): Likewise.
27909         * modules/getdelim (Makefile.am): Likewise.
27910         * modules/getdomainname (Makefile.am): Likewise.
27911         * modules/getgroups (Makefile.am): Likewise.
27912         * modules/gethostname (Makefile.am): Likewise.
27913         * modules/gethrxtime (Makefile.am): Likewise.
27914         * modules/getline (Makefile.am): Likewise.
27915         * modules/getloadavg (Makefile.am): Likewise.
27916         * modules/getlogin_r (Makefile.am): Likewise.
27917         * modules/getndelim2 (Makefile.am): Likewise.
27918         * modules/getopt (Makefile.am): Likewise.
27919         * modules/getpagesize (Makefile.am): Likewise.
27920         * modules/getpass-gnu (Makefile.am): Likewise.
27921         * modules/getpass (Makefile.am): Likewise.
27922         * modules/getsubopt (Makefile.am): Likewise.
27923         * modules/gettime (Makefile.am): Likewise.
27924         * modules/gettimeofday (Makefile.am): Likewise.
27925         * modules/getugroups (Makefile.am): Likewise.
27926         * modules/getusershell (Makefile.am): Likewise.
27927         * modules/glob (Makefile.am): Likewise.
27928         * modules/group-member (Makefile.am): Likewise.
27929         * modules/hard-locale (Makefile.am): Likewise.
27930         * modules/hash (Makefile.am): Likewise.
27931         * modules/hmac-md5 (Makefile.am): Likewise.
27932         * modules/hmac-sha1 (Makefile.am): Likewise.
27933         * modules/human (Makefile.am): Likewise.
27934         * modules/idcache (Makefile.am): Likewise.
27935         * modules/imaxabs (Makefile.am): Likewise.
27936         * modules/imaxdiv (Makefile.am): Likewise.
27937         * modules/inet_ntop (Makefile.am): Likewise.
27938         * modules/inet_pton (Makefile.am): Likewise.
27939         * modules/intprops (Makefile.am): Likewise.
27940         * modules/inttostr (Makefile.am): Likewise.
27941         * modules/inttypes (Makefile.am): Likewise.
27942         * modules/isapipe (Makefile.am): Likewise.
27943         * modules/javaversion (Makefile.am): Likewise.
27944         * modules/lchmod (Makefile.am): Likewise.
27945         * modules/lchown (Makefile.am): Likewise.
27946         * modules/localcharset (Makefile.am): Likewise.
27947         * modules/long-options (Makefile.am): Likewise.
27948         * modules/lstat (Makefile.am): Likewise.
27949         * modules/malloc (Makefile.am): Likewise.
27950         * modules/mathl (Makefile.am): Likewise.
27951         * modules/mbchar (Makefile.am): Likewise.
27952         * modules/md2 (Makefile.am): Likewise.
27953         * modules/md4 (Makefile.am): Likewise.
27954         * modules/md5 (Makefile.am): Likewise.
27955         * modules/memcasecmp (Makefile.am): Likewise.
27956         * modules/memchr (Makefile.am): Likewise.
27957         * modules/memcmp (Makefile.am): Likewise.
27958         * modules/memcoll (Makefile.am): Likewise.
27959         * modules/memcpy (Makefile.am): Likewise.
27960         * modules/memmem (Makefile.am): Likewise.
27961         * modules/memmove (Makefile.am): Likewise.
27962         * modules/mempcpy (Makefile.am): Likewise.
27963         * modules/memrchr (Makefile.am): Likewise.
27964         * modules/memset (Makefile.am): Likewise.
27965         * modules/memxor (Makefile.am): Likewise.
27966         * modules/mkancesdirs (Makefile.am): Likewise.
27967         * modules/mkdir-p (Makefile.am): Likewise.
27968         * modules/mkdir (Makefile.am): Likewise.
27969         * modules/mkdtemp (Makefile.am): Likewise.
27970         * modules/mkstemp (Makefile.am): Likewise.
27971         * modules/mktime (Makefile.am): Likewise.
27972         * modules/modechange (Makefile.am): Likewise.
27973         * modules/mountlist (Makefile.am): Likewise.
27974         * modules/nanosleep (Makefile.am): Likewise.
27975         * modules/obstack (Makefile.am): Likewise.
27976         * modules/openat (Makefile.am): Likewise.
27977         * modules/pagealign_alloc (Makefile.am): Likewise.
27978         * modules/pathmax (Makefile.am): Likewise.
27979         * modules/physmem (Makefile.am): Likewise.
27980         * modules/poll (Makefile.am): Likewise.
27981         * modules/posixtm (Makefile.am): Likewise.
27982         * modules/posixver (Makefile.am): Likewise.
27983         * modules/putenv (Makefile.am): Likewise.
27984         * modules/quote (Makefile.am): Likewise.
27985         * modules/quotearg (Makefile.am): Likewise.
27986         * modules/raise (Makefile.am): Likewise.
27987         * modules/read-file (Makefile.am): Likewise.
27988         * modules/readline (Makefile.am): Likewise.
27989         * modules/readlink (Makefile.am): Likewise.
27990         * modules/readtokens (Makefile.am): Likewise.
27991         * modules/readutmp (Makefile.am): Likewise.
27992         * modules/realloc (Makefile.am): Likewise.
27993         * modules/regex (Makefile.am): Likewise.
27994         * modules/rename-dest-slash (Makefile.am): Likewise.
27995         * modules/rename (Makefile.am): Likewise.
27996         * modules/rijndael (Makefile.am): Likewise.
27997         * modules/rmdir (Makefile.am): Likewise.
27998         * modules/rpmatch (Makefile.am): Likewise.
27999         * modules/safe-read (Makefile.am): Likewise.
28000         * modules/safe-write (Makefile.am): Likewise.
28001         * modules/same-inode (Makefile.am): Likewise.
28002         * modules/same (Makefile.am): Likewise.
28003         * modules/save-cwd (Makefile.am): Likewise.
28004         * modules/savedir (Makefile.am): Likewise.
28005         * modules/setenv (Makefile.am): Likewise.
28006         * modules/settime (Makefile.am): Likewise.
28007         * modules/sha1 (Makefile.am): Likewise.
28008         * modules/sig2str (Makefile.am): Likewise.
28009         * modules/snprintf (Makefile.am): Likewise.
28010         * modules/stat-macros (Makefile.am): Likewise.
28011         * modules/stat-time (Makefile.am): Likewise.
28012         * modules/stdbool (Makefile.am): Likewise.
28013         * modules/stdint (Makefile.am): Likewise.
28014         * modules/stdlib-safer (Makefile.am): Likewise.
28015         * modules/stpcpy (Makefile.am): Likewise.
28016         * modules/stpncpy (Makefile.am): Likewise.
28017         * modules/strcase (Makefile.am): Likewise.
28018         * modules/strcasestr (Makefile.am): Likewise.
28019         * modules/strchrnul (Makefile.am): Likewise.
28020         * modules/strcspn (Makefile.am): Likewise.
28021         * modules/strdup (Makefile.am): Likewise.
28022         * modules/strerror (Makefile.am): Likewise.
28023         * modules/strftime (Makefile.am): Likewise.
28024         * modules/strndup (Makefile.am): Likewise.
28025         * modules/strnlen (Makefile.am): Likewise.
28026         * modules/strpbrk (Makefile.am): Likewise.
28027         * modules/strsep (Makefile.am): Likewise.
28028         * modules/strstr (Makefile.am): Likewise.
28029         * modules/strtod (Makefile.am): Likewise.
28030         * modules/strtoimax (Makefile.am): Likewise.
28031         * modules/strtok_r (Makefile.am): Likewise.
28032         * modules/strtol (Makefile.am): Likewise.
28033         * modules/strtoll (Makefile.am): Likewise.
28034         * modules/strtoul (Makefile.am): Likewise.
28035         * modules/strtoull (Makefile.am): Likewise.
28036         * modules/strtoumax (Makefile.am): Likewise.
28037         * modules/strverscmp (Makefile.am): Likewise.
28038         * modules/sys_socket (Makefile.am): Likewise.
28039         * modules/sys_stat (Makefile.am): Likewise.
28040         * modules/sysexits (Makefile.am): Likewise.
28041         * modules/time_r (Makefile.am): Likewise.
28042         * modules/timegm (Makefile.am): Likewise.
28043         * modules/timespec (Makefile.am): Likewise.
28044         * modules/tmpfile-safer (Makefile.am): Likewise.
28045         * modules/trim (Makefile.am): Likewise.
28046         * modules/unistd-safer (Makefile.am): Likewise.
28047         * modules/unlinkdir (Makefile.am): Likewise.
28048         * modules/unlocked-io (Makefile.am): Likewise.
28049         * modules/userspec (Makefile.am): Likewise.
28050         * modules/utime (Makefile.am): Likewise.
28051         * modules/utimecmp (Makefile.am): Likewise.
28052         * modules/utimens (Makefile.am): Likewise.
28053         * modules/vasnprintf (Makefile.am): Likewise.
28054         * modules/vasprintf (Makefile.am): Likewise.
28055         * modules/vsnprintf (Makefile.am): Likewise.
28056         * modules/xalloc (Makefile.am): Likewise.
28057         * modules/xgetcwd (Makefile.am): Likewise.
28058         * modules/xnanosleep (Makefile.am): Likewise.
28059         * modules/xreadlink (Makefile.am): Likewise.
28060         * modules/xstrtod (Makefile.am): Likewise.
28061         * modules/xstrtol (Makefile.am): Likewise.
28062         * modules/xstrtold (Makefile.am): Likewise.
28063         * modules/yesno (Makefile.am): Likewise.
28064         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
28065
28066 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
28067
28068         * modules/error (Makefile.am): Distribute files through
28069         EXTRA_DIST, not lib_SOURCES.
28070
28071 2006-10-12  Eric Blake  <ebb9@byu.net>
28072
28073         * modules/error (Makefile.am): Distribute files in /lib.
28074         * modules/obstack (Makefile.am): Likewise.
28075
28076 2006-10-12  Bruno Haible  <bruno@clisp.org>
28077
28078         * modules/acl (Makefile.am): Distribute all files in lib/ through
28079         EXTRA_DIST.
28080         * modules/arcfour (Makefile.am): Likewise.
28081         * modules/arctwo (Makefile.am): Likewise.
28082         * modules/argmatch (Makefile.am): Likewise.
28083         * modules/argz (Makefile.am): Likewise.
28084         * modules/atexit (Makefile.am): Likewise.
28085         * modules/backupfile (Makefile.am): Likewise.
28086         * modules/c-strtod (Makefile.am): Likewise.
28087         * modules/c-strtold (Makefile.am): Likewise.
28088         * modules/calloc (Makefile.am): Likewise.
28089         * modules/canon-host (Makefile.am): Likewise.
28090         * modules/canonicalize (Makefile.am): Likewise.
28091         * modules/chdir-long (Makefile.am): Likewise.
28092         * modules/chdir-safer (Makefile.am): Likewise.
28093         * modules/check-version (Makefile.am): Likewise.
28094         * modules/chown (Makefile.am): Likewise.
28095         * modules/cloexec (Makefile.am): Likewise.
28096         * modules/close-stream (Makefile.am): Likewise.
28097         * modules/closeout (Makefile.am): Likewise.
28098         * modules/crc (Makefile.am): Likewise.
28099         * modules/cycle-check (Makefile.am): Likewise.
28100         * modules/des (Makefile.am): Likewise.
28101         * modules/dirfd (Makefile.am): Likewise.
28102         * modules/dirname (Makefile.am): Likewise.
28103         * modules/dup2 (Makefile.am): Likewise.
28104         * modules/euidaccess (Makefile.am): Likewise.
28105         * modules/exclude (Makefile.am): Likewise.
28106         * modules/exitfail (Makefile.am): Likewise.
28107         * modules/fcntl-safer (Makefile.am): Likewise.
28108         * modules/file-type (Makefile.am): Likewise.
28109         * modules/fileblocks (Makefile.am): Likewise.
28110         * modules/filemode (Makefile.am): Likewise.
28111         * modules/filenamecat (Makefile.am): Likewise.
28112         * modules/fnmatch (Makefile.am): Likewise.
28113         * modules/fopen-safer (Makefile.am): Likewise.
28114         * modules/fpending (Makefile.am): Likewise.
28115         * modules/fprintftime (Makefile.am): Likewise.
28116         * modules/free (Makefile.am): Likewise.
28117         * modules/fsusage (Makefile.am): Likewise.
28118         * modules/ftruncate (Makefile.am): Likewise.
28119         * modules/fts (Makefile.am): Likewise.
28120         * modules/gc (Makefile.am): Likewise.
28121         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
28122         * modules/getaddrinfo (Makefile.am): Likewise.
28123         * modules/getcwd (Makefile.am): Likewise.
28124         * modules/getdelim (Makefile.am): Likewise.
28125         * modules/getdomainname (Makefile.am): Likewise.
28126         * modules/getgroups (Makefile.am): Likewise.
28127         * modules/gethostname (Makefile.am): Likewise.
28128         * modules/gethrxtime (Makefile.am): Likewise.
28129         * modules/getline (Makefile.am): Likewise.
28130         * modules/getloadavg (Makefile.am): Likewise.
28131         * modules/getlogin_r (Makefile.am): Likewise.
28132         * modules/getopt (Makefile.am): Likewise.
28133         * modules/getpass (Makefile.am): Likewise.
28134         * modules/getpass-gnu (Makefile.am): Likewise.
28135         * modules/getsubopt (Makefile.am): Likewise.
28136         * modules/gettime (Makefile.am): Likewise.
28137         * modules/gettimeofday (Makefile.am): Likewise.
28138         * modules/getugroups (Makefile.am): Likewise.
28139         * modules/getusershell (Makefile.am): Likewise.
28140         * modules/glob (Makefile.am): Likewise.
28141         * modules/group-member (Makefile.am): Likewise.
28142         * modules/hard-locale (Makefile.am): Likewise.
28143         * modules/hash (Makefile.am): Likewise.
28144         * modules/hmac-md5 (Makefile.am): Likewise.
28145         * modules/hmac-sha1 (Makefile.am): Likewise.
28146         * modules/human (Makefile.am): Likewise.
28147         * modules/idcache (Makefile.am): Likewise.
28148         * modules/imaxabs (Makefile.am): Likewise.
28149         * modules/imaxdiv (Makefile.am): Likewise.
28150         * modules/inet_ntop (Makefile.am): Likewise.
28151         * modules/inet_pton (Makefile.am): Likewise.
28152         * modules/inttostr (Makefile.am): Likewise.
28153         * modules/isapipe (Makefile.am): Likewise.
28154         * modules/lchown (Makefile.am): Likewise.
28155         * modules/long-options (Makefile.am): Likewise.
28156         * modules/lstat (Makefile.am): Likewise.
28157         * modules/malloc (Makefile.am): Likewise.
28158         * modules/mathl (Makefile.am): Likewise.
28159         * modules/mbchar (Makefile.am): Likewise.
28160         * modules/md2 (Makefile.am): Likewise.
28161         * modules/md4 (Makefile.am): Likewise.
28162         * modules/md5 (Makefile.am): Likewise.
28163         * modules/memcasecmp (Makefile.am): Likewise.
28164         * modules/memchr (Makefile.am): Likewise.
28165         * modules/memcmp (Makefile.am): Likewise.
28166         * modules/memcoll (Makefile.am): Likewise.
28167         * modules/memcpy (Makefile.am): Likewise.
28168         * modules/memmem (Makefile.am): Likewise.
28169         * modules/memmove (Makefile.am): Likewise.
28170         * modules/mempcpy (Makefile.am): Likewise.
28171         * modules/memrchr (Makefile.am): Likewise.
28172         * modules/memset (Makefile.am): Likewise.
28173         * modules/memxor (Makefile.am): Likewise.
28174         * modules/mkancesdirs (Makefile.am): Likewise.
28175         * modules/mkdir (Makefile.am): Likewise.
28176         * modules/mkdir-p (Makefile.am): Likewise.
28177         * modules/mkdtemp (Makefile.am): Likewise.
28178         * modules/mkstemp (Makefile.am): Likewise.
28179         * modules/mktime (Makefile.am): Likewise.
28180         * modules/modechange (Makefile.am): Likewise.
28181         * modules/mountlist (Makefile.am): Likewise.
28182         * modules/nanosleep (Makefile.am): Likewise.
28183         * modules/openat (Makefile.am): Likewise.
28184         * modules/pagealign_alloc (Makefile.am): Likewise.
28185         * modules/physmem (Makefile.am): Likewise.
28186         * modules/poll (Makefile.am): Likewise.
28187         * modules/posixtm (Makefile.am): Likewise.
28188         * modules/posixver (Makefile.am): Likewise.
28189         * modules/putenv (Makefile.am): Likewise.
28190         * modules/quote (Makefile.am): Likewise.
28191         * modules/quotearg (Makefile.am): Likewise.
28192         * modules/raise (Makefile.am): Likewise.
28193         * modules/read-file (Makefile.am): Likewise.
28194         * modules/readline (Makefile.am): Likewise.
28195         * modules/readlink (Makefile.am): Likewise.
28196         * modules/readtokens (Makefile.am): Likewise.
28197         * modules/readutmp (Makefile.am): Likewise.
28198         * modules/realloc (Makefile.am): Likewise.
28199         * modules/regex (Makefile.am): Likewise.
28200         * modules/rename (Makefile.am): Likewise.
28201         * modules/rename-dest-slash (Makefile.am): Likewise.
28202         * modules/rijndael (Makefile.am): Likewise.
28203         * modules/rmdir (Makefile.am): Likewise.
28204         * modules/rpmatch (Makefile.am): Likewise.
28205         * modules/safe-read (Makefile.am): Likewise.
28206         * modules/safe-write (Makefile.am): Likewise.
28207         * modules/same (Makefile.am): Likewise.
28208         * modules/save-cwd (Makefile.am): Likewise.
28209         * modules/savedir (Makefile.am): Likewise.
28210         * modules/setenv (Makefile.am): Likewise.
28211         * modules/settime (Makefile.am): Likewise.
28212         * modules/sha1 (Makefile.am): Likewise.
28213         * modules/sig2str (Makefile.am): Likewise.
28214         * modules/snprintf (Makefile.am): Likewise.
28215         * modules/stdlib-safer (Makefile.am): Likewise.
28216         * modules/stpcpy (Makefile.am): Likewise.
28217         * modules/stpncpy (Makefile.am): Likewise.
28218         * modules/strcase (Makefile.am): Likewise.
28219         * modules/strcasestr (Makefile.am): Likewise.
28220         * modules/strchrnul (Makefile.am): Likewise.
28221         * modules/strcspn (Makefile.am): Likewise.
28222         * modules/strdup (Makefile.am): Likewise.
28223         * modules/strerror (Makefile.am): Likewise.
28224         * modules/strftime (Makefile.am): Likewise.
28225         * modules/strndup (Makefile.am): Likewise.
28226         * modules/strnlen (Makefile.am): Likewise.
28227         * modules/strpbrk (Makefile.am): Likewise.
28228         * modules/strsep (Makefile.am): Likewise.
28229         * modules/strstr (Makefile.am): Likewise.
28230         * modules/strtod (Makefile.am): Likewise.
28231         * modules/strtoimax (Makefile.am): Likewise.
28232         * modules/strtok_r (Makefile.am): Likewise.
28233         * modules/strtol (Makefile.am): Likewise.
28234         * modules/strtoll (Makefile.am): Likewise.
28235         * modules/strtoul (Makefile.am): Likewise.
28236         * modules/strtoull (Makefile.am): Likewise.
28237         * modules/strtoumax (Makefile.am): Likewise.
28238         * modules/strverscmp (Makefile.am): Likewise.
28239         * modules/time_r (Makefile.am): Likewise.
28240         * modules/timegm (Makefile.am): Likewise.
28241         * modules/tmpfile-safer (Makefile.am): Likewise.
28242         * modules/unistd-safer (Makefile.am): Likewise.
28243         * modules/unlinkdir (Makefile.am): Likewise.
28244         * modules/userspec (Makefile.am): Likewise.
28245         * modules/utime (Makefile.am): Likewise.
28246         * modules/utimecmp (Makefile.am): Likewise.
28247         * modules/utimens (Makefile.am): Likewise.
28248         * modules/vasnprintf (Makefile.am): Likewise.
28249         * modules/vasprintf (Makefile.am): Likewise.
28250         * modules/vsnprintf (Makefile.am): Likewise.
28251         * modules/xalloc (Makefile.am): Likewise.
28252         * modules/xgetcwd (Makefile.am): Likewise.
28253         * modules/xnanosleep (Makefile.am): Likewise.
28254         * modules/xreadlink (Makefile.am): Likewise.
28255         * modules/xstrtod (Makefile.am): Likewise.
28256         * modules/xstrtol (Makefile.am): Likewise.
28257         * modules/xstrtold (Makefile.am): Likewise.
28258         * modules/yesno (Makefile.am): Likewise.
28259
28260 2006-10-12  Jim Meyering  <jim@meyering.net>
28261
28262         * m4/getloadavg.m4: Revert the change below.
28263
28264         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
28265         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
28266         fail with a symlink, which is what coreutils' ./bootstrap now
28267         creates by default.
28268
28269 2006-10-12  Bruno Haible  <bruno@clisp.org>
28270
28271         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
28272         mingw.
28273         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
28274         MSVC and mingw explicitly.
28275
28276 2006-10-11  Simon Josefsson  <jas@extundo.com>
28277             Bruno Haible  <bruno@clisp.org>
28278
28279         Add support for multiple gnulib-tool invocations in the scope of a
28280         single configure.ac file.
28281         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
28282         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
28283         with the same contents as the _LIBADD variable.
28284         (func_emit_initmacro_start, func_emit_initmacro_end,
28285         func_emit_initmacro_done): New functions.
28286         (func_import, func_create_testdir): Invoke them. Allow the identifiers
28287         gl_LIBOBJS and gl_LTLIBOBJS.
28288
28289 2006-10-11  Bruno Haible  <bruno@clisp.org>
28290
28291         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
28292         (func_create_testdir): Don't create po/Makefile.am, don't invoke
28293         autoreconf. Instead, invoke autopoint explicitly but move back the
28294         *.m4 files from gnulib.
28295
28296 2006-10-11  Bruno Haible  <bruno@clisp.org>
28297
28298         * gnulib-tool (func_usage): Make module names after --create-testdir
28299         optional.
28300         (func_create_testdir): If no module was specified, use nearly all
28301         modules.
28302
28303 2006-10-12  Jim Meyering  <jim@meyering.net>
28304
28305         Big performance improvement for fts-based tools that use FTS_NOSTAT.
28306         Avoid spurious inode-mismatch problems on non-POSIX file systems.
28307         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
28308         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
28309         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
28310         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
28311         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
28312         (fts_set_stat_required): New function.
28313         (fts_open): Defer the calls to fts_stat, if possible or requested.
28314         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
28315         into fts_stat itself.
28316         (fts_read): Perform any required (deferred) fts_stat call.
28317         (fts_build): Likewise, for the directory we're about to open and read.
28318         In the readdir loop, carefully decide whether each entry will require
28319         an eventual call to fts_stat, using dirent.d_type info if available.
28320         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
28321         a command line argument into this function.  Update all callers.
28322         Map a return value of FTS_DOT to FTS_D for a command line argument.
28323         * modules/fts (Depends-on): Add d-type.  Alphabetize.
28324         Thanks to Miklos Szeredi for his tenacity and for the initial
28325         bug report about "find" failing on a FUSE-based file system.
28326
28327         * lib/fts.c (fts_open): Use consistent indentation.
28328
28329 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
28330
28331         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
28332         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
28333         reported by Jim Meyering.  All uses of cache variables renamed
28334         to match Autoconf's.
28335         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
28336         the other one.
28337
28338         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
28339         Fix misspelling in diagnostic.
28340
28341 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
28342
28343         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
28344         defined.  Problem reported by Matthew Woehlke.
28345
28346         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
28347         Add support for Tandem NonStop R series.
28348         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
28349         Use new macro.
28350
28351         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
28352         (has_trailing_slash): Omit size arg; all callers changed.
28353         Omit 'inline', since it doesn't help performance and we'd
28354         need to configure it.
28355         Don't count //, ///, etc. as having a trailing slash.
28356         As a side effect, this removes a C99ism reported by Matthew Woehlke.
28357         (rpl_rename_dest_slash): On failure, use rename's errno rather
28358         than (in some cases) an incorrect or junk errno.
28359         Simplify code by removing need to compute length; this does
28360         cause it to make two passes instead of one over the file name,
28361         but it's worth it.
28362
28363         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
28364         change, since Autoconf's version may no longer be appropriate now
28365         that we are using CVS Autoconf's version.  Add support for Tandem.
28366
28367 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
28368             Bruno Haible  <bruno@clisp.org>
28369
28370         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
28371         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
28372         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
28373         gl_AC_TYPE_LONG_LONG.
28374
28375         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
28376         instead of HAVE_LONG_LONG.
28377         * lib/printf-args.c (printf_fetchargs): Likewise.
28378         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
28379         * lib/vasnprintf.c (VASNPRINTF): Likewise.
28380         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
28381         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
28382         gl_AC_TYPE_LONG_LONG.
28383
28384 2006-10-11  Bruno Haible  <bruno@clisp.org>
28385
28386         * m4/longlong.m4: Add comments.
28387         * m4/ulonglong.m4: Likewise.
28388
28389 2006-10-10  Bruno Haible  <bruno@clisp.org>
28390
28391         Make it possible to #define stpcpy, strdup to aliases.
28392         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
28393         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
28394
28395 2006-10-10  Bruno Haible  <bruno@clisp.org>
28396
28397         Make it possible to #define gcd to an alias.
28398         * lib/gcd.c: Include config.h.
28399
28400 2006-10-10  Bruno Haible  <bruno@clisp.org>
28401
28402         Make it possible to #define c_isascii to an alias.
28403         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
28404         defined. Undefine the macros before defining them, to avoid gcc
28405         warnings.
28406         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
28407         define NO_C_CTYPE_MACROS early.
28408
28409 2006-10-10  Bruno Haible  <bruno@clisp.org>
28410
28411         Make it possible to #define set_program_name to an alias.
28412         * lib/progname.c: Don't undefine set_program_name; instead, undefine
28413         ENABLE_RELOCATABLE early.
28414
28415 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
28416
28417         Port to Tandem NSK OSS, which has 64-bit signed int but at most
28418         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
28419         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
28420         More generally, don't assume that 64-bit signed int is available
28421         if unsigned int is, and vice versa.
28422         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
28423         unsigned symbols, not on their signed counterparts.
28424         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
28425         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
28426         (UINT64_C, UINTMAX_C):
28427         Likewise.
28428         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
28429         unsigned counterparts.
28430         (Have_long_long, Unsigned): New macros.
28431         (Int): Renamed from INT.
28432         (strtoimax): Use the new macros.
28433         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
28434         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
28435         * modules/inttypes (inttypes.h): Substitute
28436         HAVE_UNSIGNED_LONG_LONG_INT.
28437         * modules/stdint (stdint.h): Likewise.
28438         (Files): Add m4/ulonglong.m4.
28439
28440 2006-10-10  Bruno Haible  <bruno@clisp.org>
28441
28442         Fix a gcc -Wshadow warning.
28443         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
28444         to 'bucket'.
28445         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
28446         gl_linked_indexof_from_to): Likewise.
28447         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
28448         Likewise.
28449         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
28450         Likewise.
28451         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
28452         Reported by Eric Blake.
28453
28454 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
28455
28456         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
28457         for NetBSD.  Problem reported by Bruno Haible.
28458
28459 2006-10-09  Jim Meyering  <jim@meyering.net>
28460
28461         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
28462         Patch from Bruno Haible.
28463
28464 2006-10-09  Jim Meyering  <jim@meyering.net>
28465
28466         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
28467         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
28468         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
28469
28470 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
28471
28472         Don't include <config.h> twice; this doesn't work in some cases,
28473         e.g., when config.h has "#define intmax_t long long int" and
28474         we include <config.h>, <inttypes.h>, <config.h> in that order.
28475         Problem reported by Matthew Woehlke in:
28476         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
28477         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
28478         * lib/fts-cycle.c: Don't include config.h.
28479         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
28480         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
28481         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
28482         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
28483         inttypes.h.
28484         * lib/xstrtoumax.c: Likewise.
28485         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
28486         __strtol and the like, so that this module is more like its siblings.
28487         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
28488         Remove; no longer needed now that we assume gnulib inttypes.h.
28489
28490 2006-10-08  Bruno Haible  <bruno@clisp.org>
28491
28492         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
28493         option.
28494
28495 2006-10-07  Jim Meyering  <jim@meyering.net>
28496
28497         * modules/inttypes (inttypes.h): Revert what seems to have been
28498         an inadvertent part of today's change: use "|", not "/" in the
28499         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
28500
28501 2006-10-07  Bruno Haible  <bruno@clisp.org>
28502
28503         * modules/sublist: New file.
28504
28505 2006-10-07  Bruno Haible  <bruno@clisp.org>
28506
28507         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
28508         * modules/argz (argz.h): Likewise.
28509         * modules/arpa_inet (arpa/inet.h): Likewise.
28510         * modules/byteswap (byteswap.h): Likewise.
28511         * modules/configmake (configmake.h): Likewise.
28512         * modules/fcntl (fcntl.h): Likewise.
28513         * modules/fnmatch (fnmatch.h): Likewise.
28514         * modules/getopt (getopt.h): Likewise.
28515         * modules/glob (glob.h): Likewise.
28516         * modules/inttypes (inttypes.h): Likewise.
28517         * modules/netinet_in (netinet/in.h): Likewise.
28518         * modules/poll (poll.h): Likewise.
28519         * modules/stdbool (stdbool.h): Likewise.
28520         * modules/stdint (stdint.h): Likewise.
28521         * modules/sys_select (sys/select.h): Likewise.
28522         * modules/sys_socket (sys/socket.h): Likewise.
28523         * modules/sys_stat (sys/stat.h): Likewise.
28524         * modules/sysexits (sysexits.h): Likewise.
28525         * modules/unistd (unistd.h): Likewise.
28526         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
28527         Add a "DO NOT EDIT" comment to the generated file.
28528         (func_import): Likewise for gnulib-comp.m4.
28529
28530 2006-10-07  Bruno Haible  <bruno@clisp.org>
28531
28532         * lib/gl_sublist.h: New file.
28533         * lib/gl_sublist.c: New file.
28534
28535 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
28536
28537         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
28538         name (relative to the original working directory) and the file
28539         name component (relative to the temporary working directory).  All
28540         callers changed.
28541         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
28542         * lib/mkdir-p.c (make_dir_parents): Likewise.
28543         * lib/mkdir-p.h (make_dir_parents): Likewise.
28544
28545 2006-10-06  Eric Blake  <ebb9@byu.net>
28546
28547         Define several macros for use by the clean-temp module.
28548         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
28549         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
28550         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
28551
28552         * lib/clean-temp.h (close_stream_temp): New declaration.
28553         * lib/clean-temp.c (includes): Pull in headers according to what
28554         other modules are in use.
28555         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
28556
28557 2006-10-06  Bruno Haible  <bruno@clisp.org>
28558
28559         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
28560         instead of fopen, fwriteerror.
28561
28562 2006-10-06  Bruno Haible  <bruno@clisp.org>
28563
28564         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
28565         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
28566         int.
28567         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
28568         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
28569         Return an error indicator.
28570         Suggested by Eric Blake.
28571
28572 2006-10-06  Bruno Haible  <bruno@clisp.org>
28573
28574         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
28575         Reported by Eric Blake.
28576
28577 2006-10-06  Bruno Haible  <bruno@clisp.org>
28578
28579         * modules/closeout (Description): Mention stderr too.
28580
28581 2006-10-06  Bruno Haible  <bruno@clisp.org>
28582         and Paul Eggert  <eggert@cs.ucla.edu>
28583
28584         * lib/closeout.c (close_stdout): Also close stderr.
28585         * lib/closeout.h: Update comment.
28586
28587 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
28588
28589         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
28590         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
28591         * lib/dirchownmod.c: Include lchown.h.
28592         * lib/lchown.c: Don't include files that lchown.h now includes.
28593         Don't declare chown, since lchown.h now does that.
28594         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
28595         (lchown): Define to rpl_chown if lchown is declared but
28596         does not exist.  Declare using a prototype if lchown is not
28597         declared.  Add a copyright notice.
28598         * lib/mkstemp.h: Include <unistd.h>.
28599         * lib/openat.c: Include lchown.h.
28600
28601         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
28602         we now test for that separately.
28603         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
28604         rather than O_NOFOLLOW, when testing whether it's possible to
28605         avoid a race condition reliably.
28606         * lib/savewd.c (savewd_chdir): Likewise.
28607
28608         Remove macros that are no longer needed now that stdint.h is
28609         reliable.
28610         * lib/fsusage.c (UINTMAX_MAX): Remove.
28611         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
28612         * lib/utimecmp.c (SIZE_MAX): Remove.
28613
28614         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
28615
28616         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
28617         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
28618         O_NOATIME works.
28619
28620 2006-10-05  Bruno Haible  <bruno@clisp.org>
28621
28622         * lib/gl_list.h (gl_sortedlist_search_from_to,
28623         gl_sortedlist_indexof_from_to): New declarations.
28624         (gl_list_implementation): New fields sortedlist_search_from_to,
28625         sortedlist_indexof_from_to.
28626         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
28627         inline functions.
28628         * lib/gl_list.c (gl_sortedlist_search_from_to,
28629         gl_sortedlist_indexof_from_to): New functions.
28630         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
28631         function.
28632         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
28633         (gl_array_sortedlist_search_from_to): New function.
28634         (gl_array_list_implementation): Update.
28635         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
28636         function.
28637         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
28638         (gl_carray_sortedlist_search_from_to): New function.
28639         (gl_carray_list_implementation): Update.
28640         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
28641         gl_linked_sortedlist_indexof_from_to): New functions.
28642         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
28643         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
28644         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
28645         gl_tree_sortedlist_indexof_from_to): New functions.
28646         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
28647         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
28648         Update.
28649         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
28650         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
28651         Update.
28652
28653 2006-10-05  Bruno Haible  <bruno@clisp.org>
28654
28655         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
28656         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
28657         (struct gl_list_implementation): Add fields search_from_to,
28658         indexof_from_to. Remove fields search, indexof.
28659         (gl_list_search): Use the search_from_to method.
28660         (gl_list_search_from, gl_list_search_from_to): New functions.
28661         (gl_list_indexof): Use the indexof_from_to method.
28662         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
28663         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
28664         (gl_list_search_from, gl_list_search_from_to): New functions.
28665         (gl_list_indexof): Use the indexof_from_to method.
28666         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
28667         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
28668         gl_array_indexof. Add start_index, end_index arguments.
28669         (gl_array_search_from_to): Renamed from gl_array_search. Add
28670         start_index, end_index arguments.
28671         (gl_array_remove, gl_array_list_implementation): Update.
28672         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
28673         gl_carray_indexof. Add start_index, end_index arguments.
28674         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
28675         start_index, end_index arguments.
28676         (gl_carray_remove, gl_carray_list_implementation): Update.
28677         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
28678         gl_linked_search. Add start_index, end_index arguments.
28679         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
28680         start_index, end_index arguments.
28681         (gl_linked_remove): Update.
28682         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
28683         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
28684         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
28685         field to 'size_t'.
28686         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
28687         gl_tree_search. Add start_index, end_index arguments.
28688         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
28689         start_index, end_index arguments.
28690         (gl_tree_remove): Update.
28691         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
28692         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
28693         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
28694         function.
28695         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
28696         gl_tree_search. Add start_index, end_index arguments.
28697         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
28698         start_index, end_index arguments.
28699         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
28700         Update.
28701         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
28702
28703 2006-10-05  Bruno Haible  <bruno@clisp.org>
28704
28705         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
28706
28707         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
28708         fwriteerror_temp): New declarations.
28709         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
28710         (descriptors): New variable.
28711         (cleanup): First, close the descriptors.
28712         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
28713         fclose_temp, fwriteerror_temp): New functions.
28714
28715 2006-10-04  Jim Meyering  <jim@meyering.net>
28716
28717         * lib/fts.c (fts_open): Tiny comment change.
28718
28719 2006-10-04  Bruno Haible  <bruno@clisp.org>
28720
28721         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
28722         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
28723         gl_LOCK_BODY.
28724         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
28725         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
28726         gl_LOCK_EARLY_BODY.
28727         (gl_LOCK): Require gl_LOCK_BODY.
28728
28729 2006-10-04  Bruno Haible  <bruno@clisp.org>
28730
28731         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
28732         (gl_oset_search_atleast): New declaration.
28733         (struct gl_oset_implementation): Add field 'search_atleast'.
28734         (gl_oset_search_atleast): New inline function.
28735         * lib/gl_oset.c (gl_oset_search_atleast): New function.
28736         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
28737         (gl_array_oset_implementation): Update.
28738         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
28739         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
28740         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
28741
28742 2006-10-04  Bruno Haible  <bruno@clisp.org>
28743
28744         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
28745
28746 2006-10-03  Bruno Haible  <bruno@clisp.org>
28747
28748         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
28749         from gl_avltreehash_list_implementation.
28750
28751 2006-10-03  Bruno Haible  <bruno@clisp.org>
28752
28753         * lib/gl_oset.c (gl_oset_add): Fix return type.
28754
28755 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
28756
28757         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
28758
28759 2006-10-02  Eric Blake  <ebb9@byu.net>
28760
28761         * modules/strnlen (Depends-on): Add extensions.
28762
28763 2006-10-02  Eric Blake  <ebb9@byu.net>
28764
28765         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
28766         definition in 2.60+.
28767
28768 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
28769
28770         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
28771         checks.
28772
28773 2006-10-02  Bruno Haible  <bruno@clisp.org>
28774
28775         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
28776         to the AUTOMAKE_OPTIONS.
28777         Reported by Jim Meyering.
28778
28779 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
28780
28781         Work around bug in Solaris 10 /proc file system:
28782         /proc/self/fd/NNN/.. isn't the parent directory of
28783         the directory whose file descriptor is NNN.  This needs to
28784         be worked around at run time, not compile time, since a
28785         program might be built on Solaris 8, where things work, and
28786         run on Solaris 10.
28787         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
28788         to use the following interface instead:
28789         (OPENAT_BUFFER_SIZE): New macro.
28790         (openat_proc_name): New function.
28791         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
28792         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
28793         Likewise.
28794         * lib/openat-proc.c: New file.
28795         * modules/openat (Files): Add lib/openat-proc.c.
28796         (Depends-on): Add same-inode, stdbool.
28797         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
28798
28799 2006-09-29  Bruno Haible  <bruno@clisp.org>
28800
28801         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
28802         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
28803         argument. Set stdout_closed before testing for ferror, not after.
28804         (fwriteerror, fwriteerror_no_ebadf): New functions.
28805
28806 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28807
28808         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
28809
28810 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
28811
28812         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
28813         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
28814
28815 2006-09-28  Jim Meyering  <jim@meyering.net>
28816
28817         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
28818         Include <unistd.h>.
28819
28820 2006-09-28  Bruno Haible  <bruno@clisp.org>
28821
28822         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
28823         * modules/linkedhash-list (Depends-on): Likewise.
28824         * modules/rbtreehash-list (Depends-on): Likewise.
28825
28826 2006-09-28  Bruno Haible  <bruno@clisp.org>
28827
28828         * lib/strndup.h: Simplify the redefinition of strndup.
28829         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
28830         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
28831
28832 2006-09-28  Bruno Haible  <bruno@clisp.org>
28833
28834         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
28835         * lib/gl_linkedhash_list.c: Likewise.
28836         * lib/gl_rbtreehash_list.c: Likewise.
28837
28838 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
28839
28840         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
28841         getaddrinfo.
28842
28843         * lib/__fpending.h: Don't include <stdio_ext.h> unless
28844         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
28845         it causes <stdio_ext.h> to cause a compile-time error.
28846         Problem reported by Nelson H. F. Beebe.
28847         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
28848         of HAVE_DECL___PENDING.
28849
28850         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
28851         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
28852         declaration.
28853
28854 2006-09-27  Jim Meyering  <jim@meyering.net>
28855
28856         This file could end up with a definition for a function
28857         named __strndup, rather than rpl_strndup on a system with
28858         incomplete weak_alias support.
28859         * lib/strndup.c (strndup): Rename from __strndup.
28860         Remove #defines that used to map __strndup to strndup.
28861         Don't use K&R prototypes.
28862         Remove LIBC-related code, since this file is not sync'd with glibc.
28863         * lib/strndup.h: Revamp, accordingly.
28864         * m4/strndup.m4: Modernize.
28865
28866 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
28867
28868         * modules/savewd (Depends-on): Add 'raise'.
28869         * lib/savewd.c: Include <signal.h>, for 'raise'.
28870
28871 2006-09-26  Jim Meyering  <jim@meyering.net>
28872
28873         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
28874         when we detect Darwin 8.7.0's acl_get_file bug.
28875         Rearrange to perform the new (below) run-test while $LIBS
28876         contains any acl-related library.  Set USE_ACL at the end.
28877         (gl_ACL_GET_FILE): New function.
28878
28879 2006-09-26  Eric Blake  <ebb9@byu.net>
28880
28881         * lib/verror.c: Include <config.h> unconditionally.
28882
28883 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
28884
28885         * modules/clock-time (Maintainer): Add self.
28886         * modules/getlogin_r (Depends-on): Add extensions.
28887
28888 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28889
28890         * modules/clock-time: New module.
28891         * modules/nanosleep (Depends-on): Add clock-time.
28892         * modules/gethrxtime (Depends-on): Likewise.
28893         * modules/gettime (Depends-on): Likewise.
28894         * modules/settime (Depends-on): Likewise.
28895
28896         * modules/fts-lgpl: Depend on openat.
28897         * modules/mkancesdirs: Depend on savewd.
28898         * modules/mkdir-p: Likewise.
28899
28900 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28901
28902         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
28903
28904         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
28905         `gl_have_arbitrary_file_name_length_limit' to
28906         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
28907         actually works between configure runs.
28908
28909 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28910             Bruno Haible  <bruno@clisp.org>
28911
28912         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
28913
28914 2006-09-25  Jim Meyering  <jim@meyering.net>
28915
28916         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
28917         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
28918
28919 2006-09-25  Eric Blake  <ebb9@byu.net>
28920
28921         * gnulib-tool (func_import, func_create_testdir): Fix typos in
28922         exec's in 2006-09-18 patch when shuffling fds.
28923
28924 2006-09-25  Bruno Haible  <bruno@clisp.org>
28925
28926         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
28927         Reported by Jim Meyering.
28928
28929 2006-09-24  Jim Meyering  <jim@meyering.net>
28930
28931         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
28932         compare a pointer against a literal "0".  That caused failures with
28933         at least HP-UX's hpcc.
28934
28935 2006-09-22  Simon Josefsson  <jas@extundo.com>
28936
28937         * modules/gc-sha1:
28938         * modules/gc-md4:
28939         * modules/gc-hmac-sha1:
28940         * modules/gc-hmac-md5:
28941         * modules/gc-des:
28942         * modules/gc-arcfour: Distribute more files.
28943
28944 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28945
28946         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
28947         (gl_linked_iterator_from_to): Initialize struct completely.
28948         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
28949         (gl_tree_iterator_from_to): Likewise
28950         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
28951         * lib/gl_array_list.c [lint] (gl_array_iterator)
28952         (gl_array_iterator_from_to): Likewise.
28953         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
28954         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
28955         (gl_carray_iterator_from_to): Likewise.
28956
28957         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
28958         * lib/md4.c (md4_process_block): Remove unused variable.
28959         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
28960         parentheses for clarity.
28961
28962 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28963
28964         * modules/bison-i18n (Depends-on): Add gettext.
28965
28966 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28967
28968         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
28969         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
28970         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
28971         also add missing comma that caused broken test.
28972         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
28973         stdlib.h, for `abort'.
28974         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
28975         variables.
28976         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
28977         include unistd.h if present, for `rmdir'.
28978         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
28979         variables.
28980         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
28981         in the process include standard headers for prototypes.
28982         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
28983         gets declared on GNU/Linux.
28984         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
28985         unistd.h, for `rmdir'.
28986         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
28987
28988         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
28989         always true.
28990         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
28991
28992         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
28993
28994 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28995
28996         * gnulib-tool (func_version): Create output all at once.  This
28997         may help avoid triggering unnecessary SIGPIPEs, and at any
28998         rate it doesn't hurt.
28999
29000 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29001             Bruno Haible  <bruno@clisp.org>
29002
29003         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
29004         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
29005         * m4/signed.m4 (bh_C_SIGNED): Likewise.
29006
29007         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
29008         (gl_FUNC_VASPRINTF): Invoke it.
29009
29010 2006-09-22  Bruno Haible  <bruno@clisp.org>
29011
29012         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
29013         getloadavg.c as first argument.
29014
29015 2006-09-22  Bruno Haible  <bruno@clisp.org>
29016
29017         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
29018         at the beginning of the gl_INIT macro.
29019         * modules/getloadavg (configure.ac): Pass $gl_source_base to
29020         gl_GETLOADAVG.
29021
29022 2006-09-22  Bruno Haible  <bruno@clisp.org>
29023
29024         * gnulib-tool (func_create_megatestdir): Don't include the config-h
29025         module.
29026         Suggested by Ralf Wildenhues.
29027
29028 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
29029
29030         Import this patch from libc:
29031
29032         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
29033
29034         * lib/regex_internal.c (re_string_reconstruct): Handle
29035         offset < pstr->valid_raw_len && pstr->offsets_needed case.
29036         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
29037         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
29038         re_string_context_at.
29039
29040         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
29041         now requires it.
29042         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
29043         gl_REGEX now does it for us.
29044         (gl_REGEX): Add test taken from
29045         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
29046
29047         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
29048         Check that large offsets work.  Modernize Autoconf usages.
29049         Prefer "yes" to mean a good thing rather than a bad.
29050         Don't put "#define mkstemp" in config.h, as this might interfere
29051         with standard system headers that "#define mkstemp mkstemp64".
29052
29053         * modules/mkstemp (Depends-on): Add extensions, so that
29054         mkstemp is visible on some platforms.
29055         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
29056         (Include): Change to "mkstemp.h" from <stdlib.h>.
29057         (Files): Add mkstemp.h.
29058
29059         * lib/mkstemp.h: New file, since some standard headers
29060         #define mkstemp.
29061         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
29062         Include "mkstemp.h".
29063         Make the _LIBC code resemble glibc original more,
29064         e.g., use K&R style.
29065         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
29066         (mkstemp): Remove, since mkstemp.h does this for us.
29067         * lib/stdlib--.h: Include mkstemp.h.
29068
29069         Import this patch from libc:
29070
29071         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
29072
29073         * lib/tempname.c (__gen_tempname): Change attempts_min
29074         into a macro.  Use preprocessor to decide how to initialize
29075         attempts [Coverity CID 67].
29076
29077 2006-09-20  Bruno Haible  <bruno@clisp.org>
29078
29079         * lib/mkdtemp.c: Import from libc.
29080         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
29081                 * sysdeps/posix/tempname.c (__gen_tempname): Change
29082                 attempts_min into a macro.  Use preprocessor to decide how to
29083                 initialize attempts [Coverity CID 67].
29084         2001-11-27  Paul Eggert  <eggert@twinsun.com>
29085                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
29086                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
29087
29088 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29089
29090         * gnulib-tool (func_exit): New function, to allow to pass the
29091         exit status portably through the trap.  Use everywhere.
29092         (--help, --version): Signal a write error.
29093         (trap): catch SIGPIPE, for write errors.
29094         Exit at the end of the trap, with the correct exit status.
29095
29096 2006-09-19  Karl Berry  <karl@gnu.org>
29097
29098         * doc/gnulib.texi: note about the license texinfo files.
29099
29100 2006-09-19  Eric Blake  <ebb9@byu.net>
29101
29102         * gnulib-tool: Avoid space-tab.
29103
29104 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
29105
29106         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
29107         that prevented coreutils 6.1 from building.  Problem reported
29108         by Petter Reinholdtsen.
29109
29110 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
29111
29112         * gnulib-tool (avoidlist): Fix typo that broke options like
29113         --avoid=lock that are used by coreutils bootstrap.
29114
29115 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
29116
29117         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
29118         more systematically.
29119
29120 2006-09-18  Jim Meyering  <jim@meyering.net>
29121
29122         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
29123
29124 2006-09-18  Bruno Haible  <bruno@clisp.org>
29125
29126         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
29127
29128 2006-09-18  Bruno Haible  <bruno@clisp.org>
29129
29130         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
29131         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
29132         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
29133         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
29134         * m4/gettext.m4: Require autoconf >= 2.52.
29135         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
29136         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
29137         of gl_cv_header_inttypes_h.
29138
29139 2006-09-18  Bruno Haible  <bruno@clisp.org>
29140
29141         * lib/javaversion.c: Include configmake.h.
29142
29143 2006-09-18  Bruno Haible  <bruno@clisp.org>
29144
29145         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
29146         avoid that the while loops be executed in a subshell.
29147
29148 2006-09-18  Bruno Haible  <bruno@clisp.org>
29149
29150         * MODULES.html.sh (func_module): Break long lines.
29151         Suggested by Bruce Korb <bkorb@gnu.org>.
29152
29153 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29154
29155         Speed up by a factor of 1.12.
29156         * gnulib-tool (nl): New variable.
29157         (func_import): Rewrite include directive extraction to only read each
29158         directive once.
29159
29160 2006-09-17  Bruno Haible  <bruno@clisp.org>
29161
29162         * modules/javaversion (Makefile.am): Remove DEFS setting.
29163         (Depends-on): Add configmake, for PKGDATADIR definition.
29164
29165 2006-09-17  Bruno Haible  <bruno@clisp.org>
29166
29167         * gnulib-tool (func_create_testdir): Rewrite all files at once.
29168
29169 2006-09-17  Bruno Haible  <bruno@clisp.org>
29170
29171         * gnulib-tool (func_append): New function, stolen from libtool.m4.
29172         (func_modules_transitive_closure, func_modules_add_dummy,
29173         func_modules_to_filelist, func_import, func_create_testdir,
29174         func_create_megatestdir, ...): Use it wherever possible.
29175         Suggested by Ralf Wildenhues.
29176
29177 2006-09-16  Karl Berry  <karl@gnu.org>
29178
29179         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
29180         to avoid sectioning errors.
29181         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
29182         [ifinfo]: blank line after @center-ed titles.
29183         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
29184         Spell FSF address consistently with others.
29185         (These changes approved by rms.)
29186
29187 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29188
29189         Speed up by a factor of 1.61.
29190         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
29191         already checked module names again.
29192
29193 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29194
29195         Speed up by a factor of 1.13.
29196         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
29197         for new_files, and the input to func_add_or_update.
29198
29199 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29200
29201         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
29202         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
29203
29204 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
29205
29206         * modules/mkancesdirs (Depends-on): Add fcntl.
29207         * modules/savewd: New file.
29208         * MODULES.html.sh (File system functions): Add savewd.
29209
29210         * modules/configmake (Makefile.am): Add support for the
29211         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
29212
29213 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
29214
29215         * m4/savewd.m4: New file.
29216
29217 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
29218
29219         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
29220         (dirchownmod): New arg FD.  All callers changed.
29221         Use FD rather than opening the directory ourself, as opening is
29222         now the caller's responsibility.
29223         * lib/dirchownmod.h: Likewise.
29224         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
29225         hosts that require <sys/types.h> before <sys/stat.h>.  Include
29226         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
29227         (test_dir): Remove.
29228         (mkancesdirs): Return length of prefix of FILE that has already
29229         been made, or -2 if there is a child doing the work.  Redo
29230         algorithm so that it is O(N) rather than O(N**2).  Optimize away
29231         ".", and treat ".." specially since it might stray back into
29232         already-created areas.  Use a subprocess if necessary.  New arg
29233         WD; all users changed.  MAKE_DIR function should now return 1
29234         if it creates a directory that is not readable.  Return -2 if
29235         a child process is spun off.
29236         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
29237         Adjust signature to match code.
29238         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
29239         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
29240         all users changed.
29241         * lib/savewd.c, lib/savewd.h: New files.
29242
29243 2006-09-15  Jim Meyering  <jim@meyering.net>
29244
29245         * modules/rename-dest-slash: New module.
29246         * MODULES.html.sh (posix_compat): Add it here.
29247
29248         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
29249
29250 2006-09-15  Jim Meyering  <jim@meyering.net>
29251
29252         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
29253         file.
29254
29255         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
29256
29257 2006-09-15  Jim Meyering  <jim@meyering.net>
29258
29259         * lib/rename-dest-slash.c (has_trailing_slash): Use
29260         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
29261         (rpl_rename_dest_slash): Perform the cheaper trailing slash
29262         test before testing whether SRC is a directory.
29263         Suggestions from Bruno Haible.
29264
29265         Avoid a warning about an unused variable.
29266         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
29267         into the #ifdef block where it's used.
29268
29269         * lib/rename-dest-slash.c: New file.
29270
29271 2006-09-14  Bruno Haible  <bruno@clisp.org>
29272
29273         * lib/allocsa.c: Include <config.h> unconditionally.
29274         * lib/asnprintf.c: Likewise.
29275         * lib/asprintf.c: Likewise.
29276         * lib/c-strcasecmp.c: Likewise.
29277         * lib/c-strcasestr.c: Likewise.
29278         * lib/c-strncasecmp.c: Likewise.
29279         * lib/c-strstr.c: Likewise.
29280         * lib/classpath.c: Likewise.
29281         * lib/clean-temp.c: Likewise.
29282         * lib/concatpath.c: Likewise.
29283         * lib/copy-file.c: Likewise.
29284         * lib/csharpcomp.c: Likewise.
29285         * lib/csharpexec.c: Likewise.
29286         * lib/execute.c: Likewise.
29287         * lib/fatal-signal.c: Likewise.
29288         * lib/findprog.c: Likewise.
29289         * lib/fwriteerror.c: Likewise.
29290         * lib/gl_array_list.c: Likewise.
29291         * lib/gl_array_oset.c: Likewise.
29292         * lib/gl_avltree_list.c: Likewise.
29293         * lib/gl_avltree_oset.c: Likewise.
29294         * lib/gl_avltreehash_list.c: Likewise.
29295         * lib/gl_carray_list.c: Likewise.
29296         * lib/gl_linked_list.c: Likewise.
29297         * lib/gl_linkedhash_list.c: Likewise.
29298         * lib/gl_list.c: Likewise.
29299         * lib/gl_oset.c: Likewise.
29300         * lib/gl_rbtree_list.c: Likewise.
29301         * lib/gl_rbtree_oset.c: Likewise.
29302         * lib/gl_rbtreehash_list.c: Likewise.
29303         * lib/imaxabs.c: Likewise.
29304         * lib/imaxdiv.c: Likewise.
29305         * lib/javacomp.c: Likewise.
29306         * lib/javaexec.c: Likewise.
29307         * lib/javaversion.c: Likewise.
29308         * lib/linebreak.c: Likewise.
29309         * lib/localcharset.c: Likewise.
29310         * lib/lock.c: Likewise.
29311         * lib/mbchar.c: Likewise.
29312         * lib/mbswidth.c: Likewise.
29313         * lib/mkdtemp.c: Likewise.
29314         * lib/pipe.c: Likewise.
29315         * lib/printf-args.c: Likewise.
29316         * lib/printf-parse.c: Likewise.
29317         * lib/progname.c: Likewise.
29318         * lib/progreloc.c: Likewise.
29319         * lib/readlink.c: Likewise.
29320         * lib/sh-quote.c: Likewise.
29321         * lib/stpcpy.c: Likewise.
29322         * lib/stpncpy.c: Likewise.
29323         * lib/strcasecmp.c: Likewise.
29324         * lib/strcasestr.c: Likewise.
29325         * lib/strcspn.c: Likewise.
29326         * lib/striconv.c: Likewise.
29327         * lib/strncasecmp.c: Likewise.
29328         * lib/strnlen1.c: Likewise.
29329         * lib/strstr.c: Likewise.
29330         * lib/strtok_r.c: Likewise.
29331         * lib/tls.c: Likewise.
29332         * lib/tmpdir.c: Likewise.
29333         * lib/unicodeio.c: Likewise.
29334         * lib/unsetenv.c: Likewise.
29335         * lib/vasnprintf.c: Likewise.
29336         * lib/vasprintf.c: Likewise.
29337         * lib/wait-process.c: Likewise.
29338         * lib/xallocsa.c: Likewise.
29339         * lib/xsetenv.c: Likewise.
29340         * lib/xstriconv.c: Likewise.
29341
29342 2006-09-13  Simon Josefsson  <jas@extundo.com>
29343
29344         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
29345         that internally, suggested by Ralf Wildenhues
29346         <Ralf.Wildenhues@gmx.de>.
29347
29348 2006-09-13  Simon Josefsson  <jas@extundo.com>
29349
29350         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
29351         @LIBOBJS@.
29352         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
29353
29354 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29355
29356         * lib/_fpending.c: Include <config.h> unconditionally, since we no
29357         longer worry about uses that don't define HAVE_CONFIG_H.
29358         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
29359         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
29360         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
29361         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
29362         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
29363         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
29364         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
29365         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
29366         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
29367         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
29368         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
29369         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
29370         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
29371         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
29372         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
29373         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
29374         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
29375         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
29376         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
29377         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
29378         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
29379         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
29380         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
29381         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
29382         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
29383         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
29384         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
29385         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
29386         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
29387         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
29388         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
29389         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
29390         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
29391         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
29392         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
29393         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
29394         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
29395         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
29396         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
29397         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
29398         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
29399         Likewise.
29400
29401 2006-09-13  Eric Blake  <ebb9@byu.net>
29402
29403         * lib/getopt.c: Fix typo in last commit.
29404
29405 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
29406
29407         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
29408         dgettext.
29409
29410 2006-09-12  Jim Meyering  <jim@meyering.net>
29411
29412         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
29413         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
29414         Reported by Nelson H. F. Beebe.
29415
29416 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
29417
29418         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
29419         program_invocation_name and program_invocation_short_name are
29420         initialized.
29421         * lib/argp-namefrob.h: Move declarations of program_invocation_name
29422         and program_invocation_short_name to argp.h, so they are visible
29423         to user programs.
29424         * lib/argp.h: Likewise
29425
29426 2006-09-10  Bruno Haible  <bruno@clisp.org>
29427
29428         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
29429         m4/inttypes_h.m4, m4/uintmax_t.m4.
29430
29431 2006-09-10  Bruno Haible  <bruno@clisp.org>
29432
29433         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
29434         gl_AC_TYPE_UINTMAX_T.
29435
29436 2006-09-10  Bruno Haible  <bruno@clisp.org>
29437
29438         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
29439
29440 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
29441
29442         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
29443         convention.  Text proposed by Bruno Haible.
29444         (struct argp_option): Document the use of N_() wrappers.
29445
29446         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
29447         '\v', and translate the two parts separately, instead of feeding
29448         the whole string to gettext.  This allows to exclude
29449         '\v' from the strings visible to the translator by writing doc
29450         strings as N_("..") "\v" N_("..").
29451
29452 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
29453
29454         * config/srclist.txt: Undo latest change; the bug was fixed.
29455
29456 2006-09-09  Bruno Haible  <bruno@clisp.org>
29457
29458         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
29459         assignments if building a library without libtool.
29460         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
29461         in func_emit_lib_Makefile_am.
29462         (func_import): When building a static library libfoo.a, arrange to
29463         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
29464         (func_create_testdir): Likewise.
29465         * modules/gc (configure.ac, Makefile.am): If building statically,
29466         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
29467         * modules/iconvme (configure.ac, Makefile.am): Likewise.
29468         * modules/striconv (configure.ac, Makefile.am): Likewise.
29469         Based on a suggestion by Ralf Wildenhues.
29470
29471 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
29472
29473         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
29474         Check for unistd.h too, since Autoconf doesn't assume POSIX.
29475         Also:
29476
29477         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
29478         Add year_2050_test to catch glibc bug 2821
29479         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
29480
29481         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
29482         Prefer #ifdef to #if.
29483
29484         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
29485         Return from 'main' instead of calling 'exit'.
29486
29487 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
29488
29489         * lib/mktime.c (guess_time_tm): Fix bug where mktime
29490         returned the maximum time_t value rather than (time_t) -1.
29491         Problem originally reported by William Bardwell
29492         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
29493
29494         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
29495         Moved to here ...
29496         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
29497         ... from here.
29498
29499 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
29500
29501         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
29502         2821 is fixed.
29503
29504 2006-09-08  Jim Meyering  <jim@meyering.net>
29505
29506         Don't make generated files read-only.  That would bother too many
29507         people.  However, do retain the ability to work when targets are
29508         read-only: remove the destination and temporary files before writing
29509         them (when generated via sed or echo), or by using the -f option for
29510         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
29511         * modules/alloca-opt, modules/argz, modules/arpa_inet:
29512         * modules/byteswap, modules/configmake, modules/fcntl:
29513         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
29514         * modules/localcharset, modules/netinet_in, modules/poll:
29515         * modules/stdbool, modules/stdint, modules/sys_select:
29516         * modules/sys_socket, modules/sys_stat, modules/sysexits:
29517
29518 2006-09-08  Jim Meyering  <jim@meyering.net>
29519
29520         Avoid new build failure on FreeBSD 6.0.
29521         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
29522         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
29523         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
29524
29525 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29526
29527         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
29528
29529 2006-09-07  Jim Meyering  <jim@meyering.net>
29530
29531         Fix global typo in last change: use chmod u-w, not chmod u-x.
29532         Spotted by Paul Eggert and Bruce Korb.
29533         * modules/alloca-opt, modules/argz, modules/arpa_inet:
29534         * modules/byteswap, modules/configmake, modules/fcntl:
29535         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
29536         * modules/localcharset, modules/netinet_in, modules/poll:
29537         * modules/stdbool, modules/stdint, modules/sys_select:
29538         * modules/sys_socket, modules/sys_stat, modules/sysexits:
29539
29540 2006-09-06  Jim Meyering  <jim@meyering.net>
29541
29542         Make generated files be read-only.
29543         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
29544         Ensure that each generated file is now read-only.
29545         * modules/argz: Likewise.
29546         * modules/arpa_inet: Likewise.
29547         * modules/byteswap: Likewise.
29548         * modules/configmake: Likewise.
29549         * modules/fcntl: Likewise.
29550         * modules/fnmatch: Likewise.
29551         * modules/getopt: Likewise.
29552         * modules/glob: Likewise.
29553         * modules/inttypes: Likewise.
29554         * modules/netinet_in: Likewise.
29555         * modules/poll: Likewise.
29556         * modules/stdbool: Likewise.
29557         * modules/stdint: Likewise.
29558         * modules/sys_select: Likewise.
29559         * modules/sys_socket: Likewise.
29560         * modules/sys_stat: Likewise.
29561         * modules/sysexits: Likewise.
29562         * modules/localcharset: Same as above, but continue using temporary
29563         file named "t-$@" (why different?) rather than the "$@-t" used
29564         everywhere else.
29565
29566         * modules/sysexits (Makefile.am): Replace literal occurrences
29567         of "sysexit.h" more readable, and more consistent, "$@".
29568
29569 2006-09-06  Bruno Haible  <bruno@clisp.org>
29570
29571         * modules/striconv: New file.
29572         * modules/xstriconv: New file.
29573         * MODULES.html.sh (Internationalization functions): Add striconv,
29574         xstriconv.
29575
29576 2006-09-06  Bruno Haible  <bruno@clisp.org>
29577
29578         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
29579         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
29580         not using libtool correctly.
29581
29582 2006-09-06  Bruno Haible  <bruno@clisp.org>
29583
29584         * lib/striconv.h: New file.
29585         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
29586         iconvstring.c.
29587         * lib/xstriconv.h: New file.
29588         * lib/xstriconv.c: New file.
29589
29590 2006-09-06  Bruno Haible  <bruno@clisp.org>
29591
29592         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
29593         lib_..._LDFLAGS.
29594
29595 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29596
29597         * lib/argz_.h: Sync from Libtool.
29598
29599         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
29600                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
29601
29602         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
29603
29604 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
29605
29606         * modules/trim: New file.
29607
29608 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
29609
29610         * lib/trim.h: New file.
29611         * lib/trim.c: New file.
29612
29613 2006-09-05  Bruno Haible  <bruno@clisp.org>
29614
29615         * MODULES.html.sh (String handling): Add trim.
29616
29617 2006-09-04  Karl Berry  <karl@gnu.org>
29618
29619         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
29620         until next release.
29621
29622 2006-09-03  Bruno Haible  <bruno@clisp.org>
29623
29624         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
29625         correctly.
29626
29627 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
29628
29629         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
29630         not gl_GETLOADAVG.  Omit unneeded semicolons.
29631         Problems reported by Ralf Wildenhues in
29632         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
29633         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
29634         at the end, which is the usual gnulib style.
29635
29636         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
29637         of doing all the work ourselves.
29638         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
29639         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
29640
29641 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
29642
29643         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
29644         Problem reported by Ralf Wildenhues in
29645         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
29646
29647         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
29648         HAVE_STRUCT_STATFS_F_FSTYPENAME.
29649
29650 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
29651
29652         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
29653         yesterday's patch by changing test -n to test -z.
29654
29655 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
29656
29657         * modules/getloadavg (Files): Add m4/getloadavg.m4.
29658         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
29659         the former is now obsolescent.
29660
29661         * modules/chdir-long (Depends-on): Add fcntl.
29662
29663 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
29664
29665         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
29666         obsolescent, and programs should use gnulib instead.
29667         * m4/getloadavg.m4: New file, with contents taken from Autoconf
29668         but with prefixes changed.
29669
29670 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
29671
29672         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
29673         or stdbool.h, because they might not exist while configuring.
29674
29675         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
29676         Don't include unistd.h or limits.h; not needed, since chdir-long.h
29677         does that for us.
29678         (O_DIRECTORY): Remove.
29679
29680 2006-08-31  Eric Blake  <ebb9@byu.net>
29681
29682         * gnulib-tool: Don't let emacs change spaces to TAB.
29683
29684 2006-08-31  Bruno Haible  <bruno@clisp.org>
29685
29686         * gnulib-tool: When calling func_import more than once, do it in a
29687         subshell.
29688         Reported by Eric Blake <ebb9@byu.net>.
29689
29690 2006-08-31  Bruno Haible  <bruno@clisp.org>
29691
29692         * gnulib-tool (nl): Remove variable.
29693         (sed_transform_lib_file): Use more robust test for config-h module.
29694         (func_import): Fix typo in 2006-08-25 patch.
29695
29696 2006-08-31  Bruno Haible  <bruno@clisp.org>
29697
29698         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
29699         specified, augment Makefile.am variables instead of assigning them.
29700
29701 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
29702
29703         Work around a bug in both the Linux and SunOS 64-bit kernels:
29704         nanosleep mishandles sleeps for longer than 2**31 seconds.
29705         Problem reported by Frank v Waveren in
29706         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
29707         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
29708         Check for nanosleep bug.
29709         (LIB_NANOSLEEP): Append clock_gettime library if needed.
29710
29711 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
29712
29713         Work around a bug in both the Linux and SunOS 64-bit kernels:
29714         nanosleep mishandles sleeps for longer than 2**31 seconds.
29715         Problem reported by Frank v Waveren in
29716         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
29717         * lib/nanosleep.c (BILLION): New constant.
29718         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
29719         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
29720         implementation.
29721
29722 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
29723
29724         * modules/nanosleep (Depends-on): Add gettime.
29725
29726 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
29727         and Simon Josefsson  <jas@extundo.com>
29728         and Oskar Liljeblad  <oskar@osk.mine.nu>
29729
29730         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
29731         * gnulib-tool (func_import): New license type 'unmodifiable license
29732         text'.
29733         * modules/fdl: Use it.  Longer description.
29734         * module/gpl, module/lgpl: New files.
29735
29736 2006-08-30  Jim Meyering  <jim@meyering.net>
29737
29738         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
29739         shadowing the parameter.
29740
29741 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29742
29743         Sync from Libtool:
29744
29745         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29746
29747         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
29748         sharing with gnulib.  Report by Eric Blake.
29749
29750 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
29751
29752         * modules/isapipe: New file.
29753         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
29754
29755 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
29756
29757         * modules/configmake (Makefile.am): Add a comment, and omit
29758         the CONFIGMAKE_ prefix from generated macro names.  Suggested
29759         by Bruno Haible.
29760
29761 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
29762
29763         * m4/isapipe.m4: New file.
29764
29765 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
29766
29767         * lib/isapipe.c, lib/isapipe.h: New files.
29768
29769 2006-08-29  Jim Meyering  <jim@meyering.net>
29770
29771         * modules/configmake (Makefile.am): Make configmake.h depend on
29772         Makefile.  Otherwise, a stale configmake.h could hang around.
29773
29774 2006-08-29  Eric Blake  <ebb9@byu.net>
29775
29776         * lib/error.c (error_at_line, print_errno_message): Match libc, after
29777         resolution of upstream bug 3044.
29778
29779 2006-08-29  Bruno Haible  <bruno@clisp.org>
29780
29781         * modules/localcharset (Depends-on): Add configmake.
29782         (Makefile.am): Remove setting of LIBDIR through DEFS.
29783
29784 2006-08-29  Bruno Haible  <bruno@clisp.org>
29785
29786         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
29787         defined.
29788
29789 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
29790
29791         * modules/fcntl: New file.
29792         * modules/chdir-safer (Depends-on): Add fcntl.
29793         * modules/fts: Likewise.
29794         * modules/mkdir-p: Likewise.
29795
29796         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
29797         This undoes the most recent change, since we're now addressing the
29798         problem in a different way.
29799
29800         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
29801         into output, since the output might be called Makefile.am even
29802         if $makefile_name is something different.
29803         (func_import): Use $makefile_am rather than
29804         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
29805         empty.
29806
29807         * modules/inttypes (Files): Add m4/inttypes-h.m4.
29808
29809 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
29810
29811         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
29812         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
29813         recent change to stdint.m4, since we're now addressing the problem in a
29814         different way.
29815
29816 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
29817
29818         * m4/fcntl_h.m4: New file.
29819
29820 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
29821
29822         * lib/fcntl_.h: New file.
29823         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
29824         the fcntl module.
29825         * lib/dirchownmod.c: Likewise.
29826         * lib/fts.c: Likewise.
29827
29828         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
29829         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
29830         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
29831         just before including <inttypes.h>, to avoid circular inclusion.
29832
29833 2006-08-28  Jim Meyering  <jim@meyering.net>
29834
29835         * doc/visibility.texi: Actually read and correct the grammar of the
29836         sentence affected by yesterday's change.
29837
29838 2006-08-28  Eric Blake  <ebb9@byu.net>
29839
29840         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
29841         needs wrapper.
29842
29843 2006-08-28  Eric Blake  <ebb9@byu.net>
29844
29845         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
29846
29847 2006-08-28  Eric Blake  <ebb9@byu.net>
29848
29849         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
29850
29851 2006-08-28  Bruno Haible  <bruno@clisp.org>
29852
29853         * modules/c-strstr: New file, from GNU gettext.
29854         * MODULES.html.sh (String handling): Add c-strstr.
29855
29856 2006-08-28  Bruno Haible  <bruno@clisp.org>
29857
29858         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
29859         macros.
29860         Reported by Eric Blake.
29861
29862 2006-08-28  Bruno Haible  <bruno@clisp.org>
29863
29864         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
29865         (VASNPRINTF): Return a string of length > INT_MAX without failing.
29866         * lib/vasprintf.c: Include errno.h, limits.h.
29867         (EOVERFLOW): New fallback definition.
29868         (vasprintf): Test here whether the string length is > INT_MAX.
29869         * lib/vsnprintf.c: Include errno.h, limits.h.
29870         (EOVERFLOW): New fallback definition.
29871         (vsnprintf): Fix bug when generated string was too long for the buffer.
29872         Test here whether the string length is > INT_MAX.
29873
29874 2006-08-28  Bruno Haible  <bruno@clisp.org>
29875
29876         * lib/inttypes_.h (SCNX*): Remove definitions.
29877         Reported by Eric Blake.
29878
29879 2006-08-28  Bruno Haible  <bruno@clisp.org>
29880
29881         * lib/c-strstr.h: New file, from GNU gettext.
29882         * lib/c-strstr.c: New file, from GNU gettext.
29883
29884 2006-08-28  Bruno Haible  <bruno@clisp.org>
29885
29886         * gnulib-tool: Reorder some statements.
29887
29888 2006-08-28  Bruno Haible  <bruno@clisp.org>
29889
29890         * gnulib-tool: New option --makefile-name.
29891         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
29892         $makefile_name.
29893         (func_import): Write $makefile_name to the cache file, and read it from
29894         there unless explicitly specified. Use $makefile_name as file name
29895         instead of Makefile.am. Adjust the recommendations accordingly.
29896
29897 2006-08-28  Bruno Haible  <bruno@clisp.org>
29898
29899         * gnulib-tool (func_verify_module): Check against misapplying patch.
29900
29901 2006-08-28  Bruno Haible  <bruno@clisp.org>
29902
29903         * gnulib-tool (func_relativize, func_relconcat): New functions.
29904         Give an error if --local-dir is given with --update.
29905         Remove trailing slashes from $local_gnulib_dir.
29906         (func_import): Store the relativized $local_gnulib_dir in
29907         gnulib-cache.m4, and read it from there if not specified explicitly.
29908
29909 2006-08-28  Bruno Haible  <bruno@clisp.org>
29910
29911         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
29912         is the current directory. Respect also $local_gnulib_dir.
29913
29914 2006-08-28  Bruno Haible  <bruno@clisp.org>
29915             Simon Josefsson  <jas@extundo.com>
29916
29917         BeOS portability.
29918         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
29919
29920 2006-08-27  Jim Meyering  <jim@meyering.net>
29921
29922         * doc/visibility.texi: Remove duplicate word: "pointer".
29923
29924 2006-08-26  Bruno Haible  <bruno@clisp.org>
29925
29926         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
29927         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
29928         (Makefile.am): Create inttypes.h from inttypes_.h.
29929         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
29930
29931         * modules/imaxabs: New file.
29932
29933         * modules/imaxdiv: New file.
29934
29935 2006-08-26  Bruno Haible  <bruno@clisp.org>
29936
29937         * m4/inttypes.m4: New file.
29938         * m4/_inttypes_h.m4: Remove file.
29939         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
29940         PRI_MACROS_BROKEN.
29941         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
29942
29943         * m4/imaxabs.m4: New file.
29944
29945         * m4/imaxdiv.m4: New file.
29946
29947 2006-08-26  Bruno Haible  <bruno@clisp.org>
29948
29949         * lib/inttypes_.h: New file.
29950         * lib/inttypes.h: Remove file.
29951         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
29952
29953         * lib/imaxabs.c: New file.
29954
29955         * lib/imaxdiv.c: New file.
29956
29957 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
29958
29959         New config-h module, so that "make" output needn't be cluttered
29960         by -DHAVE_CONFIG_H.
29961         * MODULES.html.sh (Support for building libraries and executables):
29962         Add config-h.
29963         * modules/config-h: New file.
29964         * gnulib-tool (nl, sed_transform_lib_file): New vars.
29965         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
29966         the config-h module is used.
29967
29968         New configmake module, so that "make" output needn't be cluttered
29969         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
29970         * MODULES.html.sh (Support for building libraries and executables):
29971         Add configmake.
29972         * modules/configmake: New file.
29973
29974 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
29975
29976         * m4/config-h.m4: New file.
29977
29978 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
29979
29980         * config/srclist.txt: Add elisp-comp.
29981
29982 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
29983
29984         * MODULES.html.sh (Support for building libraries and executables):
29985         Add elisp-comp.
29986         * build-aux/elisp-comp: New file.
29987         * modules/elisp-comp: New file.
29988
29989 2006-08-24  Bruno Haible  <bruno@clisp.org>
29990
29991         * gnulib-tool (func_create_testdir): Use non-default values of
29992         sourcebase and m4base.
29993
29994 2006-08-24  Bruno Haible  <bruno@clisp.org>
29995
29996         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
29997         HTML structure.
29998
29999 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
30000
30001         * modules/openat (Depends-on): Add lchown.
30002
30003 2006-08-23  Bruno Haible  <bruno@clisp.org>
30004
30005         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
30006         of gl_LOCK_EARLY instead of gl_LOCK.
30007
30008 2006-08-23  Bruno Haible  <bruno@clisp.org>
30009
30010         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
30011         on OSF/1 to no.
30012         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
30013
30014 2006-08-23  Bruno Haible  <bruno@clisp.org>
30015
30016         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
30017         as unusable.
30018
30019         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
30020         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
30021         (gl_LOCK): New macro.
30022
30023 2006-08-22  Simon Josefsson  <jas@extundo.com>
30024
30025         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
30026         to md5 module.
30027
30028 2006-08-22  Simon Josefsson  <jas@extundo.com>
30029
30030         * MODULES.html.sh: Add "Support for maintaining and release
30031         projects".
30032
30033         * build-aux/gnupload: New file, from coreutils.
30034
30035 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
30036
30037         Avoid the need for AC_LIBSOURCES in m4 macros.
30038         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
30039         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
30040         * modules/check-version (EXTRA_DIST): Add check-version.h.
30041         * modules/crc (EXTRA_DIST): Add crc.h.
30042         * modules/des (EXTRA_DIST): Add des.h.
30043         * modules/gc (EXTRA_DIST): Add gc.h.
30044         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
30045         * modules/getline (EXTRA_DIST): Add getline.h.
30046         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
30047         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
30048         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
30049         * modules/md2 (EXTRA_DIST): Add md2.h.
30050         * modules/md4 (EXTRA_DIST): Add md4.h.
30051         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
30052         * modules/read-file (EXTRA_DIST): Add read-file.h.
30053         * modules/readline (EXTRA_DIST): Add readline.h.
30054         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
30055         rijndael-api-fst.h.
30056
30057 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
30058
30059         * m4/rijndael.m4 (gl_ARCFOUR):
30060         * m4/arctwo.m4 (gl_ARCTWO):
30061         * m4/check-version.m4 (gl_CHECK_VERSION):
30062         * m4/crc.m4 (gl_CRC):
30063         * m4/des.m4 (gl_DES):
30064         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
30065         * m4/gc.m4 (gl_GC):
30066         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
30067         * m4/getline.m4 (gl_FUNC_GETLINE):
30068         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
30069         * m4/hmac-md5.m4 (gl_HMAC_MD5):
30070         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
30071         * m4/md2.m4 (gl_MD2):
30072         * m4/md4.m4 (gl_MD4):
30073         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
30074         * m4/read-file.m4 (gl_FUNC_READ_FILE):
30075         * m4/readline.m4 (gl_FUNC_READLINE):
30076         * m4/rijndael.m4 (gl_RIJNDAEL):
30077         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
30078         to get the necessary .h files and whatnot.
30079
30080 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
30081
30082         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
30083         gnulib rather than the other way around.
30084         * config/srclistvars.sh (COREUTILS): Remove.
30085
30086 2006-08-22  Jim Meyering  <jim@meyering.net>
30087
30088         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
30089
30090         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
30091
30092 2006-08-22  Eric Blake  <ebb9@byu.net>
30093
30094         * modules/regexprops-generic: New file.
30095         * MODULES.html.sh (Support for building documentation): List it.
30096
30097 2006-08-22  Eric Blake  <ebb9@byu.net>
30098
30099         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
30100         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
30101         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
30102         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
30103
30104 2006-08-22  Bruno Haible  <bruno@clisp.org>
30105
30106         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
30107         and lib_LTLIBRARIES like the other lib_* variables.
30108
30109 2006-08-22  Bruno Haible  <bruno@clisp.org>
30110
30111         * build-aux/x-to-1.in: New file, from GNU gettext.
30112
30113 2006-08-22  Bruno Haible  <bruno@clisp.org>
30114
30115         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
30116         <utmpx.h> exists.
30117
30118 2006-08-22  Bruno Haible  <bruno@clisp.org>
30119
30120         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
30121         <utmpx.h> exists.
30122
30123 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
30124
30125         BeOS portability.
30126         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
30127         exist.
30128         Problem reported by Bruno Haible.
30129
30130 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
30131
30132         Avoid the need for AC_LIBSOURCES in m4 macros.
30133         * modules/acl (EXTRA_DIST): Add acl.h.
30134         * modules/argmatch (Files): Add m4/argmatch.m4.
30135         (configure.ac): Add gl_ARGMATCH.
30136         (EXTRA_DIST): Renamed from lib_SOURCES, for
30137         consistency with the other modules.  Remove argmatch.c.
30138         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
30139         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
30140         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
30141         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
30142         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
30143         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
30144         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
30145         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
30146         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
30147         * modules/closeout (EXTRA_DIST): Add closeout.h.
30148         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
30149         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
30150         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
30151         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
30152         dirname.h; remove basename.c and stripslash.c.
30153         * modules/exclude (EXTRA_DIST): Add exclude.h.
30154         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
30155         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
30156         * modules/file-type (EXTRA_DIST): Add file-type.h.
30157         * modules/filemode (EXTRA_DIST): Add filemode.h.
30158         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
30159         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
30160         * modules/fpending (EXTRA_DIST): Add __fpending.h.
30161         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
30162         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
30163         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
30164         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
30165         * modules/getdate (EXTRA_DIST): Add getdate.c.
30166         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
30167         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
30168         * modules/getpass (EXTRA_DIST): Add getpass.h.
30169         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
30170         * modules/group-member (EXTRA_DIST): Add group-member.h.
30171         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
30172         * modules/hash (EXTRA_DIST): Add hash.h.
30173         * modules/human (EXTRA_DIST): Add human.h.
30174         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
30175         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
30176         * modules/lchown (EXTRA_DIST): Add lchown.h.
30177         * modules/long-options (EXTRA_DIST): Add long-options.h.
30178         * modules/lstat (EXTRA_DIST): Add lstat.h.
30179         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
30180         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
30181         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
30182         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
30183         * modules/memxor (EXTRA_DIST): Add memxor.h.
30184         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
30185         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
30186         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
30187         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
30188         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
30189         * modules/physmem (EXTRA_DIST): Add physmem.h.
30190         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
30191         * modules/posixver (EXTRA_DIST): Add posixver.h.
30192         * modules/quote (EXTRA_DIST): Add quote.h.
30193         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
30194         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
30195         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
30196         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
30197         regex_internal.h regexec.c.
30198         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
30199         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
30200         * modules/same (EXTRA_DIST): Add same.h.
30201         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
30202         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
30203         * modules/savedir (EXTRA_DIST): Add savedir.h.
30204         * modules/sha1 (EXTRA_DIST): Add sha1.h.
30205         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
30206         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
30207         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
30208         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
30209         * modules/strdup (EXTRA_DIST): Add strdup.h.
30210         * modules/strftime (EXTRA_DIST): Add strftime.h.
30211         * modules/strndup (EXTRA_DIST): Add strndup.h.
30212         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
30213         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
30214         * modules/time_r (EXTRA_DIST): Add time_r.h.
30215         * modules/timespec (EXTRA_DIST): Add timespec.h.
30216         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
30217         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
30218         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
30219         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
30220         * modules/userspec (EXTRA_DIST): Add userspec.h.
30221         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
30222         * modules/utimens (EXTRA_DIST): Add utimens.h.
30223         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
30224         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
30225         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
30226         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
30227         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
30228         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
30229         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
30230         * modules/yesno (EXTRA_DIST): Add yesno.h.
30231
30232 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
30233
30234         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
30235
30236         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
30237         * m4/dev-ino.m4, same-inode.m4: Remove.
30238
30239         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
30240         * m4/acl.m4 (AC_FUNC_ACL):
30241         * m4/backupfile.m4 (gl_BACKUPFILE):
30242         * m4/c-strtod.m4 (gl_C99_STRTOLD):
30243         * m4/canon-host.m4 (gl_CANON_HOST):
30244         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
30245         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
30246         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
30247         * m4/cloexec.m4 (gl_CLOEXEC):
30248         * m4/close-stream.m4 (gl_CLOSE_STREAM):
30249         * m4/closeout.m4 (gl_CLOSEOUT):
30250         * m4/dirfd.m4 (gl_FUNC_DIRFD):
30251         * m4/dirname.m4 (gl_DIRNAME):
30252         * m4/exclude.m4 (gl_EXCLUDE):
30253         * m4/exitfail.m4 (gl_EXITFAIL):
30254         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
30255         * m4/file-type.m4 (gl_FILE_TYPE):
30256         * m4/filemode.m4 (gl_FILEMODE):
30257         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
30258         * m4/fpending.m4 (gl_FUNC_FPENDING):
30259         * m4/fprintftime.m4 (gl_FPRINTFTIME):
30260         * m4/fts.m4 (gl_FUNC_FTS):
30261         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
30262         * m4/getdate.m4 (gl_GETDATE):
30263         * m4/gethrxtime.m4 (gl_GETHRXTIME):
30264         * m4/getpagesize.m4 (gl_GETPAGESIZE):
30265         * m4/getpass.m4 (gl_FUNC_GETPASS):
30266         * m4/gettime.m4 (gl_GETTIME):
30267         * m4/getugroups.m4 (gl_GETUGROUPS):
30268         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
30269         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
30270         * m4/hard-locale.m4 (gl_HARD_LOCALE):
30271         * m4/hash.m4 (gl_HASH):
30272         * m4/idcache.m4 (gl_IDCACHE):
30273         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
30274         * m4/lchown.m4 (gl_FUNC_LCHOWN):
30275         * m4/long-options.m4 (gl_LONG_OPTIONS):
30276         * m4/lstat.m4 (gl_FUNC_LSTAT):
30277         * m4/md5.m4 (gl_MD5):
30278         * m4/memcasecmp.m4 (gl_MEMCASECMP):
30279         * m4/memcoll.m4 (gl_MEMCOLL):
30280         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
30281         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
30282         * m4/memxor.m4 (gl_MEMXOR):
30283         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
30284         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
30285         * m4/modechange.m4 (gl_MODECHANGE):
30286         * m4/mountlist.m4 (gl_MOUNTLIST):
30287         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
30288         * m4/openat.m4 (gl_FUNC_OPENAT):
30289         * m4/pathmax.m4 (gl_PATHMAX):
30290         * m4/physmem.m4 (gl_PHYSMEM):
30291         * m4/posixtm.m4 (gl_POSIXTM):
30292         * m4/posixver.m4 (gl_POSIXVER):
30293         * m4/quote.m4 (gl_QUOTE):
30294         * m4/quotearg.m4 (gl_QUOTEARG):
30295         * m4/readtokens.m4 (gl_READTOKENS):
30296         * m4/readutmp.m4 (gl_READUTMP):
30297         * m4/regex.m4 (gl_REGEX):
30298         * m4/safe-read.m4 (gl_SAFE_READ):
30299         * m4/safe-write.m4 (gl_SAFE_WRITE):
30300         * m4/same.m4 (gl_SAME):
30301         * m4/save-cwd.m4 (gl_SAVE_CWD):
30302         * m4/savedir.m4 (gl_SAVEDIR):
30303         * m4/settime.m4 (gl_SETTIME):
30304         * m4/sha1.m4 (gl_SHA1):
30305         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
30306         * m4/stat-macros.m4 (gl_STAT_MACROS):
30307         * m4/stat-time.m4 (gl_STAT_TIME):
30308         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
30309         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
30310         * m4/strdup.m4 (gl_FUNC_STRDUP):
30311         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
30312         * m4/strndup.m4 (gl_FUNC_STRNDUP):
30313         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
30314         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
30315         * m4/time_r.m4 (gl_TIME_R):
30316         * m4/timespec.m4 (gl_TIMESPEC):
30317         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
30318         * m4/unlinkdir.m4 (gl_UNLINKDIR):
30319         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
30320         * m4/userspec.m4 (gl_USERSPEC):
30321         * m4/utimecmp.m4 (gl_UTIMECMP):
30322         * m4/utimens.m4 (gl_UTIMENS):
30323         * m4/xalloc.m4 (gl_XALLOC):
30324         * m4/xgetcwd.m4 (gl_XGETCWD):
30325         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
30326         * m4/xreadlink.m4 (gl_XREADLINK):
30327         * m4/xstrtod.m4 (gl_XSTRTOD):
30328         * m4/yesno.m4 (gl_YESNO):
30329         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
30330         to get the necessary .h files and whatnot.
30331
30332 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
30333             Bruno Haible  <bruno@clisp.org>
30334
30335         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
30336         /bin/sh understanding of '!' conditional negation.
30337
30338 2006-08-21  Jim Meyering  <jim@meyering.net>
30339
30340         * modules/openat (Depends-on): Really alphabetize.
30341
30342         * modules/acl (Depends-on): Add error and quote.
30343
30344         * check-module (find_included_lib_files): Add at-func.c to the
30345         ok-to-include-more-than-once white list.
30346
30347         * modules/openat (Depends-on): Add lstat.  Alphabetize.
30348
30349 2006-08-21  Bruno Haible  <bruno@clisp.org>
30350
30351         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30352         Emit a pkgdata_DATA variable only if some snippets add contents to it.
30353         Reported by Martin Lambers <marlam@marlam.de>.
30354
30355 2006-08-21  Bruno Haible  <bruno@clisp.org>
30356
30357         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
30358         specify an installation location, don't emit a noinst_LIBRARIES or
30359         noinst_LTLIBRARIES assignment.
30360
30361 2006-08-21  Bruno Haible  <bruno@clisp.org>
30362
30363         BeOS portability.
30364         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
30365         BeOS has mbrtowc() but no <wctype.h>.
30366
30367 2006-08-21  Bruno Haible  <bruno@clisp.org>
30368
30369         BeOS portability.
30370         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
30371         exist.
30372
30373 2006-08-21  Bruno Haible  <bruno@clisp.org>
30374
30375         BeOS portability.
30376         * lib/mbchar.h: Include <wctype.h> only if it exists.
30377
30378 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
30379
30380         Remove files that are no longer needed by their respective modules.
30381         * m4/obstack.m4: Remove.
30382         * m4/strerror_r.m4: Remove.
30383         * m4/uint32_t.m4: Remove.
30384         * m4/uintptr_t.m4: Remove.
30385         * m4/ullong_max.m4: Remove.
30386         * m4/xstrtoimax.m4: Remove.
30387         * m4/xstrtoumax.m4: Remove.
30388
30389         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
30390         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
30391         dependencies now capture this.
30392
30393         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
30394         Do not use AC_LIBSOURCES, since gnulib modules now do this.
30395         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
30396         * m4/human.m4 (gl_HUMAN): Likewise.
30397         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
30398         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
30399
30400         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
30401
30402         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
30403         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
30404         stdint.
30405         * m4/human.m4 (gl_HUMAN): Likewise.
30406         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
30407         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
30408         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
30409         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
30410         * m4/xstrtol (gl_XSTRTOL): Likewise.
30411
30412         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
30413         AC_TYPE_LONG_LONG_INT.
30414         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
30415         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
30416         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
30417         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
30418
30419         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
30420         on stdbool.
30421
30422         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
30423         (gl_PREREQ_XSTRTOUL): Remove.
30424
30425         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
30426
30427         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
30428         mode.
30429
30430 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
30431
30432         Add and change modules to make it easier for coreutils to use
30433         gnulib-tool.
30434         * modules/backupfile (Files): Remove m4/d-ino.m4.
30435         (Depends-on): Add d-ino.
30436         * modules/cycle-check (Depends-on): Add stdint.
30437         (lib_SOURCES): Add cycle-check.h.
30438         * modules/d-ino: New module.
30439         * modules/d-type: New module.
30440         * modules/error (Files): Remove m4/strerror_r.m4.
30441         * modules/filemode (Files): Add m4/st_dm_mode.m4.
30442         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
30443         m4/inttypes_h.m4, m4/uintmax_t.m4.
30444         (Depends-on): Add stdint.
30445         (lib_SOURCES): Add fsusage.h.
30446         * modules/getcwd (Files): Remove d-ino.m4.
30447         (Depends-on): Add d-ino.
30448         * modules/getndelim2 (Depends-on): Add stdint.
30449         * modules/glob (Files): Remove m4/d-type.m4.
30450         (Depends-on): Add d-type.
30451         * modules/host-os: New module.
30452         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
30453         m4/inttypes_h.m4, m4/uintmax_t.m4.
30454         * Depends-on: Add stdint.
30455         (lib_SOURCES): Add human.h.
30456         * modules/inttostr (Files): Remove m4/intmax_t.m4,
30457         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
30458         m4/uintmax_t.m4, m4/ulonglong.m4.
30459         (Depends-on): Add stdint.
30460         (EXTRA_DIST): Add inttostr.h.
30461         * modules/lchmod: New module.
30462         * modules/link-follow: New module.
30463         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
30464         (Depends-on): Add lchmod.
30465         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
30466         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
30467         (Depends-on): Add stdint.
30468         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
30469         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
30470         (Depends-on): Add stdint.
30471         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
30472         * modules/perl: New module.
30473         * modules/regex (Depends-on): Add stdint.
30474         * modules/rmdir-errno: New module.
30475         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
30476         m4/intmax_t.m4.
30477         (Depends-on): Add stdint.
30478         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
30479         m4/uintmax_t.m4.
30480         (Depends-on): Add stdint.
30481         * modules/unlink-busy: New module.
30482         * modules/utimecmp (Depends-on): Add stdint.
30483         * modules/uptime: New module.
30484         * modules/winsz-ioctl: New module.
30485         * modules/winsz-termios: New module.
30486         * modules/xnanosleep (Depends-on): Add nanosleep.
30487         * modules/ullong_max: Remove.
30488         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
30489         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
30490         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
30491         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
30492         (Depends-on): Add inttypes.
30493         (lib_SOURCES): Add xstrtol.h.
30494         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
30495         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
30496         * MODULES.html.sh: Move 'assert' into the assert section.
30497         Move 'dummy' into the linking section.
30498         Remove ullong_max.
30499         Add section for compatibility checks for POSIX:2001 functions,
30500         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
30501         winsz-ioctl, and winsz-termios into it.
30502         Add lchmod.
30503         Add top-level Misc section and put host-os, perl, and uptime
30504         into it.
30505
30506 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
30507
30508         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
30509         now assume the stdint module.  Do not include inttypes.h.
30510         * lib/fsusage.h: Likewise.
30511         * lib/getndelim2.c: Likewise.
30512         * lib/human.h: Likewise.
30513         * lib/inttostr.h: Likewise.
30514         * lib/obstack.c: Likewise.
30515         * lib/regex_internal.h: Likewise.
30516         * lib/tempname.c: Likewise.
30517         * lib/utimecmp.c: Likewise.
30518         * lib/xstrtol.h: Likewise.
30519
30520         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
30521
30522         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
30523         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
30524         * lib/xtime.h: Likewise.
30525
30526 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
30527
30528         * modules/openat (Files): Add lib/fchmodat.c.
30529         Fixes problem reported by Jay Youngman.
30530
30531 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
30532
30533         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
30534         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
30535
30536 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
30537             Bruno Haible  <bruno@clisp.org>
30538
30539         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
30540         and is a script that invokes bison. Tighten the code. Add comments.
30541
30542 2006-08-18  Jim Meyering  <jim@meyering.net>
30543
30544         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
30545         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
30546         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
30547         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
30548
30549 2006-08-18  Bruno Haible  <bruno@clisp.org>
30550
30551         * modules/bison-i18n: New file.
30552         * MODULES.html.sh (Internationalization functions): Add it.
30553
30554 2006-08-18  Bruno Haible  <bruno@clisp.org>
30555
30556         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
30557         sys/statvfs.h. When getmntinfo was found, check its declaration and
30558         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
30559
30560 2006-08-18  Bruno Haible  <bruno@clisp.org>
30561
30562         * m4/bison-i18n.m4: New file, from bison.
30563
30564 2006-08-18  Bruno Haible  <bruno@clisp.org>
30565
30566         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
30567         (ME_DUMMY): Treat "kernfs" as a dummy.
30568         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
30569
30570 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
30571
30572         Update from coreutils.
30573
30574         2006-08-15  Jim Meyering  <jim@meyering.net>
30575
30576         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
30577
30578         2006-01-17  Jim Meyering  <jim@meyering.net>
30579
30580         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
30581
30582         2006-01-11  Jim Meyering  <jim@meyering.net>
30583
30584         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
30585         Check for the lchmod function.
30586
30587 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
30588
30589         Update from coreutils.
30590
30591         * lib/__fpending.h: Add copyright notice.
30592         * lib/fprintftime.h: Likewise.
30593         * lib/savedir.c: Use (C) in copyright notice.
30594         * lib/savedir.h: Likewise.
30595
30596         2006-08-15  Jim Meyering  <jim@meyering.net>
30597
30598         * lib/at-func.c: New file, with the logic of all emulated at-functions.
30599         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
30600         in support of the EXPECTED_ERRNO macro.
30601         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
30602         definitions.  Instead, define the appropriate symbols and include
30603         "at-func.c".
30604         * lib/mkdirat.c (mkdirat): Likewise.
30605         * lib/fchmodat.c (fchmodat): Likewise.
30606         (ENOSYS): Remove definition.
30607         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
30608         it.  Don't include "unistd--.h" -- it wasn't ever used.
30609
30610         2006-01-17  Jim Meyering  <jim@meyering.net>
30611
30612         Rewrite fts.c not to change the current working directory,
30613         by using openat, fstatat, fdopendir, etc..
30614
30615         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
30616         (HAVE_OPENAT_SUPPORT): Define.
30617         [_LIBC] (fchdir): Don't undef or define; no longer used.
30618         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
30619         Now, this `function' always succeeds, and consumes its file descriptor
30620         parameter -- so callers must not close such FDs.  Update callers.
30621         (diropen_fd, opendirat, cwd_advance_fd): New functions.
30622         (diropen): Add parameter, SP.  Adjust all callers.
30623         Implement using diropen_fd, rather than open.
30624         (fts_open): Initialize new member, fts_cwd_fd.
30625         Remove fts_rft-setting code.
30626         (fts_close): Close fts_cwd_fd, if necessary.
30627         (__opendir2): Define in terms of opendir or opendirat,
30628         depending on whether the FST_NOCHDIR flag is set.
30629         (fts_build): Since fts_safe_changedir consumes its FD, and since
30630         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
30631         and close the dup'd file descriptor upon failure.
30632         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
30633         (fts_safe_changedir): Tweak semantics to reflect that this function
30634         now calls cwd_advance_fd and hence consumes its FD argument.
30635         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
30636         [struct FTS] (fts_rft): Remove now-unused member.
30637         [struct FTS] (fts_cycle.state): Improve comment.
30638
30639         * lib/openat.c (openat_needs_fchdir): New function.
30640         * lib/openat.h (openat_needs_fchdir): Declare it.
30641
30642 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
30643
30644         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
30645         Problem and fix reported by Pádraig Brady in
30646         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
30647
30648 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
30649
30650         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
30651
30652 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
30653
30654         * lib/memcoll.c (memcoll): Optimize for the common case where the
30655         arguments are bytewise equal.
30656
30657 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
30658
30659         * doc/regexprops-generic.texi: Add a copyright notice.
30660
30661 2006-08-15  Bruno Haible  <bruno@clisp.org>
30662
30663         * modules/tmpdir (License): Change to LGPL.
30664
30665 2006-08-15  Bruno Haible  <bruno@clisp.org>
30666
30667         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
30668         module.
30669
30670 2006-08-14  Simon Josefsson  <jas@extundo.com>
30671
30672         * config/srclist.txt: Add gnupload.
30673
30674 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
30675
30676         Change copyright notice from LGPL 2 to GPL 2, since that's the
30677         standard form used in the gnulib repository.
30678         * tests/test-lock.c: Likewise.
30679         * tests/test-stdint.c: Likewise.
30680         * tests/test-tls.c: Likewise.
30681
30682         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
30683         prelude-manager.  User shorter URLs for GNU projects, without '?'.
30684         Add copyright notice.
30685
30686         * check-module: Add copyright notice.  Output a copyright
30687         notice if "--version" is specified.
30688         * modules/COPYING: New file.
30689         * tests/test-getaddrinfo.c: Add copyright notice.
30690         * tests/test-verify.c: Likewise.
30691
30692 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
30693
30694         Change copyright notice from LGPL 2 to GPL 2, since that's the
30695         standard form used in the gnulib repository.
30696         * lib/lock.c: LGPL -> GPL.
30697         * lib/lock.h: Likewise.
30698         * lib/strnlen1.c: Likewise.
30699         * lib/strnlen1.h: Likewise.
30700         * lib/tls.c: Likewise.
30701         * lib/tls.h: Likewise.
30702         * lib/tmpdir.c: Likewise.
30703
30704         * lib/TODO: Remove; this belongs only in coreutils.
30705
30706 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
30707
30708         Add copyright notices to long-enough files that lack them, since
30709         otherwise the files aren't clearly free.  Use the same notice that
30710         getdate.texi already uses.
30711         * doc/alloca-opt.texi: Add copyright notice.
30712         * doc/alloca.texi: Likewise.
30713         * doc/ctime.texi: Likewise.
30714         * doc/functions.texi: Likewise.
30715         * doc/gcd.texi: Likewise.
30716         * doc/gnulib-tool.texi: Likewise.
30717         * doc/inet_ntoa.texi: Likewise.
30718         * doc/visibility.texi: Likewise.
30719
30720         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
30721         * doc/quote.texi: Add copyright notice.
30722
30723         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
30724         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
30725         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
30726         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
30727         is now obsolete, and give a pointer to the Sun list.
30728         Add copyright notice.
30729
30730 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
30731
30732         * config/srclistvars.sh: Add copyright notice.
30733
30734 2006-08-14  Eric Blake  <ebb9@byu.net>
30735
30736         Import the following change from libc:
30737
30738         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
30739
30740         Upstream bug 2997.
30741         * lib/misc/error.c: Add space between program name and message if file
30742         name is missing.
30743
30744 2006-08-12  Karl Berry  <karl@gnu.org>
30745
30746         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
30747         remove, these originate in gnulib now.
30748
30749 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30750
30751         * doc/Makefile (standards.info standards.html standards.dvi):
30752         Also depend on make-stds.texi.
30753
30754 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
30755
30756         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
30757         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
30758
30759         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
30760         in wchar_t.  Problem reported by Eric Blake.
30761
30762         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
30763         LEN is smaller than SIZE.  Suggested by Bruno Haible.
30764         Also, help the compiler to keep LEN in a register.
30765
30766 2006-08-11  Eric Blake  <ebb9@byu.net>
30767
30768         * users.txt: Sort.  Add tar.
30769
30770 2006-08-11  Bruno Haible  <bruno@clisp.org>
30771
30772         * users.txt: New file.
30773
30774 2006-08-11  Bruno Haible  <bruno@clisp.org>
30775
30776         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
30777         before <wchar.h>. Needed for OSF/1 and BSD/OS.
30778
30779 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
30780
30781         * modules/snprintf (Depends-on): Remove minmax.
30782         (Maintainer): Add self and Bruno.
30783
30784 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
30785
30786         * lib/.cppi-disable: Add snprintf.h, socket_.h.
30787         * lib/snprintf.c: Include <errno.h> and <limits.h>.
30788         (EOVERFLOW): Define if the system does not.
30789         Do not include "minmax.h"; it wasn't used.
30790         (snprintf): Don't assume size_t promotes to an unsigned type.
30791         Fix bug when generated string was too long for the buffer: the
30792         buffer's contents are supposed to be the initial prefix of the
30793         output.  Don't assume vasnprintf returns EOVERFLOW if the size
30794         exceeds INT_MAX; do the check ourselves.
30795
30796         Import the following changes from libc:
30797
30798         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
30799
30800         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
30801         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
30802         set wc to the byte which couldn't be converted.
30803         (re_string_reconstruct): Don't clear valid_raw_len before calling
30804         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
30805         tip_context using re_string_context_at.
30806
30807         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
30808
30809         * lib/posix/regex.h: g++ still cannot handled [restrict].
30810
30811         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
30812
30813         * lib/posix/regex.h: Remove special handling for VMS.
30814
30815 2006-08-10  Jim Meyering  <jim@meyering.net>
30816
30817         * modules/same-inode: New module.
30818         * modules/dev-ino: New module.
30819         * modules/cycle-check: Depend on these modules, rather than simply
30820         including their .h files.
30821         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
30822         required via m4/cycle-check.m4.
30823         * modules/same: Depend on new same-inode module, rather than
30824         including same-inode.h.
30825         * modules/chdir-safer: New file.
30826
30827         * modules/chown (Depends-on): Add stat-macros.
30828
30829 2006-08-10  Jim Meyering  <jim@meyering.net>
30830
30831         * m4/cycle-check.m4: New file.
30832         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
30833         * m4/dev-ino.m4, m4/same-inode.m4: New files.
30834
30835 2006-08-10  Eric Blake  <ebb9@byu.net>
30836
30837         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
30838         in from original proposal.
30839
30840 2006-08-10  Eric Blake  <ebb9@byu.net>
30841         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30842
30843         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
30844         namespace.
30845
30846 2006-08-10  Bruno Haible  <bruno@clisp.org>
30847
30848         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
30849         as well.
30850
30851 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
30852
30853         Sync from coreutils.
30854
30855         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
30856
30857         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
30858         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
30859
30860 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
30861
30862         * modules/restrict: Remove; no longer needed now that we assume
30863         Autoconf 2.59 or later.
30864         * MODULES.html.sh: Remove 'restrict'.
30865         * modules/argp (Depends-on): Remove 'restrict'.
30866         * modules/base64 (Depends-on): Likewise.
30867         * modules/gc (Depends-on): Likewise.
30868         * modules/getaddrinfo (Depends-on): Likewise.
30869         * modules/glob (Depends-on): Likewise.
30870         * modules/inet_ntop (Depends-on): Likewise.
30871         * modules/inet_pton (Depends-on): Likewise.
30872         * modules/memxor (Depends-on): Likewise.
30873         * modules/regex (Depends-on): Likewise.
30874         * modules/strtok_r (Depends-on): Likewise.
30875         * modules/time_r (Depends-on): Likewise.
30876
30877 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
30878
30879         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
30880         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
30881         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
30882         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
30883         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
30884         * m4/memxor.m4 (gl_MEMXOR): Likewise.
30885         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
30886         gl_C_RESTRICT replaced by AC_C_RESTRICT.
30887
30888         Merge from coreutils.
30889         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
30890         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
30891         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
30892         * m4/time_r.m4 (gl_TIME_R): Likewise.
30893
30894 2006-08-09  Karl Berry  <karl@gnu.org>
30895
30896         * config/srclist.txt: no more gettext-tools, per Bruno.
30897
30898 2006-08-08  Eric Blake  <ebb9@byu.net>
30899
30900         * modules/verror: New module.
30901         * MODULES.html.sh: Document it.
30902
30903 2006-08-08  Eric Blake  <ebb9@byu.net>
30904
30905         * lib/verror.h, lib/verror.c: New files.
30906
30907 2006-08-08  Eric Blake  <ebb9@byu.net>
30908
30909         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
30910         verror_at_line output complies with GNU Coding Standards even when
30911         file is NULL.
30912
30913 2006-08-07  Bruno Haible  <bruno@clisp.org>
30914
30915         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
30916         versions of AIX.
30917         Reported by Ralf Wildenhues.
30918
30919 2006-08-07  Bruno Haible  <bruno@clisp.org>
30920
30921         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
30922         in an AC_DEFUN. Needed so that the autoconf snippets can use
30923         AC_REQUIRE.
30924
30925 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30926
30927         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30928         Initialize pkgdata_DATA.
30929         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
30930         overriding it.
30931
30932 2006-08-06  Eric Blake  <ebb9@byu.net>
30933
30934         * lib/error.h: Fold in some upstream changes from glibc.
30935         * lib/error.c: Likewise.
30936
30937 2006-08-04  Bruno Haible  <bruno@clisp.org>
30938
30939         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30940         Make the mostlyclean-local rule depend on mostlyclean-generic.
30941         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
30942
30943 2006-07-31  Bruno Haible  <bruno@clisp.org>
30944
30945         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
30946         <stdlib.h>, <string.h>.
30947
30948 2006-07-30  Bruno Haible  <bruno@clisp.org>
30949
30950         * modules/readlink (License): Change to LGPL.
30951
30952 2006-07-30  Bruno Haible  <bruno@clisp.org>
30953
30954         * modules/javaversion (Makefile.am): Distribute javaversion.java and
30955         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
30956         set PKGDATADIR to point to it.
30957
30958 2006-07-30  Bruno Haible  <bruno@clisp.org>
30959
30960         * modules/csharpexec (configure.ac): Comment out macro invocation.
30961         * modules/javaexec (configure.ac): Likewise.
30962         * modules/javacomp-script (configure.ac): Likewise.
30963
30964         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
30965
30966 2006-07-30  Bruno Haible  <bruno@clisp.org>
30967
30968         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
30969         linked-list.
30970
30971 2006-07-30  Bruno Haible  <bruno@clisp.org>
30972
30973         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
30974
30975 2006-07-30  Bruno Haible  <bruno@clisp.org>
30976
30977         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30978         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
30979         get removed.
30980
30981 2006-07-29  Bruno Haible  <bruno@clisp.org>
30982
30983         Make it possible for gnulib-tool to work with locally modified or
30984         augmented gnulib repositories.
30985         * gnulib-tool (func_usage): Document --local-dir option.
30986         (local_gnulib_dir): New variable.
30987         Handle --local-dir option.
30988         (func_lookup_file): New function.
30989         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
30990         (func_get_description, func_get_filelist, func_get_description,
30991         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
30992         func_get_automake_snippet, func_get_include_directive,
30993         func_get_license, func_get_maintainer): Use func_lookup_file.
30994         (func_import, func_create_testdir): Use func_lookup_file.
30995
30996 2006-07-29  Bruno Haible  <bruno@clisp.org>
30997
30998         * modules/setenv (Depends-on): Add unistd.
30999
31000 2006-07-29  Bruno Haible  <bruno@clisp.org>
31001
31002         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
31003
31004 2006-07-29  Bruno Haible  <bruno@clisp.org>
31005
31006         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
31007
31008 2006-07-29  Bruno Haible  <bruno@clisp.org>
31009
31010         * gnulib-tool (import, update): If there is no Makefile.am, look at
31011         aclocal.m4, instead of bailing out.
31012
31013 2006-07-29  Bruno Haible  <bruno@clisp.org>
31014
31015         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
31016         Categorize the options by when they are useful.
31017
31018 2006-07-29  Bruno Haible  <bruno@clisp.org>
31019
31020         * gnulib-tool (func_usage): Document option --no-libtool.
31021         Handle option --no-libtool.
31022         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
31023         for changed semantics of $libtool variable.
31024         (func_import): Likewise. If libtool is not used, show this through
31025         an option --no-libtool.
31026         (func_create_testdir): Update.
31027
31028 2006-07-29  Bruno Haible  <bruno@clisp.org>
31029
31030         * gnulib-tool (func_import): Extend error message about missing
31031         --doc-base.
31032
31033 2006-07-29  Bruno Haible  <bruno@clisp.org>
31034
31035         * gnulib-tool (func_import): Don't create the $docbase directory if
31036         there is no file to store there.
31037
31038 2006-07-29  Bruno Haible  <bruno@clisp.org>
31039
31040         * gnulib-tool (autoconf_minversion): If a --dir option is given and
31041         relevant, look for configure.ac there, not in the current directory.
31042         Also use a simple search for AC_PREREQ, not "autoconf --trace".
31043
31044 2006-07-29  Bruno Haible  <bruno@clisp.org>
31045
31046         * gnulib-tool (SORT): New variable.
31047         (func_usage): Undocument --assume-autoconf option.
31048         Remove --assume-autoconf option handling.
31049         (autoconf_minversion): Determine from the contents of configure.ac.
31050         (func_import): Remove autoconf_minversion handling.
31051         Suggested by Eric Blake.
31052
31053 2006-07-29  Bruno Haible  <bruno@clisp.org>
31054
31055         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
31056
31057 2006-07-29  Bruno Haible  <bruno@clisp.org>
31058
31059         * config/srclist.txt (*setenv.[ch]): Remove rules.
31060
31061 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31062
31063         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
31064
31065 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31066
31067         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
31068         arpa/inet.h.
31069
31070 2006-07-28  Simon Josefsson  <jas@extundo.com>
31071
31072         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
31073         * modules/inet_pton (Depends-on): Likewise.
31074
31075 2006-07-28  Simon Josefsson  <jas@extundo.com>
31076
31077         * m4/netinet_in_h.m4: New file.
31078
31079 2006-07-28  Simon Josefsson  <jas@extundo.com>
31080
31081         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
31082         #include's.
31083
31084 2006-07-28  Simon Josefsson  <jas@extundo.com>
31085
31086         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
31087         #include's.
31088
31089 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
31090
31091         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
31092         setgid on directories only if they set these bits.
31093         * lib/modechange.h: Remove obsolete comment about masks.
31094
31095 2006-07-28  Eric Blake  <ebb9@byu.net>
31096
31097         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
31098         macro expansion.
31099
31100 2006-07-28  Bruno Haible  <bruno@clisp.org>
31101
31102         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
31103
31104 2006-07-28  Bruno Haible  <bruno@clisp.org>
31105
31106         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
31107
31108 2006-07-28  Bruno Haible  <bruno@clisp.org>
31109
31110         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
31111         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
31112         Define fallbacks.
31113         Avoids link error on FreeBSD 4.x.
31114         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
31115
31116         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
31117         encoding.
31118         * lib/mbswidth.c (iswcntrl): Likewise.
31119
31120 2006-07-27  Bruno Haible  <bruno@clisp.org>
31121
31122         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
31123         test.
31124
31125 2006-07-27  Bruno Haible  <bruno@clisp.org>
31126
31127         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
31128         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
31129         defined.
31130
31131 2006-07-26  Eric Blake  <ebb9@byu.net>
31132
31133         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
31134
31135 2006-07-26  Eric Blake  <ebb9@byu.net>
31136
31137         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
31138         like mingw that lack mkstemp.
31139         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
31140         avoid compilation warning on mingw.
31141
31142 2006-07-26  Bruno Haible  <bruno@clisp.org>
31143
31144         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
31145         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
31146         INT_FAST*_MIN, INTPTR_MIN.
31147
31148 2006-07-25  Bruno Haible  <bruno@clisp.org>
31149
31150         * modules/version-etc (Depends-on): Add stdarg.
31151
31152 2006-07-25  Bruno Haible  <bruno@clisp.org>
31153
31154         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
31155         complex commands.
31156
31157 2006-07-25  Bruno Haible  <bruno@clisp.org>
31158
31159         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
31160         defined in <stdarg.h> or config.h.
31161
31162 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
31163
31164         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
31165         (gl_STDIO_SAFER): Remove.
31166
31167 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
31168
31169         * MODULES.html.sh (File stream based Input/Output):
31170         Add fopen-safer, tmpfile-safer; remove stdio-safer.
31171         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
31172         * modules/fopen-safer, modules/tmpfile-safer: New files.
31173         * modules/stdio-safer: Remove.
31174
31175 2006-07-24  Bruno Haible  <bruno@clisp.org>
31176
31177         * modules/tmpdir: New file.
31178         * MODULES.html.sh (File system functions): Add it.
31179
31180 2006-07-24  Bruno Haible  <bruno@clisp.org>
31181
31182         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
31183         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
31184
31185 2006-07-24  Bruno Haible  <bruno@clisp.org>
31186
31187         * modules/clean-temp: New file.
31188
31189 2006-07-24  Bruno Haible  <bruno@clisp.org>
31190
31191         * m4/tmpdir.m4: New file, from GNU gettext.
31192
31193 2006-07-24  Bruno Haible  <bruno@clisp.org>
31194
31195         * lib/tmpdir.h: New file, from GNU gettext.
31196         * lib/tmpdir.c: New file, from GNU gettext.
31197
31198 2006-07-24  Bruno Haible  <bruno@clisp.org>
31199
31200         * lib/clean-temp.h: New file, from GNU gettext.
31201         * lib/clean-temp.c: New file, from GNU gettext.
31202
31203 2006-07-23  Eric Blake  <ebb9@byu.net>
31204
31205         * modules/stdio-safer (Files): Add tmpfile-safer.c.
31206         (Depends-on): Add binary-io.
31207
31208 2006-07-23  Eric Blake  <ebb9@byu.net>
31209
31210         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
31211
31212 2006-07-23  Eric Blake  <ebb9@byu.net>
31213
31214         * lib/tmpfile-safer.c: New file.
31215         * lib/stdio-safer.h (fopen_safer): Add prototype.
31216         * lib/stdio--.h (tmpfile): Make safer.
31217
31218 2006-07-23  Bruno Haible  <bruno@clisp.org>
31219
31220         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
31221         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
31222         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
31223         gl_linked_remove_at): Use it.
31224
31225 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31226         and Simon Josefsson <jas@extundo.com>
31227
31228         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
31229
31230         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
31231
31232 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
31233
31234         * modules/close-stream: New file.
31235         * modules/closeout (Description): Make it clear that it exits
31236         with a diagnostic on error.
31237         (Depends-on): Add close-stream.  Remove fpending, stdbool.
31238         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
31239
31240 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
31241
31242         * m4/close-stream.m4: New file.
31243
31244 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
31245
31246         * lib/close-stream.c, lib/close-stream.h: New files.
31247
31248 2006-07-22  Bruno Haible  <bruno@clisp.org>
31249
31250         Merge from GNU gettext 0.15.
31251
31252         2006-05-01  Bruno Haible  <bruno@clisp.org>
31253
31254                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
31255
31256         2006-07-22  Bruno Haible  <bruno@clisp.org>
31257
31258                 * modules/javaversion: New file.
31259                 * MODULES.html.sh (Java): Add javaversion.
31260
31261         2006-03-12  Bruno Haible  <bruno@clisp.org>
31262
31263                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
31264
31265         2005-12-04  Bruno Haible  <bruno@clisp.org>
31266
31267                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
31268                 (untested).
31269
31270         2006-06-21  Bruno Haible  <bruno@clisp.org>
31271
31272                 Avoid warnings from recent versions of mcs.
31273                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
31274                 -o, -L, -r any more. Use options documented since mcs-1.0
31275                 instead. Similarly for -g.
31276
31277         2005-12-04  Bruno Haible  <bruno@clisp.org>
31278
31279                 * build-aux/csharpcomp.sh.in: Suffix for resources is
31280                 .resources, not .resource.
31281
31282         2005-07-09  Bruno Haible  <bruno@clisp.org>
31283
31284                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
31285                 add a .dll suffix.
31286                 Reported by Mark Junker <mjscod@gmx.de>.
31287
31288         2006-07-22  Bruno Haible  <bruno@clisp.org>
31289
31290                 * modules/gettext: Upgrade to gettext-0.15.
31291                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
31292                 m4/visibility.m4.
31293                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
31294
31295 2006-07-22  Bruno Haible  <bruno@clisp.org>
31296
31297         Merge from GNU gettext 0.15.
31298
31299         2006-03-25  Bruno Haible  <bruno@clisp.org>
31300
31301                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
31302
31303         2006-07-21  Bruno Haible  <bruno@clisp.org>
31304
31305                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
31306                 "1.1".
31307
31308         2006-05-09  Bruno Haible  <bruno@clisp.org>
31309
31310                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
31311                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
31312                 for the conftestver execution.
31313
31314         2006-05-01  Bruno Haible  <bruno@clisp.org>
31315
31316                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
31317                 optional target-version argument. Verify that the compiler
31318                 groks source of the specified source-version, or add -source
31319                 option as necessary. Verify that the compiler produces
31320                 bytecode in the specified target-version, or add -target and
31321                 -source options as necessary. Make the result of the test
31322                 available as variable CONF_JAVAC. Also log error output in
31323                 config.log.
31324
31325         2006-03-11  Bruno Haible  <bruno@clisp.org>
31326
31327                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
31328
31329         2006-05-09  Bruno Haible  <bruno@clisp.org>
31330
31331                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
31332                 CLASSPATH_SEPARATOR to a semicolon.
31333
31334         2006-03-12  Bruno Haible  <bruno@clisp.org>
31335
31336                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
31337                 available as variable CONF_JAVA, for subsequent autoconf
31338                 tests. Also log error output in config.log.
31339
31340         2006-07-19  Bruno Haible  <bruno@clisp.org>
31341
31342                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
31343                 that getline works on glibc2 systems. Needed to avoid trouble
31344                 in relocatable.c.
31345                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
31346
31347         2005-12-04  Bruno Haible  <bruno@clisp.org>
31348
31349                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
31350                 launcher (untested).
31351
31352         2005-12-04  Bruno Haible  <bruno@clisp.org>
31353
31354                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
31355
31356         2006-07-22  Bruno Haible  <bruno@clisp.org>
31357
31358                 * gettext.m4: Update from GNU gettext-0.15.
31359                 * nls.m4: Likewise.
31360                 * po.m4: Likewise.
31361                 * inttypes-pri.m4: Likewise.
31362                 * inttypes-h.m4: Renamed from inttypes.m4.
31363                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
31364
31365 2006-07-22  Bruno Haible  <bruno@clisp.org>
31366
31367         Merge from GNU gettext 0.15.
31368
31369         2005-07-05  Bruno Haible  <bruno@clisp.org>
31370
31371                 * printf-args.c (printf_fetchargs): Work around broken
31372                 definition of wint_t on mingw.
31373
31374         2005-02-12  Bruno Haible  <bruno@clisp.org>
31375
31376                 * xallocsa.h: Add extern "C" for C++.
31377
31378         2006-05-17  Bruno Haible  <bruno@clisp.org>
31379
31380                 Cygwin portability.
31381                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
31382
31383         2006-04-30  Bruno Haible  <bruno@clisp.org>
31384
31385                 * progreloc.c: Include <mach-o/dyld.h> if available.
31386                 (find_executable): Use _NSGetExecutablePath when possible.
31387
31388         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
31389
31390                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
31391                 function.
31392
31393         2005-12-29  Bruno Haible  <bruno@clisp.org>
31394
31395                 * progreloc.c (set_program_name_and_installdir): Fix
31396                 compilation error.
31397
31398         2005-12-04  Bruno Haible  <bruno@clisp.org>
31399
31400                 Cygwin portability.
31401                 * progreloc.c: Include <windows.h> also on Cygwin.
31402                 (find_executable): Add support for Cygwin.
31403                 (set_program_name_and_installdir): Handle also platforms with
31404                 nonempty EXEEXT.
31405
31406         2006-07-11  Bruno Haible  <bruno@clisp.org>
31407
31408                 * javacomp.c: Fix a comment.
31409                 Reported by Jim Meyering.
31410
31411         2006-04-30  Bruno Haible  <bruno@clisp.org>
31412
31413                 * javacomp.h (compile_java_class): Add source_version,
31414                 target_version arguments.
31415                 * javacomp.c: Rewritten to choose only a compiler that
31416                 respects the specified source_version and target_version.
31417
31418         2006-06-27  Bruno Haible  <bruno@clisp.org>
31419
31420                 Assume correct S_ISDIR macro.
31421                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
31422
31423         2006-07-22  Bruno Haible  <bruno@clisp.org>
31424
31425                 * javaversion.h: New file, from GNU gettext.
31426                 * javaversion.c: New file, from GNU gettext.
31427                 * javaversion.java: New file, from GNU gettext.
31428                 * javaversion.class: New file, from GNU gettext.
31429
31430         2006-05-17  Bruno Haible  <bruno@clisp.org>
31431
31432                 Cygwin portability.
31433                 * javaexec.c (execute_java_class): Test for jview program
31434                 also on Cygwin.
31435
31436         2006-04-09  Bruno Haible  <bruno@clisp.org>
31437
31438                 * fatal-signal.c: Don't include string.h.
31439                 (at_fatal_signal): Use a copying loop instead of memcpy.
31440
31441         2005-12-04  Bruno Haible  <bruno@clisp.org>
31442
31443                 * csharpexec.c: Add support for 'clix' launcher (untested).
31444                 (execute_csharp_using_sscli): New function.
31445                 (execute_csharp_program): Call it.
31446
31447         2006-06-21  Bruno Haible  <bruno@clisp.org>
31448
31449                 Avoid warnings from recent versions of mcs.
31450                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
31451                 -o, -L, -r any more. Use options documented since mcs-1.0
31452                 instead. Similarly for -g.
31453
31454         2005-07-09  Bruno Haible  <bruno@clisp.org>
31455
31456                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
31457                 add a .dll suffix.
31458                 Reported by Mark Junker <mjscod@gmx.de>.
31459
31460         2006-06-17  Bruno Haible  <bruno@clisp.org>
31461
31462                 * config.charset: Update for NetBSD 3.0.
31463
31464         2006-05-17  Bruno Haible  <bruno@clisp.org>
31465
31466                 Cygwin portability.
31467                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
31468
31469         2006-05-16  Bruno Haible  <bruno@clisp.org>
31470
31471                 * localcharset.c [CYGWIN]: Include <windows.h>.
31472                 (get_charset_aliases): For Cygwin, return the same CPxxx
31473                 aliases list as under WIN32.
31474                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
31475                 the environment variables. Fall back to GetACP().
31476
31477         2006-04-05  Bruno Haible  <bruno@clisp.org>
31478
31479                 * config.charset: Update Juan Manuel Guerrero's address.
31480
31481         2005-02-12  Bruno Haible  <bruno@clisp.org>
31482
31483                 * allocsa.h: Add extern "C" for C++.
31484
31485         2005-02-10  Bruno Haible  <bruno@clisp.org>
31486
31487                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
31488                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
31489
31490         2006-07-22  Bruno Haible  <bruno@clisp.org>
31491
31492                 * gettext.h: Update to GNU gettext-0.15.
31493
31494 2006-07-22  Bruno Haible  <bruno@clisp.org>
31495
31496         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
31497         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
31498         lib-prefix.m4, longdouble.m4, ssize_t.m4.
31499
31500 2006-07-21  Eric Blake  <ebb9@byu.net>
31501
31502         * modules/stdlib-safer: New file.
31503         * MODULES.html.sh (File stream based Input/Output): Add
31504         stdlib-safer.
31505
31506 2006-07-21  Eric Blake  <ebb9@byu.net>
31507
31508         * lib/stdlib-safer.h: New file from coreutils, required by
31509         stdlib--.h.
31510
31511 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
31512
31513         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
31514
31515 2006-07-20  Bruno Haible  <bruno@clisp.org>
31516
31517         * gnulib-tool: Recognize new option --assume-autoconf.
31518         (autoconf_minversion): New variable.
31519         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
31520
31521 2006-07-20  Bruno Haible  <bruno@clisp.org>
31522
31523         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
31524
31525 2006-07-19  Derek R. Price  <derek@ximbiot.com>
31526
31527         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
31528         Reindent and repaginate.
31529
31530 2006-07-19  Derek Price  <derek@ximbiot.com>
31531
31532         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
31533         Correct grammar.
31534
31535 2006-07-17  Bruno Haible  <bruno@clisp.org>
31536
31537         * modules/list: New file.
31538         * modules/array-list: New file.
31539         * modules/carray-list, modules/carray-list-tests: New files.
31540         * modules/linked-list, modules/linked-list-tests: New files.
31541         * modules/avltree-list, modules/avltree-list-tests: New files.
31542         * modules/rbtree-list, modules/rbtree-list-tests: New files.
31543         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
31544         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
31545         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
31546         * modules/oset: New file.
31547         * modules/array-oset: New file.
31548         * modules/avltree-oset, modules/avltree-oset-tests: New files.
31549         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
31550         * tests/test-carray_list.c: New file.
31551         * tests/test-linked_list.c: New file.
31552         * tests/test-avltree_list.c: New file.
31553         * tests/test-rbtree_list.c: New file.
31554         * tests/test-linkedhash_list.c: New file.
31555         * tests/test-avltreehash_list.c: New file.
31556         * tests/test-rbtreehash_list.c: New file.
31557         * tests/test-avltree_oset.c: New file.
31558         * tests/test-rbtree_oset.c: New file.
31559         * MODULES.html.sh (Container data structures): New section.
31560
31561 2006-07-17  Bruno Haible  <bruno@clisp.org>
31562
31563         * m4/gl_list.m4: New file.
31564
31565 2006-07-17  Bruno Haible  <bruno@clisp.org>
31566
31567         * lib/gl_list.h: New file.
31568         * lib/gl_list.c: New file.
31569         * lib/gl_array_list.h: New file.
31570         * lib/gl_array_list.c: New file.
31571         * lib/gl_carray_list.h: New file.
31572         * lib/gl_carray_list.c: New file.
31573         * lib/gl_linked_list.h: New file.
31574         * lib/gl_linked_list.c: New file.
31575         * lib/gl_anylinked_list1.h: New file.
31576         * lib/gl_anylinked_list2.h: New file.
31577         * lib/gl_avltree_list.h: New file.
31578         * lib/gl_avltree_list.c: New file.
31579         * lib/gl_anyavltree_list1.h: New file.
31580         * lib/gl_anyavltree_list2.h: New file.
31581         * lib/gl_rbtree_list.h: New file.
31582         * lib/gl_rbtree_list.c: New file.
31583         * lib/gl_anyrbtree_list1.h: New file.
31584         * lib/gl_anyrbtree_list2.h: New file.
31585         * lib/gl_anytree_list1.h: New file.
31586         * lib/gl_anytree_list2.h: New file.
31587         * lib/gl_linkedhash_list.h: New file.
31588         * lib/gl_linkedhash_list.c: New file.
31589         * lib/gl_anyhash_list1.h: New file.
31590         * lib/gl_anyhash_list2.h: New file.
31591         * lib/gl_avltreehash_list.h: New file.
31592         * lib/gl_avltreehash_list.c: New file.
31593         * lib/gl_rbtreehash_list.h: New file.
31594         * lib/gl_rbtreehash_list.c: New file.
31595         * lib/gl_anytreehash_list1.h: New file.
31596         * lib/gl_anytreehash_list2.h: New file.
31597
31598         * lib/gl_oset.h: New file.
31599         * lib/gl_oset.c: New file.
31600         * lib/gl_array_oset.h: New file.
31601         * lib/gl_array_oset.c: New file.
31602         * lib/gl_avltree_oset.h: New file.
31603         * lib/gl_avltree_oset.c: New file.
31604         * lib/gl_rbtree_oset.h: New file.
31605         * lib/gl_rbtree_oset.c: New file.
31606         * lib/gl_anytree_oset.h: New file.
31607
31608 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
31609
31610         * m4/mkancesdirs.m4: New file.
31611         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
31612         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
31613         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
31614         it.
31615
31616 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
31617
31618         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
31619         * lib/mkancesdirs.h: New files.
31620         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
31621         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
31622         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
31623         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
31624         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
31625         callers changed.  Revamp internals significantly, by not
31626         attempting to create directories that are temporarily more
31627         permissive than the final results.  Do not attempt to use
31628         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
31629         This removes some race conditions, fixes some bugs, and simplifies
31630         things.  Use new dirchownmod function to do owner and mode changes.
31631         * lib/mkdir-p.h: Likewise.
31632         * lib/modechange.c (octal_to_mode): New function.
31633         (struct mode_change): New member mentioned.
31634         (make_node_op_equals): New arg mentioned.  All callers changed.
31635         (mode_compile): Keep track of which mode bits the user has explicitly
31636         mentioned.
31637         (mode_adjust): New arg DIR, so that we implement the X op correctly.
31638         New arg PMODE_BITS, to keep track of which mode bits the user
31639         mentioned; it treats S_ISUID and S_ISGID speciall.
31640         All callers changed.
31641         * lib/modechange.h: Likewise.
31642
31643 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
31644
31645         * MODULES.html.sh: Add mkancestors.
31646         * modules/mkancesdirs: New module.
31647         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
31648         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
31649         The chdir-safer and afs files are now orphans; I'll remove them
31650         unless someone speaks up.
31651         Add lib/dirchownmod.c, lib/dirchownmod.h.
31652         (Depends-on): Remove alloca, chown, save-cwd, dirname.
31653         Add lchown, mkancesdirs.
31654         (Maintainer): Add self.
31655
31656 2006-07-15  Karl Berry  <karl@gnu.org>
31657
31658         * gnulib-tool: help message wording/arrangement.
31659
31660 2006-07-14  Simon Josefsson  <jas@extundo.com>
31661
31662         * doc/gnulib.texi (Libtool and Windows): New section.
31663
31664 2006-07-12  Simon Josefsson  <jas@extundo.com>
31665
31666         * modules/gendocs (License): Fix license, approved by Karl.
31667
31668 2006-07-12  Eric Blake  <ebb9@byu.net>
31669
31670         * MODULES.html.sh: Add gendocs.
31671
31672 2006-07-11  Eric Blake  <ebb9@byu.net>
31673
31674         * modules/fdl: New module, to install doc/fdl.texi.
31675         * MODULES.html.sh: Add new section for documentation modules.
31676         * gnulib-tool: Avoid space-tab.
31677         (--doc-base): New option, to manage files from doc.
31678
31679 2006-07-11  Eric Blake  <ebb9@byu.net>
31680
31681         * m4/absolute-header.m4: Fix comments to match recent change.
31682
31683 2006-07-11  Eric Blake  <ebb9@byu.net>
31684
31685         * gnulib-tool: List --doc-base before --tests-base.
31686
31687 2006-07-11  Derek R. Price  <derek@ximbiot.com>
31688
31689         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
31690
31691 2006-07-11  Bruno Haible  <bruno@clisp.org>
31692
31693         * README: Mention where to put documentation.
31694
31695 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31696
31697         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
31698
31699 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
31700
31701         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
31702         to stdint.m4.
31703
31704 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
31705
31706         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
31707         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
31708         "no/such/file/stdint.h" when there is no such file, so that
31709         the resulting C code can be parsed by dodgy compilers.
31710         Problems reported by Bob Proulx.
31711
31712 2006-07-10  Derek R. Price  <derek@ximbiot.com>
31713
31714         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
31715         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
31716         macros into the GNU _D_EXACT_NAMLEN.
31717         * lib/savedir.c:  Likewise.
31718         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
31719
31720 2006-07-10  Derek R. Price  <derek@ximbiot.com>
31721         and Paul Eggert  <eggert@cs.ucla.edu>
31722
31723         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
31724         * m4/savedir.m4:
31725         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
31726         macros into the GNU _D_EXACT_NAMLEN.
31727
31728 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
31729
31730         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
31731         around the absolute name, to work around a problem with the HP-UX
31732         11.23 native C compiler, reported by Bob Proulx.
31733
31734 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
31735
31736         * doc/maintain.texi, make-stds.texi: Sync from
31737         <http://savannah.gnu.org/projects/gnustandards>.
31738
31739 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
31740
31741         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
31742
31743 2006-07-09  Jim Meyering  <jim@meyering.net>
31744
31745         * m4/glob.m4: Remove a doubled word in a comment.
31746
31747 2006-07-09  Jim Meyering  <jim@meyering.net>
31748
31749         * lib/argp-pv.c: Remove a doubled word in a comment.
31750         * lib/check-version.c (check_version): Likewise.
31751         * lib/javacomp.c (compile_java_class): Likewise.
31752
31753 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
31754
31755         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
31756         for the benefit of people using Autoconf 2.60.  If you want to
31757         support older Autoconf versions you can copy m4/onceonly_2_57.m4
31758         (or m4/onceonly.m4, if pre-2.57) manually.
31759
31760 2006-07-08  Jim Meyering  <jim@meyering.net>
31761
31762         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
31763         comment.
31764         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
31765         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
31766         comment.
31767
31768 2006-07-08  Jim Meyering  <jim@meyering.net>
31769
31770         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
31771
31772 2006-07-07  Simon Josefsson  <jas@extundo.com>
31773
31774         * tests/test-crc.c: Change expected crc value, the test vector
31775         were probably computed using the old broken crc.c?
31776
31777 2006-07-06  Simon Josefsson  <jas@extundo.com>
31778
31779         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
31780         now the canonical place for the M4 file).
31781
31782         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
31783         from the sys_socket dependency now.
31784
31785         * modules/inet_pton (Files): Ditto.
31786
31787         * modules/inet_ntop (Files): Ditto.
31788
31789 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
31790
31791         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
31792         not gl_PREREQ_GETUSERSHELL.
31793
31794 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31795
31796         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
31797         with only one argument, for Autoconf 2.60.
31798         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
31799         expand to nothing, so add a shell command to avoid syntax error.
31800         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
31801
31802 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31803
31804         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
31805
31806 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
31807
31808         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
31809         no longer needed.  Check for isblank decl.
31810         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
31811         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
31812         of existence.
31813
31814 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
31815
31816         * lib/getloadavg.c: Use __VMS, not VMS.
31817         * lib/getopt.c: Likewise.
31818         * lib/getpagesize.h: Likewise.
31819         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
31820         and probably does not work.
31821
31822 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
31823
31824         * lib/.cppi-disable: Add wcwidth.
31825         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
31826         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
31827         (ISGRAPH): Remove.  All uses changed to isgraph.
31828         (FOLD) [!defined _LIBC]: Remove special case.
31829         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
31830         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
31831         HAVE_ISBLANK.
31832         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
31833         case.
31834
31835 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
31836
31837         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
31838         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
31839         brackets.  Other minor changes to suppress some compiler
31840         warnings.
31841
31842 2006-07-06  Derek R. Price  <derek@ximbiot.com>
31843         and Paul Eggert  <eggert@cs.ucla.edu>
31844
31845         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
31846         of invoking obsolescent AC_HEADER_DIRENT macro.
31847         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
31848         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
31849         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
31850         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
31851         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
31852         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
31853         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
31854         * m4/readdir.m4: Remove; no longer needed.
31855
31856 2006-07-06  Derek R. Price  <derek@ximbiot.com>
31857         and Paul Eggert  <eggert@cs.ucla.edu>
31858
31859         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
31860         Don't worry about this obsolete case any more.
31861         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
31862         directories.
31863         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
31864         worry about this obsolete case any more.
31865         * lib/fts.c: Likewise.
31866         * lib/getcwd.c: Likewise.
31867         * lib/glob.h: Likewise.
31868         * lib/savedir.c: Likewise.
31869
31870 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
31871
31872         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
31873         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
31874         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
31875         needed.
31876         All uses removed.
31877         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
31878         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
31879         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
31880         needed.
31881         * m4/getdate.m4 (gl_GETDATE): Likewise.
31882         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
31883         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
31884         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
31885         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
31886         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
31887         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
31888         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
31889         needed.
31890
31891 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
31892
31893         * lib/memcasecmp.c: Include <limits.h>.
31894         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
31895         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
31896         Don't assume isdigit succeeds only on '0' through '9'.
31897
31898 2006-07-05  Eric Blake  <ebb9@byu.net>
31899
31900         * modules/getaddrinfo (Depends-on): Add snprintf.
31901
31902 2006-07-05  Eric Blake  <ebb9@byu.net>
31903
31904         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
31905         to avoid 'header present but could not be compiled' on cygwin.
31906
31907 2006-07-05  Eric Blake  <ebb9@byu.net>
31908
31909         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
31910         missing from netdb.h.
31911         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
31912
31913 2006-07-05  Derek R. Price  <derek@ximbiot.com>
31914
31915         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
31916         no longer needed.
31917         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
31918         * m4/getdate.m4 (gl_GETDATE): Likewise.
31919         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
31920         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
31921         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
31922         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
31923         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
31924
31925 2006-07-05  Derek R. Price  <derek@ximbiot.com>
31926
31927         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
31928         All uses of is_space replaced by isspace.
31929         * lib/exit.h: Don't talk about STDC_HEADERS.
31930         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
31931         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
31932         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
31933         replaced by isprint etc.
31934         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
31935         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
31936         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
31937         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
31938         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
31939         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
31940
31941 2006-07-05  Bruno Haible  <bruno@clisp.org>
31942
31943         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
31944         the function exists, before testing against AIX.
31945         Reported by Martin Lambers <marlam@marlam.de>.
31946
31947 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
31948
31949         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
31950         From Mark D. Baushke.
31951
31952 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
31953
31954         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
31955         to the absolute name, not just one, to bypass Sun C 5.8's
31956         "warning: #include of /usr/include/... may be non-portable".
31957
31958 2006-07-04  Eric Blake  <ebb9@byu.net>
31959
31960         * modules/dirname-tests: New test module.
31961         * tests/test-dirname.c: New file, replacing dirname.c
31962         TEST_DIRNAME section that was recently deleted.
31963
31964 2006-07-04  Bruno Haible  <bruno@clisp.org>
31965
31966         Assume ANSI C header files and <ctype.h> functions.
31967         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
31968         (mbsnwidth): Use isprint, iscntrl instead.
31969
31970 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
31971
31972         Merge from coreutils.
31973         * MODULES.html.sh: Add xstrtold.
31974         * modules/xstrtold: New file.
31975         * modules/cycle-check (Files): Add lib/same-inode.h.
31976         * modules/dirname (Files): Add m4/double-slash-root.m4.
31977         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
31978         * modules/mkdir-p (Files): Add lib/same-inode.h.
31979         * modules/same (Files): Add lib/same-inode.h.
31980
31981 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
31982
31983         * m4/absolute-header.m4: Renamed from full-header-path.m4.
31984         This is to keep the terminology clean; POSIX talks about
31985         "absolute pathnames", not "full pathnames", but the GNU
31986         Coding Standards say to use "path" for something else;
31987         so use "absolute" to keep both sides happy.
31988         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
31989         Set gl_absolute_header, not gl_full_header_path.
31990         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
31991         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
31992         All uses changed.
31993
31994         Merge from coreutils.
31995
31996         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
31997
31998         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
31999         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
32000         want to require the building of c-strtod.o.
32001         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
32002         needs -lm directly.
32003         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
32004
32005         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
32006
32007         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
32008         --as-needed option if available.  Problem reported by Albert Chin in
32009         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
32010         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
32011         cc merely issues a bunch of annoying warnings for --as-needed
32012         (this problem was reported by Bob Proulx).  Also, try linking with
32013         -lm to detect a bug in binutils 2.16 (this problem was reported
32014         by Ralf Wildenhues).
32015
32016         2006-06-18  Jim Meyering  <jim@meyering.net>
32017
32018         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
32019         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
32020         macro.
32021         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
32022         also check for glibc-2.4's abort-inducing bug.
32023
32024         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
32025         Low-probability clean-up should be to use rmdir to get rid of
32026         the just-created directory, not unlink.
32027
32028         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
32029         configure fail, and request a bug report to inform us about it.
32030         Add a comment that, barring reports to the contrary, in 2007 we'll
32031         assume ftruncate is universally available.
32032
32033         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
32034
32035         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
32036
32037         2006-03-12  Jim Meyering  <jim@meyering.net>
32038
32039         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
32040         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
32041         * m4/same.m4 (gl_SAME): Likewise.
32042         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
32043
32044         2006-03-11  Eric Blake  <ebb9@byu.net>
32045
32046         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
32047         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
32048         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
32049         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
32050
32051 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
32052
32053         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
32054         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
32055         reported by Mark D. Baushke, one in
32056         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
32057
32058         Merge from coreutils.
32059
32060         * lib/.cppi-disable: Add stdint_.h.
32061         * lib/.cvsignore: Add stdint.h.
32062
32063         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
32064
32065         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
32066         both double and long double versions.
32067         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
32068         * lib/xstrtold.c: New file.
32069         * lib/xstrtod.h (xstrtold): New decl.
32070
32071         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
32072
32073         * lib/filemode.c (setst): Remove.
32074         (strmode): Rewrite to avoid setst.  This makes the code shorter,
32075         (arguably) clearer, and the generated code is a bit smaller on my
32076         Debian GNU/Linux stable x86 host.
32077
32078         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
32079
32080         * lib/filemode.c: Include "filemode.h" first, to test the interface.
32081         Assume that filemode.h includes sys/types.h and sys/stat.h.
32082         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
32083         (ftypelet): Reorder to put common cases first, for efficiency.
32084         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
32085         to do 'M'.
32086         (strmode): Renamed from mode_string, and now stores 12 bytes instead
32087         of 10, for compatibility with FreeBSD.  All callers changed.
32088         (filemodestring): Now stores 12 bytes instead of 10, and sets file
32089         types that can't be deduced solely from st_mode.  First arg is now a
32090         const pointer.
32091         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
32092         (strmode): Renamed from mode_string.
32093         (filemodestring): New decl.
32094         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
32095         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
32096         needed.
32097         (S_ISPORT, S_ISWHT): New macros, if not already defined.
32098
32099         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
32100
32101         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
32102         fsusage.h now does that.  Include fsusage.h first, to test interface.
32103         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
32104         at most one method (the old code could have generated decls that
32105         didn't conform to C89, not that this was ever exercised).
32106         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
32107
32108         2006-03-19  Jim Meyering  <jim@meyering.net>
32109
32110         Work even in a chroot where d_ino values for entries in "/"
32111         don't match the stat.st_ino values for the same names.
32112         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
32113         number, iterate through all entries again, using lstat instead.
32114         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
32115         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
32116
32117         * lib/getcwd.c (__getcwd): Clarify a comment.
32118         Use memcpy in place of a call to strcpy.
32119
32120         2006-03-12  Jim Meyering  <jim@meyering.net>
32121
32122         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
32123         matches that of the current directory (which we're about to chdir ".."
32124         out of), then save the dev-ino of the parent, instead.
32125
32126         * lib/same-inode.h (SAME_INODE): New file/macro.
32127         * lib/chdir-safer.c (SAME_INODE): Remove definition.
32128         Include "same-inode.h", instead.
32129         * lib/same.c: Likewise.
32130         * lib/cycle-check.h: Include "same-inode.h".
32131         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
32132         * lib/cycle-check.c (SAME_INODE): Remove definition.
32133         * lib/root-dev-ino.h: Include "same-inode.h".
32134
32135         2006-03-11  Eric Blake  <ebb9@byu.net>
32136
32137         * lib/same.c (same_name): s/base_name/last_component/
32138         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
32139         * lib/filenamecat.c (file_name_concat): Likewise.
32140
32141         2006-03-11  Eric Blake  <ebb9@byu.net>,
32142                     Paul Eggert  <eggert@cs.ucla.edu>
32143
32144         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
32145         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
32146         drive prefix.
32147         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
32148         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
32149         (last_component): New method.
32150         * lib/dirname.c (dir_len): Determine when drive letters need a
32151         subsequent slash.  Preserve // when it is special.
32152         (dir_name): Don't append dot when drive letter is absolute.
32153         [TEST_DIRNAME]: Move into a full-blown gnulib test.
32154         * lib/basename.c (base_name): New semantics - malloc the result.
32155         Preserve // when it is special.  Preserve relative files that look
32156         like drive letters.
32157         (base_len): Preserve // when it is special.
32158         (last_component): New method, similar to old base_name semantics.
32159         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
32160         base_name.  Strip redundant slashes from ///.
32161
32162 2006-07-03  Jim Meyering  <jim@meyering.net>
32163
32164         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
32165         macro is used before the first cycle_check call.
32166
32167 2006-07-03  Eric Blake  <ebb9@byu.net>
32168
32169         * modules/dirname (Depends-on): Add xstrndup.
32170
32171 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
32172
32173         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
32174         test cases, so that config.log is a bit easier to follow.
32175
32176 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
32177
32178         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
32179         both are 64 bits, since this seems to be the tradition, and this
32180         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
32181         we ever run into a host that prefers long long to long in this
32182         case, we'll need another configure-time test.  Problem reported by
32183         Jim Meyering.
32184
32185 2006-07-02  Eric Blake  <ebb9@byu.net>
32186
32187         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
32188
32189 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
32190
32191         * modules/inttypes (Depends-on): No longer depends on stdint.
32192         * modules/stdint (Description): Say more about assumptions.
32193         Say that the fast types might differ.  Say macros are used.
32194         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
32195         (Makefile.am): Revise list of substituted symbols to match
32196         new stdint.m4.
32197         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
32198         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
32199         * tests/test-stdint.c (verify_same_types)
32200         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
32201         the code conforms to C99/C89.
32202         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
32203         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
32204
32205 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
32206
32207         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
32208         but fix a bug, by requiring at least 64 bits.
32209         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
32210         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
32211         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
32212         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
32213
32214         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
32215         changes.  Make 2.59 a prerequisite.  Check and substitute for
32216         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
32217         inttypes.h.  Do not use special include files; just use the
32218         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
32219         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
32220         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
32221         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
32222         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
32223         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
32224         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
32225         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
32226         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
32227         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
32228         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
32229         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
32230         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
32231         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
32232         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
32233         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
32234         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
32235         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
32236         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
32237         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
32238         WINT_MAX.  Check for C99 conformance more strictly, by detecting
32239         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
32240         not check for things that C99 does not require, e.g., int8_t.  If
32241         a test isn't needed unless <stdint.h> isn't working, and is
32242         unlikely to be needed for any other reason, then don't do it
32243         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
32244         size_t, since we assume C89 freestanding at least.  Do not check
32245         for sig_atomic_t, wchar_t, or wint_t, since the code now does
32246         the right thing even if the types are not defined.  Instead use:
32247         (gl_STDINT_TYPE_PROPERTIES): New macro.
32248         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
32249         testing whether <sys/types.h> clashes, as Autoconf does this for
32250         us now.  All uses removed.
32251         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
32252         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
32253         (gl_CHECK_TYPE_SAME):
32254         Remove; no longer needed.
32255         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
32256         exists, since we'll return 0 anyway in that case.
32257         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
32258
32259 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
32260
32261         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
32262         possible collision with system files.
32263         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
32264         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
32265         WCHAR_MIN and WCHAR_MAX in this case.
32266         (<stddef.h>): Do not include; no longer needed.
32267         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
32268         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
32269         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
32270         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
32271         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
32272         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
32273         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
32274         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
32275         !defined(__c99))]: Include in this case too, since it's harmless
32276         now.
32277         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
32278         dangerous to do so.
32279         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
32280         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
32281         (_STDINT_MIN, _STDINT_MAX): New macros.
32282         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
32283         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
32284         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
32285         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
32286         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
32287         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
32288         macros, not typedefs; this simplifies things quite a bit.
32289         Use long int for all types narrower than int64_t.
32290         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
32291         Define in terms of long long int or int64_t or long int,
32292         not int64_t or int32_t.  This saves some compile-time testing.
32293         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
32294         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
32295         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
32296         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
32297         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
32298         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
32299         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
32300         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
32301         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
32302         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
32303         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
32304         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
32305         undef any previous version and define our own version, for
32306         simplicity and consistency with the new macros for types.
32307         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
32308         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
32309         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
32310         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
32311         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
32312         @WINT_T_SUFFIX@ to keep things simple here.
32313         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
32314         Simplify by assuming typical 8/16/32/64 host, since we're
32315         already doing that elsewhere anyway.
32316         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
32317         and assume long long int is 64 bits if available.  This
32318         speeds up 'configure'.
32319
32320 2006-07-01  Eric Blake  <ebb9@byu.net>
32321
32322         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
32323         Reported by Andreas Buening.
32324
32325 2006-07-01  Eric Blake  <ebb9@byu.net>
32326
32327         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
32328
32329 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
32330
32331         * lib/getaddrinfo.c: fixed typo
32332
32333 2006-06-29  Jim Meyering  <jim@meyering.net>
32334
32335         * modules/strftime (Maintainer): Add my name, since with the
32336         FPRINTFTIME changes strftime.c has forked from glibc.
32337
32338 2006-06-29  Eric Blake  <ebb9@byu.net>
32339
32340         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
32341
32342 2006-06-29  Eric Blake  <ebb9@byu.net>
32343
32344         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
32345
32346 2006-06-29  Eric Blake  <ebb9@byu.net>
32347
32348         * lib/stat_.h: New file.
32349
32350 2006-06-29  Eric Blake  <ebb9@byu.net>
32351
32352         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
32353         unused static function.
32354
32355 2006-06-29  Eric Blake  <ebb9@byu.net>
32356
32357         * doc/functions.texi (Function Portability): Document missing lstat
32358         on mingw.
32359
32360 2006-06-29  Eric Blake  <ebb9@byu.net>
32361
32362         * MODULES.html.sh: Add sys_stat.
32363         * modules/sys_stat: New module.
32364         * modules/mkstemp (Depends-on): Add sys_stat.
32365
32366 2006-06-29  Derek R. Price  <derek@ximbiot.com>
32367
32368         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
32369
32370 2006-06-29  Derek R. Price  <derek@ximbiot.com>
32371
32372         * m4/c-bs-a.m4: Removed.
32373
32374 2006-06-29  Derek R. Price  <derek@ximbiot.com>
32375
32376         * lib/strftime.c: Assume strftime() exists.
32377
32378 2006-06-29  Derek Price  <derek@ximbiot.com>
32379
32380         * modules/c-bs-a: Removed - \a is C89.
32381         * MODULES.html.sh: Remove c-bs-a.
32382
32383 2006-06-29  Bruno Haible  <bruno@clisp.org>
32384
32385         * modules/wcwidth (License): Change to LGPL.
32386
32387 2006-06-28  Simon Josefsson  <jas@extundo.com>
32388
32389         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
32390         on _WIN32.
32391
32392         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
32393         getnameinfo.
32394
32395 2006-06-28  Simon Josefsson  <jas@extundo.com>
32396
32397         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
32398
32399 2006-06-28  Simon Josefsson  <jas@extundo.com>
32400
32401         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
32402         functions there.  It will succeed on Windows XP, but on Windows
32403         2000 and (presumably) earlier, it will fail, and use the internal
32404         re-implementation.
32405         (use_win32_p): New function.
32406         (getaddrinfo): Use strtoul on servname, to support numeric ports.
32407         Support AI_NUMERICSERV to disable getservbyname.
32408         (getnameinfo): New function, only supports
32409         NI_NUMERICHOST|NI_NUMERICSERV for now.
32410
32411         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
32412         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
32413         getnameinfo.
32414
32415 2006-06-28  Eric Blake  <ebb9@byu.net>
32416
32417         * modules/wcwidth: New file.
32418         * modules/mbchar (Depends-on): Add wcwidth.
32419         * modules/mbswidth (Depends-on): Add wcwidth.
32420         * MODULES.html.sh: Add wcwidth.
32421
32422 2006-06-28  Eric Blake  <ebb9@byu.net>
32423
32424         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
32425         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
32426
32427 2006-06-28  Eric Blake  <ebb9@byu.net>
32428
32429         * lib/xvasprintf.h: Fix comments.
32430
32431 2006-06-28  Eric Blake  <ebb9@byu.net>
32432
32433         * lib/mbchar.h (wcwidth): Include wcwidth.h.
32434         * lib/mbswidth.c (wcwidth): Move from here...
32435         * lib/wcwidth.h: ...to this new file.
32436
32437 2006-06-28  Derek R. Price  <derek@ximbiot.com>
32438
32439         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
32440
32441         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
32442         it's obsolete.
32443         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
32444
32445 2006-06-28  Derek R. Price  <derek@ximbiot.com>
32446
32447         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
32448         Autoconf 2.60 says this stuff was obsolete.
32449
32450 2006-06-28  Bruno Haible  <bruno@clisp.org>
32451
32452         * modules/wcwidth (Files): Add m4/wchar_t.m4.
32453
32454 2006-06-28  Bruno Haible  <bruno@clisp.org>
32455
32456         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
32457         gt_TYPE_WCHAR_T.
32458
32459 2006-06-28  Bruno Haible  <bruno@clisp.org>
32460
32461         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
32462         declaration for wcwidth.
32463         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
32464
32465 2006-06-28  Bruno Haible  <bruno@clisp.org>
32466
32467         * lib/mkdtemp.c [MINGW]: Include <io.h>.
32468         (mkdir): Define using _mkdir.
32469
32470 2006-06-28  Bruno Haible  <bruno@clisp.org>
32471
32472         * lib/getaddrinfo.h: Fix POSIX URL.
32473         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
32474         _WIN32.
32475         (use_win32_p): Make static.
32476         (getaddrinfo): Reject service name if it is empty or does not consist
32477         solely of decimal digits, or if its value is > 65535.
32478         (getnameinfo): Remove useless casts.
32479
32480 2006-06-27  Simon Josefsson  <jas@extundo.com>
32481
32482         * modules/sys_select: New file, suggested by Bruno Haible, Paul
32483         Eggert and Martin Lambers.
32484
32485 2006-06-27  Simon Josefsson  <jas@extundo.com>
32486
32487         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
32488         Eggert and Martin Lambers.
32489
32490 2006-06-27  Bruno Haible  <bruno@clisp.org>
32491
32492         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
32493         result to 0, not to empty.
32494         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
32495
32496 2006-06-27  Bruno Haible  <bruno@clisp.org>
32497
32498         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
32499
32500 2006-06-26  Simon Josefsson  <jas@extundo.com>
32501
32502         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
32503         present.
32504
32505 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
32506
32507         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
32508         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
32509         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
32510
32511 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
32512
32513         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
32514
32515 2006-06-26  Bruno Haible  <bruno@clisp.org>
32516
32517         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
32518
32519 2006-06-26  Bruno Haible  <bruno@clisp.org>
32520
32521         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
32522
32523 2006-06-26  Bruno Haible  <bruno@clisp.org>
32524
32525         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
32526         SGI C compiler in pre-C99 mode.
32527         Suggested by Mark D. Baushke and Larry Jones.
32528
32529 2006-06-26  Bruno Haible  <bruno@clisp.org>
32530
32531         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
32532         WCHAR_MAX.
32533         Reported by Mark D. Baushke and Larry Jones.
32534
32535 2006-06-26  Bruno Haible  <bruno@clisp.org>
32536
32537         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
32538         in pre-C99 mode.
32539         Suggested by Mark D. Baushke and Larry Jones.
32540
32541 2006-06-23  Simon Josefsson  <jas@extundo.com>
32542             Bruno Haible  <bruno@clisp.org>
32543
32544         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
32545         Emit mostlyclean-local rule.
32546         (func_emit_tests_Makefile_am): Likewise.
32547         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
32548
32549 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
32550
32551         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
32552
32553 2006-06-23  Bruno Haible  <bruno@clisp.org>
32554
32555         * tests/test-stdint.c: Update to match ISO C 99 Technical
32556         Corrigendum 1.
32557
32558 2006-06-23  Bruno Haible  <bruno@clisp.org>
32559
32560         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
32561
32562 2006-06-23  Bruno Haible  <bruno@clisp.org>
32563
32564         * lib/stdint_.h: Treat IRIX like OpenBSD.
32565
32566 2006-06-23  Bruno Haible  <bruno@clisp.org>
32567
32568         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
32569         ISO C 99 Technical Corrigendum 1.
32570
32571 2006-06-22  Simon Josefsson  <jas@extundo.com>
32572
32573         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
32574         MinGW.
32575
32576 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
32577
32578         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
32579         needed.  Some compiler complained about some of them.  Problem reported
32580         by Larry Jones in
32581         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
32582
32583 2006-06-21  Simon Josefsson  <jas@extundo.com>
32584
32585         * tests/test-getaddrinfo.c: New file.
32586
32587         * modules/getaddrinfo-tests: New file.
32588
32589         * MODULES.html.sh: Add inet_pton.
32590
32591         * modules/inet_pton: New file.
32592
32593 2006-06-21  Simon Josefsson  <jas@extundo.com>
32594
32595         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
32596         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
32597         of using the (limited) gnulib implementation on Windows XP.
32598
32599         * m4/inet_pton.m4: New file.
32600
32601 2006-06-21  Simon Josefsson  <jas@extundo.com>
32602
32603         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
32604         variable.
32605
32606         * lib/socket_.h: Don't define WINVER.
32607
32608         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
32609         slightly modified to work in gnulib.
32610
32611 2006-06-21  Simon Josefsson  <jas@extundo.com>
32612
32613         * doc/gnulib.texi (Windows sockets): Add.
32614
32615 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
32616
32617         * lib/read-file.c (fread_file): Start with buffer allocation of
32618         0 bytes rather than 1 byte; this simplifies the code.
32619         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
32620         code to free buffer and save/restore errno.
32621         (internal_read_file): Remove unused local.
32622
32623 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
32624
32625         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
32626         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
32627         Problem reported by Denis Excoffier in
32628         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
32629
32630 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32631
32632         * modules/sys_socket, modules/socklen: Include sys/types since
32633         FreeBSD 4.x's sys/socket.h needs it.
32634
32635 2006-06-19  Simon Josefsson  <jas@extundo.com>
32636
32637         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
32638
32639 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
32640
32641         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
32642
32643 2006-06-19  Bruno Haible  <bruno@clisp.org>
32644
32645         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
32646         and FULL_PATH_INTTYPES_H in angle brackets.
32647         Reported by Mark D. Baushke <mdb@gnu.org>.
32648
32649 2006-06-17  Eric Blake  <ebb9@byu.net>
32650
32651         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
32652         errno.
32653
32654 2006-06-17  Bruno Haible  <bruno@clisp.org>
32655
32656         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
32657         <sys/inttypes.h>.
32658
32659 2006-06-17  Bruno Haible  <bruno@clisp.org>
32660
32661         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
32662         whether errno is declared. Assume <errno.h> declares errno.
32663
32664 2006-06-17  Bruno Haible  <bruno@clisp.org>
32665
32666         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
32667
32668 2006-06-17  Bruno Haible  <bruno@clisp.org>
32669
32670         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
32671         problem on Solaris 2.5.1.
32672
32673 2006-06-16  Eric Blake  <ebb9@byu.net>
32674
32675         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
32676         * lib/unicodeio.c [!defined errno]: Likewise.
32677         * lib/strtol.c [!defined errno]: Likewise.
32678         * lib/strtod.c [!defined errno]: Likewise.
32679
32680 2006-06-15  Eric Blake  <ebb9@byu.net>
32681
32682         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
32683
32684 2006-06-15  Eric Blake  <ebb9@byu.net>
32685
32686         * config/srclist.txt (ssize_t.m4): Lose sync.
32687
32688 2006-06-15  Bruno Haible  <bruno@clisp.org>
32689
32690         * modules/stdint (Files): Include m4/full-header-path.m4,
32691         m4/size_max.m4, m4/wchar_t.m4.
32692         (Makefile.am): Many more substitutions.
32693         * modules/stdint-tests: New file.
32694         * tests/test-stdint.c: New file.
32695
32696 2006-06-15  Bruno Haible  <bruno@clisp.org>
32697
32698         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
32699         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
32700         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
32701         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
32702         gl_CHECK_TYPE_SAME): New macros.
32703
32704 2006-06-15  Bruno Haible  <bruno@clisp.org>
32705
32706         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
32707
32708 2006-06-15  Bruno Haible  <bruno@clisp.org>
32709
32710         * lib/stdint_.h: Rewritten to be fully auto-configured.
32711         Fixes bug on HP-UX/IA64.
32712
32713 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
32714
32715         * lib/getdate.y (__attribute__): Don't define if already defined.
32716         Problem reported by Larry Jones.
32717         * lib/utimens.c (__attribute__): Likewise.
32718
32719 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
32720
32721         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
32722         reported by Andreas Schwab.
32723
32724 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32725             Bruno Haible  <bruno@clisp.org>
32726
32727         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
32728         check for the declaration of strnlen and a run test that exposes the
32729         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
32730         rpl_strndup.
32731
32732 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32733             Bruno Haible  <bruno@clisp.org>
32734
32735         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
32736
32737 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32738
32739         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
32740         compile test, for Tru64 4.0D.
32741
32742 2006-05-28  Karl Berry  <karl@gnu.org>
32743
32744         * config/srclist.txt (printf-args.c): lose sync.
32745
32746 2006-05-26  Martin Lambers  <marlam@marlam.de>
32747
32748         * lib/getpass.c: Updates the test for the native W32 API, and adds
32749         missing includes, thus fixing compilation warnings.
32750
32751 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
32752
32753         * lib/exclude.c (exclude_fnmatch): New function.
32754         (excluded_file_name): Call exclude_fnmatch.
32755         * lib/exclude.h (excluded_file_name): New prototype
32756
32757 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
32758
32759         * lib/tempname.c (small_open, large_open): New macros.
32760         (__open, __open64) [!_LIBC]: Remove.
32761         (__gen_tempname): Use small_open and large_open instead of __open
32762         and __open64.  This fixes a portability bug on HP-UX 11.11i
32763         reported by Simon Wing-Tang in
32764         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
32765
32766 2006-05-24  Bruno Haible  <bruno@clisp.org>
32767
32768         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
32769         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
32770         Reported by Thorsten Maerz <torte@netztorte.de> via
32771         Aaron Stone <aaron@serendipity.cx>.
32772
32773 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
32774
32775         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
32776         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
32777         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
32778         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
32779         not really conditional on the cache.
32780         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
32781
32782 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
32783
32784         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
32785         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
32786         (my_usleep): Don't mishandle maximum value.
32787
32788 2006-05-19  Jim Meyering  <jim@meyering.net>
32789
32790         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
32791
32792 2006-05-17  Bruno Haible  <bruno@clisp.org>
32793
32794         Cygwin portability.
32795         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
32796
32797 2006-05-17  Bruno Haible  <bruno@clisp.org>
32798
32799         * lib/stdint_.h: Fix recognition of Cygwin.
32800
32801 2006-05-15  Bruno Haible  <bruno@clisp.org>
32802
32803         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
32804         on libtool patch by Ralf Wildenhues.
32805
32806 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
32807
32808         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
32809         test for C99 conformance; (bool) 0.5 is an integer constant
32810         expression, but (bool) -0.5 is not.  Problem reported by Fedor
32811         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
32812
32813 2006-05-11  Simon Josefsson  <jas@extundo.com>
32814
32815         * m4/xvasprintf.m4: Fix obvious typo.
32816
32817 2006-05-11  Jim Meyering  <jim@meyering.net>
32818
32819         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
32820         James Lemley.
32821
32822 2006-05-10  Simon Josefsson  <jas@extundo.com>
32823
32824         * lib/md4.c: Typo fix, update copyright years.
32825         (K1, K2): Don't use L because it turn computations into 64-bit on
32826         64-bit platforms.
32827
32828 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
32829
32830         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
32831         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
32832         unwanted sign propagation, e.g., on hosts with 64-bit int.
32833         There still are some problems with reeelly weird theoretical hosts
32834         (e.g., 33-bit int) but it's not worth worrying about now.
32835         * lib/sha1.c (rol): Likewise.
32836         (K1, K2, K3, K4): Remove unnecessary L suffix.
32837
32838 2006-05-10  Bruno Haible  <bruno@clisp.org>
32839
32840         * lib/des.c: Cast to avoid warnings.
32841
32842 2006-05-09  Bruno Haible  <bruno@clisp.org>
32843
32844         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
32845         (Depends-on): Depend also on xsize, stdarg.
32846         (configure.ac): Add gl_XVASPRINTF.
32847
32848 2006-05-09  Bruno Haible  <bruno@clisp.org>
32849
32850         * m4/xvasprintf.m4: New file.
32851
32852 2006-05-09  Bruno Haible  <bruno@clisp.org>
32853
32854         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
32855         (EOVERFLOW): Define fallback value.
32856         (xstrcat): New function.
32857         (xvasprintf): Recognize the special case of a string concatenation.
32858
32859 2006-05-08  Eric Blake  <ebb9@byu.net>
32860
32861         * gnulib-tool (func_version): Base copyright year on CVS date.
32862         (func_emit_copyright_notice): New function.
32863         (func_emit_lib_Makefile_am): Use it.
32864         (func_emit_tests_Makefile_am): Likewise.
32865         (func_import): Likewise.
32866
32867 2006-05-08  Bruno Haible  <bruno@clisp.org>
32868
32869         * modules/stdarg: New file.
32870         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
32871
32872 2006-05-08  Bruno Haible  <bruno@clisp.org>
32873
32874         * m4/stdarg.m4: New file, from GNU gettext.
32875
32876 2006-05-08  Bruno Haible  <bruno@clisp.org>
32877
32878         * config/srclist.txt (build-aux/config.rpath): different from latest
32879         release.
32880
32881 2006-05-08  Bruno Haible  <bruno@clisp.org>
32882
32883         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
32884
32885 2006-05-05  Jim Meyering  <jim@meyering.net>
32886
32887         * m4/warning.m4: New file, derived from bison's file by the same name.
32888
32889 2006-05-03  Bruno Haible  <bruno@clisp.org>
32890
32891         * lib/stdint_.h: Shorter URL.
32892         * lib/inttypes.h: Likewise.
32893
32894 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
32895
32896         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
32897
32898 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
32899
32900         * lib/verify.h: Document the internals better.  Most of this change
32901         was written by Bruno Haible.
32902
32903 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
32904
32905         * doc/verify.texi: New file, partly based on a proposal by
32906         Bruno Haible.
32907
32908 2006-05-02  Bruno Haible  <bruno@clisp.org>
32909
32910         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
32911         test from here...
32912         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
32913
32914 2006-04-29  Bruno Haible  <bruno@clisp.org>
32915
32916         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
32917         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
32918
32919 2006-04-29  Bruno Haible  <bruno@clisp.org>
32920
32921         * gnulib-tool: Make --update option actually work.
32922
32923 2006-04-29  Bruno Haible  <bruno@clisp.org>
32924
32925         * doc/gcd.texi: New file.
32926         * doc/gnulib.texi: Include it.
32927
32928 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
32929
32930         * lib/getdate.y (get_date): When adding relative date, start with the
32931         initial time, not with the result of the first mktime call.
32932
32933 2006-04-25  Bruno Haible  <bruno@clisp.org>
32934
32935         * gnulib-tool (func_import): Output the include directives in three
32936         blocks, sorted separately.
32937         Reported by Ben Pfaff <blp@cs.stanford.edu>.
32938
32939 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
32940
32941         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
32942         to define main with arguments, for C++.  Reported by Eric Blake.
32943         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
32944         Prefer 'int main ()' to 'int main (void)', for C++.
32945         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
32946         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
32947         for 'main', for C99 and C++.
32948
32949 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
32950
32951         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
32952         Don't assume that exit status -1 is valid.
32953         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
32954         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
32955         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
32956         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
32957         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
32958         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
32959         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
32960         functions can be used without declaring them, or that you can
32961         exit with status -1.
32962         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
32963
32964 2006-04-24  Karl Berry  <karl@gnu.org>
32965
32966         * config/srclist.txt (longdouble.m4): sync lost.
32967
32968 2006-04-24  Eric Blake  <ebb9@byu.net>
32969
32970         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
32971
32972 2006-04-24  Bruno Haible  <bruno@clisp.org>
32973
32974         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
32975         poll() implementation in AIX.
32976         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32977
32978 2006-04-24  Bruno Haible  <bruno@clisp.org>
32979
32980         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
32981         assigned exactly once.
32982
32983 2006-04-23  Claudio Fontana  <claudio@gnu.org>
32984             Bruno Haible  <bruno@clisp.org>
32985
32986         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
32987         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
32988         for AM_CPPFLAGS.
32989
32990 2006-04-23  Bruno Haible  <bruno@clisp.org>
32991
32992         * modules/copy-file: Depend on unistd.
32993         * modules/execute: Likewise.
32994         * modules/fatal-signal: Likewise.
32995         * modules/findprog: Likewise.
32996         * modules/mkdtemp : Likewise.
32997         * modules/pipe: Likewise.
32998         * modules/wait-process: Likewise.
32999
33000 2006-04-23  Bruno Haible  <bruno@clisp.org>
33001
33002         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
33003         condition was already detected.
33004         Reported by Ben Pfaff <blp@cs.stanford.edu>.
33005
33006 2006-04-23  Bruno Haible  <bruno@clisp.org>
33007
33008         * lib/copy-file.c: Include <unistd.h> unconditionally.
33009         * lib/execute.c: Likewise.
33010         * lib/fatal-signal.c: Likewise.
33011         * lib/findprog.c: Likewise.
33012         * lib/mkdtemp.c: Likewise.
33013         * lib/pipe.h: Likewise.
33014         * lib/pipe.c: Likewise.
33015         * lib/wait-process.h: Likewise.
33016
33017 2006-04-23  Bruno Haible  <bruno@clisp.org>
33018
33019         * gnulib-tool (func_usage): Fix --import description. Document
33020         --update.
33021         (func_import): Create temporary file in a temporary directory, if
33022         --dry-run is specified. Silence errors from 'grep' when there are no
33023         m4 files in $m4dir.
33024         (func_create_testdir): Silence errors from 'grep' when there are no
33025         m4 files in $m4dir.
33026         Reported by Karl Berry <karl@freefriends.org>.
33027
33028 2006-04-20  Bruno Haible  <bruno@clisp.org>
33029
33030         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
33031         one argument, so that the code will be portable to Autoconf 2.60.
33032         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
33033         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
33034         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
33035
33036 2006-04-19  Derek Price  <derek@ximbiot.com>
33037             Eric Blake  <ebb9@byu.net>
33038
33039         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
33040         rather than "/full/path.h".  Update comment to match.  Shorten &
33041         generalize m4_translit call via AS_TR_CPP.
33042
33043 2006-04-19  Derek Price  <derek@ximbiot.com>
33044             Eric Blake  <ebb9@byu.net>
33045
33046         * lib/inttypes.h: Correct grammar in comment.
33047
33048 2006-04-18  Derek Price  <derek@ximbiot.com>
33049             Paul Eggert  <eggert@cs.ucla.edu>
33050
33051         * modules/inttypes: New file.
33052         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
33053
33054 2006-04-18  Derek Price  <derek@ximbiot.com>
33055             Paul Eggert  <eggert@cs.ucla.edu>
33056
33057         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
33058         New files.
33059
33060 2006-04-18  Derek Price  <derek@ximbiot.com>
33061             Paul Eggert  <eggert@cs.ucla.edu>
33062
33063         * lib/inttypes.h: New file.
33064         * lib/strtoimax.c: Assume <inttypes.h>.
33065
33066 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
33067
33068         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
33069         isn't mounted.  Problem reported by Kir Kolyshkin.
33070
33071 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
33072
33073         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
33074         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
33075         Derek R. Price.
33076         * lib/regex.h (RE_DUP_MAX): Update comment to match current
33077         implementation.
33078
33079 2006-04-12  Eric Blake  <ebb9@byu.net>
33080
33081         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
33082         is now done automatically by the corresponding Autoconf macro.
33083
33084 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
33085
33086         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
33087         time_r.h.
33088
33089 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
33090
33091         Merge regex changes from libc, removing some of our
33092         POSIX-conformance changes that were rejected and redoing them in a
33093         less-intrusive way.
33094
33095         * lib/regcomp.c (re_compile_internal, init_dfa):
33096         Length arg is now size_t, not Idx.  All uses changed.
33097         (peek_token): Forward decl now says internal_function.
33098         (__re_error_msgid, __re_error_msgid_idx):
33099         Now static rather than extern with attribute_hidden.
33100         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
33101         For some reason libc prefers K&R style defns for external functions.
33102         (regerror) [!defined _LIBC]: Likewise.
33103         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
33104         (seek_collating_symbol_entry, lookup_collation_sequence_value):
33105         (build_range_exp, build_collating_symbol):
33106         Use K&R-style defn.
33107         (re_compile_fastmap): Use '\0' to memset, not 0.
33108         (utf8_sb_map): Make the calculations more obvious.
33109         (init_dfa, parse_bracket_exp, build_charclass_op):
33110         Call calloc and cast result, as glibc does.
33111         (init_word_char, fetch_token, peek_token, peek_token_bracket):
33112         (build_range_exp, build_collating_symbol):
33113         Now internal functions.
33114
33115         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
33116
33117         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
33118         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
33119         Don't depend on VMS; depend on __VMS instead, for POSIX
33120         namespace cleanness.
33121         (regoff_t): Define to ssize_t, not long int.
33122
33123         Remove the REG_ macros named below.  Instead, make the old names
33124         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
33125         __USE_GNU_REGEX.
33126         (REG_BACKSLASH_ESCAPE_IN_LISTS):
33127         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
33128         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
33129         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
33130         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
33131         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
33132         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
33133         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
33134         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
33135         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
33136         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
33137         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
33138         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
33139         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
33140         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
33141         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
33142         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
33143         (REG_NREGS):
33144         Remove.  All uses replaced by the old RE_* names.
33145         (RE_BACKSLASH_ESCAPE_IN_LISTS):
33146         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
33147         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
33148         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
33149         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
33150         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
33151         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
33152         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
33153         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
33154         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
33155         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
33156         Don't bother having these macros be independent of each others'
33157         values, since they no longer exist in the POSIX name space.
33158
33159         Rename the following member names back to their old names,
33160         unless !__USE_GNU_REGEX.  All uses changed back.
33161         (buffer): Renamed from re_buffer.
33162         (allocated): Renamed from re_allocated.
33163         (used): Renamed from re_used.
33164         (syntax): Renamed from re_syntax.
33165         (fastmap): Renamed from re_fastmap.
33166         (translate): Renamed from re_translate.
33167         (can_be_null): Renamed from re_can_be_null.
33168         (regs_allocated): Renamed from re_regs_allocated.
33169         (fastmap_accurate): Renamed from re_fastmap_accurate.
33170         (no_sub): Renamed from re_no_sub.
33171         (not_bol): Renamed from re_not_bol.
33172         (not_eol): Renamed from re_not_eol.
33173         (newline_anchor): Renamed from re_newline_anchor.
33174         (num_regs): Renamed from rm_num_regs.
33175         (start): Renamed from rm_start.
33176         (end): Renamed from rm_end.
33177
33178         (free_state): Move up a bit.
33179
33180         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
33181         #define to be empty.
33182         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
33183         when that is what is intended.
33184         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
33185         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
33186         (MAX): New macro.
33187         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
33188         All uses changed back to re_malloc, etc.  It's now the caller's
33189         responsibility to check for overflow; all callers changed.
33190         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
33191         (re_x2nrealloc): Remove.
33192         (free_state): Remove decl.
33193
33194         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
33195         (re_set_registers, re_exec):
33196         Use K&R-style defn.
33197
33198         2006-01-31  Roland McGrath  <roland@redhat.com>
33199
33200         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
33201         Reported by Mike Frysinger <vapier@gentoo.org>.
33202
33203         2006-01-15  Andreas Jaeger  <aj@suse.de>
33204
33205         [BZ #1950]
33206         * lib/regex_internal.c (re_string_reconstruct): Adjust for
33207         build_wcs_upper_buffer change.
33208         (build_wcs_upper_buffer): Change return type.
33209
33210         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
33211
33212         * lib/regex_internal.h: Include <stdint.h> if available.
33213
33214         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
33215
33216         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
33217
33218         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
33219
33220         * lib/regcomp.c: Adjust for changed secondary hash function.
33221
33222         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
33223
33224         * lib/regex.h: Pretty printing.
33225         Clean up namespace a bit.
33226
33227         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
33228
33229         * lib/regexec.c (update_cur_sifted_state, check_arrival,
33230         check_arrival_add_next_nodes): Avoid using uninitialized variable.
33231
33232         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
33233                     Ulrich Drepper  <drepper@redhat.com>
33234
33235         [BZ #1302]
33236         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
33237         changed.
33238         (bitset_word_t): Renamed from bitset_word.  All uses changed.
33239
33240         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
33241
33242         [BZ #281]
33243         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
33244         * lib/regcomp.c: Remove unnecessary uses of
33245         unsigned RE_TRANSLATE_TYPE.
33246         * lib/regex_internal.h: Likewise.
33247         * lib/regex_internal.c: Likewise.
33248         * lib/regexec.c: Likewise.
33249         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
33250
33251         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
33252
33253         * lib/regexec.c (find_recover_state): Remove unnecessary
33254         initialization.
33255         (transit_state_bkref): Make DFA a const pointer.
33256         (get_subexp): Likewise.
33257         (check_arrival): Likewise.
33258         (update_cur_sifted_state): Likewise.
33259         (re_search_internal): Likewise.
33260         (prune_impossible_nodes): Likewise.
33261         (acquire_init_state_context): Likewise.
33262         (proceed_next_node): Likewise.
33263         (set_regs): Likewise.
33264         (free_fail_stack_return): Likewise.
33265         (check_arrival_expand_ecl): Mark DFA parameter as const.
33266         (check_arrival_expand_ecl_sub): Likewise.
33267         (check_subexp_limits): Likewise.
33268         (sub_epsilon_src_nodes):  Likewise.
33269         (add_epsilon_src_nodes):  Likewise.
33270         (merge_state_array): Likewise.
33271         (update_regs): Likewise.
33272         (build_trtable): Likewise.
33273         (sift_states_backward): Mark MCTX parameter as const.
33274         (build_sifted_states): Likewise.
33275         (update_cur_sifted_state): Likewise.
33276         (sift_states_mkref): Likewise.
33277         (check_arrival_expand_ecl): Mark eclosure as const.
33278         (check_dst_limits_calc_pos_1): Likewise.
33279         * lib/regex_internal.h (re_match_context_t): Make dfa a const
33280         pointer.
33281
33282         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
33283
33284         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
33285         (transit_state_sb): Likewise.
33286         (transit_state_mb): Likewise.
33287         (sift_states_iter_mb): Likewise.
33288         (check_arrival_add_next_nodes): Likewise.
33289         (check_node_accept_bytes): Change first parameter to pointer-to-const.
33290         [_LIBC] (re_search_2_stub): Use mempcpy.
33291
33292         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
33293         mbrtowc for very simple UTF-8 case.
33294
33295         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
33296         a pointer-to-const.
33297         (re_acquire_state_context): Likewise.
33298         * lib/regex_internal.h: Adjust prototypes.
33299
33300         * lib/regex.c: Prevent using C++ compilers.
33301
33302         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
33303         (re_acquire_state_context): Likewise.
33304
33305 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
33306
33307         * modules/regex (Depends-on): Add ssize_t.
33308
33309 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
33310
33311         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
33312         translation table.
33313
33314 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
33315
33316         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
33317
33318 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
33319             Bruno Haible  <bruno@clisp.org>
33320
33321         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
33322         <sys/types.h> and <inttypes.h>.
33323
33324 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33325
33326         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
33327         `__error_t_defined', so argp.h will not typedef the former.
33328
33329 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
33330
33331         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
33332         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
33333         glibc names.  Even if glibc is changed to conform to POSIX, the
33334         traditional names will be available anyway, since regex depends on
33335         the extensions module.  Also, fix a longstanding typo in the
33336         implementation of Spencer ERE test #75 from grep 2.3.  Problems
33337         reported by Emanuele Giaquinta.  Also, change sense of cached
33338         variable, so that the message makes sense.
33339
33340 2006-03-24  Simon Josefsson  <jas@extundo.com>
33341
33342         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
33343         including some doc fixes.
33344         (base64_encode_alloc): Fix +1 bug on allocation failures.
33345
33346 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33347
33348         * lib/base64.c (base64_encode): Do not read past end of array with
33349         unsanitized input on systems with CHAR_BIT > 8.
33350
33351 2006-03-24  Eric Blake  <ebb9@byu.net>
33352
33353         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
33354
33355 2006-03-22  Karl Berry  <karl@gnu.org>
33356
33357         * config/srclist.txt (*setenv.[ch]): get from coreutils.
33358         * config/srclistvars.sh (COREUTILS): new var.
33359
33360 2006-03-17  Jim Meyering  <jim@meyering.net>
33361
33362         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
33363         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
33364
33365 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
33366
33367         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
33368         no longer needs it.  Instead, check that regoff_t is as least
33369         as wide as ptrdiff_t.
33370
33371         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
33372         so that our regex.h stays compatible with the installed regex.
33373         This is helpful for installers who configure --without-included-regex.
33374         Problem reported by Emanuele Giaquinta.
33375
33376 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
33377
33378         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
33379         Typedef to long int, not to off_, as POSIX will likely change
33380         in that direction.
33381
33382 2006-03-15  Eric Blake  <ebb9@byu.net>
33383
33384         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
33385
33386 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
33387
33388         * lib/argp-help.c (validate_uparams): Fix typo
33389         * lib/argp-parse.c (argp_default_options): Consistently begin help
33390         messages with a lowercase letter.
33391
33392 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
33393
33394         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
33395         overrun buffers and shouldn't be used (much as gets shouldn't be
33396         used).
33397         * lib/time_r.c (asctime_r, ctime_r): Likewise.
33398
33399 2006-03-08  Simon Josefsson  <jas@extundo.com>
33400
33401         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
33402         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33403
33404 2006-03-08  Simon Josefsson  <jas@extundo.com>
33405
33406         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
33407         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33408
33409 2006-03-08  Simon Josefsson  <jas@extundo.com>
33410
33411         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
33412         signal that configure disabled the device.
33413
33414 2006-03-08  Simon Josefsson  <jas@extundo.com>
33415
33416         * build-aux/maint.mk: Fix refresh-po, to handle no translated
33417         languages.
33418
33419 2006-03-07  Simon Josefsson  <jas@extundo.com>
33420
33421         * modules/getopt (Depends-on): Add unistd.
33422
33423         * modules/unistd: New file.
33424
33425 2006-03-07  Simon Josefsson  <jas@extundo.com>
33426
33427         * modules/gc-random: New file.
33428
33429 2006-03-07  Simon Josefsson  <jas@extundo.com>
33430
33431         * m4/unistd_h.m4: New file.
33432
33433 2006-03-07  Simon Josefsson  <jas@extundo.com>
33434
33435         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
33436         test to be side-effect free by storing the result in the cache
33437         variable gl_cv_lib_readline, and moving the assignment of
33438         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
33439         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33440
33441 2006-03-07  Simon Josefsson  <jas@extundo.com>
33442
33443         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
33444         error on missing devices (the functions will return an error).
33445
33446         * m4/gc.m4: Move random stuff to gc-random.m4
33447
33448 2006-03-07  Simon Josefsson  <jas@extundo.com>
33449
33450         * lib/unistd_.h: New file.
33451
33452 2006-03-07  Simon Josefsson  <jas@extundo.com>
33453
33454         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
33455
33456 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
33457
33458         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
33459         Problem reported by Juan Manuel Guerrero.
33460
33461 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
33462
33463         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
33464         the unistd module.
33465         * lib/getlogin_r.c: Likewise.
33466         * lib/getlogin_r.h: Likewise.
33467         * lib/glob.c: Likewise.
33468         * lib/pagealign_alloc.c: Likewise.
33469         * lib/unistd_.h: Remove; no longer needed.
33470
33471 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
33472
33473         * MODULES.html.sh (Support for systems lacking POSIX:2001):
33474         Add unistd.
33475         * modules/c-stack (Depends-on): Add unistd.
33476         * modules/getlogin_r: Likewise.
33477         * modules/glob: Likewise.
33478         * modules/pagealign_alloc: Likewise.
33479         * modules/unistd (Files): Remove lib/unistd_.h.
33480         (EXTRA_DIST): Remove.
33481         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
33482         need unistd_.h.
33483         (MOSTLYCLEANFILES): Remove unistd.h-t.
33484
33485 2006-03-03  Simon Josefsson  <jas@extundo.com>
33486
33487         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
33488
33489 2006-03-03  Simon Josefsson  <jas@extundo.com>
33490
33491         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
33492         libidn and bison.
33493
33494 2006-03-03  Simon Josefsson  <jas@extundo.com>
33495
33496         * build-aux/maint.mk: Add indent target.
33497
33498 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
33499
33500         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
33501         our replacement poll.h in any case, to avoid a differing
33502         declaration from a system header.  Seen on AIX.
33503
33504 2006-03-01  Simon Josefsson  <jas@extundo.com>
33505
33506         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
33507         <kasal@ucw.cz>.
33508
33509 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
33510
33511         * modules/gettime (Depends-on): Add extensions module.
33512         * modules/nanosleep (Depends-on): Likewise.
33513         * modules/settime (Depends-on): Likewise.
33514
33515 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
33516
33517         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
33518         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
33519         pedantically.
33520         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33521         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
33522
33523         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
33524         not "==".  Reported by Ralf Wildenhues.
33525
33526 2006-03-01  Karl Berry  <karl@gnu.org>
33527
33528         * doc/Copyright/request-*: new files, synced from gnuorg.
33529
33530 2006-03-01  Karl Berry  <karl@gnu.org>
33531
33532         * config/srclist.txt (Copyright/*): new entries.
33533
33534 2006-02-28  Simon Josefsson  <jas@extundo.com>
33535
33536         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
33537
33538 2006-02-27  Simon Josefsson  <jas@extundo.com>
33539
33540         * lib/base64.h: Indent #define's.  From Jim Meyering
33541         <jim@meyering.net>.
33542
33543 2006-02-27  Jim Meyering  <jim@meyering.net>
33544
33545         Revert the change of 2006-02-24, so these files can continue
33546         to be sync'd from gettext.
33547         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
33548         of `config.h'.
33549
33550 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
33551
33552         * modules/intprops: New file.
33553         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
33554         Add intprops.
33555         * modules/getloadavg (Files): Remove lib/intprops.h.
33556         (Depends-on): Add intprops.
33557         * modules/human: Likewise.
33558         * modules/inttostr: Likewise.
33559         * modules/openat: Likewise.
33560         * modules/sig2str: Likewise.
33561         * modules/userspec: Likewise.
33562         * modules/utimecmp: Likewise.
33563         * modules/xnanosleep: Likewise.
33564         * modules/xstrtol: Likewise.
33565
33566 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
33567
33568         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
33569         * modules/lock-tests (TESTS): Use $(EXEEXT).
33570         * modules/tls-tests: Likewise.
33571         * modules/argp-tests: Likewise.
33572         (check_PROGRAMS): New var, replacing...
33573         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
33574
33575 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33576
33577         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
33578         `config.h'.
33579
33580 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
33581
33582         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
33583
33584 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33585
33586         Sync from coreutils.
33587         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
33588         gl_CHDIR_SAFER.
33589
33590 2006-02-22  Jim Meyering  <jim@meyering.net>
33591
33592         Sync from coreutils.
33593         * m4/chdir-safer.m4: New file.
33594
33595 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
33596
33597         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
33598         AT_FDCWD exceeds INT_MAX.
33599         * lib/openat.h (AT_FDCWD): Likewise.
33600
33601 2006-02-17  Eric Blake  <address@hidden>
33602
33603         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
33604
33605 2006-02-16  Simon Josefsson  <jas@extundo.com>
33606
33607         * modules/getaddrinfo (Depends-on): Add sys_socket.
33608
33609 2006-02-15  Simon Josefsson  <jas@extundo.com>
33610
33611         * build-aux/maint.mk: Add dsyntax-check rule.
33612
33613 2006-02-15  Eric Blake  <ebb9@byu.net>
33614
33615         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
33616         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
33617         'present but cannot compile' warnings on cygwin.
33618         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
33619         use ws2tcpip.h if sys/socket.h works.
33620         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
33621         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
33622
33623 2006-02-14  Simon Josefsson  <jas@extundo.com>
33624
33625         * modules/maintainer-makefile (Files): Rename.
33626
33627         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
33628         and (the local) Makefile.cfg to maint-cfg.mk.
33629
33630         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
33631         to the latter.
33632
33633         * modules/maintainer-makefile: New module.
33634
33635         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
33636         severaly stripped to make it possible to build it up from scratch
33637         with reliable tests.
33638
33639         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
33640         fixes to permit overriding the default actions when configure and
33641         makefile are not available.
33642
33643 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
33644
33645         Sync from coreutils.
33646         * modules/lstat (Depends-on): Don't depend on xalloc.
33647         (License): Change from GPL to LGPL, since this is now simply a
33648         replacement for a libc function.
33649
33650 2006-02-14  Jim Meyering  <jim@meyering.net>
33651
33652         Sync from coreutils.
33653
33654         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
33655         failure on deficient systems, and simplify gnulib lgpl dependencies.
33656         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
33657         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
33658
33659         * lib/xalloc-die.c: Remove unused definition of N_.
33660
33661 2006-02-14  Jim Meyering  <jim@meyering.net>
33662
33663         Sync from coreutils.
33664         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
33665         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
33666         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
33667         double-quote uses of that variable, to accommodate the rare case in
33668         which getmntent is available in none of the libraries checked.  This
33669         happens at least on FreeBSD 5.0.
33670
33671 2006-02-13  Simon Josefsson  <jas@extundo.com>
33672
33673         * gnulib-tool (Usage): Fix --import, from
33674         karl@freefriends.org (Karl Berry).
33675
33676 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
33677
33678         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
33679
33680 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
33681
33682         * lib/argp-namefrob.h: Restore changes accidentally lost during the
33683         "autoupdate" on 2005-12-12.
33684
33685 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
33686
33687         * modules/closeout (Depends-on): Remove atexit.
33688
33689 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
33690
33691         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
33692         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
33693
33694 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
33695
33696         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
33697         __EXTENSIONS__ if this causes compilation to fail.  Problem
33698         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
33699         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
33700
33701 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
33702
33703         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
33704         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
33705         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
33706         All uses changed.
33707
33708 2006-01-26  Simon Josefsson  <jas@extundo.com>
33709
33710         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
33711         prototype is visible on mingw32.
33712
33713         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
33714         for mingw32.
33715
33716         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
33717         mingw32).
33718
33719 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
33720
33721         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
33722         attempt to open for write; this always fails, at least on POSIX
33723         hosts.  This reinstates the 2006-01-09 change, which was
33724         inadvertently removed.
33725
33726 2006-01-26  Bruno Haible  <bruno@clisp.org>
33727
33728         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
33729         Reported by Paul Eggert.
33730
33731 2006-01-26  Bruno Haible  <bruno@clisp.org>
33732             Paul Eggert  <eggert@cs.ucla.edu>
33733
33734         * lib/stdbool_.h (_Bool)
33735         [(! (defined __cplusplus || defined __BEOS__)
33736           && !defined __GNUC__
33737           && !(defined __HP_cc || defined __xlc__
33738                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
33739                || defined __sgi))]:
33740         #define to signed char in these cases too; this simplifies
33741         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
33742         etc., separately) and makes it more conservative.
33743
33744 2006-01-25  Simon Josefsson  <jas@extundo.com>
33745
33746         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
33747         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
33748         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
33749
33750 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
33751
33752         * lib/argp-namefrob.h: Bugfix. Remove stray #
33753
33754 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
33755
33756         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
33757         so that we test the test.
33758         Check for yet another HP-UX cc bug involving *bool |= bool.
33759
33760 2006-01-25  Karl Berry  <karl@gnu.org>
33761
33762         * config/srclist.txt (vasnprintf.c): sync lost.
33763
33764 2006-01-25  Jim Meyering  <jim@meyering.net>
33765
33766         Sync from the stable (b5) branch of coreutils:
33767
33768         * lib/fts.c (fts_children): Don't let close() clobber errno from
33769         failed fchdir().
33770
33771         * lib/fts.c (fts_stat): When following a symlink-to-directory,
33772         don't necessarily interpret stat-fails+lstat-succeeds as indicating
33773         a dangling symlink.  That can also happen at least for ELOOP.
33774         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
33775         FYI, this bug predates the inclusion of fts.c in coreutils.
33776
33777         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
33778         in their own block, so pre-c99 compilers don't object.
33779
33780         Avoid the double-free (first in fts_read, second in fts_close) that
33781         would occur when an `active' directory is made inaccessible (e.g.,
33782         via chmod a-x) during a traversal.
33783         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
33784         before returning.  Reproduce this failure by
33785         mkdir -p a/b; cd a; chmod a-x . b
33786         Reported by Stavros Passas.
33787
33788 2006-01-25  Jim Meyering  <jim@meyering.net>
33789
33790         * lib/fileblocks.c: Remove more useless parentheses.
33791         * lib/readutmp.h: Likewise.
33792
33793 2006-01-25  Bruno Haible  <bruno@clisp.org>
33794
33795         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
33796         warnings.
33797         Reported by Paul Eggert.
33798
33799 2006-01-25  Bruno Haible  <bruno@clisp.org>
33800
33801         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
33802         rid of a trap command. For Solaris sh.
33803         Reported by Mark D. Baushke <mdb@gnu.org>.
33804
33805 2006-01-24  Simon Josefsson  <jas@extundo.com>
33806
33807         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
33808         Bruno.
33809
33810 2006-01-24  Karl Berry  <karl@gnu.org>
33811
33812         * config/srclist.txt (argp-namefrob.h): sync lost.
33813
33814 2006-01-24  Jim Meyering  <jim@meyering.net>
33815
33816         * modules/openat (Files): Add lib/intprops.h.
33817         From Mark D. Baushke.
33818
33819 2006-01-24  Jim Meyering  <jim@meyering.net>
33820
33821         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
33822         Reported by Mark D. Baushke.
33823
33824 2006-01-24  Jim Meyering  <jim@meyering.net>
33825
33826         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
33827
33828 2006-01-24  Bruno Haible  <bruno@clisp.org>
33829
33830         * modules/strnlen (Maintainer): Change from glibc to all.
33831
33832 2006-01-24  Bruno Haible  <bruno@clisp.org>
33833
33834         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
33835         Patch by Paul Eggert.
33836
33837 2006-01-24  Bruno Haible  <bruno@clisp.org>
33838
33839         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
33840         already has it.
33841         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
33842         2005-11-26.
33843
33844         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
33845         'signed char' to avoid problems with the built-in _Bool type.
33846         Reported by Paul Eggert on 2005-11-26.
33847
33848 2006-01-24  Bruno Haible  <bruno@clisp.org>
33849
33850         * gnulib-tool (func_import): Avoid constructing complicated sed
33851         expressions inside backquote.
33852         Report and solution by Mark D. Baushke <mdb@gnu.org>.
33853
33854 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
33855
33856         These changes imported from libc.
33857         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
33858         test and two separate function calls.
33859         * lib/strndup.c (__strndup): Add libc_hidden_def.
33860
33861 2006-01-23  Simon Josefsson  <jas@extundo.com>
33862
33863         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
33864         Remove the test_*_SOURCES variable: automake infers it by default.
33865         * modules/tls-tests: Likewise.
33866
33867 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
33868
33869         Work around porting bugs reported by Dieter in
33870         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
33871         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
33872         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
33873         Include "getopt.h" first, to check interface.
33874         (getenv): Declare only if defined HAVE_DECL_GETENV &&
33875         !HAVE_DECL_GETENV.
33876         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
33877         (__strndup): Revert to K&R-style function dfns, the glibc style.
33878         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
33879         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
33880         Include strnlen.h first, to get prototype properly.
33881         (strnlen): Renamed from __strnlen.
33882         Remove weak alias.
33883
33884 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
33885
33886         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
33887
33888 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
33889
33890         * config/srclist.txt: Adjust to reflect glibc reorganization.
33891         This affects only comments.
33892
33893 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
33894
33895          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
33896          Reported by Bruce Korb <bkorb@gnu.org>.
33897
33898 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
33899
33900         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
33901         to pacify gcc -Wswitch-default.
33902
33903 2006-01-22  Bruno Haible  <bruno@clisp.org>
33904
33905         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
33906         temporary buffer for sprintf, take into account the precision also
33907         for 'd', 'i', 'u', 'o', 'x', 'X'.
33908
33909 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
33910
33911         * modules/argp-tests: New module
33912         * tests/test-argp.c: New file
33913         * tests/test-argp-2.sh: New file
33914
33915 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
33916
33917         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
33918         (__argp_base_name): Removed
33919         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
33920         typo.
33921         (__argp_base_name): Provide macro definition or extern declaration
33922         depending on the configuration
33923
33924 2006-01-20  Simon Josefsson  <jas@extundo.com>
33925
33926         * modules/inet_ntop (Depends-on): Depend on sys_socket.
33927
33928 2006-01-20  Simon Josefsson  <jas@extundo.com>
33929
33930         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
33931
33932 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
33933
33934         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
33935         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
33936         Suggested by Bruno Haible.
33937
33938 2006-01-20  Karl Berry  <karl@gnu.org>
33939
33940         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
33941         until changes propagate, I guess.
33942
33943 2006-01-19  Simon Josefsson  <jas@extundo.com>
33944
33945         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
33946
33947 2006-01-19  Simon Josefsson  <jas@extundo.com>
33948
33949         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
33950
33951 2006-01-19  Simon Josefsson  <jas@extundo.com>
33952
33953         * gnulib-tool: Set check_PROGRAMS.
33954
33955         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
33956         modules/des-tests, modules/gc-arcfour-tests,
33957         modules/gc-arctwo-tests, modules/gc-des-tests,
33958         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
33959         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
33960         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
33961         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
33962         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
33963         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
33964         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
33965         test_*_SOURCES.
33966
33967 2006-01-18  Simon Josefsson  <jas@extundo.com>
33968
33969         * modules/socklen (Depends-on): Depend on sys_socket.
33970
33971 2006-01-18  Simon Josefsson  <jas@extundo.com>
33972
33973         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
33974         modules/des-tests, modules/gc-arcfour-tests,
33975         modules/gc-arctwo-tests, modules/gc-des-tests,
33976         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
33977         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
33978         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
33979         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
33980         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
33981         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
33982         $(EXEEXT) to automake TESTS variable, for mingw32.
33983
33984 2006-01-17  Simon Josefsson  <jas@extundo.com>
33985
33986         * modules/socklen (Include): Need sys/socket.h.
33987
33988 2006-01-17  Bruno Haible  <bruno@clisp.org>
33989
33990         * modules/ssize_t (Include): Add <sys/types.h>.
33991
33992 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
33993
33994         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
33995         it's not portable and it doesn't work with cross-compiles.
33996         Problem reported by Bruno Haible.  Fix missing-$ typo in
33997         'test "gl_cv_ignore_unused_libraries" ...' that prevented
33998         -zignore from being used with Sun's C compiler.
33999
34000 2006-01-12  Simon Josefsson  <jas@extundo.com>
34001
34002         * lib/base64.c: Fix warning, reported by Bruno Haible
34003         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
34004
34005 2006-01-12  Bruno Haible  <bruno@clisp.org>
34006
34007         * modules/ldd: New file.
34008         * build-aux/ldd.sh.in: New file.
34009         * MODULES.html.sh (Support for building libraries and executables): Add
34010         ldd.
34011
34012 2006-01-12  Bruno Haible  <bruno@clisp.org>
34013
34014         * m4/ldd.m4: New file.
34015
34016 2006-01-12  Bruno Haible  <bruno@clisp.org>
34017
34018         * gnulib-tool (func_import, func_create_testdir): Don't go into an
34019         endless loop while replacing $auxdir with build-aux.
34020
34021 2006-01-11  Simon Josefsson  <jas@extundo.com>
34022
34023         * lib/stdint_.h (SIZE_MAX): Add missing (.
34024
34025 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
34026
34027         Sync from coreutils.
34028         * lib/md5.c: Fix commentary typos.
34029         (alignof, UNALIGNED_P): No need for a GCC-specific version.
34030         * lib/md5.h (__attribute__): Remove; unused.
34031         * lib/sha1.c: Fix commentary to match md5 better.
34032         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
34033         so that we don't need to worry about alignment.  All uses changed.
34034         This merges the 2005-10-28 md5 change into sha1.
34035
34036 2006-01-11  Jim Meyering  <jim@meyering.net>
34037
34038         Sync from coreutils.
34039         * lib/md5.c (OP): Fix spacing.
34040
34041 2006-01-11  Bruno Haible  <bruno@clisp.org>
34042
34043         Ensure automatic ordering between gl_LOCK and gl_ARGP.
34044         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
34045         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
34046
34047 2006-01-11  Bruno Haible  <bruno@clisp.org>
34048
34049         Ensure automatic ordering between gl_LOCK and gl_ARGP.
34050         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
34051         the "early" section as well.
34052
34053 2006-01-11  Bruno Haible  <bruno@clisp.org>
34054
34055         Avoid "ar: no archive members specified" error on MacOS X.
34056         * gnulib-tool (func_modules_add_dummy): New function.
34057         (func_import, func_create_testdir): Invoke it.
34058
34059 2006-01-11  Bruno Haible  <bruno@clisp.org>
34060
34061         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
34062         with $auxdir in AC_CONFIG_FILES statements.
34063
34064 2006-01-11  Bruno Haible  <bruno@clisp.org>
34065
34066         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34067         Initialize also noinst_HEADERS to empty.
34068
34069 2006-01-11  Bruno Haible  <bruno@clisp.org>
34070
34071         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
34072         variables.
34073         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
34074         autoreconf.
34075
34076 2006-01-11  Bruno Haible  <bruno@clisp.org>
34077
34078         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
34079         overridable by the user.
34080         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34081
34082 2006-01-10  Simon Josefsson  <jas@extundo.com>
34083
34084         * modules/sys_socket: New file.
34085
34086 2006-01-10  Simon Josefsson  <jas@extundo.com>
34087
34088         * m4/sys_socket_h.m4: New file.
34089
34090 2006-01-10  Simon Josefsson  <jas@extundo.com>
34091
34092         * lib/socket_.h: New file.
34093
34094 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
34095
34096         * modules/readutmp (Maintainer): Add myself.
34097
34098 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
34099
34100         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
34101         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
34102         People who are still concerned with buggy memcmp implementations
34103         can invoke gl_FUNC_MEMCMP themselves.
34104
34105 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
34106
34107         * lib/regex_internal.h (BITSET_WORD_BITS):
34108         Work around a bug in 64-bit PGC (before version 6.1-2), where the
34109         preprocessor mishandles large unsigned values as if they were signed.
34110         Problem reported by Claudio Fontana in
34111         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
34112
34113 2006-01-10  Jim Meyering  <jim@meyering.net>
34114
34115         Avoid the double-free (first in fts_read, second in fts_close) that
34116         would occur when an `active' directory is made inaccessible (e.g.,
34117         via chmod a-x) during a traversal.
34118         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
34119         before returning.  Reproduce this failure by
34120         mkdir -p a/b; cd a; chmod a-x . b
34121         Reported by Stavros Passas.
34122
34123         Sync from coreutils.
34124         * lib/sha1.c: Tweak grammar in a comment.
34125
34126 2006-01-10  Jim Meyering  <jim@meyering.net>
34127
34128         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
34129         Patch by Joerg Sonnenberger.
34130
34131 2006-01-10  Bruno Haible  <bruno@clisp.org>
34132
34133         * modules/readutmp: Depend on module free.
34134         * modules/strtok_r: Depend on module restrict.
34135
34136 2006-01-10  Bruno Haible  <bruno@clisp.org>
34137
34138         * modules/gettext (configure.ac): Add an invocation of
34139         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
34140
34141 2006-01-10  Bruno Haible  <bruno@clisp.org>
34142
34143         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
34144         Reported by Werner Lemberg <wl@gnu.org>.
34145
34146 2006-01-10  Bruno Haible  <bruno@clisp.org>
34147
34148         * lib/localcharset.c: Update from GNU gettext.
34149
34150 2006-01-10  Bruno Haible  <bruno@clisp.org>
34151
34152         * lib/argp.h (__const): Remove macro. Use const instead.
34153         * lib/argp-fmtstream.h (__const): Likewise.
34154         * lib/glob_.h (__const): Remove macro.
34155         * lib/glob-libc.h: Use const instead of __const.
34156
34157 2006-01-10  Bruno Haible  <bruno@clisp.org>
34158
34159         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
34160         variable.
34161         Needed to avoid an automake error regarding the 'gettext' module.
34162
34163 2006-01-09  Simon Josefsson  <jas@extundo.com>
34164
34165         * modules/inet_ntop (Depends-on): Add restrict.
34166
34167 2006-01-09  Simon Josefsson  <jas@extundo.com>
34168
34169         * modules/gc-rijndael-tests (License): Put under LGPL.
34170
34171         * modules/gc-des-tests (License): Likewise.
34172
34173         * modules/gc-arcfour-tests (License): Likewise.
34174
34175         * modules/gc-arctwo-tests (License): Likewise.
34176
34177         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
34178
34179         * modules/gc-hmac-sha1-tests (Files): Likewise.
34180
34181         * modules/gc-hmac-md5-tests (License): Likewise.
34182
34183         * modules/gc-sha1-tests (License): Likewise.
34184
34185         * modules/gc-md5-tests (License): Likewise.
34186
34187         * modules/gc-md4-tests (License): Likewise.
34188
34189         * modules/gc-md2-tests (License): Likewise.
34190
34191         * modules/gc-tests (License): Likewise.
34192
34193         * modules/des-tests (License): Likewise.
34194
34195         * modules/md4-tests (License): Likewise.
34196
34197         * modules/md2-tests (License): Likewise.
34198
34199 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
34200
34201         Sync from coreutils:
34202
34203         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
34204         * modules/lib-ignore: New file.
34205         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
34206         chdir-safer.m4, lchmod.m4.
34207         * modules/openat: Add mkdirat.c, openat-priv.h.
34208
34209 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
34210
34211         Sync from coreutils.
34212         * m4/lib-ignore.m4: New file.
34213         * m4/lchmod.m4: New file.
34214
34215 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
34216
34217         Sync from coreutils.
34218         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
34219         for write access: POSIX says that must fail.
34220         * lib/fts.c (diropen): Likewise.
34221         * lib/save-cwd.c (save_cwd): Likewise.
34222         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
34223         well, for minor improvements on hosts that lack O_DIRECTORY.
34224         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
34225         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
34226         Fall back on chown if open failed with EACCES.
34227
34228         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
34229         Report an error at compile-time if only a 1-second nominal clock
34230         resolution is found.
34231
34232         * lib/lchmod.h: New file.
34233         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
34234         (make_dir_parents): Use lchown rather than chown, and
34235         lchmod rather than chmod.
34236
34237         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
34238         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
34239         "proc" reported by n0dalus.
34240
34241         * lib/mountlist.c: Include <limits.h>.
34242         (dev_from_mount_options)
34243         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
34244         New function.  It no longer assumes "dev=" has the System V meaning
34245         on Linux (since it doesn't).  It also parses "dev=" more carefully.
34246         (read_file_system_list)
34247         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
34248         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
34249         dev= in that case.
34250
34251         * lib/posixtm.h (PDS_PRE_2000): New macro.
34252         * lib/posixtm.c (year): Arg is now syntax_bits rather than
34253         allow_century.  All usages changed.  Reject dates outside the range
34254         1969-1999 if PDS_PRE_2000 is used.
34255
34256 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
34257
34258         Sync from coreutils.
34259         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
34260         (Time of day items): Mention the possibility of leap seconds.
34261         Problem reported by Dr. David Alan Gilbert.
34262
34263 2006-01-09  Jim Meyering  <jim@meyering.net>
34264
34265         Sync from coreutils.
34266
34267         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
34268
34269         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
34270
34271         * lib/modechange.c (mode_compile): Reject an invalid mode string
34272         that starts with an octal digit.  From Andreas Gruenbacher.
34273
34274         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
34275         and dup to open_safer and dup_safer, respectively.
34276         (openat_permissive): Fix typo in comment.
34277
34278         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
34279         "gettext.h"; either no longer needed or are guaranteed by openat.h.
34280         (_): Remove; no longer needed.
34281         (openat): Renamed from rpl_openat; no need for rpl_openat
34282         since openat.h renames openat for us.
34283         Replace most of the body with a call to openat_permissive,
34284         to avoid duplicate code.
34285         Port to (probably hypothetical) environments were mode_t is
34286         wider than int.
34287         (openat_permissive): Require mode arg, so that we can check
34288         types better.  Put it just after flags.  Change cwd failure
34289         indicator from pointer-to-bool to pointer-to-errno-value.
34290         All callers changed.
34291         Invoke openat_save_fail and/or openat_restore_fail if
34292         cwd_errno is null, so that openat can call us.
34293         (openat_permissive, fdopendir, fstatat, unlinkat):
34294         Simplify errno handling to avoid some duplicate code,
34295         as it's OK to set errno on success.
34296         * lib/openat.h: Revamp code so that function macros depend on
34297         __OPENAT_PREFIX only, not also on AT_FDCWD.
34298         (openat_ro): Remove.  Caller changed to use openat_permissive.
34299         (openat_permissive): Now a macro, if not a function.
34300         (openat_restore_fail, openat_save_fail): Now always functions,
34301         since mkdirat needs them even if __OPENAT_PREFIX is defined.
34302
34303         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
34304         and openat.c.
34305         * lib/mkdirat.c: Include openat-priv.h.
34306         Remove definitions of macros defined therein.
34307         * lib/openat.c: Likewise.
34308
34309         * lib/mkdirat.c (mkdirat): New file and function.
34310         * lib/openat.h (mkdirat): Declare.
34311
34312         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
34313
34314         * lib/openat.h (openat_permissive): Declare.
34315         (openat_ro): Define.
34316
34317         * lib/openat.c (EXPECTED_ERRNO): New macro.
34318         (openat_permissive): New function -- used in remove.c rewrite.
34319         (all functions): Set errno just before returning, only if there
34320         was an actual failure.
34321         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
34322
34323         Emulate openat-family functions using Linux's procfs, if possible.
34324         Idea and some code based on Ulrich Drepper's glibc changes.
34325
34326         * lib/openat.c: (BUILD_PROC_NAME): New macro.
34327         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
34328         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
34329         before falling back on save_cwd and restore_cwd.
34330         (fdopendir, fstatat, unlinkat): Likewise.
34331
34332         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
34333         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
34334
34335         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
34336         as second argument to va_arg.  Otherwise, some versions of gcc
34337         warn that `if this code is reached, the program will abort'.
34338
34339 2006-01-09  Jim Meyering  <jim@meyering.net>
34340
34341         Sync from coreutils.
34342         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
34343         Require openat-priv.h.
34344
34345 2006-01-09  Bruno Haible  <bruno@clisp.org>
34346
34347         * modules/strnlen (Include): Use strnlen.h.
34348
34349 2006-01-09  Bruno Haible  <bruno@clisp.org>
34350
34351         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
34352
34353 2006-01-09  Bruno Haible  <bruno@clisp.org>
34354
34355         * lib/sysexit_.h (EX_OK): New macro.
34356         Suggested by Martin Lambers <marlam@marlam.de>.
34357
34358 2006-01-09  Bruno Haible  <bruno@clisp.org>
34359
34360         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
34361         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
34362
34363 2006-01-09  Bruno Haible  <bruno@clisp.org>
34364
34365         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
34366         numbers.
34367
34368 2006-01-09  Bruno Haible  <bruno@clisp.org>
34369
34370         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
34371         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
34372         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
34373         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
34374
34375 2006-01-09  Bruno Haible  <bruno@clisp.org>
34376
34377         * build-aux/javacomp.sh.in: New file, moved from lib/.
34378         * modules/javacomp-script (Files): Update.
34379         (configure.ac): Add AC_CONFIG_FILES invocation.
34380         (EXTRA_DIST): Remove variable.
34381
34382         * build-aux/javaexec.sh.in: New file, moved from lib/.
34383         * modules/javaexec (Files): Update.
34384         (configure.ac): Add AC_CONFIG_FILES invocation.
34385         (EXTRA_DIST): Remove javaexec.sh.in.
34386
34387         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
34388         * modules/csharpcomp-script (Files): Update.
34389         (configure.ac): Add AC_CONFIG_FILES invocation.
34390         (EXTRA_DIST): Remove variable.
34391
34392         * build-aux/csharpexec.sh.in: New file, moved from lib/.
34393         * modules/csharpexec (Files): Update.
34394         (configure.ac): Add AC_CONFIG_FILES invocation.
34395         (EXTRA_DIST): Remove csharpexec.sh.in.
34396
34397 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
34398
34399         Sync from coreutils.
34400
34401         Add POSIX ACL support
34402         * lib/acl.h (copy_acl, set_acl): Add declarations.
34403         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
34404         systems other than Linux.
34405         (chmod_or_fchmod): New function: use fchmod when possible,
34406         and chmod otherwise.
34407         (file_has_acl): Add a POSIX ACL implementation, with a
34408         Linux-specific subcase.
34409         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
34410         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
34411         acls are unsupported.
34412         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
34413         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
34414         are unsupported.
34415
34416 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
34417
34418         Sync from coreutils.
34419         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
34420
34421 2006-01-07  Bruno Haible  <bruno@clisp.org>
34422
34423         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
34424         gl_EARLY.
34425
34426 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
34427
34428         * lib/strftime.c (tzname): Don't declare if it is already #defined.
34429         Problem reported for Mingw by Mark Junker.
34430
34431 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
34432
34433         * README: Gnulib normally doesn't generate a tarball.
34434
34435 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
34436
34437         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
34438         long int, not int, for nanosecond counts, so that people who are
34439         used to POSIX struct timespec won't be surprised.  Reported by Jim
34440         Meyering.
34441
34442 2005-12-28  Bruno Haible  <bruno@clisp.org>
34443
34444         * build-aux/config.rpath: Update from GNU gettext.
34445
34446 2005-12-16  Jim Meyering  <jim@meyering.net>
34447
34448         * modules/fprintftime: New module.
34449         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
34450
34451 2005-12-16  Jim Meyering  <jim@meyering.net>
34452
34453         * m4/fprintftime.m4: New file.
34454
34455 2005-12-16  Jim Meyering  <jim@meyering.net>
34456
34457         * lib/fprintftime.c, lib/fprintftime.h: New files.
34458
34459 2005-12-15  Simon Josefsson  <jas@extundo.com>
34460
34461         * modules/socklen (configure.ac): Fix M4 macro name, to align with
34462         new m4/socklen.m4.
34463
34464 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
34465
34466         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
34467         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
34468
34469 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
34470
34471         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
34472         * lib/argp-help.c (fill_in_uparams): Check if the constructed
34473         struct uparams is valid. Fall back to the default values if it is
34474         not.
34475
34476 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
34477
34478         * modules/argp (Files): Add argp-pin.c
34479         (Depends-on): dirname
34480         (lib_SOURCES): Add argp-pin.c
34481
34482 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
34483
34484         * m4/argp.m4:  Check if program_invocation_name and
34485         program_invocation_short_name are declared and define appropriate
34486         macros if they are not.
34487
34488 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
34489
34490         * lib/argp-help.c (__argp_base_name): New function
34491         (__argp_short_program_name): Rewrite using __argp_base_name
34492         * lib/argp-namefrob.h: Define program_invocation_name and
34493         program_invocation_short_name if requested
34494         (__argp_base_name): Add prototype
34495         * lib/argp-parse.c (argp_def): Use gettext wrappers
34496         (argp_default_parser): Use __argp_base_name
34497         * lib/argp-pin.c: New file. Defines program_invocation_name and
34498         program_invocation_short_name on systems that lack them.
34499
34500 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
34501
34502         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
34503         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
34504         porting problem reported by Georg Schwarz in
34505         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
34506
34507 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
34508
34509         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
34510         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
34511         porting problem reported by Georg Schwarz in
34512         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
34513
34514 2005-12-05  Bruno Haible  <bruno@clisp.org>
34515
34516         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
34517         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
34518         Reported by Mark Junker <mjscod@gmx.de>.
34519
34520 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
34521
34522         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
34523         Use implementation from Albert Chin, with some
34524         comments/corrections by Stepan Kasal and myself.
34525
34526 2005-12-02  Bruno Haible  <bruno@clisp.org>
34527
34528         * gnulib-tool (func_import): Accept GPLed build tool modules when
34529         --lgpl is given.
34530         * modules/csharpcomp-script: New file.
34531         * modules/csharpcomp: Depend on it.
34532         * modules/javacomp-script: New file.
34533         * modules/javacomp: Depend on it.
34534         Suggested by Simon Josefsson.
34535
34536 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
34537
34538         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
34539         statement, to work around an HP-UX 10.20 compiler bug reported by
34540         Peter O'Gorman.
34541
34542 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
34543
34544         * modules/savedir (Depends-on): Add openat.
34545
34546 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
34547
34548         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
34549         (uintmax_t) [defined uintmax_t]: Do not declare.
34550         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
34551         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
34552         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
34553         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
34554         sake of portability to weird hosts that C allows (though we don't
34555         know of any practical examples).
34556
34557         * lib/savedir.h (fdsavedir): New decl.
34558         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
34559         contains most of the former guts of savedir.
34560         (savedir): Use savedirstream.
34561         Include "openat.h".
34562
34563 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
34564
34565         * modules/obstack (Files): Add m4/ulonglong.m4.
34566         Problem reported by Davide Angelocola.
34567
34568 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
34569
34570         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
34571         coreutils no longer futzes with rounding modes.
34572
34573 2005-11-14  Jim Meyering  <jim@meyering.net>
34574
34575         * lib/mkstemp-safer.c: Include <config.h>, required for possible
34576         replacement of mkstemp.
34577
34578 2005-11-10  Simon Josefsson  <jas@extundo.com>
34579
34580         * lib/readline.c: Remove EOL.
34581
34582 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
34583
34584         * modules/gethrxtime (Depends-on): Add gettime.
34585
34586 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
34587
34588         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
34589         or gettimeofday; no longer needed.
34590
34591 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
34592
34593         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
34594         time business.
34595         (gethrxtime) [! (HAVE_NANOUPTIME
34596         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
34597         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
34598         our own approximation.
34599
34600 2005-11-08  Eric Blake  <ebb9@byu.net>
34601
34602         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
34603
34604 2005-11-08  Eric Blake  <ebb9@byu.net>
34605
34606         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
34607
34608 2005-11-04  Bruno Haible  <bruno@clisp.org>
34609
34610         * gnulib-tool: Implement --update mode.
34611
34612 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
34613
34614         Fix porting problem reported by Theodoros V. Kalamatianos.
34615         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
34616         Don't assume that futimes failing means we must fail.
34617
34618 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
34619
34620         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
34621         variables to suggest the intended function of the PATH_MAX check.
34622
34623 2005-10-30  Kean Johnston  <jkj@sco.com>
34624
34625         Trivial changes to support SCO systems.
34626         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
34627         as PATH_MAX.
34628         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
34629         where __ptr is null when no I/O is pending.
34630
34631 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
34632
34633         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
34634         leave errno alone.  Problem reported by Dmitry V. Levin.
34635
34636 2005-10-28  Simon Josefsson  <jas@extundo.com>
34637
34638         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
34639         Test more.
34640
34641         * tests/test-gc-md2.c, tests/test-md2.c: New files.
34642
34643         * modules/md2, modules/md2-tests: New files.
34644
34645 2005-10-28  Simon Josefsson  <jas@extundo.com>
34646
34647         * m4/inet_ntop.m4: More tests.
34648
34649         * m4/gc-md2.m4, md2.m4: New file.
34650
34651 2005-10-28  Simon Josefsson  <jas@extundo.com>
34652
34653         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
34654         "restrict" keywords, as per POSIX.  Protect the function
34655         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
34656         Don't use K&R prototypes.  Check the sprintf return values.
34657         Re-define EAFNOSUPPORT if not present.  Indent.
34658
34659         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
34660         suggested by Bruno Haible <bruno@clisp.org>.
34661
34662         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
34663
34664         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
34665
34666         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
34667         libgcrypt).
34668
34669         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
34670
34671         * lib/md2.h, lib/md2.c: New files.
34672
34673 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
34674
34675         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
34676         errno alone.  Problem reported by Frederic Jolliton.
34677
34678 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
34679
34680         * modules/verify (License): Change from GPL to LGPL.  This is a
34681         tiny module and there are apparently near-equivalents that are
34682         under the BSD license.
34683
34684 2005-10-24  Simon Josefsson  <jas@extundo.com>
34685
34686         * modules/sha1: Relicense to LGPL.
34687
34688 2005-10-24  Simon Josefsson  <jas@extundo.com>
34689
34690         * lib/md4.h: Shrink buffer size, now that we changed the type.
34691
34692 2005-10-23  Simon Josefsson  <jas@extundo.com>
34693
34694         * gnulib-tool (func_import): Fix --tests-base.
34695
34696 2005-10-22  Simon Josefsson  <jas@extundo.com>
34697
34698         * modules/arcfour (Depends-on): Need stdint.
34699
34700 2005-10-22  Simon Josefsson  <jas@extundo.com>
34701
34702         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
34703         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
34704
34705 2005-10-22  Simon Josefsson  <jas@extundo.com>
34706
34707         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
34708         suggested by Bruno Haible <bruno@clisp.org>.
34709
34710 2005-10-22  Simon Josefsson  <jas@extundo.com>
34711
34712         * lib/crc.h: Include stddef.h, for size_t.
34713
34714 2005-10-22  Simon Josefsson  <jas@extundo.com>
34715
34716         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
34717         arcfour_context struct (simplify test vector testing in GNU
34718         Shishi).
34719
34720 2005-10-21  Simon Josefsson  <jas@extundo.com>
34721
34722         * modules/des, modules/des-tests: New files.
34723
34724         * modules/gc-des, modules/gc-des-tests: New files.
34725
34726         * tests/test-des.c, tests/test-gc-des.c: New file.
34727
34728 2005-10-21  Simon Josefsson  <jas@extundo.com>
34729
34730         * modules/arctwo, modules/arctwo-tests: New files.
34731
34732         * tests/test-arctwo.c: New file.
34733
34734         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
34735
34736         * tests/test-gc-arctwo.c: New file.
34737
34738 2005-10-21  Simon Josefsson  <jas@extundo.com>
34739
34740         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
34741         Bruno Haible <bruno@clisp.org>.
34742
34743         * m4/gc-des.m4: New file.
34744
34745 2005-10-21  Simon Josefsson  <jas@extundo.com>
34746
34747         * m4/arctwo.m4: New file.
34748
34749         * m4/gc-arctwo.m4: New file.
34750
34751 2005-10-21  Simon Josefsson  <jas@extundo.com>
34752
34753         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
34754         block.
34755
34756 2005-10-21  Simon Josefsson  <jas@extundo.com>
34757
34758         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
34759         <bruno@clisp.org>.
34760
34761         * lib/hmac-sha1.c (hmac_sha1): Likewise.
34762
34763         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
34764         Bruno Haible <bruno@clisp.org>.
34765
34766         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
34767         <bruno@clisp.org>.
34768
34769 2005-10-21  Simon Josefsson  <jas@extundo.com>
34770
34771         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
34772
34773 2005-10-21  Simon Josefsson  <jas@extundo.com>
34774
34775         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
34776
34777 2005-10-21  Simon Josefsson  <jas@extundo.com>
34778
34779         * lib/des.h, lib/des.c: New files.
34780
34781         * lib/gc-gnulib.c: Support DES.c
34782
34783 2005-10-21  Simon Josefsson  <jas@extundo.com>
34784
34785         * lib/arctwo.h, lib/arctwo.c: New files.
34786
34787         * lib/gc-gnulib.c: Support ARCTWO.
34788
34789 2005-10-21  Simon Josefsson  <jas@extundo.com>
34790
34791         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
34792         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34793
34794 2005-10-21  Simon Josefsson  <jas@extundo.com>
34795
34796         * gnulib-tool (func_import, func_create_testdir): Define automake
34797         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
34798         Makefile.am snippet),
34799         suggested by Bruno Haible <bruno@clisp.org>.
34800
34801         * modules/gc (Makefile.am): Use it.
34802
34803 2005-10-21  Bruno Haible  <bruno@clisp.org>
34804
34805         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
34806         patch.
34807
34808 2005-10-19  Simon Josefsson  <jas@extundo.com>
34809
34810         * tests/test-gc-rijndael.c: New file.
34811
34812         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
34813
34814 2005-10-19  Simon Josefsson  <jas@extundo.com>
34815
34816         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
34817         interface too.
34818
34819 2005-10-19  Simon Josefsson  <jas@extundo.com>
34820
34821         * tests/test-gc-arcfour.c: New file.
34822
34823         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
34824
34825 2005-10-19  Simon Josefsson  <jas@extundo.com>
34826
34827         * modules/gc-md4, modules/gc-md4-tests: New file.
34828
34829         * tests/test-gc-md4.c: New file.
34830
34831 2005-10-19  Simon Josefsson  <jas@extundo.com>
34832
34833         * m4/gc-md4.m4: New file.
34834
34835 2005-10-19  Simon Josefsson  <jas@extundo.com>
34836
34837         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
34838         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
34839         <kasal@ucw.cz>.
34840
34841 2005-10-19  Simon Josefsson  <jas@extundo.com>
34842
34843         * m4/gc-arcfour.m4: New file.
34844
34845         * m4/gc-rijndael.m4: New file.
34846
34847 2005-10-19  Simon Josefsson  <jas@extundo.com>
34848
34849         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
34850
34851 2005-10-19  Simon Josefsson  <jas@extundo.com>
34852
34853         * lib/gc-gnulib.c: Support ARCFOUR.
34854
34855 2005-10-19  Simon Josefsson  <jas@extundo.com>
34856
34857         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
34858         support.
34859
34860         * lib/gc.h: Add ECB enum type.
34861
34862         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
34863
34864 2005-10-18  Simon Josefsson  <jas@extundo.com>
34865
34866         * tests/test-md5.c: New file.
34867
34868         * modules/md5-tests: New file.
34869
34870 2005-10-18  Simon Josefsson  <jas@extundo.com>
34871
34872         * tests/test-md4.c: New file.
34873
34874         * modules/md4, modules/md4-tests: New files.
34875
34876 2005-10-18  Simon Josefsson  <jas@extundo.com>
34877
34878         * m4/md4.m4: New file.
34879
34880 2005-10-18  Simon Josefsson  <jas@extundo.com>
34881
34882         * lib/md4.h, lib/md4.c: New files, based on md5.?.
34883
34884 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
34885
34886         * gnulib-tool (func_create_testdir): Omit the second check whether
34887         BUILT_SOURCES in nonempty.
34888
34889 2005-10-17  Simon Josefsson  <jas@extundo.com>
34890
34891         * tests/test-rijndael.c: New file.
34892
34893 2005-10-17  Simon Josefsson  <jas@extundo.com>
34894
34895         * modules/sha1: Depend on stdint instead of md5.
34896
34897         * modules/md5: Depend on stdint, remove uint32_t.
34898
34899 2005-10-17  Simon Josefsson  <jas@extundo.com>
34900
34901         * modules/gc-sha1-tests: New file.
34902
34903         * tests/test-gc-sha1.c: New file.
34904
34905 2005-10-17  Simon Josefsson  <jas@extundo.com>
34906
34907         * m4/md5.m4: Remove call to uint32_t.m4.
34908
34909 2005-10-17  Simon Josefsson  <jas@extundo.com>
34910
34911         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
34912
34913         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
34914         md5.h.
34915
34916         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
34917
34918         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
34919
34920 2005-10-17  Simon Josefsson  <jas@extundo.com>
34921
34922         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
34923
34924 2005-10-17  Simon Josefsson  <jas@extundo.com>
34925
34926         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
34927
34928 2005-10-17  Simon Josefsson  <jas@extundo.com>
34929
34930         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
34931
34932         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
34933
34934 2005-10-17  Bruno Haible  <bruno@clisp.org>
34935
34936         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
34937         that it can also be used in a test.
34938
34939 2005-10-16  Bruno Haible  <bruno@clisp.org>
34940
34941         * gnulib-tool (func_emit_tests_Makefile_am): Also define
34942         TESTS_ENVIRONMENT, so that individual tests can augment it.
34943
34944         * gnulib-tool (func_create_testdir): Use an intermediate target for
34945         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
34946         macros, like $(ALLOCA_H), which cannot be passed through the command
34947         line.
34948
34949 2005-10-15  Simon Josefsson  <jas@extundo.com>
34950
34951         * modules/rijndael-tests: New file.
34952
34953         * modules/rijndael: New file.
34954
34955 2005-10-15  Simon Josefsson  <jas@extundo.com>
34956
34957         * m4/rijndael.m4: New file.
34958
34959 2005-10-15  Simon Josefsson  <jas@extundo.com>
34960
34961         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
34962
34963         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
34964
34965 2005-10-14  Simon Josefsson  <jas@extundo.com>
34966
34967         * tests/test-arcfour.c: New file.
34968
34969         * modules/arcfour, modules/arcfour-tests: New files.
34970
34971 2005-10-14  Simon Josefsson  <jas@extundo.com>
34972
34973         * m4/arcfour.m4: New file.
34974
34975 2005-10-14  Simon Josefsson  <jas@extundo.com>
34976
34977         * lib/arcfour.h, lib/arcfour.c: New files.
34978
34979 2005-10-14  Roland McGrath  <roland@redhat.com>
34980
34981         Import from libc.  [BZ #1331]
34982         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
34983         macro argument.
34984         Reported by Matej Vela <vela@debian.org>.
34985
34986 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
34987
34988         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
34989         include <wchar.h>; no longer needed.
34990
34991 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
34992
34993         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
34994
34995 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
34996         and  Ulrich Drepper  <drepper@redhat.com>
34997
34998         Import from libc.
34999         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
35000         instead of inline stream orientation test and two separate
35001         function calls.  Pay no attention to USE_IN_LIBIO.
35002
35003 2005-10-13  Simon Josefsson  <jas@extundo.com>
35004
35005         * modules/gc-hmac-md5-tests: New file.
35006
35007         * tests/test-gc-hmac-sha1.c: New file.
35008
35009         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
35010
35011         * modules/gc-hmac-md5-tests: New file.
35012
35013         * tests/test-gc-md5.c: New file.
35014
35015         * modules/gc-md5-tests: New file.
35016
35017 2005-10-13  Simon Josefsson  <jas@extundo.com>
35018
35019         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
35020         Move memory allocation outside of loop.
35021
35022 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
35023
35024         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
35025         intermediate directory is in a read-only file system.  Problem
35026         reported by Eric Blake.
35027
35028 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
35029
35030         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
35031
35032 2005-10-12  Simon Josefsson  <jas@extundo.com>
35033
35034         * tests/test-hmac-sha1.c: New file.
35035
35036         * modules/hmac-sha1-tests: New file.
35037
35038         * modules/hmac-sha1: New file.
35039
35040 2005-10-12  Simon Josefsson  <jas@extundo.com>
35041
35042         * modules/gc-sha1: New file.
35043
35044 2005-10-12  Simon Josefsson  <jas@extundo.com>
35045
35046         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
35047
35048         * tests/test-gc-pbkdf2-sha1.c: New file.
35049
35050 2005-10-12  Simon Josefsson  <jas@extundo.com>
35051
35052         * modules/gc-md5, modules/gc-hmac-md5: New files.
35053
35054         * modules/gc (Files): Remove md5, memxor and hmac files.
35055
35056 2005-10-12  Simon Josefsson  <jas@extundo.com>
35057
35058         * m4/gc-pbkdf2-sha1.m4: New file.
35059
35060         * m4/gc-hmac-sha1.m4: New file.
35061
35062         * m4/gc-sha1: New file.
35063
35064         * m4/hmac-sha1.m4: New file.
35065
35066 2005-10-12  Simon Josefsson  <jas@extundo.com>
35067
35068         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
35069
35070         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
35071
35072 2005-10-12  Simon Josefsson  <jas@extundo.com>
35073
35074         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
35075         suggested by Bruno Haible <bruno@clisp.org>.
35076
35077 2005-10-12  Simon Josefsson  <jas@extundo.com>
35078
35079         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
35080
35081 2005-10-12  Simon Josefsson  <jas@extundo.com>
35082
35083         * lib/gc-pbkdf2-sha1.c: New file.
35084
35085         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
35086
35087 2005-10-12  Simon Josefsson  <jas@extundo.com>
35088
35089         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
35090
35091         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
35092
35093 2005-10-12  Simon Josefsson  <jas@extundo.com>
35094
35095         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
35096         GC_USE_HMAC_MD5, respectively.
35097
35098         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
35099         (gc_md5): Fix typo.
35100
35101         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
35102
35103         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
35104
35105         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
35106
35107 2005-10-12  Bruno Haible  <bruno@clisp.org>
35108
35109         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
35110         Reported by Stepan Kasal <kasal@ucw.cz>.
35111
35112 2005-10-11  Simon Josefsson  <jas@extundo.com>
35113
35114         * tests/test-crc.c: New file.
35115
35116         * modules/crc, modules/crc-tests: New files.
35117
35118 2005-10-11  Simon Josefsson  <jas@extundo.com>
35119
35120         * m4/crc.m4: New file.
35121
35122 2005-10-11  Simon Josefsson  <jas@extundo.com>
35123
35124         * lib/gc.h: Add gc_hash and gc_hash_buffer.
35125
35126         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
35127
35128         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
35129
35130 2005-10-11  Simon Josefsson  <jas@extundo.com>
35131
35132         * lib/crc.h, lib/crc.c: New files.
35133
35134         * lib/gc.h (gc_hash_buffer): Add doc.
35135
35136 2005-10-11  Bruno Haible  <bruno@clisp.org>
35137
35138         * modules/c-strcasestr: New file.
35139         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
35140
35141 2005-10-11  Bruno Haible  <bruno@clisp.org>
35142
35143         * modules/c-strcase: New file.
35144         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
35145
35146 2005-10-11  Bruno Haible  <bruno@clisp.org>
35147
35148         * lib/strcasecmp.c: Include limits.h.
35149         (strcasecmp): Avoid integer overflow on exotic platforms.
35150         * lib/strncasecmp.c: Include limits.h.
35151         (strncasecmp): Avoid integer overflow on exotic platforms.
35152         Reported by Paul Eggert.
35153
35154 2005-10-11  Bruno Haible  <bruno@clisp.org>
35155
35156         * lib/c-strcasestr.h: New file, from GNU gettext.
35157         * lib/c-strcasestr.c: New file, from GNU gettext.
35158
35159 2005-10-11  Bruno Haible  <bruno@clisp.org>
35160
35161         * lib/c-strcase.h: New file, from GNU gettext.
35162         * lib/c-strcasecmp.c: New file, from GNU gettext.
35163         * lib/c-strncasecmp.c: New file, from GNU gettext.
35164
35165 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
35166
35167         * modules/mempcpy (License): GPL -> LGPL.
35168         * modules/strchrnul (License): Likewise.
35169         * modules/sysexits (License): Likewise.
35170
35171 2005-10-08  Simon Josefsson  <jas@extundo.com>
35172
35173         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
35174
35175 2005-10-07  Simon Josefsson  <jas@extundo.com>
35176
35177         * m4/memxor.m4: Remove gl_C_RESTRICT call.
35178
35179 2005-10-06  Simon Josefsson  <jas@extundo.com>
35180
35181         * tests/test-hmac-md5.c: New file.
35182
35183         * modules/hmac-md5-tests: New file.
35184
35185         * modules/hmac-md5: New file.
35186
35187 2005-10-06  Simon Josefsson  <jas@extundo.com>
35188
35189         * m4/hmac-md5.m4: New file.
35190
35191         * m4/memxor.m4: Require gl_C_RESTRICT.
35192
35193 2005-10-06  Simon Josefsson  <jas@extundo.com>
35194
35195         * lib/memxor.c (memxor): Avoid casts and warnings.
35196
35197 2005-10-06  Simon Josefsson  <jas@extundo.com>
35198
35199         * lib/hmac-md5.c: New file.
35200
35201         * lib/hmac.h: New file.
35202
35203 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
35204
35205         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
35206         promotes to int, not unsigned int, to catch the AIX 5.3
35207         compiler bug.
35208
35209 2005-10-05  Simon Josefsson  <jas@extundo.com>
35210
35211         * modules/memxor: New file.
35212
35213         * modules/iconv (Files): Move config.rpath to havelib, it is used
35214         there.
35215
35216         * modules/havelib (Files): Add config.rpath.
35217
35218 2005-10-05  Simon Josefsson  <jas@extundo.com>
35219
35220         * m4/memxor.m4: New file.
35221
35222 2005-10-05  Simon Josefsson  <jas@extundo.com>
35223
35224         * lib/memxor.c (memxor): Fix compiler error.
35225
35226         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
35227         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
35228
35229         * lib/memxor.h, lib/memxor.c: New files.
35230
35231         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
35232         we assume all systems have it, suggested by Jim Meyering
35233         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
35234         any systems lack sys/socket.h; mingw32 is known to lack it, but we
35235         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
35236         same reasons.
35237
35238 2005-10-05  Simon Josefsson  <jas@extundo.com>
35239
35240         * config/srclist.txt: Add glibc bug 1423 for md5.h.
35241
35242 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
35243
35244         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
35245         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
35246         needed, since the source code now assumes these .h files.
35247
35248 2005-10-05  Derek Price  <derek@ximbiot.com>
35249
35250         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
35251
35252 2005-10-05  Bruno Haible  <bruno@clisp.org>
35253
35254         * modules/stdint (License): Change to LGPL.
35255
35256 2005-10-04  Simon Josefsson  <jas@extundo.com>
35257
35258         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
35259         D. Baushke" <mdb@gnu.org>.
35260
35261 2005-10-04  Bruno Haible  <bruno@clisp.org>
35262
35263         * lib/verify.h (verify_true): Provide alternative definition for C++.
35264
35265 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
35266
35267         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
35268         (SSIZE_MAX): New macro, if not already defined.
35269         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
35270         than 2 GiB.
35271
35272 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
35273
35274         Sync from coreutils.
35275         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
35276         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
35277         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
35278         ULLONG_MAX doesn't work with 2.7.2.1.
35279
35280 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
35281
35282         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
35283         From Ben Pfaff.
35284
35285         * modules/exclude (Depends-on): Depend on verify.
35286         * modules/strtoimax (Depends-on): Likewise.
35287         * modules/utimecmp (Depends-on): Likewise.
35288
35289 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
35290
35291         * lib/exclude.c: Include verify.h.
35292         (verify): Remove.  All callers changed to use verify.h's version.
35293         * lib/strtoimax.c: Likewise.
35294         * lib/utimecmp.c: Likewis.e
35295
35296         Sync from coreutils.
35297         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
35298         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
35299         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
35300         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
35301         bother returning ENOSYS if settimeofday or stime fails; just let
35302         them return whatever errno they want to return.
35303         * lib/utimens.c: Include unistd.h, for dup2.
35304         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
35305         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
35306
35307 2005-10-02  Jim Meyering  <jim@meyering.net>
35308
35309         Sync from coreutils.
35310         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
35311         from glibc-2.2.5 that fails for read-only files.
35312
35313 2005-10-02  Jim Meyering  <jim@meyering.net>
35314
35315         Sync from coreutils.
35316         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
35317         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
35318         `#if HAVE_CONFIG_H'.
35319         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
35320         Remove AT_FDCWD test.
35321         Do not consume the fd unless successful.
35322         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
35323         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
35324         block, so that we don't even try to compile it if settimeofday is
35325         available.  This works around a compilation failure on OSF1 V5.1,
35326         due to stime requiring a `long int*' while tv_sec is `int'.
35327
35328 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
35329
35330         Sync from coreutils.
35331         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
35332         against `yes', rather than just testing for nonempty.
35333
35334 2005-10-01  Simon Josefsson  <jas@extundo.com>
35335
35336         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
35337         and Darwin.
35338
35339         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
35340         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
35341         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
35342         freeaddrinfo and gai_strerror are declared by the POSIX headers.
35343         Check if struct addrinfo is declared.
35344
35345 2005-10-01  Simon Josefsson  <jas@extundo.com>
35346
35347         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
35348         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
35349         AI_* and EAI_* definitions.  Protect function declarations.
35350
35351 2005-10-01  Jim Meyering  <jim@meyering.net>
35352
35353         Sync from coreutils.
35354
35355         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
35356         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
35357         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
35358         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
35359         in the inet and nsl libraries.  Required on Solaris 5.7.
35360
35361 2005-10-01  Jim Meyering  <jim@meyering.net>
35362
35363         Sync from coreutils.
35364         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
35365         in the inet and nsl libraries.  Required on Solaris 5.7.
35366
35367 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
35368
35369         * lib/getdelim.c (getdelim): Remove unused variables.
35370
35371 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
35372
35373         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
35374         so that the code works even with ancient cpp.  Portability problem
35375         with GCC 2.7.2.1 reported by Thomas M.Ott.
35376
35377 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
35378
35379         * modules/regex (Depends-on): Add strcase.
35380
35381         * modules/gethostname (Licence): Change from GPL to LGPL, since
35382         gethostname.c is a trivial implementation of a standard library
35383         function.
35384         * modules/poll (License): Change from GPL to LGPL, since it's
35385         derived from LGPL code.
35386
35387 2005-09-27  Jim Meyering  <jim@meyering.net>
35388
35389         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
35390         HAVE_CONFIG_H.
35391
35392         * lib/intprops.h (signed_type_or_expr__): Define.
35393         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
35394         for unsigned types.
35395
35396 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
35397
35398         * lib/verify.h (verify_expr): Remove, replacing with:
35399         (verify_true): New macro that returns true instead of void.
35400         (verify_type__): Remove.
35401         (verify): Use verify_true rather than verify_type__.
35402
35403 2005-09-26  Bruno Haible  <bruno@clisp.org>
35404
35405         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
35406         is necessary.
35407         (lib_SOURCES): Remove mbchar.c.
35408         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
35409         (Files): Add m4/mbrtowc.m4.
35410         * modules/mbiter: Likewise.
35411         * modules/mbuiter: Likewise.
35412
35413 2005-09-26  Bruno Haible  <bruno@clisp.org>
35414
35415         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
35416         compile mbchar.c if they are not both present.
35417         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
35418         * m4/mbiter.m4 (gl_MBITER): Likewise.
35419         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
35420         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
35421         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
35422
35423 2005-09-25  Jim Meyering  <jim@meyering.net>
35424
35425         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
35426         also uses socklen_t.
35427
35428 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
35429
35430         * lib/utimens.c (ENOSYS): Define if not already defined.
35431         (futimens): Support having a null PATH if the file descriptor
35432         is nonnegative.
35433
35434         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
35435         Remove.
35436         (__attribute): Define to empty unless GCC 3.1 or later.
35437         This works around a core dump on OpenBSD 3.4, which has GCC
35438         2.95.3, which dumps core when given __attribute__(()).  It also
35439         simplifies other tests, since we really don't want to bother with
35440         worrying about which ancient version of GCC supported what.
35441         Original problem reported by Yoann Vandoorselaere, with part of
35442         the fix suggested by Derek Price.
35443
35444 2005-09-24  Jim Meyering  <jim@meyering.net>
35445
35446         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
35447         so we can once again use a positive bitfield width of 1 -- now we
35448         don't have to explain why we were using a bitfield width of 2.
35449
35450 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
35451
35452         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
35453         and similarly for the other external symbols.  Problem reported
35454         by James Gallager.
35455
35456         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
35457         bug reported by Jim Meyering.
35458
35459         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
35460         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
35461         not needed, since socklen is a prerequisite module.
35462
35463 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
35464
35465         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
35466         Problem reported by Eric Blake.
35467         (getaddrinfo): Initialize se so that it's not garbage.
35468         Redo internal storage allocation so that it doesn't make unportable
35469         assumptions about alignment.
35470         Fix a memory leak.
35471
35472         * lib/utimens.c (futimens): Use futimesat if available.
35473         Prefer it to futimes since it doesn't have the futimes bug.
35474
35475         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
35476         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
35477         Instead, declare a function that returns a pointer to an array,
35478         and use verify_type__ to declare the size of the array.
35479         Problem and germ of a solution reported by Bruno Haible.
35480         (verify_type__): Use 2, not 1, for bitfield size, to avoid
35481         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
35482
35483 2005-09-23  Jim Meyering  <jim@meyering.net>
35484
35485         Sync from coreutils.
35486         Correct build failure (socklen_t not defined) on at least
35487         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
35488         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
35489
35490 2005-09-23  Jim Meyering  <jim@meyering.net>
35491
35492         * modules/getaddrinfo (Depends-on): Add socklen.
35493
35494 2005-09-23  Bruno Haible  <bruno@clisp.org>
35495
35496         * tests/test-verify.c: New file.
35497
35498 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
35499
35500         Sync from coreutils.
35501
35502         * modules/argmatch (Depends-on): Add verify.
35503         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
35504         unistd-safer.
35505         * modules/save-cwd (Depends-on): Likewise.
35506
35507         * modules/openat (Files): Add lib/openat-die.c.
35508         (Depends-on): Remove error, exitfail.
35509         Add dirname.
35510
35511         * modules/verify: New file.
35512         * MODULES.html.sh (Diagnostics <assert.h>): New section,
35513         with "verify" module.
35514
35515 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
35516
35517         Sync from coreutils.
35518
35519         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
35520         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
35521         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
35522         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
35523         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
35524         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
35525         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
35526         Don't bother checking for string.h, stdlib.h, unistd.h.
35527         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
35528         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
35529         module's job.
35530         * m4/jm-macros.m4 (gl_MACROS): Likewise.
35531         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
35532
35533         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
35534         (gl_GETDATE): Use it.
35535
35536         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
35537
35538 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
35539
35540         Sync from coreutils.
35541
35542         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
35543         stat-time.h.
35544         * lib/argmatch.h: Include verify.h
35545         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
35546         (ARGMATCH_ASSERT): Remove; unused.
35547         * lib/canonicalize.c: Assume STDC_HEADERS.
35548         * lib/exclude.c: Include "strcase.h".
35549         * lib/regex_internal.h [!defined _LIBC]: Likewise.
35550         * lib/getusershell.c: Include stdio--.h rather than stdio.h
35551         and stdio-safer.h.
35552         (getusershell): Call fopen, not fopen_safer.
35553         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
35554         Do not include unistd-safer.h.
35555         (save_cwd): Don't call fd_safer; no longer needed
35556         now that we include fcntl--.h.
35557
35558         * lib/getdate.y (relative_time): New type.
35559         (RELATIVE_TIME_0): New constant.
35560         (parser_control): Use relative_time instead of doing it ourselves.
35561         (%union): Add new relative_time rel member.
35562         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
35563         Now typeless.
35564         (relunit, relunit_snumber): Now of type rel.
35565         (zone, rel, relunit, get_date): Adjust to above changes.
35566
35567         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
35568         Do not include unistd-safer.h.
35569         (getloadavg): Don't call fd_safer; no longer needed
35570         now that we include fcntl--.h.
35571
35572         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
35573         (make_dir_parents): Treat ENOSYS like EEXIST.
35574
35575         Improve quality of diagnostics on restore_cwd failure.
35576         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
35577         (make_dir_parents): Last arg is now int * (for errno), not bool *.
35578         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
35579         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
35580         each time through the loop.  Do not diagnose restore_cwd failure;
35581         that is the caller's job (and perhaps the caller does not care).
35582
35583         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
35584         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
35585         If the file already exists but is not a directory, don't bother
35586         to try to make its parents.
35587         Close potential file descriptor leak if we can't chdir("/") (!).
35588         Don't always return true if chdir($PWD) fails; return true only
35589         if the requested action was done successfully (except for the
35590         chdir($PWD)).
35591         Don't log final directory unless we actually made it.
35592         Refactor to avoid duplicate code to fix up permissions.
35593         Don't attempt to fix up parent permissions if chdir($PWD) fails.
35594
35595         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
35596         to make it a bit faster and (I hope) clearer.
35597         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
35598         Fix bug in formats like %2N.
35599
35600         * lib/verify.h: New file.
35601
35602 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
35603
35604         Sync from coreutils.
35605         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
35606
35607 2005-09-22  Jim Meyering  <jim@meyering.net>
35608
35609         Sync from coreutils.
35610
35611         * m4/lstat.m4 (gl_FUNC_LSTAT):
35612         Use AC_LIBSOURCES to require lstat.c and lstat.h.
35613         Remove obsolete comment.
35614         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
35615         * m4/xstrtod.m4: Likewise.
35616
35617         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
35618
35619 2005-09-22  Jim Meyering  <jim@meyering.net>
35620
35621         Sync from coreutils.
35622
35623         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
35624
35625         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
35626         the .tm_year member, since otherwise gcc-4.0 would now warn about
35627         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
35628
35629         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
35630         order to avoid an unsuppressible warning from gcc on 64-bit systems.
35631
35632         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
35633         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
35634         when run in a time zone for which daylight savings time is in effect
35635         for the starting date.
35636
35637         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
35638         stop us from restricting permissions of just-created absolute-named
35639         directories.
35640         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
35641         to restore initial working directory.
35642         * lib/mkdir-p.c (make_dir_parents): New parameter:
35643         different_working_dir, to tell caller if/when we change the working
35644         directory and are unable to return to the initial one.
35645         * lib/mkdir-p.h (make_dir_parents): Update prototype.
35646         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
35647         `return false'.  This fixes a bug introduced on 2004-07-30.
35648
35649         * lib/openat.c (fdopendir): Be sure to close the supplied
35650         file descriptor before returning.  This makes our replacement
35651         implementation a little closer to Solaris's, where fdopendir
35652         ties the file descriptor to the returned DIR* pointer.
35653         * lib/openat.c (unlinkat): New function.
35654         * lib/openat.h (unlinkat): Add prototype.
35655         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
35656         (openat_restore_fail): Rename from openat_restore_die.
35657         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
35658
35659         Provide an alternative to exiting immediately upon save_cwd or
35660         restore_cwd failure.  Now, an application can arrange e.g.,
35661         to perform a longjump in that case.
35662         * lib/openat.c: Include dirname.h.
35663         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
35664         (rpl_openat, fdopendir, fstatat): Call openat_save_die
35665         and openat_restore_die rather than calling error directly.
35666         Don't include "error.h" or "exitfail.h"; they're no longer needed.
35667
35668         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
35669         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
35670         define.
35671
35672         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
35673         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
35674                             int utc, int nanoseconds);
35675         Background:
35676         date should not have to allocate a megabyte of virtual memory to
35677         handle a format argument like +%1048575T.  When implemented with
35678         strftime, it must allocate such a buffer, use strftime to fill it
35679         in, print it, then free it.
35680         With fprintftime, it simply prints everything and exits.
35681         With no need for memory allocation, that's one fewer way to fail.
35682         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
35683         optional field width, not before, so we accept %9:z, not %:9z.
35684         (my_strftime): Be sure to use L_('x') for literals.
35685
35686         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
35687         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
35688         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
35689         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
35690         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
35691         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
35692         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
35693         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
35694         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
35695         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
35696         * lib/xgethostname.c, lib/xreadlink.c:
35697         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
35698
35699         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
35700         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
35701         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
35702         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
35703         and don't include <sys/file.h>).
35704
35705 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
35706
35707         Sync from coreutils.
35708
35709         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
35710         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
35711         [!LDAV_DONE]: Avoid unused variable warning.
35712
35713 2005-09-21  Bruno Haible  <bruno@clisp.org>
35714
35715         * lib/unicodeio.h (unicode_to_mb): New declaration.
35716
35717 2005-09-20  Derek Price  <derek@ximbiot.com>
35718
35719         * lib/getaddrinfo.c: Don't include <netdb.h> included from
35720         getaddrinfo.h.
35721
35722 2005-09-20  Bruno Haible  <bruno@clisp.org>
35723
35724         * gnulib-tool: Remove trailing slashes from the values specified for
35725         --source-base, --m4-base, --tests-base, --aux-dir.
35726         Suggested by Simon Josefsson <jas@extundo.com>.
35727
35728 2005-09-20  Bruno Haible  <bruno@clisp.org>
35729
35730         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
35731         func_modules_to_filelist, func_import, func_create_testdir): Make all
35732         sorting results locale-independent, so that gnulib-cache.m4 doesn't
35733         change when gnulib-tool is invoked in a different locale.
35734
35735 2005-09-19  Simon Josefsson  <jas@extundo.com>
35736
35737         * m4/socklen.m4: Fix typo.
35738
35739 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35740
35741         Use a consistent style for including <config.h>.
35742         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
35743         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
35744         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
35745         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
35746         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
35747         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
35748         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
35749         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
35750         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
35751         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
35752         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
35753         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
35754         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
35755         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
35756         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
35757         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
35758         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
35759         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
35760         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
35761         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
35762         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
35763         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
35764         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
35765         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
35766         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
35767         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
35768         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
35769         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
35770         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
35771         lib/xstrtoumax.c, lib/yesno.c:
35772         Standardize inclusion of config.h.
35773         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
35774         lib/inttostr.h:  Removed inclusion of config.h from header files.
35775         * lib/inttostr.c:  Adjusted in-tree users.
35776         * lib/timespec.h: Remove superfluous warning to include config.h.
35777         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
35778         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
35779         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
35780         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
35781         config.h with HAVE_CONFIG_H.
35782
35783 2005-09-19  Jim Meyering  <jim@meyering.net>
35784
35785         * modules/pathmax (License): Change to LGPL.
35786
35787 2005-09-19  Derek Price  <derek@ximbiot.com>
35788
35789         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
35790
35791 2005-09-19  Bruno Haible  <bruno@clisp.org>
35792
35793         * gnulib-tool (import): Provide default for --tests-base.
35794
35795 2005-09-19  Bruno Haible  <bruno@clisp.org>
35796
35797         * doc/quote.texi: New file, extracted from gnulib.texi.
35798         * doc/ctime.texi: New file, extracted from gnulib.texi.
35799         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
35800         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
35801         * doc/gnulib.texi: Include them.
35802
35803 2005-09-18  Bruno Haible  <bruno@clisp.org>
35804
35805         Portability fix.
35806         * gnulib-tool (func_readlink): New function.
35807         (func_ln_if_changed): Use it.
35808
35809 2005-09-18  Bruno Haible  <bruno@clisp.org>
35810
35811         * gnulib-tool: Support --with-tests also with --import.
35812         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
35813         (func_import): Use variables $testsbase and $inctests. Emit a
35814         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
35815         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
35816         SUBDIRS += $testsdir.
35817         (func_create_testdir): Update.
35818
35819 2005-09-18  Bruno Haible  <bruno@clisp.org>
35820
35821         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
35822         instead of $dry_run.
35823         (func_cp_if_changed, func_mv_if_changed): Remove functions.
35824         (func_ln_if_changed): Don't handle dry-run here.
35825         (func_import): In dry-run mode, detect more precisely which actions
35826         would be performed, and don't use "...ing" verbs.
35827
35828 2005-09-18  Bruno Haible  <bruno@clisp.org>
35829
35830         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
35831         (func_import): Use join on two temporary files instead of three nested
35832         loops, in order to determine which files are new or old.
35833
35834 2005-09-18  Bruno Haible  <bruno@clisp.org>
35835
35836         * gnulib-tool (func_import): Comment out code that spits out the
35837         new files with --dry-run.
35838
35839 2005-09-18  Bruno Haible  <bruno@clisp.org>
35840
35841         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
35842
35843 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
35844
35845         * lib/stat-time.h: New file.
35846         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
35847         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
35848         in a different way.
35849         (timespec_cmp): New function.
35850         * lib/utimecmp.c: Include stat-time.h.
35851         (SYSCALL_RESOLUTION): Depend on whether various struct stat
35852         members exist, not on the obsolescent ST_MTIM_NSEC.
35853         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
35854
35855 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
35856
35857         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
35858
35859 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
35860
35861         * MODULES.html.sh (File system functions): Add stat-time.
35862         * modules/stat-time: New file.
35863         * modules/timespec (Files): Remove m4/st_mtim.m4; this
35864         is now done in a different way, by the stat-time module.
35865         * modules/utimecmp (Depends-on): Add stat-time.
35866
35867 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
35868
35869         * m4/st_mtim.m4: Remove.  Superseded by...
35870         * m4/stat-time.m4: New file.
35871         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
35872         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
35873
35874 2005-09-15  Derek Price  <derek@ximbiot.com>
35875
35876         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
35877
35878 2005-09-15  Derek Price  <derek@ximbiot.com>
35879
35880         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
35881         * lib/regex_internal.c: Ditto, using this...
35882         (__GNUC_PREREQ): ...new macro.
35883         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
35884         using...
35885         (__GNUC_PREREQ): ...this new macro.
35886
35887         * lib/strstr.h: Include string.h. Define strstr as a macro here.
35888
35889 2005-09-15  Derek Price  <derek@ximbiot.com>
35890             Paul Eggert  <eggert@cs.ucla.edu>
35891
35892         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
35893         changes, consolidating in...
35894         * lib/regex_internal.h: ...this file.
35895
35896 2005-09-13  Jim Meyering  <jim@meyering.net>
35897
35898         * lib/canon-host.c: Filter through gnu indent and reword comments
35899         slightly.
35900         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
35901
35902 2005-09-13  Derek Price  <derek@ximbiot.com>
35903
35904         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
35905         failure.
35906         Reported by Jim Meyering  <jim@meyering.net>.
35907
35908 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
35909
35910         * lib/base64.c: Typo.
35911         (base64_encode): Put b64str in initialized data section.
35912
35913 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
35914
35915         Merge glibc and coreutils changes into gnulib, plus a few
35916         extra fixes.
35917         * lib/md5.c: Use #error rather than a string.
35918         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
35919         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
35920         (__attribute__): Define to empty for non recent-GCC.
35921         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
35922         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
35923         Renamed from their non-__ counterparts, with new macros replacing
35924         them if not _LIBC.  Add __THROW attribute.
35925         (rol): Remove.
35926         (struct md5_ctx): Align buffer if using GCC.
35927         * lib/sha1.h (struct sha1_ctx): Likewise.
35928         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
35929         The old name was backwards.
35930         (NOTSWAP): Remove; not used.
35931         (rol): New macro, moved here from md5.h.
35932         (sha1_process_block): Remove a FIXME that doesn't make sense.
35933
35934 2005-09-12  Derek Price  <derek@ximbiot.com>
35935
35936         Return usable errors from canon-host.
35937         * lib/canon-host.h: New file.
35938         * lib/canon-host.c (canon_host): Wrap...
35939         (canon_host_r): ...this new function, which now relies exclusively on
35940         getaddrinfo.
35941         (ch_strerror): New function.
35942         (last_cherror): New global.
35943         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
35944         interface.
35945         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
35946         void *.
35947         (freeaddrinfo): Free ai->ai_canonname when set.
35948
35949 2005-09-12  Derek Price  <derek@ximbiot.com>
35950
35951         Make canon-host require getaddrinfo.
35952         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
35953         AC_LIBSOURCE canon-host.h.  Call...
35954         (gl_PREREQ_CANON_HOST): ...this new function, which requires
35955         gl_GETADDRINFO.
35956         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
35957
35958 2005-09-12  Derek Price  <derek@ximbiot.com>
35959
35960         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
35961         LGPL.
35962         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
35963
35964 2005-09-12  Derek Price  <derek@ximbiot.com>
35965
35966         * lib/gai_strerror.c: Include config.h when available.  Include
35967         getaddrinfo.h before other headers to test interface.
35968         Reported by Larry Jones <lawrence.jones@ugs.com>.
35969
35970 2005-09-12  Derek Price  <derek@ximbiot.com>
35971             Paul Eggert  <eggert@cs.ucla.edu>
35972
35973         * modules/glob (Files): Add glob-libc.h.
35974
35975 2005-09-12  Derek Price  <derek@ximbiot.com>
35976             Paul Eggert  <eggert@cs.ucla.edu>
35977
35978         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
35979         glob_.h, glob-libc.h.
35980         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
35981
35982 2005-09-12  Derek Price  <derek@ximbiot.com>
35983             Paul Eggert  <eggert@cs.ucla.edu>
35984
35985         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
35986         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
35987         protecting things that should be done only in gnulib contexts.
35988         * lib/glob_.h: New file, containing only the glob things needed for
35989         gnulib.
35990         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
35991         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
35992         (glob, globfree, glob_pattern_p): Now defined simply in terms of
35993         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
35994         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
35995         and to respect the namespace rules better.
35996
35997 2005-09-08  Simon Josefsson  <jas@extundo.com>
35998
35999         * modules/socklen: New file.
36000
36001 2005-09-08  Simon Josefsson  <jas@extundo.com>
36002
36003         * m4/socklen.m4: New file.
36004
36005 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
36006
36007         * modules/utimens (Files): Add m4/utimbuf.m4, since
36008         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
36009         Reported by Sergey Poznyakoff.
36010
36011 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
36012
36013         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
36014         definitions, since that's the preferred style in glibc.
36015         Fix a minor spacing issue, and update copyright notice to match
36016         glibc's.
36017
36018 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
36019
36020         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
36021
36022 2005-09-06  Simon Josefsson  <jas@extundo.com>
36023
36024         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
36025         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
36026
36027 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
36028
36029         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
36030         warning.
36031
36032 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
36033
36034         * config/srclist.txt: Add glibc bug 1302.
36035
36036 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
36037
36038         Change bitset word type from unsigned int to unsigned long int,
36039         as this has better performance on typical 64-bit hosts.
36040         Port bitset code to hosts with unusual word sizes.
36041         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
36042         (build_collating_symbol):
36043         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
36044         argument is a bitset.  This is merely a style issue, but it makes
36045         it clearer that an entire array is expected.
36046         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
36047         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
36048         Port to the case where bitset_word is not the same as unsigned int.
36049         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
36050         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
36051         Likewise.
36052         * lib/regexec.c (check_dst_limits_calc_pos_1,
36053         check_subexp_matching_top):
36054         (build_trtable, group_nodes_into_DFAstates):
36055         Likewise.
36056         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
36057         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
36058         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
36059         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
36060         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
36061         * lib/regcomp.c (optimize_subexps, lower_subexp):
36062         Work even if bitset_word has holes in its bitwise representation.
36063         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
36064         * lib/regexec.c (check_dst_limits_calc_pos_1,
36065         check_subexp_matching_top):
36066         Likewise.
36067         * lib/regex_internal.c (re_string_reconstruct):
36068         Don't assume UCHAR_MAX == 255.
36069         * lib/regex_internal.h (bitset_set_all): Likewise.
36070         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
36071         All uses changed.
36072         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
36073         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
36074         All uses changed.
36075         (BITSET_WORD_MAX): New macro.
36076         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
36077         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
36078         (bitset_empty, bitset_copy):
36079         Prefer sizeof (bitset) to multiplying it out ourselves.
36080         (bitset_not_merge): Remove; unused.
36081         (bitset_contain): Return bool, not unsigned int with one bit on.
36082         All callers changed.
36083         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
36084         alignment than re_node_set; do this by defining a new internal
36085         type struct dests_alloc and using it to allocate memory.
36086
36087 2005-09-05  Bruno Haible  <bruno@clisp.org>
36088
36089         * gnulib-tool (func_import): Fix comparison in handling of symbolic
36090         links.
36091
36092 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
36093
36094         * modules/size_max (Makefile.am): Add size_max.h
36095
36096 2005-09-04  Derek Price  <derek@ximbiot.com>
36097
36098         * gnulib-tool (func_import): Fix reversed $symbolic logic.
36099
36100 2005-09-03  Simon Josefsson  <jas@extundo.com>
36101
36102         * gnulib-tool: Fix typo.
36103
36104 2005-09-03  Simon Josefsson  <jas@extundo.com>
36105
36106         * config/srclist.txt: Add glibc bug 1293.
36107
36108 2005-09-03  Derek Price  <derek@ximbiot.com>
36109
36110         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
36111         From Larry Jones <lawrence.jones@ugs.com>.
36112
36113 2005-09-02  Simon Josefsson  <jas@extundo.com>
36114
36115         * modules/socklen: New file.
36116
36117 2005-09-02  Simon Josefsson  <jas@extundo.com>
36118
36119         * modules/havelib: New module.
36120
36121         * modules/gettext, modules/iconv, modules/lock, modules/readline:
36122         Use havelib.
36123
36124 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
36125
36126         Check for arithmetic overflow when calculating sizes, to prevent
36127         some buffer-overflow issues.  These patches are conservative, in the
36128         sense that when I couldn't determine whether an overflow was possible,
36129         I inserted a run-time check.
36130         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
36131         macros.
36132         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
36133         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
36134         (re_xnrealloc, re_x2nrealloc): New inline functions.
36135         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
36136         parse_bracket_exp):
36137         (build_equiv_class, build_charclass): Check for arithmetic overflow
36138         in size expression calculations.
36139         * lib/regex_internal.c (re_string_realloc_buffers):
36140         (build_wcs_upper_buffer, re_node_set_add_intersect):
36141         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
36142         (re_dfa_add_node, register_state): Likewise.
36143         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
36144         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
36145         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
36146         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
36147
36148 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
36149
36150         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
36151         m4/ulonglong.m4.  Problem reported by Martin Lambers.
36152
36153 2005-09-02  Bruno Haible  <bruno@clisp.org>
36154
36155         Support for lib vs. lib64 distinction on biarch platforms.
36156         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
36157         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
36158         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
36159
36160 2005-09-02  Bruno Haible  <bruno@clisp.org>
36161
36162         * gnulib-tool (import): In the other first-use case, provide defaults
36163         as well.
36164
36165 2005-09-02  Bruno Haible  <bruno@clisp.org>
36166
36167         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
36168         patches not yet found in the latest gettext release.
36169
36170 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
36171
36172         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
36173         to avoid a collision with bits/local_lim.h in glibc.
36174         All uses changed.  Problem reported by Dmitry V. Levin in
36175         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
36176
36177         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
36178         bugs in int versus size_t comparisons.
36179         (re_string_context_at): Fix bug where the code assumed that
36180         Idx is signed.
36181
36182         Use bool where appropriate.
36183         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
36184         All callers changed.
36185         (calc_eclosure_iter): Likewise, for ROOT arg.
36186         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
36187         (build_charclass_op): Likewise, for NON_MATCH arg.
36188         * lib/regex_internal.c (re_string_allocate, re_string_construct):
36189         (re_string_construct_common): Likewise, for ICASE arg.
36190         * lib/regexec.c (re_search_2_stub, re_search_stub):
36191         Likewise, for RET_LEN arg.
36192         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
36193         (set_regs): Likewise, for FL_BACKTRACK arg.
36194         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
36195         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
36196         (calc_eclosure_iter, parse_bracket_exp):
36197         Use bool for internal variables that are booleans.
36198         * lib/regexec.c (re_search_internal, check_matching,
36199         proceed_next_node):
36200         (set_regs, build_sifted_states, sift_states_bkref):
36201         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
36202         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
36203         (find_collation_sequence_value):
36204         Likewise.
36205         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
36206         (re_node_set_compare):
36207         Return bool, not int. All callers changed.
36208         * lib/regexec.c (check_halt_node_context, check_dst_limits):
36209         (build_trtable, check_node_accept): Likewise.
36210         * lib/regex_internal.h: Include stdbool.h.
36211
36212         Fix bugs uncovered when converting to bool.
36213         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
36214         failure instead of charging ahead blindly.
36215         * lib/regex_internal.c (register_state): Likewise.
36216         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
36217         for freeing internal storage.
36218         (group_nodes_into_DFA_states): Use unsigned int, not int, for
36219         bitset pieces used as boolean, to avoid undefined behavior
36220         on hosts that do int overflow checking.
36221
36222 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
36223
36224         * config/srclist.txt: Add glibc bugs 1285-1287.
36225
36226 2005-09-01  Jim Meyering  <jim@meyering.net>
36227
36228         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
36229         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
36230         Require gl_STAT_MACROS, too.
36231
36232 2005-09-01  Bruno Haible  <bruno@clisp.org>
36233
36234         * gnulib-tool (import): In the first-use case, provide defaults.
36235
36236 2005-09-01  Bruno Haible  <bruno@clisp.org>
36237
36238         * gnulib-tool (func_import): Remove the .tmp files.
36239
36240 2005-09-01  Bruno Haible  <bruno@clisp.org>
36241
36242         * gnulib-tool (func_import): Fix handling of symbolic links.
36243
36244 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
36245
36246         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
36247         old glibc regex code mishandles strings longer than 2**31 bytes.
36248         This patch fixes this when the regex code is used in gnulib
36249         (i.e., outside glibc).
36250
36251         This patch should not affect the use of the regex code inside
36252         glibc.  No doubt this problem also needs to be handled for glibc
36253         as well, but the result will be an incompatible change to the
36254         glibc ABI, and the old ABI will have to be supported too.  That
36255         can be the the subject for another patch.
36256
36257         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
36258         governing whether the rest of this patch is active.  By default,
36259         the macro is disabled and the patch has no effect.
36260         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
36261         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
36262         (struct re_pattern_buffer, re_search, re_search_2, re_match):
36263         (re_match_2, re_set_registers): Use the new types.
36264         * lib/regex_internal.h (Idx, re_hashval_t): New types.
36265         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
36266         New macros.
36267         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
36268         (re_string_context_at, bin_tree_t, re_dfastate_t):
36269         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
36270         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
36271         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
36272         (re_string_char_size_at, re_string_wchar_at):
36273         (re_string_elem_size_at):
36274         Use the new types and macros to port to 64-bit hosts.
36275         Use unsigned types for internal values, so that the code
36276         mostly works even for arrays larger than SSIZE_MAX.
36277         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
36278         (search_duplicated_node, calc_eclosure_iter, fetch_number):
36279         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
36280         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
36281         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
36282         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
36283         (calc_inveclosure, parse_dup_op, build_range_exp):
36284         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
36285         (fetch_number, create_token_tree, mark_opt_subexp):
36286         Likewise.
36287         * lib/regex_internal.c (re_string_construct_common,
36288         create_ci_newstate):
36289         (create_cd_newstate, re_string_allocate, re_string_construct):
36290         (re_string_realloc_buffers, build_wcs_upper_buffer):
36291         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
36292         (re_string_reconstruct, re_string_peek_byte_case):
36293         (re_string_fetch_byte_case, re_string_context_at):
36294         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
36295         (re_node_set_init_copy, re_node_set_add_intersect):
36296         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
36297         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
36298         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
36299         (re_acquire_state, re_acquire_state_context, register_state):
36300         Likewise.
36301         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
36302         search_cur_bkref_entry):
36303         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
36304         (re_search_internal, re_search_2_stub, re_search_stub)
36305         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
36306         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
36307         (update_cur_sifted_state, check_dst_limits):
36308         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
36309         (check_subexp_limits, sift_states_bkref, merge_state_array):
36310         (check_subexp_matching_top, get_subexp, get_subexp_sub):
36311         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
36312         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
36313         (expand_bkref_cache, check_node_accept_bytes):
36314         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
36315         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
36316         (acquire_init_state_context, check_halt_node_context):
36317         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
36318         (sift_states_backward, clean_state_log_if_needed):
36319         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
36320         (find_recover_state, transit_state_sb, transit_state_mb):
36321         (transit_state_bkref, build_trtable, match_ctx_clean):
36322         Likewise.
36323         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
36324         to work around an assumption that REG_MISSING is negative.
36325
36326         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
36327         (seek_collating_symbol_entry) [defined _LIBC]:
36328         (lookup_collation_sequence_value) [defined _LIBC]:
36329         (build_range_exp, build_collating_symbol) [defined _LIBC]:
36330         Use prototypes rather than old-style function definitions.
36331         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
36332         (transit_state_sb) [0]:
36333         (find_collation_sequence_value) [defined _LIBC]: Likewise.
36334
36335         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
36336         rm_eo.
36337
36338         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
36339         (optimize_subexps, lower_subexp):
36340         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
36341         since the signed shift might overflow.  Use 1u<<31 instead.
36342         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
36343         Likewise.
36344         * lib/regexec.c (check_dst_limits_calc_pos_1,
36345         check_subexp_matching_top): Likewise.
36346
36347         * lib/regcomp.c (optimize_subexps, lower_subexp):
36348         Use CHAR_BIT rather than 8, for clarity.
36349         * lib/regexec.c (check_dst_limits_calc_pos_1):
36350         (check_subexp_matching_top): Likewise.
36351         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
36352         have to worry about portability issues when shifting it left.
36353         Remove no-longer-needed test for table_size > 0.
36354         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
36355         in a word, as the resulting behavior is undefined.
36356         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
36357         in one case, a <= should have been an <, and in another case the
36358         whole test was missing.
36359         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
36360         the standard name CHAR_BIT.
36361         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
36362         this is not true on one's complement and signed-magnitude hosts.
36363
36364         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
36365         next_last_offset.
36366         (struct re_dfa_t): Remove unused member states_alloc.
36367         * lib/regcomp.c (init_dfa): Don't initialize unused members.
36368
36369 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
36370
36371         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
36372         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
36373         and large-file glibc and in 32-bit large-file Solaris.
36374
36375 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
36376
36377         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
36378         lengths fit in regoff_t; this isn't true if regoff_t is the same
36379         width as size_t.
36380         * lib/regex.c (re_search_internal): 5th arg is LAST_START
36381         (= START + RANGE) instead of RANGE.  This avoids overflow
36382         problems when regoff_t is the same width as size_t.
36383         All callers changed.
36384         (re_search_2_stub): Check for overflow when adding the
36385         sizes of the two strings.
36386         (re_search_stub): Check for overflow when adding START
36387         to RANGE; if it occurs, substitute the extreme value.
36388
36389 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
36390
36391         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
36392
36393 2005-08-31  Jim Meyering  <jim@meyering.net>
36394
36395         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
36396         a pointer-to-const.
36397         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
36398         (register_state): Likewise.
36399         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
36400         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
36401         (group_nodes_into_DFAstates): Likewise.
36402
36403 2005-08-31  Jim Meyering  <jim@meyering.net>
36404
36405         * check-module: Add a FIXME comment.
36406
36407 2005-08-31  Eric Blake  <ebb9@byu.net>
36408
36409         * modules/unistd-safer (Files): Add unistd--.h.
36410         * modules/stdio-safer (Files): Add stdio--.h.
36411
36412 2005-08-31  Derek Price  <derek@ximbiot.com>
36413
36414         * lib/getdelim.c (getdelim): Return EOF on EOF.
36415         Reported by Larry Jones <lawrence.jones@ugs.com>.
36416
36417 2005-08-31  Bruno Haible  <bruno@clisp.org>
36418
36419         Avoid unnecessary diffs in the generated lib/Makefile.am.
36420         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
36421         the generated files.
36422         (func_import): Don't set cmd.
36423
36424 2005-08-31  Bruno Haible  <bruno@clisp.org>
36425
36426         * lib/strstr.c: Include <stddef.h>, for NULL.
36427         * lib/strcasestr.c: Likewise.
36428         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
36429
36430 2005-08-31  Bruno Haible  <bruno@clisp.org>
36431
36432         * gnulib-tool: New option --macro-prefix.
36433         (func_import): Use macro_prefix.
36434         (import): Handle option --macro-prefix.
36435
36436 2005-08-31  Bruno Haible  <bruno@clisp.org>
36437
36438         * gnulib-tool (import): Rename most ac_* variables to cached_*.
36439         Also use new variables cached_lgpl, cached_libtool.
36440
36441 2005-08-31  Bruno Haible  <bruno@clisp.org>
36442
36443         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
36444         always instantiating them.
36445
36446 2005-08-31  Bruno Haible  <bruno@clisp.org>
36447
36448         * gnulib-tool (func_import): Read the previous cached settings
36449         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
36450         earlier added by gnulib but are now dropped. Warn when a gnulib file
36451         overwrites a non-gnulib file.
36452
36453 2005-08-31  Bruno Haible  <bruno@clisp.org>
36454
36455         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
36456         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
36457         projects that don't keep autogenerated files in CVS. Put into
36458         actioncmd only the specified modules, not the transitive closure.
36459
36460 2005-08-31  Bruno Haible  <bruno@clisp.org>
36461
36462         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
36463         Create directories that shall be filled.
36464         (import): Don't look for gl_* macros in configure.ac. Recurse across
36465         all directories containing a gnulib-cache.m4 files, if meaningful.
36466
36467 2005-08-31  Bruno Haible  <bruno@clisp.org>
36468
36469         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
36470         (import): Set seen_libtool when we see gl_LIBTOOL.
36471
36472 2005-08-31  Bruno Haible  <bruno@clisp.org>
36473
36474         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
36475         declaration macro definitions from generated gnulib.m4.
36476
36477 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
36478
36479         * lib/iconvme.h: Add prototype for iconv_alloc.
36480
36481 2005-08-29  Simon Josefsson  <jas@extundo.com>
36482
36483         * lib/iconvme.c: Fix errno.
36484
36485 2005-08-29  Bruno Haible  <bruno@clisp.org>
36486
36487         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
36488         that it works when the directory contains spaces.
36489
36490 2005-08-29  Bruno Haible  <bruno@clisp.org>
36491
36492         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
36493
36494 2005-08-29  Bruno Haible  <bruno@clisp.org>
36495
36496         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
36497         Emit more advice.
36498
36499 2005-08-29  Bruno Haible  <bruno@clisp.org>
36500         and Stepan Kasal  <kasal@ucw.cz>
36501
36502         * check-module: If more parameters are given, check each of them
36503         separately; add more exceptions, as noted by Jim Meyering.
36504         (check_module): New procedure.
36505         (%exempt_header): Now contains all exceptions.
36506
36507 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
36508
36509         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
36510
36511 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
36512
36513         * lib/iconvme.c: Split iconv_string into iconv_alloc.
36514
36515 2005-08-28  Bruno Haible  <bruno@clisp.org>
36516
36517         * m4/gnulib-tool.m4: New file.
36518
36519 2005-08-27  Jim Meyering  <jim@meyering.net>
36520
36521         * modules/unistd-safer (Files): Add pipe-safer.c.
36522         * modules/fcntl-safer (Files): Add creat-safer.c.
36523
36524 2005-08-27  Jim Meyering  <jim@meyering.net>
36525
36526         * m4/stdlib-safer.m4: New file.  From coreutils.
36527         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
36528         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
36529         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
36530         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
36531         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
36532
36533 2005-08-27  Jim Meyering  <jim@meyering.net>
36534
36535         * lib/fopen-safer.c: Merge minor changes from coreutils.
36536         * lib/dup-safer.c: Likewise.
36537         * lib/fd-safer.c: Likewise.
36538
36539         Merge from coreutils.
36540         * lib/stdio--.h: New file.
36541         * lib/stdlib--.h: New file.
36542         * lib/mkstemp-safer.c: New file.
36543
36544         GNU tar needs these.
36545         * lib/pipe-safer.c: New file.
36546         * lib/creat-safer.c: New file.
36547         * lib/fcntl--.h (creat): Define to creat_safer.
36548         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
36549         * lib/unistd--.h (pipe): Define to pipe_safer.
36550         * lib/unistd-safer.h: Declare pipe_safer.
36551
36552 2005-08-26  Simon Josefsson  <jas@extundo.com>
36553
36554         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
36555         Haible <bruno@clisp.org>.
36556
36557 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
36558
36559         * lib/regex_internal.h: Remove all references to
36560         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
36561         or better.
36562         (bitset_not, bitset_merge, bitset_not_merge):
36563         (bitset_mask, re_string_allocate, re_string_construct):
36564         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
36565         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
36566         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
36567         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
36568         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
36569         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
36570         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
36571         (re_acquire_state_context):
36572         Remove unnecessary forward decls.
36573         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
36574         Put __attribute at function definition,
36575         now that the function decl has been removed.
36576         * lib/regex_internal.c (re_string_peek_byte_case):
36577         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
36578         Likewise.
36579
36580 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
36581
36582         * m4/regex.m4: Add AC_PREREQ(2.50).
36583         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
36584
36585 2005-08-25  Simon Josefsson  <jas@extundo.com>
36586
36587         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
36588         __fsetlocking.
36589
36590 2005-08-25  Simon Josefsson  <jas@extundo.com>
36591
36592         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
36593         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
36594         GLIBC specific code.
36595
36596 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
36597
36598         Make regex safe for g++.  This fixes one real bug (an "err"
36599         that should have been "*err").  g++ problem reported by
36600         Sam Steingold.
36601         * lib/regex_internal.h (re_calloc): New macro, consistent with
36602         re_malloc etc.  All callers of calloc changed to use re_calloc.
36603         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
36604         not int.  All callers changed.
36605         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
36606         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
36607         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
36608         (find_recover_state): Change "err" to "*err"; this fixes what
36609         appears to be a real bug.
36610         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
36611         versus int.
36612
36613 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
36614
36615         * modules/regex (Depends-on): Add malloc, since the code
36616         assumes that !malloc(0) means failure.
36617
36618 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
36619
36620         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
36621
36622         alloca modernization/simplification for regex.
36623         * lib/regex.c: Remove portability cruft for alloca.  This no longer
36624         needs to be at the start of the file, and can be moved into
36625         regex_internal.h and simplified.
36626         * lib/regex_internal.h: Include <alloca.h>.
36627         (__libc_use_alloca) [!defined _LIBC]: New macro.
36628         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
36629         now works outside glibc.
36630
36631 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
36632
36633         * config/srclist.txt: Add glibc bugs 1241, 1245.
36634
36635 2005-08-25  Jim Meyering  <jim@meyering.net>
36636
36637         * lib/open-safer.c: Include <config.h>.
36638         Otherwise, we'd lose LARGEFILE support in any file using
36639         e.g. "fcntl--.h"
36640
36641 2005-08-25  Bruno Haible  <bruno@clisp.org>
36642
36643         * m4/minmax.m4: Require autoconf 2.52.
36644         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
36645         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
36646         alternatives of translit over the alphabet.
36647         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
36648
36649 2005-08-24  Simon Josefsson  <jas@extundo.com>
36650
36651         * tests/test-getpass.c: New file.
36652
36653 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
36654
36655         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
36656         for GNU regex features.
36657
36658 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
36659
36660         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
36661         * lib/regex.h (regerror): Likewise.
36662
36663         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
36664         requires this.  (The code never needed it.)
36665
36666         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
36667         All uses of recently-renamed identifiers changed to use the new,
36668         POSIX-compliant names.  The code will build and run just fine
36669         without these changes, but it's better to eat our own dog food
36670         and use the standard-conforming names.
36671
36672         * lib/regex.h: Fix a multitude of POSIX name space violations.
36673         These changes have an effect only for programs that define
36674         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
36675         do not change anything for programs compiled in the normal way.
36676         Also, there is no effect on the ABI.
36677
36678         (_REGEX_SOURCE): New macro.
36679         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
36680         defined and _GNU_SOURCE is not; this fixes a name space violation.
36681
36682         Rename the following macros to obey POSIX requirements.
36683         The old names are still visible as macros if _REGEX_SOURCE is defined.
36684         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
36685         RE_BACKSLASH_ESCAPE_IN_LISTS.
36686         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
36687         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
36688         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
36689         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
36690         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
36691         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
36692         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
36693         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
36694         (REG_INTERVALS): renamed from RE_INTERVALS.
36695         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
36696         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
36697         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
36698         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
36699         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
36700         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
36701         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
36702         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
36703         RE_UNMATCHED_RIGHT_PAREN_ORD.
36704         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
36705         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
36706         (REG_DEBUG): renamed from RE_DEBUG.
36707         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
36708         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
36709         unusual, since we can't clash with the POSIX REG_ICASE.
36710         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
36711         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
36712         (REG_NO_SUB): renamed from RE_NO_SUB.
36713         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
36714         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
36715         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
36716         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
36717         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
36718         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
36719         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
36720         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
36721         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
36722         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
36723         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
36724         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
36725         RE_SYNTAX_POSIX_MINIMAL_BASIC.
36726         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
36727         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
36728         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
36729         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
36730         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
36731         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
36732         (REG_FIXED): Renamed from REGS_FIXED.
36733         (REG_NREGS): Renamed from RE_NREGS.
36734
36735         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
36736         of other REG_* macros, since POSIX says the user is allowed to
36737         #undef these macros selectively.
36738
36739         (reg_errcode_t): Update comment stating what other tables need
36740         to be consistent.
36741
36742         Rename the following enum values to obey POSIX requirements.
36743         The old names are still visible as macros.
36744         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
36745         is not defined, since GNU is supposed to be a superset of POSIX as
36746         much as possible, and since we want reg_errcode_t to be a signed
36747         type for implementation consistency.
36748         (_REG_NOERROR): Renamed from REG_NOERROR.
36749         (_REG_NOMATCH): Renamed from REG_NOMATCH.
36750         (_REG_BADPAT): Renamed from REG_BADPAT.
36751         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
36752         (_REG_ECTYPE): Renamed from REG_ECTYPE.
36753         (_REG_EESCAPE): Renamed from REG_EESCAPE.
36754         (_REG_ESUBREG): Renamed from REG_ESUBREG.
36755         (_REG_EBRACK): Renamed from REG_EBRACK.
36756         (_REG_EPAREN): Renamed from REG_EPAREN.
36757         (_REG_EBRACE): Renamed from REG_EBRACE.
36758         (_REG_BADBR): Renamed from REG_BADBR.
36759         (_REG_ERANGE): Renamed from REG_ERANGE.
36760         (_REG_ESPACE): Renamed from REG_ESPACE.
36761         (_REG_BADRPT): Renamed from REG_BADRPT.
36762         (_REG_EEND): Renamed from REG_EEND.
36763         (_REG_ESIZE): Renamed from REG_ESIZE.
36764         (_REG_ERPAREN): Renamed from REG_ERPAREN.
36765         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
36766         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
36767         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
36768         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
36769
36770         (_REG_RE_NAME, _REG_RM_NAME): New macros.
36771         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
36772         changed.  But support the old name if the new one is not defined
36773         and if _REGEX_SOURCE.
36774
36775         Change the following member names in struct re_pattern_buffer.
36776         The old names are still supported if !_REGEX_SOURCE.
36777         The new names are always supported, regardless of _REGEX_SOURCE.
36778         (re_buffer): Renamed from buffer.
36779         (re_allocated): Renamed from allocated.
36780         (re_used): Renamed from used.
36781         (re_syntax): Renamed from syntax.
36782         (re_fastmap): Renamed from fastmap.
36783         (re_translate): Renamed from translate.
36784         (re_can_be_null): Renamed from can_be_null.
36785         (re_regs_allocated): Renamed from regs_allocated.
36786         (re_fastmap_accurate): Renamed from fastmap_accurate.
36787         (re_no_sub): Renamed from no_sub.
36788         (re_not_bol): Renamed from not_bol.
36789         (re_not_eol): Renamed from not_eol.
36790         (re_newline_anchor): Renamed from newline_anchor.
36791
36792         Change the following member names in struct re_registers.
36793         The old names are still supported if !_REGEX_SOURCE.
36794         The new names are always supported, regardless of _REGEX_SOURCE.
36795         (rm_num_regs): Renamed from num_regs.
36796         (rm_start): Renamed from start.
36797         (rm_end): Renamed from end.
36798
36799         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
36800         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
36801         Prepend __ to parameter names.
36802
36803         Undo yesterday's changes.
36804
36805 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
36806
36807         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
36808         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
36809         lib/regex.c.
36810
36811 2005-08-24  Jim Meyering  <jim@meyering.net>
36812
36813         Sync from coreutils.
36814         * m4/fcntl-safer.m4: New file.
36815
36816         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
36817         and object files for this module.
36818
36819 2005-08-24  Jim Meyering  <jim@meyering.net>
36820
36821         Sync from coreutils.
36822         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
36823
36824 2005-08-24  Jim Meyering  <jim@meyering.net>
36825
36826         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
36827         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
36828
36829 2005-08-24  Jim Meyering  <jim@meyering.net>
36830
36831         * modules/fcntl-safer: New module.
36832         * modules/fts (Depends-on): Add fcntl-safer.
36833         * MODULES.html.sh (File descriptor based Input/Output):
36834         Add fcntl-safer.
36835
36836 2005-08-24  Bruno Haible  <bruno@clisp.org>
36837
36838         Support for unit test modules.
36839         * modules/README: Mention tests modules.
36840         * modules/TEMPLATE-TESTS: New file.
36841         * gnulib-tool: New options --extract-tests-module, --with-tests and
36842         --tests-base (unused for the moment).
36843         (testsbase, inctests): New variables.
36844         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
36845         (func_verify_module): Exclude TEMPLATE-TESTS.
36846         (func_verify_nontests_module, func_verify_tests_module): New functions.
36847         (func_get_dependencies): Add implicit dependency for tests modules.
36848         (func_get_tests_module): New function.
36849         (func_modules_transitive_closure): When --with-tests was specified,
36850         include the unit tests as well, unless explicitly avoided.
36851         (func_emit_lib_Makefile_am): Ignore the tests modules here.
36852         (func_emit_tests_Makefile_am): New function.
36853         (func_create_testdir): When --with-tests was specified, emit a
36854         tests/ directory.
36855         * MODULES.html.sh (Future developments): Update.
36856
36857 2005-08-24  Bruno Haible  <bruno@clisp.org>
36858
36859         * modules/tls-tests: New file.
36860         * tests/test-tls.c: New file, from GNU gettext.
36861
36862 2005-08-24  Bruno Haible  <bruno@clisp.org>
36863
36864         * modules/lock-tests: New file.
36865         * tests/test-lock.c: New file, from GNU gettext.
36866
36867 2005-08-24  Bruno Haible  <bruno@clisp.org>
36868
36869         * lib/lock.h: Add multiple inclusion guard.
36870         * lib/tls.h: Add multiple inclusion guard.
36871
36872 2005-08-24  Bruno Haible  <bruno@clisp.org>
36873
36874         * gnulib-tool: Add support for the --aux-dir option to
36875         --create-testdir, --create-megatestdir, --test, --megatest.
36876         (func_create_testdir, func_create_megatestdir): Optionally emit a
36877         AC_CONFIG_AUX_DIR directive.
36878         (create-testdir, create-megatestdir, test, megatest): Provide a
36879         default value for $auxdir.
36880
36881 2005-08-24  Bruno Haible  <bruno@clisp.org>
36882
36883         * gnulib-tool (import): Use compound statement instead of subshell
36884         where possible.
36885
36886 2005-08-24  Bruno Haible  <bruno@clisp.org>
36887
36888         * gnulib-tool (import): Change --aux-dir default to "build-aux".
36889
36890 2005-08-24  Bruno Haible  <bruno@clisp.org>
36891
36892         * gnulib-tool (func_version): Update.
36893
36894 2005-08-24  Bruno Haible  <bruno@clisp.org>
36895
36896         * gnulib-tool (func_import, func_create_testdir,
36897         func_create_megatestdir): Quote all autoconf macro arguments.
36898
36899 2005-08-24  Bruno Haible  <bruno@clisp.org>
36900
36901         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
36902         option --force, because --force causes the aclocal.m4 of each
36903         subdirectory to be newer than the corresponding config.h.in.
36904
36905 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
36906
36907         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
36908         All contents moved to gl_REGEX.
36909         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
36910         assume that it does.
36911
36912 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
36913
36914         * lib/regex.h (REG_NOSYS)
36915         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
36916         Define, since POSIX requires it as of 2001.
36917         (_REG_ENOSYS)
36918         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
36919         New private symbol, used to keep the enum signed in all cases.
36920         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
36921         Youngman in
36922         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
36923
36924         * lib/regex_internal.c (re_string_skip_chars, register_state):
36925         (calc_state_hash):
36926         Remove forward decls; no longer needed now that we use prototypes.
36927         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
36928         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
36929         (clean_state_log_if_needed): Likewise.
36930
36931 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
36932
36933         * config/srclist.txt: Add glibc bugs 1231-1233.
36934
36935 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
36936
36937         Fix problems reported by Sam Steingold in
36938         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
36939         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
36940         assumed that reg_errcode_t is a signed type, which is not
36941         necessarily true if _XOPEN_SOURCE is not defined.
36942         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
36943         since some compilers warn about it otherwise.
36944
36945 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
36946
36947         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
36948         (init_word_char, create_initial_state, duplicate_node_closure):
36949         (fetch_token, peek_token_bracket, build_range_exp):
36950         (build_collating_symbol): Remove forward decls; no longer needed
36951         now that we use prototypes.
36952
36953         * lib/regcomp.c:
36954         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
36955         (re_compile_fastmap_iter, regcomp, regerror, regfree):
36956         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
36957         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
36958         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
36959         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
36960         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
36961         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
36962         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
36963         (build_range_exp, build_collating_symbol, parse_bracket_exp):
36964         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
36965         (build_charclass, build_charclass_op, fetch_number, create_tree):
36966         (create_token_tree, mark_opt_subexp, duplicate_tree):
36967         Use prototypes rather than old-style definitions.
36968
36969         * lib/regex_internal.c:
36970         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
36971         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
36972         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
36973         (re_string_reconstruct, re_string_peek_byte_case):
36974         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
36975         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
36976         (re_node_set_init_copy, re_node_set_add_intersect):
36977         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
36978         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
36979         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
36980         (re_acquire_state, re_acquire_state_context, register_state):
36981         (create_ci_newstate, create_cd_newstate, free_state):
36982         Likewise.
36983         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
36984         re_search_2):
36985         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
36986         (re_search_internal, prune_impossible_nodes):
36987         (acquire_init_state_context, check_matching, static):
36988         (check_halt_node_context, check_halt_state_context, proceed_next_node):
36989         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
36990         (update_regs, sift_states_backward, build_sifted_states):
36991         (clean_state_log_if_needed, merge_state_array):
36992         (update_cur_sifted_state, add_epsilon_src_nodes):
36993         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
36994         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
36995         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
36996         (find_recover_state, check_subexp_matching_top, transit_state_mb):
36997         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
36998         (check_arrival, check_arrival_add_next_nodes):
36999         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
37000         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
37001         (check_node_accept_bytes, check_node_accept, extend_buffers):
37002         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
37003         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
37004         (sift_ctx_init):
37005         Likewise.
37006
37007         * lib/regex_internal.h:
37008         (re_string_allocate, re_string_construct, re_string_reconstruct):
37009         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
37010         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
37011         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
37012         (re_string_context_at, re_string_peek_byte_case):
37013         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
37014         is defined, since we now use prototypes always.
37015
37016         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
37017         C89 or better.  All uses removed.
37018
37019 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
37020
37021         * config/srclist.txt: Add glibc bugs 1220-1227.
37022
37023 2005-08-20  Jim Meyering  <jim@meyering.net>
37024
37025         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
37026         of unused local, dfa.
37027
37028 2005-08-20  Bruno Haible  <bruno@clisp.org>
37029
37030         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
37031
37032 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
37033
37034         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
37035         (re_node_set_insert_last, re_dfa_add_node):
37036         Rename local variables to avoid GCC shadowing warnings.
37037
37038 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
37039
37040         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
37041         [defined lint]: Suppress bogus uninitialized-variable warnings.
37042
37043         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
37044         and let the caller return REG_ESPACE if out of space.  This
37045         removes an uninitialied-variable warning with GCC 4.0.1, and also
37046         avoids taking the address of a local variable.  All callers
37047         changed.
37048
37049 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
37050
37051         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
37052         $LIBCSRC/posix/regexec.c.
37053         Add glibc bug 1217 for regcomp.c.
37054
37055 2005-08-19  Jim Meyering  <jim@meyering.net>
37056
37057         * lib/regexec.c (proceed_next_node): Redo local variables to
37058         avoid GCC shadowing warnings.
37059
37060 2005-08-18  Bruno Haible  <bruno@clisp.org>
37061
37062         * lib/strstr.c (strstr): Fix return value in multibyte case.
37063         * lib/strcasestr.c (strcasestr): Likewise.
37064
37065 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
37066
37067         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
37068
37069 2005-08-17  Jim Meyering  <jim@meyering.net>
37070
37071         Make the %s format (seconds since the epoch) work for a negative
37072         number and when used with a zero-padded field width, e.g. %015s.
37073
37074         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
37075         label so that it precedes the code to set `digits'.  Otherwise,
37076         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
37077         print `00-22'.  Now, it prints `-0022', as it should.
37078
37079 2005-08-17  Bruno Haible  <bruno@clisp.org>
37080
37081         * modules/strstr (Files): Add m4/mbrtowc.m4.
37082         (Depends-on): Add mbuiter.
37083
37084 2005-08-17  Bruno Haible  <bruno@clisp.org>
37085
37086         * modules/strcasestr: New file.
37087         * MODULES.html.sh (String handling, based on ANSI C 89): Add
37088         strcasestr.
37089
37090 2005-08-17  Bruno Haible  <bruno@clisp.org>
37091
37092         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
37093
37094 2005-08-17  Bruno Haible  <bruno@clisp.org>
37095
37096         * modules/mbuiter: New file.
37097         * MODULES.html.sh (Extended multibyte and wide character utilities):
37098         Add mbuiter.
37099
37100 2005-08-17  Bruno Haible  <bruno@clisp.org>
37101
37102         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
37103         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
37104
37105 2005-08-17  Bruno Haible  <bruno@clisp.org>
37106
37107         * m4/strcasestr.m4: New file.
37108
37109 2005-08-17  Bruno Haible  <bruno@clisp.org>
37110
37111         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
37112         * lib/strstr.c: Completely rewritten, with multibyte locale support.
37113
37114 2005-08-17  Bruno Haible  <bruno@clisp.org>
37115
37116         * lib/strcasestr.h: New file.
37117         * lib/strcasestr.c: New file.
37118
37119 2005-08-17  Bruno Haible  <bruno@clisp.org>
37120
37121         * lib/strcasecmp.c: Use mbuiter.h.
37122
37123 2005-08-17  Bruno Haible  <bruno@clisp.org>
37124
37125         * lib/mbuiter.h: New file.
37126
37127 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
37128
37129         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
37130         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
37131         and gl_GETOPT are both invoked via different paths (as happens
37132         with GNU tar CVS because it uses both argp and getopt), the former
37133         wins.
37134
37135 2005-08-16  Bruno Haible  <bruno@clisp.org>
37136
37137         * modules/tls: New file.
37138         * MODULES.html.sh (Multithreading): Add tls.
37139
37140 2005-08-16  Bruno Haible  <bruno@clisp.org>
37141
37142         * modules/strnlen1: New file.
37143         * MODULES.html.sh (String handling): Add strnlen1.
37144
37145 2005-08-16  Bruno Haible  <bruno@clisp.org>
37146
37147         * modules/strcase (Files): Add m4/mbrtowc.m4.
37148         (Depends-on): Add strnlen1, mbchar.
37149
37150 2005-08-16  Bruno Haible  <bruno@clisp.org>
37151
37152         * modules/mbiter: New file.
37153         * MODULES.html.sh (Extended multibyte and wide character utilities):
37154         Add mbiter.
37155
37156 2005-08-16  Bruno Haible  <bruno@clisp.org>
37157
37158         * modules/mbfile: New file.
37159         * MODULES.html.sh (Extended multibyte and wide character utilities):
37160         Add mbfile.
37161
37162 2005-08-16  Bruno Haible  <bruno@clisp.org>
37163
37164         * modules/mbchar: New file.
37165         * MODULES.html.sh (Extended multibyte and wide character utilities):
37166         New section.
37167
37168 2005-08-16  Bruno Haible  <bruno@clisp.org>
37169
37170         * m4/tls.m4: New file, from GNU gettext.
37171
37172 2005-08-16  Bruno Haible  <bruno@clisp.org>
37173
37174         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
37175         always.
37176         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
37177
37178 2005-08-16  Bruno Haible  <bruno@clisp.org>
37179
37180         * m4/mbiter.m4: New file.
37181
37182 2005-08-16  Bruno Haible  <bruno@clisp.org>
37183
37184         * m4/mbfile.m4: New file.
37185
37186 2005-08-16  Bruno Haible  <bruno@clisp.org>
37187
37188         * m4/mbchar.m4: New file.
37189
37190 2005-08-16  Bruno Haible  <bruno@clisp.org>
37191
37192         * lib/tls.h: New file, from GNU gettext.
37193         * lib/tls.c: New file, from GNU gettext.
37194
37195 2005-08-16  Bruno Haible  <bruno@clisp.org>
37196
37197         * lib/strnlen1.h: New file.
37198         * lib/strnlen1.c: New file.
37199
37200 2005-08-16  Bruno Haible  <bruno@clisp.org>
37201
37202         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
37203         (mbi_init): Update.
37204         (mbi_avail, mbi_advance): Let the iteration end before the terminating
37205         NUL byte, not after it.
37206
37207 2005-08-16  Bruno Haible  <bruno@clisp.org>
37208
37209         * lib/strcase.h (strcasecmp): Add note in comments.
37210         * lib/strncasecmp.c: Use code from strcasecmp.c.
37211         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
37212         (strcasecmp): Work correctly in multibyte locales.
37213
37214 2005-08-16  Bruno Haible  <bruno@clisp.org>
37215
37216         * lib/mbiter.h: New file.
37217
37218 2005-08-16  Bruno Haible  <bruno@clisp.org>
37219
37220         * lib/mbfile.h: New file.
37221
37222 2005-08-16  Bruno Haible  <bruno@clisp.org>
37223
37224         * lib/mbchar.h: New file.
37225         * lib/mbchar.c: New file.
37226
37227 2005-08-16  Bruno Haible  <bruno@clisp.org>
37228
37229         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
37230         the valid ones. Makes the comparison operations transitive:
37231         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
37232         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
37233
37234 2005-08-15  Simon Josefsson  <jas@extundo.com>
37235
37236         * modules/ssize_t (License): Change to 'unlimited'.
37237
37238         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
37239
37240 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
37241
37242         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
37243         Add comments for each pending glibc patch.
37244
37245 2005-08-15  Bruno Haible  <bruno@clisp.org>
37246
37247         * lib/regex.h (__restrict_arr): Don't define to __restrict if
37248         __cplusplus is defined.
37249
37250 2005-08-14  Jim Meyering  <jim@meyering.net>
37251
37252         Sync from coreutils.
37253
37254         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
37255         Use the hash-table-based cycle-detection code not just when
37256         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
37257         Reported by James Youngman in
37258         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
37259         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
37260         FTS_TIGHT_CYCLE_CHECK.
37261         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
37262         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
37263         once again.
37264         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
37265         * lib/fts.c (fd_safer): Remove decl.
37266         Include fcntl--.h rather than unistd-safer.h
37267         (fts_safe_changedir): Don't call fd_safer; no longer needed
37268         now that we include fcntl--.h.
37269
37270 2005-08-12  Simon Josefsson  <jas@extundo.com>
37271
37272         * modules/getndelim2: Use ssize_t module.
37273         * modules/getnline: Likewise.
37274         * modules/safe-read: Likewise.
37275         * modules/xreadlink: Likewise.
37276
37277         * modules/ssize_t: New file.
37278
37279 2005-08-12  Simon Josefsson  <jas@extundo.com>
37280
37281         * m4/readline.m4: Look for termcap, curses or ncurses if required.
37282
37283 2005-08-12  Simon Josefsson  <jas@extundo.com>
37284
37285         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
37286         ssize_t.
37287
37288 2005-08-12  Simon Josefsson  <jas@extundo.com>
37289
37290         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
37291         readline, getdelim and check_version.
37292         (Support for systems lacking ISO C 99: Sizes of integer types):
37293         Add size_max.
37294
37295 2005-08-12  Bruno Haible  <bruno@clisp.org>
37296
37297         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
37298
37299 2005-08-11  Simon Josefsson  <jas@extundo.com>
37300
37301         * modules/readline: New file.
37302
37303         * modules/strnlen (Files): Add strnlen.h.
37304
37305 2005-08-11  Simon Josefsson  <jas@extundo.com>
37306
37307         * m4/readline.m4: New file.
37308
37309 2005-08-11  Simon Josefsson  <jas@extundo.com>
37310
37311         * lib/readline.h, readline.c: New file.
37312
37313 2005-08-11  Simon Josefsson  <jas@extundo.com>
37314
37315         * doc/gnulib.texi (Initial import, Finishing touches): Mention
37316         gl_AVOID.
37317
37318 2005-08-11  Bruno Haible  <bruno@clisp.org>
37319
37320         * lib/strnlen.h (strnlen): Change parameter name to match comment.
37321
37322 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
37323
37324         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
37325
37326 2005-08-10  Simon Josefsson  <jas@extundo.com>
37327
37328         * tests/test-iconvme.c: New file.
37329
37330 2005-08-10  Simon Josefsson  <jas@extundo.com>
37331
37332         * m4/strnlen.m4: New file.
37333
37334         * m4/strndup.m4: Don't check for strnlen declaration, done in
37335         strnlen.m4.
37336
37337 2005-08-10  Simon Josefsson  <jas@extundo.com>
37338
37339         * lib/strndup.c: Use strnlen.h.
37340
37341         * lib/strnlen.h: New file.
37342
37343 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
37344
37345         * README: Typos.
37346
37347 2005-08-02  Simon Josefsson  <jas@extundo.com>
37348
37349         * modules/readline: New file.
37350
37351 2005-08-02  Simon Josefsson  <jas@extundo.com>
37352
37353         * modules/getdelim: New file.
37354
37355         * modules/getline: Rewrite, don't use getndelim2.
37356
37357 2005-08-02  Simon Josefsson  <jas@extundo.com>
37358
37359         * m4/getline.m4: Separate out getdelim stuff into separate module.
37360
37361         * m4/getdelim.m4: New file.
37362
37363 2005-08-02  Simon Josefsson  <jas@extundo.com>
37364
37365         * lib/getline.h, getline.c: Rewrite.
37366
37367         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
37368
37369 2005-07-31  Bruno Haible  <bruno@clisp.org>
37370
37371         * lib/lock.h (gl_lock_initializer): New macro.
37372         (gl_lock_define_initialized): Use it.
37373         (gl_rwlock_initializer): New macro.
37374         (gl_rwlock_define_initialized): Use it.
37375         (gl_recursive_lock_initializer): New macro.
37376         (gl_recursive_lock_define_initialized): Use it.
37377
37378 2005-07-30  Karl Berry  <karl@gnu.org>
37379
37380         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
37381         Report from Ben Pfaff, regarding getopt.
37382
37383 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
37384
37385         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
37386         normal way.
37387         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
37388         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
37389         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
37390         (gl_GETOPT): Use the new macros.  Most of the implementation
37391         is moved to the new macros.  This is for programs like Emacs
37392         that don't want all the functionality of gl_GETOPT.
37393
37394 2005-07-26  Bruno Haible  <bruno@clisp.org>
37395
37396         * m4/lock.m4: Update from GNU gettext.
37397
37398 2005-07-26  Bruno Haible  <bruno@clisp.org>
37399
37400         * lib/lock.h: Update from GNU gettext.
37401         * lib/lock.c: Update from GNU gettext.
37402
37403 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
37404
37405         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
37406         obsolescent AC_TRY_RUN.  Include the default includes files, for
37407         'exit'.
37408
37409 2005-07-24  Bruno Haible  <bruno@clisp.org>
37410
37411         * modules/visibility: New file.
37412         * MODULES.html.sh (Misc): Add visibility.
37413
37414 2005-07-24  Bruno Haible  <bruno@clisp.org>
37415
37416         * m4/visibility.m4: New file.
37417
37418 2005-07-24  Bruno Haible  <bruno@clisp.org>
37419
37420         * doc/visibility.texi: New file.
37421
37422 2005-07-22  Bruno Haible  <bruno@clisp.org>
37423
37424         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
37425         $(ALLOCA_H), redundant through BUILT_SOURCES.
37426         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
37427         redundant through BUILT_SOURCES.
37428         * modules/byteswap (Makefile.am): Remove explicit dependency on
37429         $(BYTESWAP_H), redundant through BUILT_SOURCES.
37430         * modules/fnmatch (Makefile.am): Remove explicit dependency on
37431         $(FNMATCH_H), redundant through BUILT_SOURCES.
37432         * modules/getopt (Makefile.am): Remove explicit dependency on
37433         $(GETOPT_H), redundant through BUILT_SOURCES.
37434         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
37435         redundant through BUILT_SOURCES.
37436         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
37437         redundant through BUILT_SOURCES.
37438         * modules/stdbool (Makefile.am): Remove explicit dependency on
37439         $(STDBOOL_H), redundant through BUILT_SOURCES.
37440         * modules/stdint (Makefile.am): Remove explicit dependency on
37441         $(STDINT_H), redundant through BUILT_SOURCES.
37442         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
37443         Remove explicit dependency on $(SYSEXITS_H).
37444         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
37445
37446 2005-07-18  Simon Josefsson  <jas@extundo.com>
37447
37448         * lib/check-version.c (check_version): Accept identical versions too.
37449
37450 2005-07-18  Bruno Haible  <bruno@clisp.org>
37451
37452         * modules/lock: New file.
37453         * MODULES.html.sh (Multithreading): New section.
37454
37455 2005-07-18  Bruno Haible  <bruno@clisp.org>
37456
37457         * m4/lock.m4: New file, from GNU gettext.
37458
37459 2005-07-18  Bruno Haible  <bruno@clisp.org>
37460
37461         * lib/lock.h: New file, from GNU gettext.
37462         * lib/lock.c: New file, from GNU gettext.
37463
37464 2005-07-18  Bruno Haible  <bruno@clisp.org>
37465
37466         * lib/lock.h (gl_once_t): New type.
37467         (gl_once_define, gl_once): New macros.
37468         * lib/lock.c (fresh_once): New variable.
37469         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
37470         functions.
37471
37472 2005-07-16  Simon Josefsson  <jas@extundo.com>
37473
37474         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
37475         workaround, suggested by Bruno.
37476
37477 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
37478
37479         * modules/xalloc (Depends-on): Add xalloc-die.
37480         * modules/xvasprintf (Depends-on): Add xalloc-die.
37481
37482 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
37483
37484         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
37485         with a minor change.
37486
37487 2005-07-15  Bruno Haible  <bruno@clisp.org>
37488
37489         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
37490         When using lib/poll.c, define poll as rpl_poll.
37491
37492 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
37493
37494         * modules/argp (Depends-on): Remove unlocked-io.
37495
37496 2005-07-14  Derek Price  <derek@ximbiot.com>
37497
37498         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
37499         for glob symlink bug.
37500
37501 2005-07-14  Bruno Haible  <bruno@clisp.org>
37502
37503         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
37504         Instead, test for *_unlocked function declarations directly.
37505
37506 2005-07-11  Simon Josefsson  <jas@extundo.com>
37507
37508         * modules/size_max: New file.
37509
37510         * modules/xsize: Depend on size_max module for size_max.m4.
37511
37512 2005-07-11  Simon Josefsson  <jas@extundo.com>
37513
37514         * lib/size_max.h: New file.
37515
37516 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
37517
37518         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
37519         copyright symbol and the year.
37520         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
37521         (version_etc_va): Use parameterized copyright notice.
37522         Reword to conform to the current GNU coding standards.
37523
37524 2005-07-11  Karl Berry  <karl@gnu.org>
37525
37526         * doc/gnulib.texi (Quoting): new node.
37527         (Initial import): more info, from Patrice.
37528
37529 2005-07-11  Bruno Haible  <bruno@clisp.org>
37530
37531         * gnulib-tool (func_usage): Document option --avoid.
37532         (Command line options): Handle --avoid.
37533         (func_acceptable): New function.
37534         (func_modules_transitive_closure): Use it.
37535
37536 2005-07-11  Bruno Haible  <bruno@clisp.org>
37537
37538         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
37539         Reported by Jim Meyering.
37540
37541 2005-07-10  Bruno Haible  <bruno@clisp.org>
37542
37543         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
37544         Needed when size_t is smaller than 'unsigned int'.
37545         Reported by Paul Eggert.
37546
37547 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
37548
37549         * modules/argp (Depends-on): Add unlocked-io
37550
37551 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
37552
37553         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
37554         block of defines.
37555
37556 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
37557
37558         * config/srclist.txt: Comment out regcomp.c, since we have a porting
37559         fix now.
37560
37561 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
37562         and Paul Eggert  <eggert@cs.ucla.edu>
37563
37564         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
37565         in wint_t, not wchar_t.  Remove now-unnecessary cast.
37566
37567 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
37568
37569         * modules/regex (Files): Add lib/regex_internal.c,
37570         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
37571         (Depends-on): Add extensions.
37572         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
37573
37574 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
37575
37576         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
37577         pathconf.
37578         * m4/same.m4 (gl_SAME): Likewise.
37579         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
37580
37581         * m4/regex.m4: Adjust to new libc regex implementation.
37582         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
37583         all the .c and .h parts of (the new) regex.
37584         Quote the m4 stuff better.
37585         Check for RE_ICASE bug of old gnulib.
37586         Check for REG_STARTEND of recent libc.
37587         Rename local variables from jm_* to gl_*.
37588         Quote operand of "test -f".
37589         Say "recent enough" version of libc, not "version 2".
37590         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
37591         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
37592         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
37593         Remove check for btowc, isascii.
37594         Require AM_LANGINFO_CODESET.
37595
37596 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
37597
37598         * lib/regex.c, regex.h: Sync from libc.
37599         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
37600         * lib/regexec.c:
37601         New files, synced from libc, except that regex_internal.h
37602         currently has a small porting fix.
37603
37604 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
37605
37606         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
37607         regex_internal.c, regexec.c.
37608         Add regex_internal.h too, but as a comment, since the libc version
37609         is currently broken in gnulib mode.
37610
37611 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
37612
37613         Support programs like Emacs that use gnulib but not gettext.
37614         * MODULES.html.sh (Internationalization functions): Add gettext-h.
37615         * modules/gettext-h: New file.
37616         * modules/gettext (Files): Remove lib/gettext.h.
37617         (Depends-on): Add gettext-h.
37618         (Makefile.am): Remove lib_SOURCES.
37619         * modules/argmatch, modules/c-stack, modules/closeout:
37620         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
37621         * modules/execute, modules/file-type, modules/getaddrinfo:
37622         * modules/getopt, modules/human, modules/javacomp:
37623         * modules/javaexec, modules/mkdir-p, modules/obstack:
37624         * modules/openat, modules/pagealign_alloc, modules/pipe:
37625         * modules/quotearg, modules/regex, modules/rpmatch:
37626         * modules/unicodeio, modules/userspec, modules/version-etc:
37627         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
37628         * modules/xsetenv:
37629         Depend on gettext-h, not gettext.
37630
37631 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
37632
37633         * gnulib-tool (func_import): Add support for 'public domain' license.
37634         * modules/alloca, modules/atexit, modules/memmove:
37635         Now public domain, not GPL.
37636         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
37637         * modules/realloc, modules/strerror, modules/strtod:
37638         Now LGPL, not GPL.
37639
37640 2005-07-05  Bruno Haible  <bruno@clisp.org>
37641
37642         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
37643         autoconf CVS. Needed for mingw.
37644
37645 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
37646
37647         Remove the dependency of the strftime module on the tzset module.
37648         * modules/strftime (Depends-on): Remove dependency on tzset.
37649
37650 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
37651
37652         Remove the dependency of the strftime module on the tzset module.
37653         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
37654         gl_FUNC_TZSET_CLOBBER.
37655
37656 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
37657
37658         Remove the dependency of the strftime module on the tzset module.
37659         * lib/strftime.c (my_strftime)
37660         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
37661         Copy the input structure, to work around some of the bug with
37662         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
37663         Solaris releases, you should also use the tzset module, but we won't
37664         require it as a dependency any more since we don't want LGPLed code
37665         to depend on GPLed code.
37666
37667 2005-07-02  Jim Meyering  <jim@meyering.net>
37668
37669         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
37670         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
37671         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
37672         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
37673
37674 2005-07-02  Jim Meyering  <jim@meyering.net>
37675
37676         * lib/backupfile.c (backup_args): Change a `0' to NULL.
37677
37678 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
37679
37680         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
37681         declares only 'struct timespec;' (!).
37682
37683 2005-07-01  Jim Meyering  <jim@meyering.net>
37684
37685         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
37686         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
37687         * lib/save-cwd.c, tempname.c:
37688         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
37689         and don't include <sys/file.h>).
37690
37691 2005-06-29  Jim Meyering  <jim@meyering.net>
37692
37693         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
37694         type name.  Use the variable name instead.
37695         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
37696         Likewise.
37697
37698 2005-06-28  Simon Josefsson  <jas@extundo.com>
37699
37700         * modules/check-version (Files): Add check-version.m4.
37701
37702 2005-06-28  Simon Josefsson  <jas@extundo.com>
37703
37704         * m4/check-version.m4: New file, suggested by Jim Meyering
37705         <jim@meyering.net>.
37706
37707 2005-06-28  Simon Josefsson  <jas@extundo.com>
37708
37709         * lib/check-version.h, lib/check-version.c: New files.
37710
37711 2005-06-28  Simon Josefsson  <jas@extundo.com>
37712
37713         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
37714         collision with global variable.  Better indentation.  Don't
37715         increment buffer pointer beyond buffer end.  Based on comments
37716         from Paul Eggert <eggert@cs.ucla.edu>.
37717
37718         * lib/base64.h: Indent.
37719
37720 2005-06-28  Simon Josefsson  <jas@extundo.com>
37721
37722         * doc/gnulib.texi (Library version handling): New section.
37723
37724 2005-06-28  Jim Meyering  <jim@meyering.net>
37725
37726         * check-module (find_included_lib_files): Hard-code another
37727         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
37728         but modules/fts-lgpl (correctly) does not list those files.
37729
37730         * modules/canonicalize (Files): Add lib/pathmax.h.
37731
37732 2005-06-25  Simon Josefsson  <jas@extundo.com>
37733
37734         * modules/check-version: New file.
37735
37736 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
37737
37738         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
37739         initializer of struct addrinfo, as an indication that we don't
37740         care how many members the structure has.
37741
37742 2005-06-24  Derek Price  <derek@ximbiot.com>
37743         and Bruno Haible  <bruno@clisp.org>
37744
37745         Remove stat module & update lstat.
37746         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
37747         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
37748         * m4/stat.m4: Remove this file.
37749
37750 2005-06-24  Derek Price  <derek@ximbiot.com>
37751         and Bruno Haible  <bruno@clisp.org>
37752
37753         Remove stat module & update lstat.
37754         * lib/stat.c: Remove this file...
37755         (slash_aware_lstat): ...moving this content and its support...
37756         * lib/lstat.c (rpl_lstat): ...into here.
37757         * lib/lstat.h: New file.
37758
37759 2005-06-24  Derek Price  <derek@ximbiot.com>
37760         and Bruno Haible  <bruno@clisp.org>
37761
37762         Remove stat module & update lstat.
37763         * config/srclist.txt (libc sources): Remove stat.
37764
37765 2005-06-24  Derek Price  <derek@ximbiot.com>
37766         and Bruno Haible  <bruno@clisp.org>
37767
37768         Remove stat module & update lstat.
37769         * MODULES.html.sh (stat): Remove.
37770         * MODULES.html: Regenerated.
37771         * modules/lstat (Description): Correct function name.
37772         (Files): Add "lstat.h".
37773         (Depends-on): Remove stat, add xalloc, stat-macros.
37774         * modules/stat: Remove this file.
37775         (Include): Add "lstat.h", remove <sys/stat.h>.
37776
37777 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
37778
37779         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
37780         (ranged_convert): Don't save conversion in a temporary struct.
37781         This causes a warning with GCC 4.0.0, and anyway in the typical
37782         case it's not worth the extra 100 bytes or so of code.
37783         (ranged_convert, __mktime_internal): When calling a function via a
37784         pointer P, use P () rather than (*P) (), as we now assume C89 or
37785         better.
37786
37787 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
37788
37789         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
37790         "who -r" failed to give output.  Problem reported by Tim Waugh.
37791
37792         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
37793         (xcalloc): Use it to avoid needless tests.
37794         Problem reported by Jim Meyering.
37795
37796 2005-06-20  Derek Price  <derek@ximbiot.com>
37797
37798         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
37799         unnecessary for Autoconfs > 2.59c.
37800
37801 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
37802
37803         * lib/argp.h (__option_is_short): Check upper limit of
37804         __key. Isprint() requires its argument to have the value
37805         of an unsigned char or EOF.
37806
37807 2005-06-16  Jim Meyering  <jim@meyering.net>
37808
37809         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
37810         when either N or S is zero.
37811
37812 2005-06-16  Derek Price  <derek@ximbiot.com>
37813
37814         * m4/bison.m4: Declare YACC & YFLAGS precious.
37815
37816 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
37817
37818         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
37819         multibyte string or pattern, fall back on unibyte matching.
37820         Problem reported by James Youngman.
37821
37822 2005-06-08  Bruno Haible  <bruno@clisp.org>
37823
37824         * modules/csharpcomp: New file.
37825         * MODULES.html.sh (C#): Add csharpcomp.
37826
37827 2005-06-08  Bruno Haible  <bruno@clisp.org>
37828
37829         * m4/csharpcomp.m4: New file, from GNU gettext.
37830
37831 2005-06-08  Bruno Haible  <bruno@clisp.org>
37832
37833         * lib/csharpcomp.h: New file, from GNU gettext.
37834         * lib/csharpcomp.c: New file, from GNU gettext.
37835         * lib/csharpcomp.sh.in: New file, from GNU gettext.
37836
37837 2005-06-08  Bruno Haible  <bruno@clisp.org>
37838
37839         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
37840         warning on mingw.
37841
37842 2005-06-07  Derek Price  <derek@ximbiot.com>
37843
37844         Sync from CVS.
37845         * lib/glob_.h: Indent nested #ifdef.
37846
37847 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
37848
37849         Sync from coreutils.
37850         Use "file name" when talking about file names, instead of "filename"
37851         or "path", as per the GNU coding standards.
37852         * lib/mkdir-p.c: Renamed from makepath.c.
37853         (make_dir_parents): Renamed from make_path.  All callers changed.
37854         * lib/mkdir-p.h: Likewise.  All includers changed.
37855         * lib/filenamecat.c: Renamed from path-concat.c.
37856         (file_name_concat): Renamed from path_concat.  All callers changed.
37857         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
37858         * lib/filenamecat.h: Likewise.  All includers changed.
37859         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
37860         in comments or local variable names.
37861         * lib/basename.c: Likewise.
37862         * lib/canonicalize.c, canonicalize.h: Likewise.
37863         * lib/dirname.c, dirname.h: Likewise.
37864         * lib/euidaccess.c: Likewise.
37865         * lib/exclude.c: Likewise
37866         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
37867         * lib/fsusage.c, fsuage.h: Likewise.
37868         * lib/fts.c, fts_.h: Likewise.
37869         * lib/getcwd.c: Likewise.
37870         * lib/getloadavg.c: Likewise.
37871         * lib/mkstemp.c: Likewise.
37872         * lib/mountlist.c, mountlist.h: Likewise.
37873         * lib/openat.c, openat.h: Likewise.
37874         * lib/readlink-stub.c: Likewise.
37875         * lib/readutmp.c, readutmp.h: Likewise.
37876         * lib/rename.c: Likewise.
37877         * lib/rmdir.c: Likewise.
37878         * lib/same.c: Likewise.
37879         * lib/savedir.c: Likewise.
37880         * lib/stripslash.c: Likewise.
37881         * lib/tempname.c: Likewise.
37882         * lib/xreadlink.c: Likewise.
37883         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
37884         All uses changed.
37885         * lib/exclude.h: Likewise.
37886
37887         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
37888         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
37889         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
37890         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
37891         * lib/pathmax.h: Include <limits.h> unconditionally, since other
37892         files have been getting away with it for years (MORE/BSD 4.3
37893         is extinct now).
37894         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
37895         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
37896
37897         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
37898         Define to 256, not 255, as per modern POSIX.
37899
37900 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
37901
37902         Sync from coreutils.
37903         Use "file name" when talking about file names, instead of "filename"
37904         or "path", as per the GNU coding standards.
37905         * MODULES.html.sh: mkdir-p renamed from makepath.
37906         filenamecat renamed from path-concat.
37907         * modules/filenamecat: Renamed from modules/path-concat.
37908         (Files): filenamecat.h and filenamecat.c renamed from
37909         path-concat.h and path-concat.c.
37910         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
37911         (Include): filenamecat.h, not path-concat.h.
37912         * modules/mkdir-p: Renamed from modules/makepath.
37913         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
37914         makepath.c.
37915         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
37916         (Include): mkdir-p.h, not makepath.h.
37917
37918 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
37919
37920         Sync from coreutils.
37921         * m4/mkdir-p.m4: Renamed from makepath.m4.
37922         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
37923         Rename files from makepath.c to mkdir-p.c, and from
37924         makepath.h to mkdir-p.h.
37925         * m4/filenamecat.m4: Renamed from path-concat.m4.
37926         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
37927         Rename files from path-concat.c to filenamecat.c,
37928         and from path-concat.h to filenamecat.h.
37929         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
37930         "file name" in local variables or comments.
37931         * m4/rename.m4: Likewise.
37932
37933 2005-06-01  Bruno Haible  <bruno@clisp.org>
37934
37935         * modules/csharpexec: New file.
37936         * MODULES.html.sh (C#): New section.
37937
37938 2005-06-01  Bruno Haible  <bruno@clisp.org>
37939
37940         * m4/csharp.m4: New file, from GNU gettext.
37941         * m4/csharpexec.m4: New file, from GNU gettext.
37942
37943 2005-06-01  Bruno Haible  <bruno@clisp.org>
37944
37945         * lib/csharpexec.h: New file, from GNU gettext.
37946         * lib/csharpexec.c: New file, from GNU gettext.
37947         * lib/csharpexec.sh.in: New file, from GNU gettext.
37948
37949 2005-05-31  Derek Price  <derek@ximbiot.com>
37950             Paul Eggert  <eggert@cs.ucla.edu>
37951
37952         Sync from cvs.
37953         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
37954
37955 2005-05-31  Derek Price  <derek@ximbiot.com>
37956             Paul Eggert  <eggert@cs.ucla.edu>
37957
37958         Sync from cvs.
37959         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
37960
37961 2005-05-29  Derek Price  <derek@ximbiot.com>
37962
37963         * config/srclist.txt (glob_.h, glob.c): Add these files.
37964
37965 2005-05-29  Derek Price  <derek@ximbiot.com>
37966
37967         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
37968         * modules/glob: New file.
37969         * modules/getlogin_r: Add link to POSIX spec in description.
37970
37971 2005-05-29  Derek Price  <derek@ximbiot.com>
37972             Paul Eggert  <eggert@cs.ucla.edu>
37973
37974         * m4/glob.m4: New file.
37975
37976 2005-05-29  Derek Price  <derek@ximbiot.com>
37977             Paul Eggert  <eggert@cs.ucla.edu>
37978
37979         * lib/glob_.h, lib/glob.c: New files.
37980
37981 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
37982
37983         * modules/fts (Files): Remove m4/inttypes-pri.m4.
37984         * modules/fts-lgpl (Depends-on): Remove gettext.
37985
37986 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
37987
37988         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
37989         and don't require gt_INTTYPES_PRI.
37990
37991 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
37992
37993         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
37994
37995         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
37996         the configuration hassle isn't worth it.
37997         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
37998         (LONGEST_MODIFIER, PRIuMAX): Remove.
37999
38000 2005-05-27  Bruno Haible  <bruno@clisp.org>
38001
38002         * lib/getlogin_r.h: Remove second include of <stddef.h>.
38003
38004 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
38005
38006         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
38007         _POSIX_PTHREAD_SEMANTICS for Solaris.
38008
38009 2005-05-25  Derek Price  <derek@ximbiot.com>
38010
38011         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
38012
38013 2005-05-25  Derek Price  <derek@ximbiot.com>
38014             Paul Eggert  <eggert@cs.ucla.edu>
38015
38016         * modules/getlogin_r, m4/getlogin_r.m4: New files.
38017         * lib/getlogin_r.c, getlogin_r.h: New files.
38018
38019 2005-05-25  Bruno Haible  <bruno@clisp.org>
38020             Derek Price  <derek@ximbiot.com>
38021
38022         * lib/getlogin_r.h: Simplify API documentation.
38023
38024 2005-05-23  Derek Price  <derek@ximbiot.com>
38025
38026         * modules/minmax (Files): Add m4/minmax.m4.
38027         (configure.ac): Add gl_MINMAX.
38028
38029 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
38030
38031         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
38032         so that unistd-safer.h (GPL'ed code) need not be included.
38033
38034 2005-05-22  Bruno Haible  <bruno@clisp.org>
38035
38036         * m4/minmax.m4: New file.
38037         Based on a patch by Derek Price <derek@ximbiot.com>.
38038
38039 2005-05-22  Bruno Haible  <bruno@clisp.org>
38040
38041         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
38042         (INT64_MIN): Fix definition.
38043         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
38044
38045         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
38046         NEED_SIGNED_INT_TYPES.
38047
38048         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
38049         HAVE_SYSTEM_INTTYPES.
38050
38051 2005-05-22  Bruno Haible  <bruno@clisp.org>
38052
38053         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
38054         Also include <sys/param.h> if it defines MIN, MAX.
38055         Based on a patch by Derek Price <derek@ximbiot.com>.
38056
38057 2005-05-21  Jim Meyering  <jim@meyering.net>
38058
38059         * modules/fts (Files): Add m4/inttypes-pri.m4.
38060         (Depends-on): Add lstat and remove gettext.  Alphabetize.
38061
38062 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
38063
38064         New fts module.
38065         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
38066         (setup_dir, free_dir): New functions.
38067         (enter_dir, leave_dir): Define trivial
38068         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
38069         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
38070         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
38071         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
38072         Move to fts-cycle.c.
38073         (fts_open): Use setup_dir.
38074         (fts_close): Use free_dir.
38075         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
38076         This adds a label and some gotos, but the alternatives were messier.
38077         Check for memory allocation failure when entering a dir.
38078         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
38079         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
38080         (FTS): New member fts_cycle, that is a union that contains the
38081         old active_dir_ht and cycle_state.  All uses changed to mention
38082         fts_cycle.ht and fts_cycle.state.
38083         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
38084         fts.c, with the following changes:
38085         (setup_dir, free_dir): New functions.
38086         (enter_dir): Now returns bool.  Return true if successful, false
38087         if memory exhausted.  All callers changed.
38088         Do not bother partly cleaning up on
38089         memory allocation failure; that is free_dir's job.
38090         However, free ad if hash_insert fails, to avoid memory leak.
38091         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
38092         fts->fts_options to see which union member to use.
38093
38094 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
38095
38096         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
38097         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
38098
38099 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
38100
38101         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
38102
38103 2005-05-20  Jim Meyering  <jim@meyering.net>
38104
38105         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
38106         Now a macro, to pacify GCC.
38107
38108 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
38109
38110         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
38111         of -1.
38112
38113 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
38114
38115         * lib/chown.c (rpl_chown): Return -1 on failure.
38116
38117 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
38118
38119         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
38120         Don't check for stddef.h.
38121         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
38122         don't use its results.
38123         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
38124         since we include them unconditionally.  Don't require
38125         AM_STDBOOL_H, since stdbool is a prerequisite.
38126         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
38127         since we assume C89 or better.
38128         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
38129         as we don't use their results.
38130         Don't check for fchdir, memmove, memset, strrchr, as we use
38131         them unconditionally.
38132         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
38133         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
38134
38135 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
38136
38137         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
38138         Include <stddef.h> unconditionally, since we assume C89 now.
38139         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
38140         * lib/fts.c: Include fts_.h first, to check interface.
38141         Do not include intprops.h; no longer needed.
38142         Include cycle-check.h and hash.h, since fts_.h no longer does.
38143         Remove unnecessary casts of closedir to void.
38144         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
38145         decide whether to decrement nlinks.
38146         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
38147         (FTS): Use struct hash_table * instead of Hash_table, so that
38148         we no longer need to include hash.h here.
38149
38150 2005-05-18  Jim Meyering  <jim@meyering.net>
38151
38152         * modules/dirfd (License): Change to LGPL.  Most of the code
38153         is already in the public domain.
38154
38155 2005-05-18  Jim Meyering  <jim@meyering.net>
38156
38157         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
38158         Reported by Yoann Vandoorselaere.
38159
38160 2005-05-17  Jim Meyering  <jim@meyering.net>
38161
38162         * m4/fts.m4: New file, from coreutils.
38163
38164 2005-05-17  Jim Meyering  <jim@meyering.net>
38165
38166         * lib/fts.c, lib/fts_.h: New files, from coreutils.
38167
38168 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
38169
38170         Sync from coreutils.
38171         * m4/unlinkdir.m4: New file.
38172
38173 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
38174
38175         Sync from coreutils.
38176         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
38177         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
38178         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
38179         White space changes only.
38180         * lib/makepath.c (make_path): Port to hosts where leading "//" is
38181         special.
38182         * lib/yesno.c: Include getline.h, not ctype.h.
38183         (yesno): Don't remove leading white space; POSIX doesn't allow it.
38184         Use getline to remove arbitrary restriction on response length.
38185
38186 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
38187
38188         * config/srclist-update: Spell out "Street" in FSF postal
38189         mail address; this is the style the FSF seems to prefer.
38190
38191         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
38192         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
38193         this updates FSF postal mail address.
38194
38195         Sync from coreutils.
38196         * modules/unlinkdir: New file.
38197         * modules/yesno (Depends-on): Add getline.
38198         * MODULES.html.sh (File system functions): Add unlinkdir.
38199
38200 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
38201
38202         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
38203         lib/strsep.h:
38204         Change the initial comment to refer to GPL, not LGPL.
38205         gnulib-tool will change it to LGPL as needed.
38206
38207         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
38208         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
38209         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
38210         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
38211         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
38212         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
38213         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
38214         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
38215         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
38216         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
38217         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
38218         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
38219         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
38220         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
38221         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
38222         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
38223         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
38224         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
38225         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
38226         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
38227         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
38228         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
38229         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
38230         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
38231         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
38232         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
38233         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
38234         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
38235         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
38236         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
38237         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
38238         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
38239         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
38240         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
38241         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
38242         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
38243         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
38244         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
38245         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
38246         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
38247         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
38248         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
38249         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
38250         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
38251         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
38252         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
38253         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
38254         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
38255         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
38256         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
38257         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
38258         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
38259         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
38260         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
38261         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
38262         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
38263         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
38264         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
38265         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
38266         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
38267         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
38268         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
38269         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
38270         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
38271         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
38272         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
38273         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
38274         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
38275         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
38276         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
38277         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
38278         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
38279         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
38280         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
38281         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
38282         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
38283         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
38284         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
38285         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
38286         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
38287         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
38288         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
38289         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
38290         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
38291         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
38292         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
38293         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
38294         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
38295         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
38296         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
38297         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
38298         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
38299         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
38300         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
38301         lib/yesno.c, lib/yesno.h:
38302         Update FSF postal mail address.
38303
38304 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
38305
38306         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
38307         tests/test-memmem.c, tests/test-stpncpy.c:
38308         Update FSF postal mail address.
38309
38310 2005-05-13  Bruno Haible  <bruno@clisp.org>
38311
38312         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
38313         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
38314         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
38315         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
38316         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
38317         Add support for 64-bit integers in the MSVC compiler.
38318
38319 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
38320
38321         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
38322
38323 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
38324
38325         * gnulib-tool (func_import): Sort and uniquify recommended includes.
38326
38327 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
38328
38329         * doc/getdate.texi (General date syntax): Don't say that date
38330         date --iso-8601=ns generates acceptable dates; it doesn't yet.
38331         Problem reported by Nic Ferrier.
38332
38333 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38334
38335         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
38336         specified in ai_socktype. Fix invalid ai_protocol
38337         check. ai_protocol is usually set to 0 or depending on
38338         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
38339         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
38340         ai_socktype / ai_protocol in the returned addrinfo structure.
38341
38342 2005-05-10  Simon Josefsson  <jas@extundo.com>
38343
38344         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
38345         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
38346
38347 2005-05-10  Karl Berry  <karl@gnu.org>
38348
38349         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
38350         (from http://www.gnu.org/licenses).
38351         * doc/COPYING.LIB: also rename to COPYING.LESSER.
38352         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
38353         fdl.texi suffices.
38354
38355 2005-05-10  Karl Berry  <karl@gnu.org>
38356
38357         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
38358         (COPYING.DOC): remove.
38359
38360         * config/srclist-update: new FSF address.
38361
38362 2005-05-10  Derek Price  <derek@ximbiot.com>
38363
38364         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
38365         possible.
38366
38367 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38368             Bruno Haible  <bruno@clisp.org>
38369
38370         * modules/inet_ntop: New file.
38371         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
38372         inet_ntop.
38373
38374 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38375             Bruno Haible  <bruno@clisp.org>
38376
38377         * m4/inet_ntop.m4: New file.
38378
38379 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38380             Bruno Haible  <bruno@clisp.org>
38381
38382         * lib/inet_ntop.h: New file.
38383         * lib/inet_ntop.c: New file, from glibc with modifications.
38384
38385 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
38386
38387         * modules/time_r (License): Change to LGPL.
38388         * modules/extensions (License): Change to LGPL.  Actually,
38389         the license is more permissive than that, but currently gnulib-tool
38390         doesn't know how to handle more-permissive licenses.
38391
38392         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
38393         Problem reported by Dave Love.
38394
38395 2005-05-08  Jim Meyering  <jim@meyering.net>
38396
38397         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
38398         blank.
38399
38400 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
38401
38402         * modules/argmatch (Depends-on): Add stdbool.
38403         * modules/backupfile (Depends-on): Likewise.
38404         * modules/chdir-long (Depends-on): Likewise.
38405         * modules/closeout (Depends-on): Likewise.
38406         * modules/cycle-check (Depends-on): Likewise.
38407         * modules/dirname (Depends-on): Likewise.
38408         * modules/fnmatch (Depends-on): Likewise.
38409         * modules/fsusage (Depends-on): Likewise.
38410         * modules/fwriteerror (Depends-on): Likewise.
38411         * modules/getcwd (Depends-on): Likewise.
38412         * modules/getloadavg (Depends-on): Likewise.
38413         * modules/hard-locale (Depends-on): Likewise.
38414         * modules/makepath (Depends-on): Likewise.
38415         * modules/mountlist (Depends-on): Likewise.
38416         * modules/nanosleep (Depends-on): Likewise.
38417         * modules/posixtm (Depends-on): Likewise.
38418         * modules/quotearg (Depends-on): Likewise.
38419         * modules/readtokens (Depends-on): Likewise.
38420         * modules/readtokens0 (Depends-on): Likewise.
38421         * modules/readutmp (Depends-on): Likewise.
38422         * modules/save-cwd (Depends-on): Likewise.
38423         * modules/strftime (Depends-on): Likewise.
38424         * modules/userspec (Depends-on): Likewise.
38425         * modules/utimecmp (Depends-on): Likewise.
38426         * modules/xgetcwd (Depends-on): Likewise.
38427         * modules/xnanosleep (Depends-on): Likewise.
38428         * modules/xstrtod (Depends-on): Likewise.
38429         * modules/yesno (Depends-on): Likewise.
38430
38431 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
38432
38433         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
38434         needless checks.
38435
38436 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
38437
38438         Merge from coreutils.  Among other things,
38439         add bulletproofing for cases where stdin, stdout, or stderr are closed.
38440         * lib/fd-safer.c: New file.
38441         * lib/fcntl-safer.h, open-safer.c: Remove.
38442         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
38443         * lib/dup-safer.c: Include unistd-safer.h first.
38444         Don't include errno.h.
38445         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
38446         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
38447         * lib/file-type.c: Rely on file-type.h change.
38448         * lib/getloadavg.c: Include unistd-safer.h.
38449         (getloadavg): Use safer open.
38450         * lib/getusershell.c: Include "stdio-safer.h".
38451         (getusershell): Use safer fopen.
38452         * lib/long-options.c (long_options): Use NULL rather than 0.
38453         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
38454         'free'.
38455         * lib/modechange.c: Likewise.
38456         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
38457         (MODE_DONE): New constant.
38458         (struct mode_change): Remove 'next' member.
38459         (make_node_op_equals): New function; like the old one of the
38460         same name, except it allocates an array.
38461         (mode_compile, mode_create_from_ref): Use it.
38462         (mode_compile): Allocate result as an array, not a linked list.
38463         Parse octal string ourself, so that we catch mistakes like "+0".
38464         (mode_adjust): Arg is an array, not a linked list.
38465         * lib/modechange.c: Include stat-macros.h, xalloc.h.
38466         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
38467         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
38468         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
38469         Remove.  This is now stat-macros.h's job.
38470         (talloc): Remove.  All callers replaced by xalloc, so that
38471         our invokers don't have to worry about reporting memory failures.
38472         (make_node_op_equals): Remove.
38473         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
38474         New constants.
38475         (struct mode_change): Moved here from modechange.h.
38476         (mode_append_entry): Remove.
38477         (mode_compile): Remove MASKED_OPS arg, since it encouraged
38478         apps to have incorrect behavior.  Use simpler algorithm for head
38479         and tail.  Don't futz with umask; that's now the job of mode_adjust.
38480         Detect more invalid usages rather than having somewhat-random behavior.
38481         Don't insert an "a=" action, as that leads to incorrect behavior.
38482         (mode_compile, mode_create_from_ref): Return NULL on error instead
38483         of an enum, since now there's only one way to have an error.  All
38484         callers changed.
38485         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
38486         at the correct time.  Simplify calculation of "+u" and its ilk.
38487         Don't mishandle "+X".
38488         (mode_free): Remove "register" and localize decls.
38489         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
38490         (struct mode_change): Move to modechange.c; callers don't
38491         need to see this stuff.
38492         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
38493         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
38494         (mode_change, mode_adjust): Reflect the new signatures noted above.
38495         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
38496         that might redefine system include files.
38497         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
38498         (my_usleep): Use NULL rather than (void *) 0.
38499         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
38500         Use siginterrupt to specify that system calls should be interrupted.
38501         (rpl_nanosleep): Move initialization of suspended closer to call of
38502         my_usleep.
38503         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
38504         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
38505         (desirable_utmp_entry): New function.
38506         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
38507         using x2nrealloc, to simplify logic.
38508         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
38509         size calculation.  Do not assume utmp file is a regular file.
38510         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
38511         (READ_UTMP_CHECK_PIDS): New constant.
38512         * lib/save-cwd.c: Include unistd-safer.h.
38513         (save_cwd): Use fd_safer.
38514         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
38515         [!_LIBC] Include "stat-macros.h" instead.
38516         * lib/unistd-safer.h (fd_safer): New decl.
38517
38518 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
38519
38520         * modules/getloadavg (Depends-on): Add unistd-safer.
38521         * modules/getusershell (Depends-on): Add stdio-safer.
38522         * modules/lstat (Depends-on): Remove xalloc.
38523         * modules/mkstemp (Depends-on): Add stat-macros.
38524         * modules/modechange (Depends-on): Remove xstrtol.
38525         Add stat-macros, xalloc.
38526         * modules/save-cwd (Depends-on): Add unistd-safer.
38527         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
38528         * modules/unistd-safer (Files): Add lib/fd-safer.c
38529         (Makefile.am): Remove lib_SOURCES.
38530
38531         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
38532         Remove fcntl-safer; unistd-safer supersedes it.
38533
38534 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
38535
38536         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
38537         AC_HEADER_STAT.
38538         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
38539         (gl_PREREQ_CHOWN): Remove.
38540         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
38541         it.  Don't require AC_HEADER_STAT.
38542         (gl_PREREQ_LSTAT): Remove.
38543         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
38544         Don't require AC_HEADER_STAT.
38545         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
38546         (gl_PREREQ_RMDIR): Remove.
38547         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
38548         mention stat-macros.h or AC_HEADER_STAT, since we'll make
38549         the stat-macros module a prerequisite.
38550         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
38551         * m4/filemode.m4 (gl_FILEMODE): Likewise.
38552         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
38553         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
38554         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
38555         variable names.
38556         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
38557         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
38558         variable prefixes.
38559         * m4/fcntl-safer.m4: Remove.
38560         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
38561         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
38562         Invoke gl_PREREQ_FD_SAFER.
38563         (gl_PREREQ_FD_SAFER): New macro.
38564         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
38565         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
38566         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
38567         Remove duplicate call to AC_LIBOBJ(readutmp).
38568         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
38569
38570         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
38571         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
38572
38573 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
38574
38575         * MODULES.html.sh (Misc): Add byteswap.
38576
38577 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
38578
38579         * modules/getcwd (Depends-on): Add extensions.
38580         * modules/openat (Depends-on): Likewise.
38581
38582 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
38583
38584         * modules/byteswap: New file.
38585
38586 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
38587
38588         * m4/byteswap.m4: New file.
38589
38590 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
38591
38592         * lib/byteswap_.h: New file.
38593
38594 2005-04-25  Karl Berry  <karl@gnu.org>
38595
38596         * m4/gettext.m4: Update from GNU gettext 0.14.4.
38597
38598 2005-04-25  Albert Chin  <china@thewrittenword.com>
38599
38600         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
38601         Toolkit C bug.
38602
38603 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
38604
38605         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
38606         (func_ln_if_changed) Remove forcibly for no error message
38607         in case file does not exist.
38608
38609 2005-04-19  Simon Josefsson  <jas@extundo.com>
38610
38611         * gnulib-tool (Options): Make --symlink mean --symbolic.
38612
38613 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
38614
38615         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
38616
38617 2005-04-16  Simon Josefsson  <jas@extundo.com>
38618
38619         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
38620
38621 2005-04-15  Simon Josefsson  <jas@extundo.com>
38622
38623         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
38624
38625 2005-04-15  Simon Josefsson  <jas@extundo.com>
38626
38627         * gnulib-tool: Rename --symlink to --symbolic.
38628
38629 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
38630
38631         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
38632         symbolic links to files instead of copying/moving.  Add --aux-dir,
38633         specifying directory relative --dir where auxiliary build tools
38634         are placed.
38635
38636 2005-04-14  Bruno Haible  <bruno@clisp.org>
38637
38638         * modules/allocsa (License): Change to LGPL.
38639         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
38640
38641 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
38642
38643         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
38644         that "UTC +1 second" continues to work.  Problem reported
38645         by Dmitry V. Levin.
38646         (relunit_snumber): New rule.
38647         (relunit): Use it.
38648
38649 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
38650
38651         * lib/getdate.y (universal_time_zone_table): New constant.
38652         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
38653         universal_time_zone_table.
38654         (lookup_zone): Prefer universal_time_zone_table to
38655         local_time_zone_table, so that "GMT" time stamps are allowed in
38656         London during the summer.  Problem reported by Ian Abbott.
38657
38658 2005-04-12  Jim Meyering  <jim@meyering.net>
38659
38660         * lib/human.c (humblock): Set *options even when returning due to
38661         xstrtoumax conversion failure.  Thanks to a used-uninitialized
38662         warning from gcc-4.
38663
38664 2005-04-09  Jim Meyering  <jim@meyering.net>
38665
38666         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
38667         -Wuninitialized: initialize tm0.tm_year.
38668
38669 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
38670
38671         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
38672         count, since there's no maximum.  All uses changed.
38673         Add member dsts_seen.
38674         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
38675         not being INT_MAX.
38676         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
38677         Use pc_rels_seen to decide whther a date is absolute.
38678
38679         * lib/getdate.y (number): Don't overwrite year.
38680         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
38681         check.
38682
38683 2005-04-02  Simon Josefsson  <jas@extundo.com>
38684
38685         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
38686         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
38687
38688 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
38689
38690         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
38691         where no absolute path name can be longer than PATH_MAX.
38692
38693 2005-03-27  Jim Meyering  <jim@meyering.net>
38694
38695         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
38696
38697 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
38698
38699         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
38700         "one's complement" -> "ones' complement" in comment, as per Knuth.
38701         "value of type" -> "type or expression" in comment.
38702         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
38703
38704 2005-03-26  Jim Meyering  <jim@meyering.net>
38705
38706         Comment nits.
38707         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
38708         Correct typos: s/or/of/.
38709
38710 2005-03-26  Jim Meyering  <jim@meyering.net>
38711
38712         * modules/check-include-files: Move to ../ and rename to...
38713         * check-module: ...this.
38714
38715 2005-03-25  Jim Meyering  <jim@meyering.net>
38716
38717         * modules/xvasprintf (Files): Add xalloc.h.
38718
38719 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
38720
38721         * modules/gettext (Files): config/config.rpath ->
38722         build-aux/config.rpath
38723         * modules/iconv (Files): Likewise.
38724         Problem reported by Oskar Liljeblad.
38725
38726 2005-03-23  Jim Meyering  <jim@meyering.net>
38727
38728         * modules/check-include-files: New script to check for
38729         missing dependencies, multiple includes, etc.
38730
38731         * modules/c-strtold (Depends-on): Add xalloc.
38732         * modules/c-strtod (Depends-on): Add xalloc.
38733         * modules/hash (Depends-on): Add xalloc.
38734         (Files): Remove lib/xalloc.h.
38735
38736         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
38737         * modules/userspec (Files): Add lib/inttostr.h.
38738
38739 2005-03-23  Jim Meyering  <jim@meyering.net>
38740
38741         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
38742
38743 2005-03-22  Jim Meyering  <jim@meyering.net>
38744
38745         * modules/stat-macros: New module.
38746         * modules/canonicalize, modules/euidaccess, modules/file-type,
38747         * modules/filemode, modules/lchown, modules/makepath,
38748         * modules/rmdir, modules/stat: Depend on new stat-macros module
38749         rather than listing lib/stat-macros.h manually.
38750         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
38751
38752 2005-03-22  Jim Meyering  <jim@meyering.net>
38753
38754         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
38755
38756 2005-03-22  Bruno Haible  <bruno@clisp.org>
38757
38758         * config/srclist.txt: Replace target directory 'config' with
38759         'build-aux'.
38760         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
38761         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
38762         ../build-aux/.
38763
38764 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
38765
38766         * modules/chdir-long (Depends-on): Add mempcpy.
38767
38768         * modules/acl, modules/backupfile, modules/c-strtod,
38769         modules/c-strtold, modules/canon-host, modules/canonicalize,
38770         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
38771         modules/exclude, modules/exitfail, modules/file-type,
38772         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
38773         modules/getdate, modules/getline, modules/getpagesize,
38774         modules/getpass, modules/getugroups, modules/group-member,
38775         modules/hard-locale, modules/hash, modules/human, modules/idcache,
38776         modules/inttostr, modules/long-options, modules/makepath,
38777         modules/md5, modules/memcasecmp, modules/memcoll,
38778         modules/modechange, modules/mountlist, modules/path-concat,
38779         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
38780         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
38781         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
38782         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
38783         modules/strftime, modules/strndup, modules/strverscmp,
38784         modules/timespec, modules/unlocked-io, modules/userspec,
38785         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
38786         modules/yesno:
38787         Remove lib_SOURCES line from Makefile.am section, as this is now
38788         done automatically by the corresponding Autoconf macro.
38789
38790 2005-03-21  Jim Meyering  <jim@meyering.net>
38791
38792         Changes imported from coreutils.
38793
38794         * lib/cycle-check.c: Don't include xalloc.h.
38795
38796         * lib/path-concat.c: Don't include assert.h.
38797         (path_concat): Remove assertion that would have triggered
38798         for ABASE starting with more than one slash.
38799         Reported by Andreas Schwab.
38800
38801         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
38802         properly when ABASE is an absolute file name.
38803         Correct the description of this function.
38804         Include <assert.h>.
38805         Add an assertion and a test driver.
38806         This fixes a bug introduced on 2004-07-02.
38807         Andreas Schwab reported the resulting failure of cp --parents:
38808         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
38809
38810 2005-03-21  Jim Meyering  <jim@meyering.net>
38811
38812         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
38813         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
38814
38815 2005-03-21  Jim Meyering  <jim@meyering.net>
38816         and  Paul Eggert  <eggert@cs.ucla.edu>
38817
38818         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
38819         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
38820         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
38821         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
38822         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
38823         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
38824         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
38825         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
38826         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
38827         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
38828         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
38829         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
38830         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
38831         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
38832         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
38833         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
38834         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
38835         for these modules.
38836
38837 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
38838
38839         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
38840         (which shouldn't happen), generate nothing instead of returning 0
38841         immediately, so that nstrftime (NULL, ...) doesn't return 0.
38842
38843 2005-03-16  Bruno Haible  <bruno@clisp.org>
38844
38845         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
38846         HAVE_LONGLONG_64BIT.
38847
38848 2005-03-16  Bruno Haible  <bruno@clisp.org>
38849
38850         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
38851         HAVE_LONGLONG_64BIT.
38852
38853 2005-03-16  Bruno Haible  <bruno@clisp.org>
38854
38855         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
38856         HAVE_LONGLONG_64BIT.
38857
38858 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
38859
38860         * lib/strftime.c (my_strftime): Prepend space to format so that we can
38861         reliably distinguish strftime failure from empty output on POSIX
38862         hosts.
38863
38864 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
38865
38866         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
38867         (iconv_string): Don't guess a size-zero buffer, as that might cause
38868         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
38869         result would be 'too large', where 'too large' is (heuristically)
38870         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
38871         overflow concerns.  This will prevent some unwanted malloc failures
38872         when the inputs are very large.
38873
38874 2005-03-15  Karl Berry  <karl@gnu.org>
38875
38876         * config/srclist.txt (config.rpath): from gettext.
38877         * config/config.rpath: update.
38878
38879 2005-03-15  Bruno Haible  <bruno@clisp.org>
38880
38881         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
38882         to 'negate'.
38883
38884         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
38885         variable.
38886
38887         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
38888         results.
38889
38890 2005-03-14  Simon Josefsson  <jas@extundo.com>
38891
38892         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
38893         <fx@gnu.org>.
38894
38895 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
38896
38897         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
38898         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
38899         intprops.h.
38900         * lib/strtol.c: Likewise.
38901
38902 2005-03-14  Jim Meyering  <jim@meyering.net>
38903
38904         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
38905         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
38906         to be nonzero so that we (and caller) can detect the difference
38907         between a valid zero-length expansion and an error return, even
38908         when the underlying strftime fails before writing anything into
38909         that location.
38910
38911 2005-03-14  Bruno Haible  <bruno@clisp.org>
38912
38913         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
38914         Update from GNU gettext 0.14.3.
38915
38916 2005-03-10  Jim Meyering  <jim@meyering.net>
38917
38918         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
38919
38920 2005-03-10  Jim Meyering  <jim@meyering.net>
38921
38922         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
38923         so that this module works on systems without fchdir.
38924
38925 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
38926
38927         Factor int-properties macros into a single file, except for
38928         glibc-related files.
38929         * lib/intprops.h: New file.
38930         * lib/getloadavg.c: Include it instead of limits.h.
38931         (INT_STRLEN_BOUND): Remove.
38932         * lib/human.c: Include intprops.h.
38933         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
38934         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
38935         302/1000.
38936         * lib/inttostr.h: Include intprops.h instead of limits.h.
38937         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
38938         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
38939         for consistency with intprops.h.
38940         (time_t_is_integer, twos_complement_arithmetic): Use them.
38941         * lib/sig2str.h: Include <signal.h>, intprops.h.
38942         (INT_STRLEN_BOUND): Remove.
38943         * lib/strftime.c (TYPE_SIGNED): Remove.
38944         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
38945         * lib/strtol.c: Adjust comments to match intprops.h.
38946         * lib/userspec.c: Include intprops.h.
38947         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
38948         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
38949         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
38950         instead of rolling our own expressions.
38951         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
38952
38953         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
38954         instead of int.
38955         (my_strftime): Do not mishandle years close to INT_MAX, by doing
38956         the right thing even if adding 1900 would overflow.  Similarly
38957         for tm_mon + 1 and tm_yday + 1.
38958         Make %Y always equivalent to %C%y, and similarly for %G and %g.
38959         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
38960         (DO_SIGNED_NUMBER): New macro.
38961         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
38962
38963 2005-03-07  Bruno Haible  <bruno@clisp.org>
38964
38965         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
38966
38967 2005-03-07  Bruno Haible  <bruno@clisp.org>
38968
38969         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
38970
38971 2005-03-04  Derek R. Price  <derek@ximbiot.com>
38972
38973         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
38974         (func_import): Only replace files via --import when they have actually
38975         changed.
38976
38977 2005-03-03  Derek R. Price  <derek@ximbiot.com>
38978
38979         * m4/mmap-anon.m4: New file.
38980         * m4/pagealign_alloc.m4: New file.
38981
38982 2005-03-03  Derek R. Price  <derek@ximbiot.com>
38983             Bruno Haible  <bruno@clisp.org>
38984
38985         * modules/pagealign_alloc: New file.
38986         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
38987
38988 2005-03-03  Derek R. Price  <derek@ximbiot.com>
38989             Bruno Haible  <bruno@clisp.org>
38990
38991         * lib/pagealign_alloc.h: New file.
38992         * lib/pagealign_alloc.c: New file.
38993
38994 2005-03-03  Bruno Haible  <bruno@clisp.org>
38995
38996         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
38997         Use an all-permissive copyright notice, recommended by RMS.
38998
38999 2005-03-02  Bruno Haible  <bruno@clisp.org>
39000
39001         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
39002         of AIX, the replacement has to be done only after <string.h> is
39003         included, therefore not in config.h. stpncpy.h does the replacement,
39004         and stpncpy.c uses it.
39005
39006 2005-03-02  Bruno Haible  <bruno@clisp.org>
39007
39008         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
39009         stpncpy.c uses it.
39010
39011 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
39012
39013         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
39014         The workaround isn't strictly needed for POSIX conformance, and
39015         it's too much of a pain to configure and maintain.  We'll ask
39016         people to fix their kernels instead.
39017         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
39018         (NANOSLEEP_BUG_WORKAROUND): Remove.
39019         (xnanosleep): Remove the workaround.
39020
39021 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
39022
39023         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
39024         Reported by Derek Price.
39025         (Include): Add "timespec.h".
39026
39027         * modules/xnanosleep (Depends-on): Remove gethrxtime.
39028
39029 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
39030
39031         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
39032         to detect nanosleep bug.
39033
39034 2005-03-01  Bruno Haible  <bruno@clisp.org>
39035
39036         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
39037
39038 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
39039
39040         * modules/gethrxtime: New file.
39041         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
39042         (Depends-on): Add gethrxtime.
39043         (configure.ac): Add gl_XNANOSLEEP.
39044         (Makefile.am): Remove lib_SOURCES line.
39045
39046 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
39047
39048         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
39049         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
39050
39051 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
39052
39053         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
39054         * lib/timespec.h (gettime): Return void, since it always
39055         succeeds now.  All uses changed.
39056         * lib/gettime.c (gettime) Likewise.
39057         [HAVE_NANOTIME]: Prefer nanotime.
39058         Assume gettimeofday succeeds, as POSIX requires.
39059         Assime time () succeeds, since other code already does.
39060         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
39061         (timespec_subtract): Remove.
39062         (NANOSLEEP_BUG_WORKAROUND): New constant.
39063         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
39064         things considerably.  Use it only on GNU/Linux hosts, since the
39065         workaround shouldn't be needed elsewhere.
39066
39067 2005-02-24  Bruno Haible  <bruno@clisp.org>
39068
39069         * modules/gettext (Files): Add m4/glibc2.m4.
39070
39071 2005-02-24  Bruno Haible  <bruno@clisp.org>
39072
39073         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
39074         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
39075         * m4/progtest.m4:
39076         Update from GNU gettext 0.14.2.
39077         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
39078
39079 2005-02-24  Bruno Haible  <bruno@clisp.org>
39080
39081         * lib/localcharset.c: Update from GNU gettext 0.14.2.
39082         * lib/config.charset: Update from GNU gettext 0.14.2.
39083
39084 2005-02-24  Bruno Haible  <bruno@clisp.org>
39085
39086         * lib/gettext.h: Update from GNU gettext 0.14.2.
39087
39088 2005-02-23  Simon Josefsson  <jas@extundo.com>
39089
39090         * m4/iconvme.m4: New file.
39091
39092 2005-02-23  Jim Meyering  <jim@meyering.net>
39093
39094         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
39095         change.
39096         Thanks to Bruno Haible for catching it.
39097
39098 2005-02-22  Simon Josefsson  <jas@extundo.com>
39099
39100         * modules/iconvme: New file.
39101
39102         * MODULES.html.sh: Add iconvme.
39103
39104 2005-02-22  Simon Josefsson  <jas@extundo.com>
39105
39106         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
39107
39108 2005-02-22  Simon Josefsson  <jas@extundo.com>
39109
39110         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
39111
39112 2005-02-22  Jim Meyering  <jim@meyering.net>
39113
39114         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
39115         s/ifndef/ifdef/.
39116
39117 2005-02-20  Neil Conway  <neilc@samurai.com>
39118
39119         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
39120         returned by OSX/Darwin if the specified buffer is not large
39121         enough for the hostname.
39122
39123 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
39124
39125         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
39126         pass it to _help, otherwise the latter coredumps trying to
39127         dereference state.root_argp.
39128
39129 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
39130
39131         * modules/chdir-long (Depends-on): Add memrchr.
39132         * modules/memrchr (Files): Add lib/memrchr.h.
39133         (Include): "memrchr.h".
39134
39135 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
39136
39137         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
39138
39139 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
39140
39141         * lib/memrchr.h: New file.
39142         * lib/chdir-long.c: Include it.
39143         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
39144         Don't bother including stddef.h.
39145
39146 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
39147
39148         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
39149         inclusion.
39150         Include <sys/types.h>, for dev_t.
39151         (ME_DUMMY, ME_REMOTE): Move from here....
39152         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
39153         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
39154         Dmitry V. Levin.
39155         Include mountlist.h first, to test the interface.
39156
39157 2005-01-29  Bruno Haible  <bruno@clisp.org>
39158
39159         * lib/progname.c (program_name): Initialize.
39160         Needed when linking statically on MacOS X.
39161
39162 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
39163
39164         Sync from coreutils.
39165         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
39166         (Depends-on): Add c-strtod.
39167         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
39168
39169 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
39170
39171         Sync from coreutils.
39172         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
39173
39174         Remove files that are specific to coreutils.
39175         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
39176
39177 2005-01-28  Bruno Haible  <bruno@clisp.org>
39178
39179         * modules/javacomp: New file.
39180         * MODULES.html.sh (Java): Add javacomp.
39181
39182 2005-01-28  Bruno Haible  <bruno@clisp.org>
39183
39184         * m4/javacomp.m4: New file, from GNU gettext.
39185
39186 2005-01-28  Bruno Haible  <bruno@clisp.org>
39187
39188         * lib/javacomp.sh.in: New file, from GNU gettext.
39189         * lib/javacomp.h: New file, from GNU gettext.
39190         * lib/javacomp.c: New file, from GNU gettext.
39191
39192 2005-01-26  Simon Josefsson  <jas@extundo.com>
39193
39194         * lib/gai_strerror.c: Use GPL in header.
39195
39196 2005-01-26  Bruno Haible  <bruno@clisp.org>
39197
39198         * modules/javaexec: New file.
39199         * MODULES.html.sh (Java): Add javaexec.
39200
39201 2005-01-26  Bruno Haible  <bruno@clisp.org>
39202
39203         * m4/javaexec.m4: New file, from GNU gettext.
39204
39205 2005-01-26  Bruno Haible  <bruno@clisp.org>
39206
39207         * lib/javaexec.sh.in: New file, from GNU gettext.
39208         * lib/javaexec.h: New file, from GNU gettext.
39209         * lib/javaexec.c: New file, from GNU gettext.
39210
39211 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
39212
39213         * modules/lchown (Depends-on): Remove lchown.h
39214
39215 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
39216
39217         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
39218         must be defined if the header file was not found, in order
39219         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
39220
39221 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
39222
39223         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
39224         initializers for struct pentry_state.
39225         (__argp_error): Check return value of __asprintf
39226         (__argp_failure): Translate error message
39227
39228         * lib/argp-parse.c: Removed braces around the expansion of N_()
39229
39230 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
39231
39232         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
39233         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
39234         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
39235         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
39236         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
39237         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
39238         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
39239         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
39240         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
39241         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
39242         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
39243         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
39244         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
39245         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
39246         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
39247         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
39248         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
39249         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
39250         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
39251         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
39252         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
39253         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
39254         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
39255         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
39256         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
39257         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
39258         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
39259         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
39260         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
39261         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
39262         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
39263         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
39264         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
39265         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
39266         xstrtol.m4, xstrtoumax.m4, yesno.m4:
39267         Use an all-permissive copyright notice, recommended by RMS.
39268
39269 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
39270
39271         * modules/chdir-long (Depends-on): Remove mempcpy.
39272
39273 2005-01-21  Jim Meyering  <jim@meyering.net>
39274
39275         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
39276         same value as for Solaris 9.
39277
39278         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
39279         component length.  This included changing the parameter to be
39280         of type `char *' rather than `char const *'.
39281         * lib/chdir-long.h (chdir_long): Update prototype.
39282
39283         * lib/openat.c (fdopendir, fstatat): New functions.
39284         * lib/openat.h: Include headers required for use of DIR and struct
39285         stat.
39286         [AT_SYMLINK_NOFOLLOW]: Define.
39287         (fdopendir, fstatat): Add prototypes.
39288
39289 2005-01-21  Bruno Haible  <bruno@clisp.org>
39290
39291         * modules/classpath: New file.
39292         * MODULES.html.sh (Java): Add classpath.
39293
39294 2005-01-21  Bruno Haible  <bruno@clisp.org>
39295
39296         * lib/classpath.h: New file, from GNU gettext.
39297         * lib/classpath.c: New file, from GNU gettext.
39298
39299 2005-01-20  Simon Josefsson  <jas@extundo.com>
39300
39301         * modules/version-etc-fsf: New file.
39302
39303 2005-01-20  Simon Josefsson  <jas@extundo.com>
39304
39305         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
39306         * lib/version-etc.c: Remove version_etc_copyright.
39307         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
39308         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
39309
39310 2005-01-20  Simon Josefsson  <jas@extundo.com>
39311
39312         * lib/base64.h (isbase64): Add.
39313
39314         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
39315         using a unsigned prototype, don't inline.
39316         (base64_decode): Use it.
39317
39318 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
39319
39320         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
39321         it.
39322
39323 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
39324
39325         * lib/save-cwd.c (save_cwd): Remove code to support the case
39326         where fchdir is missing or flaky.
39327
39328 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
39329
39330         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
39331
39332 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
39333
39334         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
39335         AC_LIBSOURCES now does this.
39336         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
39337         with new ullong_max module.
39338
39339 2005-01-19  Bruno Haible  <bruno@clisp.org>
39340
39341         * modules/sh-quote: New file.
39342         * MODULES.html.sh (Executing programs): Add sh-quote.
39343
39344 2005-01-19  Bruno Haible  <bruno@clisp.org>
39345
39346         * lib/sh-quote.h: New file, from GNU gettext.
39347         * lib/sh-quote.c: New file, from GNU gettext.
39348
39349 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
39350
39351         Merge from coreutils.
39352         * m4/ullong_max.m4: New file.
39353         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
39354         (gl_MACROS): Assume localeconv exists.
39355
39356 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
39357
39358         Merge changes from coreutils, as described below in several
39359         changelogs dated today.
39360
39361         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
39362         (O_DIRECTORY): Remove; not needed here, since "." must be
39363         a directory.  All uses removed.
39364         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
39365         universal on Suns, and we also need to test for IRIX.
39366         Revamp code to use 'if' rather than '#if'.
39367         Avoid unnecessary comparison of cwd->desc to 0.
39368
39369         * lib/utimens.c (futimens): Robustify the previous patch, by checking
39370         for known valid error numbers rather than observed invalid ones.
39371
39372 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
39373
39374         * modules/ullong_max: New file.
39375
39376         * modules/chdir-long, modules/openat: New files.
39377         * modules/save-cwd (Depends-on): Depend on chdir-long.
39378         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
39379
39380 2005-01-18  Jim Meyering  <jim@meyering.net>
39381
39382         Merge from coreutils.
39383         * m4/chdir-long.m4, m4/openat.m4: New files.
39384         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
39385         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
39386         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
39387         is sane and DOES follow symlinks.  Besides, testing 20 different
39388         systems found no broken chown implementations.
39389         Prompted by a change in rsync's copy of this macro.
39390         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
39391
39392         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
39393
39394         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
39395         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
39396         NULL-means-set-to-current-time semantics.
39397         Remove temporary file immediately, rather than waiting
39398         for configure's at-exit trap code to do it.
39399
39400 2005-01-18  Jim Meyering  <jim@meyering.net>
39401
39402         * lib/version-etc.c (version_etc_copyright): Update copyright date.
39403
39404         * lib/utimens.c (futimens): Account for the fact that futimes
39405         can also fail with errno == ENOSYS or errno == ENOENT.
39406         Patch from Dmitry V. Levin.
39407
39408         Change the name of the robust chdir function from chdir to chdir_long.
39409         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
39410         (restore_cwd): Use chdir_long, not chdir.
39411         * lib/chdir-long.c: Renamed from chdir.c.
39412         * lib/chdir-long.h: Renamed from chdir.h.
39413         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
39414         Hurd.
39415
39416 2005-01-18  Bruno Haible  <bruno@clisp.org>
39417
39418         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
39419         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
39420         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
39421         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
39422         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
39423         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
39424         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
39425         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
39426         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
39427         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
39428         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
39429         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
39430         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
39431         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
39432         Use an all-permissive copyright notice, recommended by RMS.
39433
39434 2005-01-18  Bob Proulx  <bob@proulx.com>
39435
39436         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
39437         simplify offsetof() macro construct to avoid compile failure with
39438         native HP-UX 11.0 ANSI C compiler.
39439
39440 2005-01-17  Bruno Haible  <bruno@clisp.org>
39441
39442         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
39443         redundant because stpncpy.m4 takes care of it.
39444
39445 2005-01-17  Bruno Haible  <bruno@clisp.org>
39446
39447         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
39448
39449 2005-01-17  Bruno Haible  <bruno@clisp.org>
39450
39451         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
39452         used.
39453
39454 2005-01-17  Bruno Haible  <bruno@clisp.org>
39455
39456         * lib/fwriteerror.h (fwriteerror): Change specification to include
39457         fclose.
39458         * lib/fwriteerror.c: Include <stdbool.h>.
39459         (fwriteerror): At the end, close the file stream. Record whether
39460         stdout was already closed.
39461
39462 2005-01-17  Bruno Haible  <bruno@clisp.org>
39463
39464         * lib/execute.c (environ): Declare if needed.
39465         * lib/pipe.c (environ): Likewise.
39466         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
39467
39468 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
39469
39470         * modules/argp: Depend on vsnprintf
39471
39472 2005-01-10  Jim Meyering  <jim@meyering.net>
39473
39474         * modules/closeout (Depends-on): Add atexit.
39475
39476 2005-01-06  Bruno Haible  <bruno@clisp.org>
39477
39478         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
39479
39480 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
39481
39482         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
39483         definitions to be after all include files, to avoid collisions.
39484         Problem reported by Bob Proulx.
39485
39486 2005-01-04  Jim Meyering  <jim@meyering.net>
39487
39488         Changes imported from coreutils.
39489         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
39490         as the mkstemp template, use a temporary directory and an
39491         8.3-friendly template to avoid trouble on systems like DJGPP.
39492         Reported by Juan M. Guerrero via Stepan Kasal.
39493         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
39494         close. Remove the temporary directory right away, rather than waiting
39495         for configure's at-exit trap code to do it.
39496         Suggestion from Stepan Kasal.
39497
39498 2005-01-01  Simon Josefsson  <jas@extundo.com>
39499
39500         * gnulib-tool: Print #include directives when --import'ing.
39501
39502 2004-12-28  Simon Josefsson  <jas@extundo.com>
39503
39504         * tests/test-base64.c: Include required header files.  Remove
39505         unused variables.
39506
39507 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
39508
39509         * modules/error (Depends-on): Remove gettext.
39510
39511 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
39512
39513         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
39514         not needed.  This removes a dependency on the gettext module.
39515         [defined _LIBC]: Do not include <libintl.h>; not needed.
39516
39517 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
39518
39519         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
39520         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
39521
39522 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
39523
39524         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
39525         HAVE_DECL_STRTOLD.
39526
39527 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
39528
39529         * modules/getdate (Depends-on): Remove alloca-opt.
39530
39531 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
39532
39533         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
39534
39535 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
39536
39537         * lib/argp-parse.c: Include <stddef.h>.
39538         (alignof, alignto): New macros.
39539         (parser_init): Don't assume that void * is aligned sufficiently
39540         for struct option.
39541
39542         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
39543         need to extend the stack.
39544         (YYINITDEPTH): New macro, so that the initial stack isn't overly
39545         large.
39546
39547 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
39548
39549         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
39550
39551 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
39552
39553         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
39554         (2004-10-24) change.  Apparently this was a false alarm.
39555
39556         * modules/getdate: Depend on alloca-opt, not alloca.
39557
39558 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
39559
39560         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
39561         Remove now-obsolete comment about AIX.
39562         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
39563         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
39564         (YYMAXDEPTH): New macro.
39565
39566 2004-12-18  Simon Josefsson  <jas@extundo.com>
39567
39568         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
39569
39570 2004-12-18  Bruno Haible  <bruno@clisp.org>
39571
39572         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
39573
39574 2004-12-18  Bruno Haible  <bruno@clisp.org>
39575
39576         * lib/fatal-signal.c (fatal_signals): Make non-const.
39577         (init_fatal_signals): New function.
39578         (uninstall_handlers, install_handlers): Ignore signals that were set to
39579         SIG_IGN.
39580         (at_fatal_signal): Call init_fatal_signals.
39581         (init_fatal_signal_set): Likewise. Ignore signals that were set to
39582         SIG_IGN.
39583         Reported by Paul Eggert.
39584
39585 2004-12-18  Bruno Haible  <bruno@clisp.org>
39586
39587         * doc/alloca.texi: New file.
39588         * doc/alloca-opt.texi: New file.
39589
39590 2004-12-17  Jim Meyering  <jim@meyering.net>
39591
39592         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
39593         Otherwise, install-sh could exit with improper exit status when
39594         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
39595
39596 2004-12-16  Simon Josefsson  <jas@extundo.com>
39597
39598         * tests/test-base64.c: Add license.
39599
39600 2004-12-15  Stepan Kasal  <address@hidden>
39601
39602         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
39603
39604 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
39605
39606         * modules/getcwd (Files): Add m4/d-ino.m4.
39607         Suggested by Mark D. Baushke.
39608
39609 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
39610
39611         * lib/getdate.y (textint): New member "negative".
39612         (time_zone_hhmm): New function.
39613         Expect 14 shift-reduce conflicts, not 13.
39614         (o_colon_minutes): New rule.
39615         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
39616         (yylex): Set the "negative" member of signed numbers.
39617
39618 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
39619
39620         * doc/getdate.texi (Time of day items, Time zone items):
39621         Describe new formats +00:00, UTC+00:00.
39622
39623 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
39624
39625         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
39626         spurious "-l"s.  Problem reported by Stepan Kasal.
39627
39628 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
39629
39630         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
39631         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
39632
39633 2004-12-04  Simon Josefsson  <jas@extundo.com>
39634
39635         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
39636         Vandoorselaere <yoann@prelude-ids.org>.
39637
39638 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
39639
39640         Changes imported from coreutils.
39641         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
39642         exist.
39643         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
39644
39645 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
39646
39647         Changes imported from coreutils.
39648         * lib/hard-locale.c: Assume <locale.h> exists.
39649         Include "strdup.h".
39650         (GLIBC_VERSION): New macro.
39651         (hard_locale): Assume setlocale exists.
39652         Rewrite to avoid #ifdef.
39653         Use strdup rather than malloc + strcpy.
39654         * lib/human.c: Assume <locale.h> exists.
39655         (human_readable): Assume localeconv exists.
39656
39657 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
39658
39659         * modules/hard-locale (Depends-on): Add strdup.
39660
39661 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
39662
39663         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
39664         convert T2, not T.  (Imported from libc.)
39665
39666 2004-11-30  Simon Josefsson  <jas@extundo.com>
39667
39668         * modules/restrict (License): Change to LGPL.
39669
39670 2004-11-30  Simon Josefsson  <jas@extundo.com>
39671
39672         * m4/restrict.m4: Add copyright and copying conditions.
39673
39674 2004-11-30  Simon Josefsson  <jas@extundo.com>
39675
39676         * m4/base64.m4: New file.
39677
39678 2004-11-30  Simon Josefsson  <jas@extundo.com>
39679
39680         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
39681         base64.
39682
39683         * tests/test-base64.c: New file.
39684
39685         * modules/base64: New file.
39686
39687 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
39688
39689         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
39690         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
39691
39692         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
39693
39694 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
39695
39696         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
39697         (__getcwd.c): Don't restore errno; glibc doesn't.
39698         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
39699         first, falling back to our code only if its results look suspicious.
39700         Ensure that the resulting buffer is only as large as necessary.
39701
39702         * lib/readutmp.c: Include readutmp.h first.
39703         Include <errno.h>, since readutmp.h no longer does that.
39704         * lib/readutmp.h: Don't include <errno.h>,
39705         <sys/param.h>, <time.h>; not needed to establish interface.
39706         (errno): Remove decl.
39707         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
39708         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
39709         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
39710
39711 2004-11-28  Simon Josefsson  <jas@extundo.com>
39712
39713         * lib/base64.h, base64.c: New file.
39714
39715 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
39716
39717         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
39718
39719 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
39720
39721         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
39722         (Depends-on): Remove pathmax, same.  Add mempcpy.
39723         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
39724         (Makefile.am): Append getcwd.h to lib_SOURCES.
39725         (Include): Add getcwd.h.
39726         (Maintainer): Change from Jim Meyering to "all, glibc",
39727         since getdate now uses intended-for-glibc code.
39728         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
39729         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
39730
39731 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
39732
39733         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
39734         HP's ANSI C compiler.
39735         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
39736         Declaring int functions causes warnings on some modern systems and
39737         shouldn't be needed to compile on ancient ones.
39738         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
39739         defined.
39740
39741         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
39742         with the following changes.
39743         (__set_errno): Parenthesize properly.
39744         Include <stdbool.h>.
39745         (MIN, MAX, MATCHING_INO): New macros.
39746         (__getcwd): Define with prototype, not K&R form.
39747         Use heuristics to allocate default buffer on stack if possible.
39748         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
39749         behavior, and to avoid the PATH_MAX limit when computing
39750         ../../../../...
39751         Use MATCHING_INO to compare inode number to file.
39752         Check for arithmetic overflow in size calculations.
39753         Fix bug in reallocation of dot array that caused getcwd to fail
39754         on directories nested deeper than 75.
39755         Be more careful about saving errno on error.
39756         Do not use realloc; use only free+malloc, as this is a bit
39757         more flexible and avoids a needless copy operation.
39758         Do not inspect st_dev and st_ino for symbolic links; POSIX
39759         doesn't specify the latter.
39760         Check for closedir errors.
39761         Avoid needless casts.
39762         Use "#ifdef weak_alias" around weak_alias, to be like other
39763         glibc code.
39764         The following changes to getcwd.c have effect only when used in
39765         gnulib; they have no effect inside glibc proper.
39766         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
39767         as alloca isn't used.
39768         (alloca, __alloca): Likewise.
39769         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
39770         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
39771         unconditionally, as gnulib assumes C89 or better.
39772         Do not include <sys/param.h>.
39773         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
39774         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
39775         better.
39776         (NULL) [!defined NULL]: Remove; we assume C89 or better.
39777         Include <dirent.h> in a way that is compatible with modern Autoconf.
39778         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
39779         New macros, if not already defined.
39780         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
39781         Use "_LIBC", not "defined _LIBC", for consistency.
39782         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
39783         a mempcpy module.
39784         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
39785         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
39786         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
39787         credit only to Jim Meyering and adjust the copyright dates.
39788         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
39789         <stdlib.h>, <unistd.h>, "pathmax.h".
39790         Instead, include "xgetcwd.h" (first) and "getcwd.h".
39791         (INITIAL_BUFFER_SIZE): Remove.
39792         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
39793
39794 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
39795
39796         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
39797         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
39798         Use the _ONCE methods, for efficiency.
39799         Check for fcntl.h.  In test program, include <errno.h>
39800         and <fcntl.h> if available.  Remove old K&R cruft from
39801         test program.  Check for common errors in GNU/Linux,
39802         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
39803         don't do AC_LIBOBJ, as that's getcwd.m4's job.
39804         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
39805         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
39806         name accordingly.
39807         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
39808         accommodate new getcwd.c.
39809         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
39810         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
39811         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
39812         that's all we need now.
39813
39814 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
39815
39816         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
39817         argp-parse.c depends on getopt internals, that means we should
39818         always use our getopt, to be on the safe side.
39819         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
39820         order not to spoil the result of an eventual previous invocation
39821         of gl_GETOPT_SUBSTITUTE.
39822
39823 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
39824
39825         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
39826         redefinition warnings. To avoid them, include the defines
39827         in `#if !defined __need_getopt ... #endif'. The only place
39828         where __getopt_argv_const is used is in definitions
39829         of getopt_long and getopt_long_only below, which are as well
39830         protected by `#ifndef __need_getopt'.
39831         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
39832         __need_getopt after including <stdio.h> and <unistd.h> These
39833         headers might have defined it.
39834
39835 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
39836
39837         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
39838
39839 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
39840
39841         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
39842         (futimens): New function, which uses futimes if available.
39843         (futimens, utimens): Support timespec==NULL, with same semantics
39844         as utime and utimens.
39845         * lib/utimens.h (futimens): New decl.
39846
39847 2004-11-23  Jim Meyering  <jim@meyering.net>
39848
39849         * lib/getopt_.h: Remove trailing blanks.
39850
39851 2004-11-23  Jim Meyering  <jim@meyering.net>
39852
39853         * lib/__fpending.c: Add comment.
39854
39855 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
39856
39857         * modules/canonicalize (Depends-on): Add xreadlink.
39858         Problem reported by James Youngman.
39859
39860 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
39861
39862         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
39863         New macros.
39864         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
39865         optopt): Use them instead of invoking ## directly; otherwise, the
39866         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
39867
39868 2004-11-19  Bruno Haible  <bruno@clisp.org>
39869
39870         * lib/strtok_r.c: Move comments from here...
39871         * lib/strtok_r.h: ... to here.
39872
39873 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
39874
39875         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
39876         implementations that mishandle size_t overflow.
39877
39878 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
39879
39880         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
39881         might fail.  Problem reported by Yoann Vandoorselaere.
39882         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
39883         implementations that mishandle size_t overflow.
39884
39885 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
39886
39887         * modules/canon-host (Depends-on): Add strdup.
39888
39889 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
39890
39891         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
39892
39893 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
39894
39895         * lib/canon-host.c: Include "strdup.h".
39896         (canon_host): Use getaddrinfo if available, so that IPv6 works.
39897         Use strdup instead of malloc/strcpy to duplicate strings.
39898
39899         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
39900         (human_space_before_unit): New constant.
39901         * lib/human.c (human_readable): Support it.
39902
39903         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
39904         (xgetcwd): Set errno correctly when failing.
39905         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
39906         the failure is actually due to a PATH_MAX problem.
39907
39908         Further getopt changes to make it more likely that glibc will
39909         buy the changes back.
39910         * lib/getopt.c (POSIXLY_CORRECT): New constant.
39911         (getopt): Use it, so to preserve glibc semantic
39912         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
39913         when compiling for libc.
39914         * lib/getopt_.h (__getopt_argv_const): Bring it back.
39915         (getopt_long, getopt_long_only): Use it.
39916
39917         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
39918         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
39919         (getopt): Argv is now char * const *, as per standard.
39920         (_getopt_internal_r, _getopt_internal): Argv is now char **,
39921         not char *__getopt_argv_const *.
39922         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
39923         _getopt_long_only_r): Likewise.
39924         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
39925         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
39926         _getopt_long_r, _getopt_long_only_r): Likewise.
39927         * lib/getopt_.h (__getopt_argv_const): Remove.
39928         (getopt): Argv is now char * const *, as per standard.
39929
39930         * lib/getdate.y (tORDINAL): New token.
39931         (day, relunit): Allow it for relative times.
39932         (relative_time_table): Use tORDINAL for ordinals.
39933
39934 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
39935
39936         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
39937         Document that "second" isn't allowed as an ordinal number.
39938
39939 2004-11-16  Jim Meyering  <jim@meyering.net>
39940
39941         * modules/closeout (Depends-on): Add fpending.
39942
39943 2004-11-15  Jim Meyering  <jim@meyering.net>
39944
39945         * lib/closeout.c: Include "__fpending.h" once again.
39946         Include <stdbool.h>.
39947         (close_stdout): Don't fail just because stdout was closed initially,
39948         since some programs don't write to stdout in the normal course of
39949         operation (other than --version and --help), and we don't want this
39950         function to make e.g. `touch file >&-' fail.
39951         But do fail if it was closed and someone has tried to write to it.
39952         E.g., `printf foo >&-' must fail.
39953
39954 2004-11-13  Jim Meyering  <jim@meyering.net>
39955
39956         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
39957
39958 2004-11-12  Simon Josefsson  <jas@extundo.com>
39959
39960         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
39961         small doc fix is still pending.
39962
39963 2004-11-11  Simon Josefsson  <jas@extundo.com>
39964
39965         * modules/strtok_r: New file.
39966
39967         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39968         strtok_r.
39969
39970 2004-11-11  Simon Josefsson  <jas@extundo.com>
39971
39972         * m4/strtok_r.m4: New file.
39973
39974         * m4/getopt.m4: Replace opterr.
39975
39976 2004-11-11  Simon Josefsson  <jas@extundo.com>
39977
39978         * lib/strtok_r.h, strtok_r.c: New file.
39979
39980 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
39981
39982         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
39983         of replacing opterr, getopt, etc.  This should handle the
39984         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
39985
39986 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
39987
39988         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
39989         we can stop lying to compilers about the constness of argv when we
39990         are compiled outside glibc.
39991         (getopt, getopt_long, getopt_long_only): Use it.
39992         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
39993         _getopt_internal, getopt): Likewise.
39994         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
39995         _getopt_long_only_r): Likewise.
39996         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
39997         _getopt_long_r, _getopt_long_only_r): Likewise.
39998
39999         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
40000         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
40001         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
40002         the other external symbols.
40003         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
40004         declaration, since the above renaming now works around collisions.
40005
40006 2004-11-11  Jim Meyering  <jim@meyering.net>
40007
40008         * lib/linebreak.c: Remove trailing blanks.
40009         * lib/alloca_.h: Likewise.
40010         * lib/acosl.c: Likewise.
40011         * lib/euidaccess.c: Likewise.
40012         * lib/allocsa.h: Likewise.
40013
40014 2004-11-10  Simon Josefsson  <jas@extundo.com>
40015
40016         * m4/getaddrinfo.m4: New file.
40017
40018 2004-11-10  Simon Josefsson  <jas@extundo.com>
40019
40020         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
40021
40022 2004-11-10  Simon Josefsson  <jas@extundo.com>
40023
40024         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
40025         getaddrinfo.
40026
40027         * modules/getaddrinfo: New file.
40028
40029 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
40030
40031         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
40032
40033 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
40034
40035         * lib/mktime.c (SHR): New macro, which is a portable
40036         substitute for >> that should work even on Crays.
40037         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
40038         Problem reported by Mark D. Baushke in
40039         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
40040         * lib/getdate.y (SHR): Likewise.
40041         (tm_diff): Use it.
40042         * lib/strftime.c (SHR): Likewise.
40043         (tm_diff): Use it.
40044         * lib/quotearg.c (struct quoting_options): Use unsigned int for
40045         quote_these_too, so that right shifts are well defined.  All uses
40046         changed.
40047
40048 2004-11-10  Jim Meyering  <jim@meyering.net>
40049
40050         Ensure that no close failure goes unreported.
40051         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
40052         return early when it seems there's nothing to flush.
40053         Don't include __fpending.h.
40054
40055 2004-11-10  Jim Meyering  <jim@meyering.net>
40056
40057         * modules/closeout (Depends-on): Remove fpending.
40058
40059 2004-11-10  Jim Meyering  <jim@meyering.net>
40060
40061         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
40062
40063 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
40064
40065         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
40066         gl_FUNC_STRFTIME.
40067         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
40068         and AC_REQUIRE when possible, to avoid duplicate checks.
40069         Check for <wchar.h>.
40070
40071 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
40072
40073         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
40074
40075 2004-11-09  Bruno Haible  <bruno@clisp.org>
40076
40077         * m4/sockpfaf.m4: New file.
40078
40079 2004-11-05  Bruno Haible  <bruno@clisp.org>
40080
40081         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
40082         Reported by Mark D. Baushke <mdb@cvshome.org>.
40083
40084 2004-11-04  Bruno Haible  <bruno@clisp.org>
40085
40086         2004-09-11  Bruno Haible  <bruno@clisp.org>
40087                 * allocsa.valgrind: New file.
40088         2004-02-06  Bruno Haible  <bruno@clisp.org>
40089                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
40090                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
40091                 Reported by Christopher Seip <chris.seip@hp.com>.
40092
40093 2004-11-04  Bruno Haible  <bruno@clisp.org>
40094
40095         * modules/allocsa (Files): Add lib/allocsa.valgrind.
40096         (Makefile.am): Distribute it.
40097
40098 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
40099
40100         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
40101         with errno == ERANGE if the buffer is too small.
40102         Problem reported by Mark D. Baushke.
40103
40104 2004-11-03  Albert Chin  <china@thewrittenword.com>
40105             Paul Eggert  <eggert@cs.ucla.edu>
40106
40107         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
40108         equivalent, substitute $ac_type for equivalent type rather than
40109         blindly using uint32_t *always* which won't work if uint32_t is not
40110         available.  Define _UINT32_T to work around typedef of uint32_t if
40111         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
40112         2.5.1.
40113
40114 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
40115
40116         * m4/jm-macros.m4: Sync from coreutils.
40117         (gl_MACROS): Check for mbrlen, for pathchk.
40118         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
40119
40120 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
40121
40122         * lib/xreadlink.c (MAXSIZE): New macro.
40123         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
40124         size does not exceed MAXSIZE.  Avoid cast.
40125         As suggested by Mark D. Baushke in
40126         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
40127         if readlink fails with buffer size just under MAXSIZE, try again
40128         with MAXSIZE.
40129
40130 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
40131
40132         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
40133
40134 2004-11-02  Derek R. Price  <derek@ximbiot.com>
40135         and  Paul Eggert  <eggert@cs.ucla.edu>
40136
40137         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
40138         (get_date): Overparenthesize to avoid GCC warning.
40139
40140 2004-11-02  Bruno Haible  <bruno@clisp.org>
40141
40142         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
40143         returns void.
40144
40145 2004-11-02  Bruno Haible  <bruno@clisp.org>
40146
40147         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
40148         function returns void.
40149
40150 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
40151
40152         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
40153         fflush_unlocked, flockfile, funlockfile, funlockfile,
40154         fputs_unlocked, putc_unlocked.
40155
40156 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
40157
40158         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
40159         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
40160         already declared.
40161
40162 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
40163
40164         * modules/getdate (Files): Add doc/getdate.texi.
40165         (Depends-on): Add setenv, xalloc.
40166
40167 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
40168
40169         * lib/getdate.y: Add support for TZ="foo" within a date string.
40170         Fix some bugs near time_t boundaries.  Reject dates with
40171         out-of-range components, e.g., "Sept 31".
40172         Include <stdlib.h>, "setenv.h", "xalloc.h".
40173         (ISDIGIT_LOCALE): Remove; unused.
40174         Note that the TZ and time functions used here are not reentrant.
40175         (mktime_ok, get_tz): New functions.
40176         (TZBUFSIZE): New constant.
40177         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
40178         This requires that we sometimes generate our own TZ="XXX..." setting.
40179
40180 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
40181
40182         * doc/getdate.texi: New file, from coreutils with modifications for
40183         the new TZ parsing.
40184
40185 2004-10-27  Derek R. Price  <derek@ximbiot.com>
40186
40187         * lib/mktime.c (not_equal_tm): Remove redundant check.
40188
40189 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
40190
40191         * modules/regex (lib_SOURCES): Add regex.c.
40192         Reported by James Youngman in
40193         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
40194
40195 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
40196
40197         * lib/getdate.y: Use Bison 1.875 features, and some minor
40198         code cleanups.  This change does not affect semantics.
40199         Don't include <stdlib.h>; no longer needed.
40200         Don't include unlocked-io.h; only the "#if TEST" code uses
40201         stdio, and performance isn't crucial there.
40202         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
40203         Bison 1.875 features as described below.
40204         All uses of "PC." replaced by "pc->".
40205         (YYSTYPE): Add a forward declaration.
40206         (yylex, yyerror): Use full prototypes in forward decls.
40207         Use "%pure-parser" rather than obsolescent "%pure_parser".
40208         Use %parse-param and %lex-param instead of obsolescent
40209         YYPARSE_PARAM and YYLEX_PARAM.
40210         (meridian_table, month_and_day_table, time_units_table,
40211         relative_time_table, time_zone_table, military_table,
40212         lookup_zone, lookup_word, get_date):
40213         Use NULL instead of 0 where appropriate.
40214         (to_hour): Avoid abort (), to avoid a dependency on
40215         stdlib.h.
40216         (yyerror, yylex): Now accepts parser_control * arg.
40217         (main) [TEST]: Use '\0' rather than 0 for char.
40218
40219 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
40220
40221         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
40222
40223 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
40224
40225         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
40226         It's now the caller's responsibility to handle the case where
40227         !HAVE_GETPAGESIZE && !defined getpagesize.
40228
40229         * lib/mktime.c (leapyear): Arg is long int, not int.
40230
40231 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
40232
40233         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
40234
40235 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
40236
40237         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
40238         missing.  Problem reported by James Youngman.
40239
40240 2004-10-16  Simon Josefsson  <jas@extundo.com>
40241
40242         * gnulib-tool: Fix comments.  Fix parse problem.
40243         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
40244
40245 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
40246
40247         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
40248         implementation of getopt_long.  Problem reported by Alexander Taler in:
40249         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
40250
40251 2004-10-15  Bruno Haible  <bruno@clisp.org>
40252
40253         * gnulib-tool: Untabify. Initialize supplied_libname.
40254         (func_usage): More homogenous output.
40255         (func_modules_transitive_closure, func_modules_to_filelist,
40256         func_emit_lib_Makefile_am): New functions.
40257         (func_import): New function, extracted from big case statement. Use
40258         func_get_license, func_modules_transitive_closure,
40259         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
40260         opt_lgpl. Don't use test -a, as it's not portable.
40261         (func_create_testdir): Use func_modules_transitive_closure,
40262         func_modules_to_filelist, func_emit_lib_Makefile_am.
40263
40264 2004-10-15  Bruno Haible  <bruno@clisp.org>
40265
40266         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
40267
40268 2004-10-15  Bruno Haible  <bruno@clisp.org>
40269
40270         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
40271         the portions belonging to each module.
40272         Suggested by Derek Robert Price <derek@ximbiot.com>.
40273
40274 2004-10-12  Simon Josefsson  <jas@extundo.com>
40275
40276         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
40277         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
40278         to real functions.
40279
40280 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
40281
40282         * modules/vsnprintf: New file.
40283
40284 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
40285
40286         * m4/vsnprintf.m4: New file.
40287
40288 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
40289
40290         * lib/vsnprintf.h: New file.
40291         * lib/vsnprintf.c: New file.
40292
40293 2004-10-11  Bruno Haible  <bruno@clisp.org>
40294
40295         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
40296         vsnprintf.
40297
40298 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40299
40300         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
40301
40302 2004-10-07  Bruno Haible  <bruno@clisp.org>
40303
40304         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
40305         fits into the provided buffer.
40306
40307 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
40308
40309         * lib/diacrit.c, diacrit.h: Add GPL notice.
40310
40311         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
40312         notice.
40313         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
40314         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
40315         This avoids a potential constant-folding bug.
40316
40317 2004-10-05  Bruno Haible  <bruno@clisp.org>
40318
40319         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
40320         for the declaration of strsep.
40321
40322 2004-10-05  Bruno Haible  <bruno@clisp.org>
40323
40324         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
40325
40326 2004-10-04  Simon Josefsson  <jas@extundo.com>
40327
40328         * modules/memmem: New file.
40329         * tests/test-memmem.c: New file.
40330         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
40331
40332 2004-10-04  Simon Josefsson  <jas@extundo.com>
40333
40334         * m4/memmem.m4: New file.
40335
40336 2004-10-04  Simon Josefsson  <jas@extundo.com>
40337
40338         * lib/memmem.h: New file.
40339         * lib/memmem.c: New file, taken from glibc.
40340
40341 2004-10-04  Simon Josefsson  <jas@extundo.com>
40342
40343         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
40344         '#ifdef USE_UNLOCKED_IO'.
40345
40346 2004-10-04  Simon Josefsson  <jas@extundo.com>
40347
40348         * config/srclist.txt: Add memmem from glibc.
40349
40350 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
40351
40352         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
40353
40354         * modules/argmatch, modules/argp, modules/closeout, modules/error,
40355         modules/exclude, modules/getdate, modules/getline,
40356         modules/getndelim2, modules/getpass, modules/getpass-gnu,
40357         modules/getusershell, modules/linebuffer, modules/md5,
40358         modules/mountlist, modules/posixtm, modules/readtokens,
40359         modules/readutmp, modules/regex, modules/sha1,
40360         modules/version-etc, modules/yesno:
40361         Remove dependency on unlocked-io.
40362
40363 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
40364
40365         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
40366
40367         * m4/unlocked-io.m4: Add copyright notice.
40368         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
40369
40370 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
40371
40372         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
40373         * lib/xmalloc.c (xmemdup): Likewise.
40374         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
40375         XFREE): Remove these long-obsolescent macros.
40376         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
40377         * lib/xstrdup.c: Remove.
40378
40379         * lib/regex.c (re_comp): Cast gettext return value to char *,
40380         Problem reported by Martin Neitzel via Mark D. Baushke.
40381
40382 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
40383
40384         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
40385         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
40386         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
40387         regex.c, sha1.c, version-etc.c, yesno.c:
40388         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
40389         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
40390         the includer's responsibility.
40391
40392         Sync from coreutils.
40393
40394         * lib/modechange.c (mode_compile): Don't decrement a pointer that
40395         points to the start of a string, as the C Standard says the
40396         resulting behavior is undefined.
40397
40398         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
40399         simple -> simple_backups, numbered_existing ->
40400         numbered_existing_backups, numbered -> numbered_backups
40401         to avoid shadowing problems.  All uses changed.
40402         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
40403         * lib/backupfile.c (check_extension, numbered_backup):
40404         Rename locals to avoid shadowing 'basename'.
40405         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
40406         once.
40407
40408         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
40409         * lib/.cvsignore: Add getopt.h.
40410
40411 2004-10-04  Bruno Haible  <bruno@clisp.org>
40412
40413         * modules/README: New file.
40414         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
40415         not a module.
40416
40417 2004-10-02  Jim Meyering  <jim@meyering.net>
40418
40419         * lib/dirfd.h, getpagesize.h: Add copyright notice.
40420
40421 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
40422
40423         * modules/strsep: New file.
40424
40425 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
40426
40427         * m4/strsep.m4: New file.
40428
40429 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
40430
40431         * lib/strsep.h: New file.
40432         * lib/strsep.c: New file.
40433
40434 2004-10-01  Simon Josefsson  <jas@extundo.com>
40435
40436         * lib/snprintf.c (snprintf): Handle size==0.
40437
40438 2004-10-01  Simon Josefsson  <jas@extundo.com>
40439             Bruno Haible  <bruno@clisp.org>
40440
40441         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
40442         (snprintf): Declare 'args'.
40443
40444 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
40445
40446         * lib/snprintf.c: Remove comments as to why each header is needed.
40447
40448 2004-10-01  Bruno Haible  <bruno@clisp.org>
40449
40450         * MODULES.html.sh: Add strsep.
40451
40452 2004-09-30  Simon Josefsson  <jas@extundo.com>
40453
40454         * modules/snprintf: New file.
40455
40456 2004-09-30  Simon Josefsson  <jas@extundo.com>
40457
40458         * m4/snprintf.m4: New file.
40459
40460 2004-09-30  Simon Josefsson  <jas@extundo.com>
40461
40462         * lib/snprintf.h, lib/snprintf.c: New files.
40463
40464 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
40465
40466         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
40467         (hol_entry_help): Never translate an empty string.
40468         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
40469         * lib/argp.h (OPTION_NO_TRANS): New option.
40470
40471 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
40472
40473         * modules/argp (Maintainer): Replace Simon Josefsson
40474         by Sergey Poznyakoff.
40475
40476 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
40477
40478         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
40479         changes merged back into glibc.
40480
40481 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
40482
40483         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
40484
40485 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
40486
40487         * lib/xvasprintf.c: Include xalloc.h.
40488         (xvasprintf): Use xalloc_die, not xmalloc_die.
40489
40490 2004-09-29  Bruno Haible  <bruno@clisp.org>
40491
40492         * modules/alloca-opt: New file, derived from modules/alloca.
40493         * modules/allocsa: Depend on alloca-opt instead of alloca.
40494         * modules/setenv: Likewise.
40495         * modules/vasnprintf: Likewise.
40496         * MODULES.html.sh: Add alloca-opt.
40497
40498 2004-09-28  Simon Josefsson  <jas@extundo.com>
40499
40500         * gnulib-tool: New parameter --lgpl, to asseert that modules are
40501         LGPL, and to replace license template from GPL to LGPL.
40502
40503 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
40504
40505         * modules/dummy: Change license to LGPL.
40506
40507 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
40508
40509         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
40510
40511 2004-09-24  Simon Josefsson  <jas@extundo.com>
40512
40513         * modules/minmax (License): Change from GPL to LGPL.
40514
40515 2004-09-23  Simon Josefsson  <jas@extundo.com>
40516
40517         * gnulib-tool (--import): Typo.
40518
40519 2004-09-23  Simon Josefsson  <jas@extundo.com>
40520
40521         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
40522
40523 2004-09-22  Bruno Haible  <bruno@clisp.org>
40524
40525         * modules/*: Add 'License' field.
40526         * gnulib-tool: Accept --extract-license option.
40527         (func_get_license): New function.
40528
40529 2004-09-21  Bruno Haible  <bruno@clisp.org>
40530
40531         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
40532         Reported by Simon Josefsson.
40533
40534 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
40535
40536         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
40537         gl_AC_TYPE_LONG_LONG.
40538
40539 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
40540
40541         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
40542
40543 2004-09-18  Simon Josefsson  <jas@extundo.com>
40544         and  Paul Eggert  <eggert@cs.ucla.edu>
40545
40546         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
40547         calls with autoreconf.  Define GL_LIB.
40548
40549 2004-09-14  Karl Berry  <karl@gnu.org>
40550
40551         * config/srclist.txt: unsync setenv.c, sigh.
40552
40553 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
40554
40555         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
40556         Problem reported by Bruno Haible in:
40557         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
40558
40559 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
40560
40561         * config/srclist.txt: Comment out argp-pvh.c.
40562
40563 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
40564
40565         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
40566         in case some system header has #define'd it.  Problem reported by
40567         Soeren D. Schulze in
40568         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
40569
40570 2004-09-09  Karl Berry  <karl@gnu.org>
40571
40572         * regex.[ch]: delete from the root.  These were supposed to be
40573                 synced with emacs cvs, but this has not happened for about
40574                 a year, and anyway nothing else uses emacs regex.[ch].
40575                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
40576                 lib/regex[.ch] is untouched.
40577
40578 2004-09-09  Bruno Haible  <bruno@clisp.org>
40579
40580         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
40581
40582 2004-09-09  Bruno Haible  <bruno@clisp.org>
40583
40584         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
40585         modifications.
40586         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
40587
40588 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
40589
40590         * modules/xvasprintf: New file.
40591         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
40592
40593 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
40594
40595         * lib/xvasprintf.h: New file.
40596         * lib/xvasprintf.c: New file.
40597         * lib/xasprintf.c: New file.
40598
40599 2004-09-08  Bruno Haible  <bruno@clisp.org>
40600
40601         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
40602
40603 2004-09-08  Bruno Haible  <bruno@clisp.org>
40604
40605         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
40606         length is > INT_MAX.
40607         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
40608         more.
40609
40610 2004-09-08  Bruno Haible  <bruno@clisp.org>
40611
40612         * lib/stdint_.h: New file, taken from GNU clisp.
40613
40614 2004-09-08  Bruno Haible  <bruno@clisp.org>
40615             Oskar Liljeblad  <oskar@osk.mine.nu>
40616
40617         * modules/stdint: New file.
40618         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
40619
40620 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
40621
40622         Import from coreutils.
40623         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
40624         strings on unbounded length.  alloca's performance benefits aren't
40625         that important here.
40626         (V_STRDUP): Remove.
40627         (parse_with_separator): New function, with most of the internals
40628         of the old parse_user_spec.  Allow user to omit both user and group,
40629         for compatibility with FreeBSD.
40630         Clone only the user name, not the entire spec.
40631         Do not set *uid, *gid unless entirely successful.
40632         Avoid memory leak in some failing cases.
40633         Fix regression for USER.GROUP reported by Dmitry V. Levin in
40634         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
40635         (parse_user_spec): Rewrite to use parse_with_separator.
40636
40637 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
40638
40639         * modules/userspec: Don't depend on alloca.
40640
40641 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
40642
40643         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
40644
40645 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
40646
40647         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
40648         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
40649         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
40650
40651 2004-08-16  Simon Josefsson  <jas@extundo.com>
40652
40653         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
40654         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
40655         Add --dry-run for --import.
40656         Let user provided command line parameters override configure.ac
40657         settings.
40658
40659 2004-08-12  Simon Josefsson  <jas@extundo.com>
40660
40661         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
40662         as discussed with Paul Eggert in threads rooted at
40663         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
40664         and
40665         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
40666         Before, the test was empty, and relied on ELIDE_CODE in source
40667         code.)
40668         (gl_PREREQ_GETOPT): New macro.
40669         (gl_GETOPT): Use them.
40670
40671 2004-08-12  Simon Josefsson  <jas@extundo.com>
40672
40673         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
40674         * lib/getopt_.h: Renamed from getopt.h.
40675
40676 2004-08-12  Simon Josefsson  <jas@extundo.com>
40677
40678         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
40679         Change default library name from libfoo to libgnu.
40680         Now, if you have a configure.ac that says:
40681                 gl_SOURCE_BASE(gl)
40682                 gl_M4_BASE(gl/m4)
40683                 gl_MODULES(error getopt etcetera)
40684                 gl_INIT
40685         you can import all you need by running:
40686                 ../gnulib/gnulib-tool --import
40687
40688         * modules/getopt (Files): Rename getopt.h to getopt_.h.
40689         (Makefile.am): Rewrite, use logic from argz.
40690         (Include): Use <getopt.h> instead of "getopt.h".
40691
40692 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
40693
40694         * modules/argp (Files): Add m4/unlocked-io.m4.
40695         (Depends-on): Add extensions.
40696
40697 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
40698
40699         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
40700         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
40701         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
40702         Check for program_invocation_name, program_invocation_short_name,
40703         flockfile, funlockfile, features.h, _getopt_long_only_r.
40704
40705 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
40706
40707         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
40708         its complicated substitute.
40709         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
40710         and program_invocation_name.
40711         (__argp_basename) [!_LIBC]: Remove; the only use was
40712         replaced by its body.
40713         (__argp_short_program_name): Change condition from
40714         !defined __argp_short_program_name to
40715         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
40716         to match argp-namefrob.h.
40717         (__argp_failure): Don't assume strerror_r returns char *.
40718         * lib/argp-parse.c (N_): Define unconditionally.
40719         (argp_default_options): Fill out initializers with 0 to avoid
40720         gcc warnings.
40721
40722 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
40723
40724         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
40725         getopt1.c.
40726
40727 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
40728
40729         Merge from coreutils.
40730
40731         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
40732
40733         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
40734         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
40735
40736 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
40737
40738         Merge from coreutils.
40739
40740         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
40741         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
40742         for Reliant Unix 5.43.
40743
40744         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
40745         (union fooround): Use uintmax_t, not long int.
40746         The rest is a merge from libc:
40747         [defined _LIBC]: Include <shlib-compat.h>.
40748         (_obstack) [defined _LIBC]: Remove after 2.3.4.
40749
40750         * lib/settime.c (settime): Recode to avoid warning with
40751         Sun Forte C 6U2.
40752
40753         * lib/strverscmp.c: Convert to UTF-8.
40754
40755 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
40756
40757         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
40758         m4/uintmax_t.m4.
40759
40760 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
40761
40762         * modules/xalloc-die: New file.
40763         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
40764
40765         * modules/md5 (Files): Add m4/uint32_t.m4.
40766         * modules/sha1: Renamed from modules/sha.
40767         (Files):
40768         Rename lib/sha.h to lib/sha1.h.
40769         Rename lib/sha.c to lib/sha1.c.
40770         Rename m4/sha.m4 to m4/sha1.m4.
40771         (lib_SOURCES): Likewise.
40772         (configure.ac): Rename gl_SHA to gl_SHA1.
40773         (Include): sha.h -> sha1.h.
40774
40775 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
40776
40777         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
40778         * m4/sha1.m4: Renamed from sha.m4.
40779         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
40780
40781 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
40782
40783         * lib/obstack.h (obstack_empty_p):
40784         Don't assume that chunk->contents is suitably aligned.
40785         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
40786         Likewise. Problem reported by Benno in
40787         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
40788
40789         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
40790         readable.  This could be improved further but it'd take some work.
40791
40792 2004-08-08  Simon Josefsson  <jas@extundo.com>
40793
40794         * modules/xgethostname (Depends-on): Remove exit and error (not
40795         used).
40796
40797         * modules/getpass-gnu: Add getpass.h.
40798         (Depends-on): Add stdbool.
40799         * modules/getpass: Add getpass.h.
40800
40801 2004-08-08  Simon Josefsson  <jas@extundo.com>
40802
40803         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
40804         Check getpass declaration.
40805
40806 2004-08-08  Simon Josefsson  <jas@extundo.com>
40807
40808         * lib/xgethostname.c: Don't include error.h (not used).
40809
40810         * lib/getpass.h: Add.
40811         * lib/getpass.c: Include getpass.h first.
40812
40813 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
40814
40815         * lib/xalloc-die.c: New file.
40816         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
40817         All uses removed.
40818         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
40819         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
40820         xalloc-die.c.
40821         (_, N_, xalloc_die): Move to xalloc-die.c.
40822         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
40823         so that we needn't mess with xalloc_msg_memory_exhausted.
40824
40825         * lib/sha1.h: Renamed from sha.h.
40826         (SHA1_H): Renamed from _SHA_H.
40827         (sha1_ctx): Renamed from sha_ctx.
40828         (sha1_init_ctx): Renamed from sha_init_ctx.
40829         (sha1_process_block): Renamed from sha_process_block.
40830         (sha1_process_bytes): Renamed from sha_process_bytes.
40831         (sha1_finish_ctx): Renamed from sha_finish_ctx.
40832         (sha1_read_ctx): Renamed from sha_read_ctx.
40833         (sha1_stream): Renamed from sha_stream.
40834         (sha1_buffer): Renamed from sha_buffer.
40835         * lib/sha1.c: Likewise; renamed from sha.c.
40836         Do not include <sys/types.h>.
40837         Include <stddef.h> rather than <stdlib.h>.
40838
40839 2004-08-08  Bruno Haible  <bruno@clisp.org>
40840
40841         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
40842         FILESYSTEM_PREFIX_LEN.
40843         * lib/progreloc.c: Likewise.
40844         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
40845
40846 2004-08-06  Simon Josefsson  <jas@extundo.com>
40847
40848         * modules/progname (Depends-on): Don't depend on stdbool.
40849
40850 2004-08-06  Simon Josefsson  <jas@extundo.com>
40851
40852         * modules/getsubopt: New file.
40853         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
40854         getsubopt.
40855
40856 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
40857
40858         More merge from coreutils.
40859
40860         * m4/utimens.m4, m4/utimecmp.m4: New files.
40861         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
40862         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
40863         prereq.m4, sha.m4: Import changes from coreutils.
40864
40865 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
40866
40867         More merge from coreutils.
40868         * modules/raise, modules/readtokens0, modules/utimens:
40869         * modules/utimecmp, module/xnanosleep: New files.
40870         * modules/strftime: Add lib/strftime.h.
40871         Change include from <time.h> to "strftime.h".
40872         * modules/yesno: Add lib/yesno.h.
40873         * modules/backupfile: Remove lib/addext.c.
40874         * modules/euidaccess: Add stat-macros.h.
40875         * modules/canonicalize, modules/euidaccess,
40876         modules/filemode, modules/lchown, modules/makepath,
40877         modules/rmdir, modules/stat: Likewise.
40878
40879 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
40880
40881         Merge from tar.
40882         * lib/argp-help.c (make_hol, hol_append): Don't assume that
40883         SIZE_MAX is a valid preprocessor constant.
40884         (__argp_basename): Change from "#ifndef _LIBC"
40885         to "#ifndef __argp_short_program_name", so that
40886         we don't compile these functions for tar.
40887
40888         More merges from coreutils.
40889         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
40890         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
40891         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
40892         * lib/addext.c: Remove; no longer needed.
40893         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
40894         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
40895         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
40896         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
40897         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
40898         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
40899         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
40900         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
40901         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
40902         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
40903         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
40904         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
40905         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
40906         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
40907         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
40908         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
40909         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
40910         Import changes from coreutils.
40911
40912 2004-08-05  Simon Josefsson  <jas@extundo.com>
40913
40914         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
40915
40916 2004-08-05  Simon Josefsson  <jas@extundo.com>
40917
40918         * m4/getsubopt.m4: New file.
40919
40920 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40921
40922         Merge from coreutils.
40923
40924         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
40925         * m4/getcwd-path-max.m4: New files.
40926
40927         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
40928         FILESYSTEM_PREFIX_LEN ->
40929         FILE_SYSTEM_PREFIX_LEN.
40930         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
40931         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
40932         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
40933         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
40934
40935         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
40936         prerequisite modules now handle the DOS stuff.
40937         Don't check for unistd.h.
40938
40939 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40940
40941         Merge from coreutils.
40942
40943         * lib/.gdb-history: Remove; this doesn't belong here.
40944
40945         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
40946         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
40947         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
40948         * lib/getcwd.c: New files.
40949
40950         * lib/dirname.h: Include <stdbool.h>.
40951         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
40952         for consistency with POSIX terminology.  All uses changed.
40953         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
40954         (strip_trailing_slashes): Use bool for booleans.
40955         * lib/stripslash.c (strip_trailing_slashes): Likewise.
40956
40957         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
40958         sometimes returns a positive errno value even when it succeeds.
40959         (print_errno_message) [!LIBC]: Fall back on strerror if
40960         __strerror_r fails.
40961
40962         * lib/path-concat.c (mempcpy): Don't define if a system header defines
40963         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
40964         (longest_relative_suffix): New function.
40965         (path_concat): Use it.  Assume first argument is not NULL.
40966         Port to DOS.  Omit redundant separators.
40967         Report an error instead of returning NULL.
40968         Use mempcpy instead of memcpy.
40969         (xpath_concat): Remove: not declared or used.
40970
40971         * lib/same.h: Include <stdbool.h>
40972         (same_name): Return bool, not int.
40973         * lib/same.c (same_name): Likewise.
40974         (errno): Don't declare; we assume C89 or better now.
40975
40976         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
40977         if not already defined.
40978
40979         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
40980         * lib/dup-safer.c (errno): Likewise.
40981
40982 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40983
40984         Merge from coreutils.
40985         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
40986         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
40987         * modules/path-concat: Don't depend on strdup.
40988
40989 2004-08-03  Simon Josefsson  <jas@extundo.com>
40990
40991         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
40992         * lib/progname.h: Don't include stdbool.h.
40993
40994 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
40995
40996         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
40997         * MODULES.html.sh (func_all_modules): Remove fatal.
40998
40999 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
41000
41001         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
41002
41003 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
41004
41005         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
41006         working.
41007
41008 2004-08-02  Simon Josefsson  <jas@extundo.com>
41009
41010         * lib/getsubopt.h: New file, with comments from Bruno Haible.
41011         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
41012         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
41013
41014 2004-08-01  Simon Josefsson  <jas@extundo.com>
41015
41016         * lib/xgetdomainname.c: Include stdlib.h, for free().
41017
41018 2004-07-19  Bruno Haible  <bruno@clisp.org>
41019
41020         * MODULES.html.sh (func_all_modules): Add dummy.
41021
41022 2004-07-16  Simon Josefsson  <jas@extundo.com>
41023
41024         * modules/dummy: New file.
41025
41026 2004-07-16  Simon Josefsson  <jas@extundo.com>
41027
41028         * lib/dummy.c: New file.
41029
41030 2004-07-16  Bruno Haible  <bruno@clisp.org>
41031
41032         * lib/backupfile.h: Add extern "C" for C++.
41033         * lib/closeout.h: Likewise.
41034         * lib/copy-file.h: Likewise.
41035         * lib/findprog.h: Likewise.
41036         * lib/full-write.h: Likewise.
41037         * lib/pathname.h: Likewise.
41038         * lib/progname.h: Likewise.
41039         * lib/stpcpy.h: Likewise.
41040         * lib/stpncpy.h: Likewise.
41041         * lib/strcase.h: Likewise.
41042         * lib/strstr.h: Likewise.
41043         * lib/xalloc.h: Likewise.
41044
41045         * lib/mbswidth.h: Add extern "C" for C++.
41046         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
41047
41048 2004-07-13  Robert Millan  <robertmh@gnu.org>
41049
41050         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
41051
41052 2004-07-09  Simon Josefsson  <jas@extundo.com>
41053
41054         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
41055         failed without this.)
41056
41057 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
41058
41059         * modules/chown (Files): Add lib/fchown-stub.c, since
41060         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
41061
41062 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
41063
41064         * lib/fchown-stub.c: New file.
41065
41066 2004-06-24  Jim Meyering  <jim@meyering.net>
41067
41068         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
41069
41070 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
41071
41072         * modules/argz: Omit "#include".
41073
41074         * MODULES.html.sh (func_all_modules): Add calloc, to match
41075         2004-06-01 addition of calloc module.
41076
41077 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
41078
41079         * m4/argz.m4: New file, which is autoupdated from libtool.
41080
41081 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
41082
41083         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
41084         libtool.
41085
41086 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
41087
41088         * config/srclist-update: Don't insist on "USA." before the
41089         close-comment, as libtool omits the period and puts the */ on a
41090         separate line.
41091         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
41092         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
41093
41094 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
41095
41096         * modules/argz: New file.
41097         * MODULES.html.sh (func_all_modules): Add argz.
41098
41099 2004-06-12  Jim Meyering  <jim@meyering.net>
41100         and  Paul Eggert  <eggert@cs.ucla.edu>
41101
41102         * modules/hash (Files): Add lib/xalloc.h.
41103         * modules/pipe (Depends-on): Add wait-process.
41104         * modules/stat (Depends-on): Add xalloc.
41105         * modules/userspec (Files): Add lib/userspec.h.
41106         * modules/xstrto
41107
41108         Upgrade from gettext-0.13.
41109         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
41110         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
41111         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
41112
41113 2004-06-10  Jim Meyering  <jim@meyering.net>
41114
41115         * lib/calloc.c: New file.
41116
41117 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
41118
41119         * lib/getdate.y (yylex): Allow space between sign and number.
41120         Problem reported by Dan Jacobson.
41121
41122 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
41123
41124         Merge from coreutils CVS.
41125
41126         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
41127         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
41128         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
41129         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
41130         xstrtol.m4: Fix copyright date and/or serial number.
41131
41132         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
41133         See if we need an fchown replacement.
41134         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
41135         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
41136         and use the replacement function if we detect either defect.
41137
41138         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
41139         gl_UTIMECMP.
41140
41141 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
41142         and  Jim Meyering  <jim@meyering.net>
41143
41144         Merge from coreutils CVS.
41145
41146         * lib/stat-macros.h: New file, with contents from file-type.h
41147         and coreutils' system.h.
41148         * lib/file-type.c: Include "stat-macros.h".
41149         * lib/file-type.h (file_type): Move all macro definitions to new file,
41150         stat-macros.h.
41151
41152         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
41153         Wrap old code with this conditional.
41154         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
41155         function that does not dereference symlinks.
41156         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
41157
41158         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
41159         dependency problems.
41160         (xreadlink): Accept new arg SIZE, for efficiency.
41161         All decls and uses changed.
41162         * lib/xreadlink.h: Include <stddef.h>, for size_t.
41163
41164         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
41165         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
41166
41167         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
41168         sysexits.h.
41169
41170 2004-06-01  Jim Meyering  <jim@meyering.net>
41171
41172         * m4/calloc.m4: New file.
41173
41174 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
41175
41176         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
41177         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
41178         Also, fix a typo in a diagnostic.
41179
41180 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
41181
41182         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
41183         or AC_FUNC_REALLOC.
41184
41185 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
41186
41187         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
41188         macros to be defined.
41189         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
41190         the allocator returns NULL because the requested size is zero.
41191
41192 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
41193
41194         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
41195         var.  Add comment explaining why libc still defines it.  This
41196         merges the following patch from glibc:
41197         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
41198
41199 2004-05-20  Andreas Schwab  <schwab@suse.de>
41200
41201         * m4/free.m4: Replace free if it not known to work, not the other
41202         way round.
41203
41204 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
41205
41206         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
41207         present in glibc since revision 1.1 of this file.
41208         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
41209         obstack_alignment_mask, obstack_alloc, obstack_base,
41210         obstack_blank, obstack_blank_fast, obstack_chunk_size,
41211         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
41212         obstack_grow0, obstack_init, obstack_int_grow,
41213         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
41214         obstack_next_free, obstack_object_size, obstack_ptr_grow,
41215         obstack_ptr_grow_fast, obstack_room): Remove declarations of
41216         nonexistent functions.
41217
41218 2004-05-18  Karl Berry  <karl@gnu.org>
41219
41220         * config/srclist.txt: break link for vasnprintf.c.
41221
41222 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
41223
41224         Port obstack to the AS/400, where pointers are 16 bytes wide and
41225         you cannot cast an integer to a valid pointer.  This patch is
41226         currently waiting to be integrated into glibc; see
41227         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
41228
41229         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
41230         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
41231         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
41232         (struct obstack): temp member is now a union of a pointer and
41233         an integer, instead of an integer.  All integer uses changed.
41234         This does not affect the physical layout of struct obstack,
41235         except on hosts (like the AS/400) where the size or alignment of
41236         void * is greater than that of ptrdiff_t.
41237         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
41238         __STDC__)]: Store temporary in pointer member of union, not
41239         integer member.
41240         * lib/obstack.c: Include <stddef.h>, for offsetof.
41241         (struct fooalign): Remove; it doesn't need a name.
41242         (union fooround): Change double to long double, and add void *.
41243         (DEFAULT_ALIGNMENT): Use offsetof to compute.
41244         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
41245         not a macro.  Hence the values are always int; so remove all
41246         casts-to-int in uses.
41247
41248 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
41249
41250         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
41251         we can get this patch merged into glibc.
41252
41253 2004-05-17  Derek R. Price  <derek@ximbiot.com>
41254             Paul Eggert  <eggert@cs.ucla.edu>
41255
41256         * m4/argp: Depend on alloca.
41257
41258 2004-05-17  Derek R. Price  <derek@ximbiot.com>
41259             Paul Eggert  <eggert@cs.ucla.edu>
41260
41261         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
41262         freecoding.
41263
41264 2004-05-17  Bruno Haible  <bruno@clisp.org>
41265
41266         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
41267         precision that consists of a '.' followed by an empty digit string.
41268         Patch by Tor Lillqvist <tml@iki.fi>.
41269
41270 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
41271
41272         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
41273         for backward compatibility with older code.  We need our own
41274         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
41275         it under some other name, and our alloca.h will define it.
41276
41277 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
41278             Derek Price  <derek@ximbiot.com>
41279
41280         * lib/alloca.c: Include <alloca.h>, to get our interface.
41281         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
41282         include <alloca.h> first.  Use C89 prototype for alloca; this
41283         requires including <stddef.h> for size_t.  Use extern "C" if C++.
41284         Use #elif for simplicity, since we can assume C89 now.
41285         Don't try to source the system alloca.h since it will not be found
41286         and to prevent recursively including its replacement.
41287         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
41288         * lib/regex.c: Likewise.
41289
41290 2004-05-16  Derek Price  <derek@ximbiot.com>
41291             Paul Eggert  <eggert@cs.ucla.edu>
41292
41293         getline cleanup.  This changes the getndelim2 API: both order of
41294         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
41295         no delimiter).
41296
41297         * lib/getline.c: Don't include stddef.h or stdio.h, since our
41298         interface does that.
41299         (getline): Always use getdelim, so that we don't have two
41300         copies of this code.
41301         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
41302         if available.
41303         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
41304         (GETNDELIM2_MAXIMUM): New macro.
41305         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
41306         instead of the old practice of delim2==0.  All callers changed.
41307         Return -1 on overflow, instead of returning junk.
41308         Do not set *linesize unless allocation succeeds.
41309         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
41310         that we include sys/types.h.
41311         * lib/getnline.h: Likewise.
41312         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
41313         (getndelim2): Reorder arguments.
41314         * lib/getnline.c (getnline, getndelim):
41315         Don't discard the NMAX argument.
41316         (getnline): Invoke getndelim, to avoid code duplication.
41317         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
41318         of (size_t) -1 by callers of the getnline family.
41319
41320 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
41321
41322         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
41323         Check for gettimeofday.
41324         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
41325         Check for settimeofday, stime.
41326
41327 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
41328
41329         * lib/nanosleep.c (suspended): Change its type from int to
41330         sig_atomic_t volatile.
41331         (first_call): Make it private to rpl_nanosleep, and have it
41332         be zero initially as that's a bit faster.
41333         (my_usleep): Round up fractional times instead of truncating them,
41334         as this is the usual meaning for 'sleep'.
41335
41336         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
41337         doesn't work.
41338         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
41339         (ENOSYS): Define if not defined.
41340         (settime): Fall back on stime if it exists and settimeofday fails.
41341         But don't bother with fallbacks if a method fails with errno == EPERM.
41342
41343 2004-05-11  Jim Meyering  <jim@meyering.net>
41344
41345         Prior to this change, the save_cwd caller required read access to the
41346         current directory on most systems (ones with the fchdir function).
41347
41348         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
41349         fails, try write-only, and finally, resort to using xgetcwd.
41350
41351 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
41352
41353         * lib/obstack.c, obstack.h: Import changes from libc.
41354
41355 2004-04-28  Bruno Haible  <bruno@clisp.org>
41356
41357         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
41358         also implicitly appends .exe to executables.
41359         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
41360         accepts Windows pathnames.
41361         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
41362         Treat Cygwin like Windows, since it now accepts Windows pathnames.
41363         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
41364         Treat Cygwin like Windows, since it now accepts Windows pathnames.
41365         Reported by Derek Robert Price <derek@ximbiot.com>.
41366
41367 2004-04-21  Karl Berry  <karl@gnu.org>
41368
41369         * config/srclist.txt (localcharset.c): break sync.
41370
41371 2004-04-20  Paul Eggert  <eggert@twinsun.com>
41372
41373         * m4/host-os.m4: Add a copyright notice.
41374
41375 2004-04-20  Jim Meyering  <jim@meyering.net>
41376
41377         Change UTILS_ to gl_ in AC_DEFINE'd names.
41378         Change utils_- and jm_-prefixed variables, too.
41379         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
41380         UTILS_FUNC_MKDIR_TRAILING_SLASH.
41381         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
41382
41383         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
41384         Don't emit trailing blanks.
41385         Also rename jm_-prefixed variables to have gl_ prefix.
41386
41387         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
41388         Also rename jm_-prefixed variables to have gl_ prefix.
41389
41390         * m4/jm-macros.m4: Reflect the renamings.
41391         * m4/prereq.m4: Likewise.
41392
41393 2004-04-20  Jim Meyering  <jim@meyering.net>
41394
41395         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
41396         memory.
41397
41398 2004-04-20  Jim Meyering  <jim@meyering.net>
41399             Bruno Haible  <bruno@clisp.org>
41400
41401         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
41402         memory when realloc fails.
41403
41404 2004-04-19  Jim Meyering  <jim@meyering.net>
41405
41406         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
41407         now that readutmp.c may call `free (0)'.
41408
41409 2004-04-19  Bruno Haible  <bruno@clisp.org>
41410
41411         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
41412         * m4/inttypes_h.m4: Likewise.
41413         * m4/stdint_h.m4: Likewise.
41414         * m4/intmax_t.m4: Likewise.
41415         * m4/uintmax_t.m4: Likewise.
41416
41417 2004-04-18  Jim Meyering  <jim@meyering.net>
41418
41419         * m4/prereq.m4: Don't forbid jm_ prefix.
41420
41421         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
41422         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
41423         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
41424         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
41425         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
41426         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
41427         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
41428         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
41429         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
41430         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
41431         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
41432         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
41433         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
41434         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
41435         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
41436         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
41437         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
41438         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
41439         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
41440
41441 2004-04-18  Jim Meyering  <jim@meyering.net>
41442
41443         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
41444         failure, don't leak memory and do call END_UTMP_ENT.
41445
41446 2004-04-16  Jim Meyering  <jim@meyering.net>
41447
41448         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
41449         coreutils' stat program.
41450         (gl_PREREQ): Don't require jm_PREREQ_STAT.
41451
41452 2004-04-11  Paul Eggert  <eggert@twinsun.com>
41453
41454         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
41455         C89.
41456         (CHAR_BIT): Remove, since we assume C89.
41457         Include <stdint.h> if available, as per current Autoconf CVS advice.
41458
41459 2004-03-31  Jim Meyering  <jim@meyering.net>
41460
41461         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
41462         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
41463         * m4/xalloc.m4: Likewise.
41464
41465 2004-03-30  Paul Eggert  <eggert@twinsun.com>
41466
41467         Merge from coreutils.
41468
41469         * m4/inttostr.m4: New file.
41470         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
41471         Require AM_STDBOOL_H and gl_TIMESPEC instead.
41472         Require gl_CLOCK_TIME.
41473         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
41474
41475 2004-03-30  Paul Eggert  <eggert@twinsun.com>
41476
41477         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
41478         not bool, to be more consistent with Unix conventions.
41479         Suggested by Bruno Haible.
41480
41481         Merge from coreutils.
41482
41483         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
41484         * lib/umaxtostr.c: New files.
41485
41486         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
41487         the usual <time.h> dance.
41488         (get_date): Change signature to support fractional time stamps.
41489         All callers changed.
41490         * lib/getdate.y: Include "getdate.h" first, as we can now
41491         assume C89 and don't need to worry about 'const'.
41492         Similarly, include "unlocked-io.h" near start, not in middle.
41493         Include <limits.h>.
41494         (textint.value): Use long int rather than int.
41495         (textint.digits): Use size_t rather than int.
41496         (BILLION, LOG10_BILLION): New constants.
41497         (parser_control): New member rel_ns.  Members day_ordinal,
41498         time_zone, month, day, hour, minutes, rel_year, rel_month,
41499         rel_day, rel_hour, rel_minutes, rel_seconds
41500         are now long int, not int.  Member seconds is now struct timespec,
41501         not int.  New member timespec_seen.  Members dates_seen, days_seen,
41502         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
41503         not int.
41504         (%union.intval): Now long int, not int.
41505         New member timespec.
41506         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
41507         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
41508         (spec): Now is a timespec or an item list.
41509         (timespec, items): New nonterminals.
41510         (time, rel, relunit, number, get_date):
41511         Add support for fractional seconds.
41512         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
41513         (gmtime, localtime, mktime): Remove decls; not needed with C89.
41514         (to_hour): First arg is now long int, not int.
41515         (to_year): Returns long int, not int.
41516         Don't treat year -70 like 70.
41517         (tm_diff): Returns long int, not int.
41518         (lookup_word): Use bool instead of int when appropriate.
41519         (yylex): Use size_t for count, not int.
41520         Detect overflow when parsing large integer constants.
41521         Add support for fractions.
41522         (get_date): Make pointers 'const' if possible.
41523         Use more-portable code to detect integer overflow.
41524         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
41525         Don't use ctime; it's not reliable if the year has >4 digits.
41526
41527         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
41528         This is for compatibility with BSD.
41529
41530         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
41531         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
41532         From coreutils' system.h.
41533
41534         * lib/userspec.c: Don't include "posixver.h".
41535         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
41536         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
41537         compatible extension.  Simplify code by removing a boolean int
41538         that was always nonzero if a string was nonnull.
41539
41540 2004-03-30  Jim Meyering  <jim@meyering.net>
41541
41542         Merge from coreutils.
41543
41544         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
41545         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
41546         on some systems one must include <grp.h> before it.
41547         Reported by Christian Krackowizer.
41548
41549 2004-03-30  Jim Meyering  <jim@meyering.net>
41550
41551         Merge from coreutils.
41552
41553         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
41554
41555         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
41556         an empty input stream.
41557
41558         * lib/readtokens.c: Include <stdbool.h>.
41559         (readtoken): Use `size_t' rather than int/long.
41560         All callers adjusted.
41561         Use `bool' rather than `int' where appropriate.
41562         Use memset rather than an explicit loop.
41563         Use x2nrealloc rather than xrealloc.
41564         Allow the use of `\0' as a delimiter.
41565         (readtokens): Likewise.
41566         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
41567
41568 2004-03-30  Jim Meyering  <jim@meyering.net>
41569
41570         * m4/realloc.m4: Remove file, since now it does no more than
41571         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
41572         the `configure.ac' section of module/realloc.
41573         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
41574
41575 2004-03-30  Bruno Haible  <bruno@clisp.org>
41576
41577         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
41578         nonnull.
41579
41580 2004-03-29  Paul Eggert  <eggert@twinsun.com>
41581
41582         Merge changes to getloadavg.c from coreutils and Emacs.
41583
41584         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
41585         Define to an expression, not to the empty string.
41586         Include cloexec.h and xalloc.h.
41587         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
41588         Use set_cloexec_flag rather than rolling our own.
41589         * lib/cloexec.c, lib/cloexec.h: New files.
41590
41591 2004-03-29  Paul Eggert  <eggert@twinsun.com>
41592
41593         * m4/cloexec.m4: New file.
41594
41595 2004-03-18  Paul Eggert  <eggert@twinsun.com>
41596
41597         * lib/getopt.h: Sync with libc CVS.
41598
41599 2004-03-18  Paul Eggert  <eggert@twinsun.com>
41600             Bruno Haible  <bruno@clisp.org>
41601
41602         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
41603         mbswidth.
41604
41605 2004-03-18  Paul Eggert  <eggert@twinsun.com>
41606             Bruno Haible  <bruno@clisp.org>
41607
41608         * lib/mbswidth.h: Include <wchar.h> only if
41609         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
41610         <wchar.h>.
41611         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
41612
41613 2004-03-09  Paul Eggert  <eggert@twinsun.com>
41614
41615         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
41616         Sync with libc CVS.
41617         * lib/getopt_int.h: New file, also synced from libc.
41618
41619 2004-03-09  Paul Eggert  <eggert@twinsun.com>
41620
41621         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
41622         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
41623         Bring back getopt.c, getopt.h, getopt1.c.
41624
41625 2004-03-07  Paul Eggert  <eggert@twinsun.com>
41626
41627         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
41628         All uses changed.  Check for sa_sigaction member; this fixes
41629         a bug first reported by Jason Andrade in
41630         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
41631
41632 2004-03-07  Paul Eggert  <eggert@twinsun.com>
41633
41634         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
41635         '#if' expressions.  Unlike the code it replaces, it does not
41636         depend on (defined _SC_PAGESIZE).  However, it does depend on
41637         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
41638         first reported by Jason Andrade in
41639         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
41640
41641 2004-02-25  Simon Josefsson  <jas@extundo.com>
41642
41643         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
41644
41645 2004-02-25  Simon Josefsson  <jas@extundo.com>
41646
41647         * lib/strdup.h: New file.
41648         * lib/strdup.c: Include it.
41649         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
41650         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
41651
41652 2004-02-23  Karl Berry  <karl@gnu.org>
41653
41654         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
41655         (from fencepost.gnu.org:/gd/gnuorg).
41656
41657 2004-02-23  Karl Berry  <karl@gnu.org>
41658
41659         * config/srclistvars.sh (GNUORG) [karl]: redefine.
41660         * config/srclist.txt: add maintain/standards documents.
41661
41662 2004-02-18  Bruno Haible  <bruno@clisp.org>
41663
41664         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
41665         Reported by Derek Robert Price <derek@ximbiot.com>.
41666
41667 2004-02-16  Karl Berry  <karl@gnu.org>
41668
41669         * config/mkinstalldirs, install-sh: update from automake.
41670
41671 2004-02-06  Karl Berry  <karl@gnu.org>
41672
41673         * m4/po.m4: update from gettext 0.14.1.
41674
41675 2004-02-06  Karl Berry  <karl@gnu.org>
41676
41677         * lib/config.charset: update from gettext 0.14.1.
41678
41679 2004-02-05  Paul Eggert  <eggert@twinsun.com>
41680
41681         Add comments and code, prompted by suggestions from Bruno Haible
41682         for sh-quote.
41683         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
41684         describing the enum quoting_style values.
41685         * lib/quotearg.c (quotearg_alloc): New function.
41686         (quotearg_buffer_restyled): Treat lone { and } as special.
41687         Treat = as special.  Work around bug with older shells
41688         that "see" a '\' that is really the 2nd byte of a multibyte char.
41689         Quote empty string with shell_quoting_style.
41690
41691 2004-02-03  Bruno Haible  <bruno@clisp.org>
41692
41693         * m4/pipe.m4: New file, from GNU gettext.
41694
41695 2004-02-03  Bruno Haible  <bruno@clisp.org>
41696
41697         * lib/pipe.h: New file, from GNU gettext.
41698         * lib/pipe.c: New file, from GNU gettext.
41699
41700 2004-01-27  Bruno Haible  <bruno@clisp.org>
41701
41702         * m4/execute.m4: New file, from GNU gettext.
41703
41704 2004-01-27  Bruno Haible  <bruno@clisp.org>
41705
41706         * lib/execute.h: New file, from GNU gettext.
41707         * lib/execute.c: New file, from GNU gettext.
41708         * lib/w32spawn.h: New file, from GNU gettext.
41709
41710 2004-01-24  Paul Eggert  <eggert@twinsun.com>
41711
41712         Merge from diffutils.
41713
41714         * lib/file-type.c (file_type): Add typed memory objects.
41715         * lib/file-type.h (S_TYPEISTMO): New macro.
41716
41717         * lib/c-stack.h (c_stack_action): Remove argv argument.
41718         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
41719         (die): Don't calculate message unless segv_action returns.
41720         (get_stack_location, min_address_from_argv, max_address_from_argv,
41721         volatile stack_base, volatile_stack_size): Remove.
41722         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
41723         that every segmentation violation is a stack overflow.  (Ouch!)
41724         See Debian bug 136249 (still outstanding) for more info about why
41725         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
41726
41727 2004-01-24  Paul Eggert  <eggert@twinsun.com>
41728
41729         Exit-status fix from coreutils.
41730
41731         Use exit_failure consistently in place of EXIT_FAILURE,
41732         so that program exit statuses are consistent on failure.
41733
41734         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
41735         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
41736         * lib/argmatch.h: Comment fix to match the above.
41737         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
41738         Now a macro referring to exit_failure, instead of a separate
41739         variable.  Include "exitfail.h" to get it.
41740         * lib/xstrtol.h: Include "exitfail.h".
41741         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
41742
41743         * lib/long-options.c (parse_long_options): Use prototype
41744         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
41745         for clarity.
41746
41747 2004-01-21  Jim Meyering  <jim@meyering.net>
41748
41749         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
41750         so as not to conflict with a different-sized __mktime_internal
41751         function in GNU libc.
41752         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
41753         Problem building statically-linked `ls' reported by Michael Brunnbauer.
41754
41755 2004-01-20  Karl Berry  <karl@gnu.org>
41756
41757         * config/config.guess: update from config.
41758
41759         * config/srclistvars.sh: GNUWWWLICENSES for karl.
41760
41761 2004-01-20  Bruno Haible  <bruno@clisp.org>
41762
41763         Safer stack allocation.
41764         * lib/setenv.c: Include allocsa.h.
41765         (alloca): Remove fallback definition.
41766         (freea): Remove macro.
41767         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
41768         instead of freea.
41769
41770 2004-01-20  Bruno Haible  <bruno@clisp.org>
41771
41772         * m4/eealloc.m4: New file, from GNU gettext.
41773
41774 2004-01-20  Bruno Haible  <bruno@clisp.org>
41775
41776         * m4/allocsa.m4: New file, from GNU gettext.
41777
41778 2004-01-20  Bruno Haible  <bruno@clisp.org>
41779
41780         * lib/xallocsa.h: New file, from GNU gettext.
41781         * lib/xallocsa.c: New file, from GNU gettext.
41782
41783 2004-01-20  Bruno Haible  <bruno@clisp.org>
41784
41785         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
41786
41787 2004-01-20  Bruno Haible  <bruno@clisp.org>
41788
41789         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
41790         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
41791         specially.
41792
41793 2004-01-20  Bruno Haible  <bruno@clisp.org>
41794
41795         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
41796         patch.
41797
41798 2004-01-20  Bruno Haible  <bruno@clisp.org>
41799
41800         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
41801
41802 2004-01-20  Bruno Haible  <bruno@clisp.org>
41803
41804         * lib/eealloc.h: New file.
41805
41806 2004-01-20  Bruno Haible  <bruno@clisp.org>
41807
41808         * lib/binary-io.h: Avoid warnings on Cygwin.
41809
41810 2004-01-20  Bruno Haible  <bruno@clisp.org>
41811
41812         * lib/allocsa.h: New file, from GNU gettext.
41813         * lib/allocsa.c: New file, from GNU gettext.
41814
41815 2004-01-18  Karl Berry  <karl@gnu.org>
41816
41817         * doc/gpl.texi, doc/lgpl.texi: new files.
41818
41819 2004-01-18  Karl Berry  <karl@gnu.org>
41820
41821         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
41822         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
41823
41824 2004-01-15  Paul Eggert  <eggert@twinsun.com>
41825
41826         Merge from coreutils.
41827
41828         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
41829         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
41830         (gl_DEFAULT_POSIX2_VERSION): Move
41831         the documentation from 'configure' into 'config.hin',
41832         so that 'configure --help' isn't burdened by it and
41833         we don't have to worry about its formatting there.
41834         Reword the documentation so that it's more succinct
41835         and can be run together into a single paragraph.
41836         * m4/same.m4 (gl_SAME): Check for pathconf.
41837
41838 2004-01-15  Paul Eggert  <eggert@twinsun.com>
41839
41840         Merge from coreutils.
41841
41842         * lib/posixver.c: Include posixver.h.
41843
41844         * lib/same.c: Include <stdbool.h>, <limits.h>.
41845         (_POSIX_NAME_MAX): Define if not defined.
41846         (MIN): New macro.
41847         (same_name): If file names are silently truncated, report
41848         that the file names are the same if they are the same after
41849         the silent truncation.
41850
41851         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
41852         conversion function.
41853         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
41854         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
41855         longer needed.
41856
41857 2004-01-15  Jim Meyering  <jim@meyering.net>
41858
41859         Merge from coreutils.
41860
41861         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
41862         if no library is required.
41863         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
41864         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
41865         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
41866         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
41867         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
41868         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
41869         value, $ac_cv_search_crypt, if it's "none required".
41870         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
41871         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
41872         not gl_FUNC_GETLOADAVG.
41873         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
41874         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
41875
41876 2004-01-15  Jim Meyering  <jim@meyering.net>
41877
41878         Merge from coreutils.
41879
41880         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
41881         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
41882         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
41883
41884         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
41885         optional configure-time default.
41886
41887         * lib/version-etc.c (version_etc_copyright): Update copyright date.
41888
41889         * lib/xreadlink.c (xreadlink): Correct outdated comment.
41890
41891 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
41892
41893         Merge from coreutils.
41894
41895         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
41896         value, $ac_cv_search_nanosleep, if it's "none required".
41897
41898 2004-01-14  Paul Eggert  <eggert@twinsun.com>
41899
41900         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
41901         with like-named macro in fnmatch.c.
41902         (EXT): Use an internal constant instead.
41903
41904         Merge fnmatch patches from glibc.
41905         * lib/fnmatch.c (mbsinit): Remove define.
41906         Add libc_hidden_ver (__fnmatch, fnmatch).
41907         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
41908         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
41909
41910 2004-01-14  Karl Berry  <karl@gnu.org>
41911
41912         * config/install-sh: update from automake.
41913
41914 2004-01-13  Karl Berry  <karl@gnu.org>
41915
41916         * config/install-sh: update from automake.
41917
41918 2004-01-09  Karl Berry  <karl@gnu.org>
41919
41920         * config/install-sh: update from automake.
41921
41922 2004-01-05  Karl Berry  <karl@gnu.org>
41923
41924         * config/config.{sub,guess}: update from config.
41925
41926 2003-12-31  Karl Berry  <karl@gnu.org>
41927
41928         * config/depcomp: update from automake.
41929
41930 2003-12-14  Karl Berry  <karl@gnu.org>
41931
41932         * lib/config.charset: update from gettext-runtime.
41933
41934 2003-12-03  Paul Eggert  <eggert@twinsun.com>
41935
41936         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
41937         Bug reported by Alfred M. Szmidt.
41938
41939 2003-12-03  Bruno Haible  <bruno@clisp.org>
41940
41941         * m4/gettext.m4: Upgrade from gettext-0.13.
41942         * m4/po.m4: Upgrade from gettext-0.13.
41943         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
41944         * m4/intmax.m4: New file, from gettext-0.13.
41945         * m4/printf-posix.m4: New file, from gettext-0.13.
41946
41947 2003-11-29  Karl Berry  <karl@gnu.org>
41948
41949         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
41950
41951 2003-11-25  Paul Eggert  <eggert@twinsun.com>
41952             Bruno Haible  <bruno@clisp.org>
41953
41954         * lib/printf-parse.h: Don't include sys/types.h.
41955         (ARG_NONE): New macro.
41956         (char_directive): Change type of *arg_index fields to size_t.
41957         * lib/printf-parse.c: Don't include sys/types.h.
41958         (SSIZE_MAX): Remove macro.
41959         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
41960         Remove unnecessary overflow check.
41961         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
41962         fields.
41963
41964 2003-11-25  Bruno Haible  <bruno@clisp.org>
41965
41966         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
41967
41968 2003-11-25  Bruno Haible  <bruno@clisp.org>
41969
41970         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
41971         gt_TYPE_SSIZE_T.
41972
41973 2003-11-24  Paul Eggert  <eggert@twinsun.com>
41974
41975         * modules/alloca: Remove dependency on xalloc.
41976
41977 2003-11-24  Paul Eggert  <eggert@twinsun.com>
41978
41979         * lib/alloca.c: Remove dependency on xalloc module.
41980         (xalloc_die): Remove.
41981         (memory_full) [!defined emacs]: New macro.
41982         [!defined emacs]: Don't include xalloc.h.
41983         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
41984         address arithmetic overflows.  Change datatypes a bit to avoid
41985         unnecessary casts.
41986
41987 2003-11-22  Jim Meyering  <jim@meyering.net>
41988
41989         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
41990         s/size/size_t/.
41991
41992 2003-11-21  Karl Berry  <karl@gnu.org>
41993
41994         * config/config.{sub,guess}: update from config.
41995
41996 2003-11-18  Karl Berry  <karl@gnu.org>
41997
41998         * config/config.{sub,guess}: update from config.
41999
42000         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
42001
42002 2003-11-17  Paul Eggert  <eggert@twinsun.com>
42003
42004         * README: Mention that S+T cannot overflow if S is the size of
42005         an existing object and T is sufficiently small.
42006
42007 2003-11-17  Jim Meyering  <jim@meyering.net>
42008
42009         On systems without utime and without a utimes function capable of
42010         dealing with a NULL struct utimbuf* argument, this utime replacement
42011         could -- in unusual circumstances -- leak a file descriptor.
42012         * lib/utime.c: Include <unistd.h> and <errno.h>.
42013         (utime_null): Be sure to close `fd' and to preserve errno.
42014         Reported by Geoff Collyer via Arnold Robbins.
42015
42016 2003-11-17  Bruno Haible  <bruno@clisp.org>
42017
42018         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
42019         (Depends-on): Add xsize.
42020
42021 2003-11-17  Bruno Haible  <bruno@clisp.org>
42022
42023         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
42024
42025 2003-11-17  Bruno Haible  <bruno@clisp.org>
42026
42027         * lib/vasnprintf.c (alloca): Remove fallback definition.
42028         (freea): Remove definition.
42029         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
42030         Reported by Paul Eggert.
42031
42032 2003-11-16  Paul Eggert  <eggert@twinsun.com>
42033             Bruno Haible  <bruno@clisp.org>
42034
42035         Protect against address arithmetic overflow.
42036         * lib/printf-args.h: Include stddef.h.
42037         (arguments): Change type of field 'count' to size_t.
42038         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
42039         'unsigned int' where appropriate.
42040         * lib/printf-parse.h: Include sys/types.h.
42041         (char_directive): Change type of *arg_index fields to ssize_t.
42042         (char_directives): Change type of fields 'count', max_*_length to
42043         size_t.
42044         * lib/printf-parse.c: Include sys/types.h and xsize.h.
42045         (SSIZE_MAX): Define fallback value.
42046         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
42047         instead of 'int' where appropriate. Check a_allocated, d_allocated
42048         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
42049         * lib/vasnprintf.c: Include xsize.h.
42050         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
42051         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
42052         overflow. Avoid wraparound when converting a width or precision from
42053         decimal to binary.
42054
42055 2003-11-16  Bruno Haible  <bruno@clisp.org>
42056
42057         Update from GNU gettext.
42058         * lib/printf-parse.c: Generalize to it can be compiled for wide
42059         strings.
42060         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
42061         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
42062         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
42063         SNPRINTF): New macros.
42064         Don't include <alloca.h> if the file is used inside libintl.
42065         (local_wcslen): New function, for Solaris 2.5.1.
42066         (VASNPRINTF): Use it instead of wcslen.
42067
42068 2003-11-16  Bruno Haible  <bruno@clisp.org>
42069
42070         * lib/xsize.h (xmax): New function.
42071         (xsum, xsum3, xsum4): Declare as "pure" functions.
42072
42073 2003-11-12  Paul Eggert  <eggert@twinsun.com>
42074
42075         * modules/xalloc (Files): Undo latest change, since xalloc.h
42076         no longer needs SIZE_MAX or PTRDIFF_MAX.
42077
42078 2003-11-12  Paul Eggert  <eggert@twinsun.com>
42079
42080         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
42081         gl_PTRDIFF_MAX.
42082
42083 2003-11-12  Paul Eggert  <eggert@twinsun.com>
42084
42085         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
42086         "return", to pacify some unknown compiler.  Problem reported
42087         by Joerg Schilling.
42088
42089 2003-11-12  Paul Eggert  <eggert@twinsun.com>
42090
42091         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
42092         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
42093         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
42094         heuristic is just as accurate as far as we know, and it removes a
42095         dependency on size_max.m4 and ptrdiff_max.m4.
42096
42097 2003-11-11  Bruno Haible  <bruno@clisp.org>
42098
42099         * modules/xsize (Files): Add m4/size_max.m4.
42100         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
42101
42102 2003-11-11  Bruno Haible  <bruno@clisp.org>
42103
42104         * m4/size_max.m4: New file.
42105         * m4/ptrdiff_max.m4: New file.
42106         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
42107         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
42108         (gl_XALLOC): Invoke it.
42109
42110 2003-11-11  Bruno Haible  <bruno@clisp.org>
42111
42112         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
42113         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
42114         defined.
42115
42116 2003-11-10  Paul Eggert  <eggert@twinsun.com>
42117
42118         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
42119         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
42120         rejected some allocations of exactly SIZE_MAX - 2 bytes.
42121         From Bruno Haible.
42122         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
42123         not (size_t) -1, since it's defined here.
42124
42125 2003-11-09  Karl Berry  <karl@gnu.org>
42126
42127         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
42128
42129 2003-11-06  Paul Eggert  <eggert@twinsun.com>
42130
42131         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
42132         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
42133         Reject sizes of exactly SIZE_MAX bytes.
42134         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
42135         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
42136
42137 2003-11-05  Bruno Haible  <bruno@clisp.org>
42138
42139         * lib/xsize.h: Include limits.h, to avoid a possible collision with
42140         SIZE_MAX defined in <limits.h> on Solaris.
42141
42142 2003-11-04  Jim Meyering  <jim@meyering.net>
42143
42144         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
42145         variable names, rather than @VAR@.
42146         * modules/poll: Likewise.
42147
42148 2003-11-04  Bruno Haible  <bruno@clisp.org>
42149
42150         * modules/xsize: New file.
42151         * modules/linebreak: Depend on xsize.
42152         * MODULES.html.sh (func_all_modules): Add xsize.
42153
42154 2003-11-04  Bruno Haible  <bruno@clisp.org>
42155
42156         * m4/xsize.m4: New file.
42157
42158 2003-11-04  Bruno Haible  <bruno@clisp.org>
42159
42160         * lib/xsize.h: New file.
42161         * lib/linebreak.c: Include xsize.h.
42162         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
42163         argument for overflow.
42164         Suggested by Paul Eggert.
42165
42166 2003-11-03  Karl Berry  <karl@gnu.org>
42167
42168         * config/config.{guess,sub}: update from config.
42169
42170 2003-11-03  Jim Meyering  <jim@meyering.net>
42171
42172         * modules/userspec (lib_SOURCES): Add userspec.h.
42173         (Include): Add "userspec.h".
42174         Improve description.
42175
42176 2003-11-03  Jim Meyering  <jim@meyering.net>
42177
42178         * lib/userspec.c: Include "userspec.h".
42179         * lib/userspec.h: New file.
42180
42181 2003-11-03  Bruno Haible  <bruno@clisp.org>
42182
42183         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
42184
42185 2003-11-03  Bruno Haible  <bruno@clisp.org>
42186
42187         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
42188         available, to avoid (extremely rare) race condition.
42189         Suggested by Paul Eggert.
42190
42191 2003-11-02  Karl Berry  <karl@gnu.org>
42192
42193         * config/srclist.txt (vasprintf.c): sync broken, sigh.
42194
42195 2003-10-31  Paul Eggert  <eggert@twinsun.com>
42196
42197         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
42198         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
42199         (read_filesystem_list): Set and use me_type_malloced.
42200         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
42201         whatever the type happens to be), for brevity and consistency.
42202         Check for size calculation overflow on Alphas running OSF/1.
42203
42204 2003-10-31  Jim Meyering  <jim@meyering.net>
42205
42206         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
42207
42208         * lib/linebuffer.c: Include <string.h> for declaration of memset.
42209
42210 2003-10-30  Paul Eggert  <eggert@twinsun.com>
42211             Bruno Haible  <bruno@clisp.org>
42212
42213         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
42214         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
42215
42216 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
42217
42218         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
42219         netbsd*-gnu*.  Suggested by Robert Millan.
42220
42221 2003-10-29  Paul Eggert  <eggert@twinsun.com>
42222
42223         * modules/group-member: Depend on stdbool.
42224
42225 2003-10-29  Paul Eggert  <eggert@twinsun.com>
42226
42227         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
42228
42229 2003-10-29  Paul Eggert  <eggert@twinsun.com>
42230
42231         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
42232         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
42233         after the 'gnu' in these cases.  This fixes some bugs in the
42234         previous change, and is based on suggestions by Robert Millan.
42235
42236 2003-10-29  Paul Eggert  <eggert@twinsun.com>
42237
42238         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
42239         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
42240         no longer needed.
42241         * lib/quotearg.c (quotearg_n_options): Use it.
42242         * lib/group-member.c: Include <stdbool.h>.
42243         (free_group_info): Arg is now const *; don't free arg.
42244         (get_group_info): Now returns bool and accepts struct group_info *,
42245         rather than returning a malloc'ed struct group_info *.
42246         All uses changed.  Check for overflow in internal size calculation.
42247
42248         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
42249         rather than xmalloc/xrealloc.
42250         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
42251         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
42252         conformance bug: the old code used a pointer after freeing the
42253         storage that it addressed.
42254         * lib/hash.c (hash_initialize): Simplify the code by using
42255         xalloc_oversized rather than doing it by hand.
42256         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
42257         the buffer preserved.  Use free and xmalloc instead.
42258         * lib/quotearg.c (quotearg_n_options): Likewise.
42259         Use a simpler test for size overflow.  Don't use xalloc_oversized
42260         because unsigned int might be wider than size_t (!); this suggests
42261         that we should switch from unsigned int to size_t for slot numbers.
42262
42263 2003-10-28  Paul Eggert  <eggert@twinsun.com>
42264
42265         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
42266         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
42267         NetBSD kernels.  Requested by Richard Stallman.
42268
42269 2003-10-27  Paul Eggert  <eggert@twinsun.com>
42270
42271         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
42272         to allocate the returned structure.  Do not allocate a subarray,
42273         as x2nrealloc will do that.
42274         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
42275         instead of xnrealloc.
42276         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
42277
42278 2003-10-27  Bruno Haible  <bruno@clisp.org>
42279
42280         * lib/stdbool_.h: Better support for BeOS.
42281
42282 2003-10-26  Paul Eggert  <eggert@twinsun.com>
42283
42284         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
42285         now uses inline.
42286
42287 2003-10-26  Paul Eggert  <eggert@twinsun.com>
42288
42289         * lib/xalloc.h (xalloc_oversized): New static inline function, for
42290         callers that want to do their own size-overflow checking.  Include
42291         <stdbool.h>, since xalloc_oversized returns bool.
42292         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
42293         to use xalloc_oversized.
42294
42295         Add two functions x2realloc, x2nrealloc, for programs that grow
42296         arrays dynamically by doubling their sizes.
42297         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
42298         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
42299         New functions.
42300
42301         Port to C99 semantics for 'inline' of external functions.
42302         Bug reported by Bruno Haible.
42303         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
42304         with the old contents of xnmalloc.
42305         (xnmalloc, xmalloc): Use it.
42306         (xnrealloc_inline): New static inline function,
42307         with the old contents of xnrealloc.
42308         (xnrealloc, xrealloc): Use it.
42309
42310         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
42311         that.
42312
42313 2003-10-26  Karl Berry  <karl@gnu.org>
42314
42315         * config/srclist.txt (COPYING.DOC): no longer available from
42316         /gd/gnuorg; don't know where the ultimate source is.
42317
42318 2003-10-25  Paul Eggert  <eggert@twinsun.com>
42319
42320         Fix several address-calculation bugs in the hash modules,
42321         plus some minor code cleanup.
42322
42323         * lib/hash.h: Include <stdbool.h>, for bool.
42324         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
42325         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
42326         hash_get_n_entries, hash_get_max_bucket_length,
42327         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
42328         hash_rehash): Use size_t rather than unsigned.
42329         * lib/hash.c (struct hash_table, hash_get_n_buckets,
42330         hash_get_n_buckets_used, hash_get_n_entries,
42331         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
42332         hash_get_entries, hash_do_for_each, hash_string, is_prime,
42333         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
42334         Likewise.
42335         (SIZE_MAX): Define if not defined.
42336         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
42337         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
42338         hash_print):
42339         Use const * when possible.
42340         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
42341         (check_tuning): Fix bug: if tuning parameters were very close to
42342         0 or 1, rounding errors could have caused subscript violations.
42343         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
42344         (hash_initialize): Add 'fail:' label
42345         to free table and return NULL, and use it to simplify code.
42346         Use calloc rather than clearing the storage ourself.
42347         (hash_initialize, hash_rehash): Check for arithmetic overflow in
42348         buffer size calculations.
42349         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
42350         Include <stddef.h>, for size_t.
42351         * lib/hash-pjw.c (hash_pjw): Likewise.
42352         Switch to method described by Bruno Haible.
42353         Include <limits.h>, for CHAR_BIT.
42354         (SIZE_BITS): New macro.
42355
42356 2003-10-23  Paul Eggert  <eggert@twinsun.com>
42357
42358         * m4/getline.m4 (AM_FUNC_GETLINE):
42359         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
42360         hosts.  Problem reported by Derek Robert Price in
42361         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
42362         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
42363         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
42364
42365 2003-10-21  Paul Eggert  <eggert@twinsun.com>
42366
42367         * lib/getndelim2.c (getndelim2): When size calculation overflows,
42368         ceiling the allocation at NMAX bytes rather than silently
42369         discarding input bytes before NMAX is reached.  This makes
42370         a difference only if NMAX exceeds SIZE_MAX / 2.
42371
42372         * lib/obstack.c: Merge from glibc.
42373         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
42374         Add libc_hidden_def (_obstack_newchunk).
42375         (_obstack_free) [! defined _LIBC]: Remove.
42376         [defined _LIBC]: Make a strong alias from obstack_free, rather than
42377         a clone of the function body.
42378         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
42379         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
42380
42381         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
42382         glibc.
42383         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
42384         arg to memcpy.
42385
42386         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
42387         (obstack_ptr_grow_fast, obstack_int_grow_fast):
42388         Don't use lvalue casts, as GCC plans to remove support for them
42389         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
42390         was also present in the non-GCC version, indicating that this
42391         code had always been buggy and had never been widely used.
42392         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
42393         Use the fast variant of each macro, rather than copying the
42394         definiens of the fast variant; that way, we'll be more likely to
42395         catch future bugs in the fast variants.
42396
42397 2003-10-20  Bruno Haible  <bruno@clisp.org>
42398
42399         * modules/wait-process: New file.
42400         * MODULES.html.sh (func_all_modules): Add wait-process.
42401
42402 2003-10-20  Bruno Haible  <bruno@clisp.org>
42403
42404         * m4/wait-process.m4: New file.
42405
42406 2003-10-20  Bruno Haible  <bruno@clisp.org>
42407
42408         * lib/wait-process.h: New file, from GNU gettext.
42409         * lib/wait-process.c: New file, from GNU gettext.
42410
42411 2003-10-19  Jim Meyering  <jim@meyering.net>
42412
42413         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
42414         HPUX 10.20.
42415
42416 2003-10-18  Karl Berry  <karl@gnu.org>
42417
42418         * config/config.guess: update from config.
42419
42420 2003-10-16  Paul Eggert  <eggert@twinsun.com>
42421
42422         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
42423         (getgroups): First arg is int, not size_t.
42424         Don't let 'free' mangle errno.
42425
42426 2003-10-16  Paul Eggert  <eggert@twinsun.com>
42427
42428         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
42429
42430 2003-10-16  Karl Berry  <karl@gnu.org>
42431
42432         * config/config.{guess,sub}: update from config.
42433
42434 2003-10-16  Jim Meyering  <jim@meyering.net>
42435
42436         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
42437         memcpy.
42438
42439 2003-10-15  Paul Eggert  <eggert@twinsun.com>
42440
42441         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
42442         (SIZE_MAX): Remove.
42443         (new_exclude, add_exclude_file): Initial size no longer needs to
42444         be a power of 2.
42445         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
42446         our own address arithmetic overflow checking.
42447
42448         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
42449         (fnmatch): Do not alloca more than 2000 wide characters;
42450         instead, use malloc for large buffers.
42451         Check for address arithmetic overflow, and return -1
42452         with errno set to ENOMEM in that case.
42453         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
42454         (NEW_PATTERN): Do not alloca more than 8000 bytes;
42455         instead, return -1.  Check for address arithmetic overflow.
42456
42457 2003-10-14  Paul Eggert  <eggert@twinsun.com>
42458
42459         Handle invalid suffixes and overflow independently, so that
42460         callers can treat them independently as needed.  Fix some bugs in
42461         suffix handling, e.g., "100k@" was not diagnosed as an invalid
42462         suffix for a human-readable blocksize.  The major caller-visible
42463         change is the addition of a new
42464         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
42465         that both overflow and suffix chars were found.
42466
42467         * lib/human.c (humblock): Don't check separately for invalid suffix
42468         char; that is xstrtoumax's job (now that its bug is fixed).
42469         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
42470         INTMAX_MAX]: New macros.
42471         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
42472         TYPE_MAXIMUM): New macros.
42473         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
42474         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
42475         if overflow occurs, as it's what __strtol does and it's more useful
42476         in practice.
42477         (__xstrtol): If __strtol reports some error other than ERANGE,
42478         reflect it to the caller as LONGINT_INVALID.  If it reports
42479         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
42480         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
42481         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
42482         value.
42483         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
42484         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
42485         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
42486         [defined UINTMAX_MAX]: New macros.
42487
42488 2003-10-14  Bruno Haible  <bruno@clisp.org>
42489
42490         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
42491
42492 2003-10-14  Bruno Haible  <bruno@clisp.org>
42493
42494         * m4/sig_atomic_t: New file, from GNU gettext.
42495         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
42496
42497 2003-10-14  Bruno Haible  <bruno@clisp.org>
42498
42499         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
42500         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
42501         Also use volatile where needed.
42502
42503 2003-10-12  Paul Eggert  <eggert@twinsun.com>
42504
42505         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
42506         Change maintainer from Bruno Haible to 'all'.
42507
42508 2003-10-12  Paul Eggert  <eggert@twinsun.com>
42509
42510         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
42511
42512 2003-10-12  Paul Eggert  <eggert@twinsun.com>
42513
42514         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
42515         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
42516         and define in terms of the other primitives.
42517         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
42518         (SIZE_MAX): Define if not already defined.
42519         (array_size_overflow): New function.
42520         (xalloc_die): Abort instead of exiting if 'error' returns.
42521         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
42522         (xmalloc, xrealloc): Use them.
42523         (xcalloc): Check for address arithmetic overflow.
42524         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
42525         a bit faster than strcpy.
42526
42527 2003-10-10  Simon Josefsson  <jas@extundo.com>
42528
42529         * modules/argp (Depends-on): Add restrict and strcase.
42530
42531 2003-10-10  Simon Josefsson  <jas@extundo.com>
42532
42533         * m4/argp.m4: Add AC_C_INLINE.
42534
42535 2003-10-08  Paul Eggert  <eggert@twinsun.com>
42536
42537         Merge getpass from libc, plus a few fixes.
42538
42539         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
42540         Include <stdbool.h>.
42541         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
42542         __fsetlocking to empty.
42543         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
42544         do include <bits/libc-lock.h>.
42545         Do not include <fcntl.h>; not needed.
42546         [_LIBC]: Include <wchar.h>.
42547         (NOTCANCEL_MODE): New macro.
42548         (flockfile, funlockfile) [_LIBC]: New macros.
42549         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
42550         [!_LIBC]: New macros.
42551         (call_fclose): New function.
42552         (getpass): Use it.  Save tty stream separately; this simplifies the
42553         code and makes it more reliable if stdin happens to equal stdout.
42554         Invoke __fsetlocking on tty.
42555         Handle thread cancellation if needed.
42556         Namespace cleanup (use __tcgetattr, __getline).
42557         Use bool for Booleans.
42558         [USE_IN_LIBIO]: Handle wide streams.
42559         [!_LIBC]: Unconditionally do the fseek, since we don't know what
42560         stream might go where.
42561
42562         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
42563         doesn't have to include <stdio.h> before us.
42564         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
42565         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
42566         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
42567         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
42568         if not declared, so that we can use getpass.c code from libc without
42569         rewriting it.
42570         (flockfile, ftrylockfile, funlockfile): New macros.
42571
42572 2003-10-08  Paul Eggert  <eggert@twinsun.com>
42573
42574         * modules/getpass: Depend on stdbool.
42575
42576 2003-10-08  Paul Eggert  <eggert@twinsun.com>
42577
42578         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
42579
42580 2003-10-07  Karl Berry  <karl@gnu.org>
42581
42582         * config/config.{guess,sub}: update from config.
42583
42584 2003-10-06  Jim Meyering  <jim@meyering.net>
42585             Bruno Haible  <bruno@clisp.org>
42586
42587         This lets translators provide better translations for the
42588         "Written by ..." part of --version output.
42589         * lib/version-etc.h: Include stdarg.h.
42590         (version_etc_copyright): Declare as readonly.
42591         (version_etc): Make this function variadic with a NULL-terminated list
42592         of author name strings.
42593         (version_etc_va): New declaration.
42594         * lib/version-etc.c: Include stdarg.h, stdlib.h.
42595         (version_etc_copyright): Declare as readonly.
42596         (version_etc_va): New function. Provide a different translatable string
42597         for each possible number of authors < 10. Abbreviate when there are 10
42598         authors or more.
42599         (version_etc): Make this function variadic. Call version_etc_va.
42600         Suggestion from Gary V. Vaughan.
42601
42602         * lib/long-options.h (parse_long_options): Change prototype: the
42603         authors string is moved to the end and becomes variadic.
42604         * lib/long-options.c: Include stdarg.h.
42605         (parse_long_options): Make this function variadic, too.
42606         Call version_etc_va, not version_etc.
42607
42608 2003-10-06  Bruno Haible  <bruno@clisp.org>
42609
42610         * modules/version-etc-2: Remove file.
42611         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
42612
42613 2003-10-06  Bruno Haible  <bruno@clisp.org>
42614
42615         * modules/fatal-signal: New file.
42616         * MODULES.html.sh (func_all_modules): Add fatal-signal.
42617
42618 2003-10-06  Bruno Haible  <bruno@clisp.org>
42619
42620         * m4/fatal-signal.m4: New file.
42621         * m4/signalblocking.m4: New file, from GNU gettext.
42622
42623 2003-10-06  Bruno Haible  <bruno@clisp.org>
42624
42625         * lib/version-etc-2.h: Remove file.
42626         * lib/version-etc-2.c: Remove file.
42627
42628 2003-10-06  Bruno Haible  <bruno@clisp.org>
42629
42630         * lib/fatal-signal.h: New file, from GNU gettext.
42631         * lib/fatal-signal.c: New file, from GNU gettext.
42632
42633 2003-10-05  Paul Eggert  <eggert@twinsun.com>
42634
42635         * README: Rework advice for preventing empty .o files.
42636         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
42637         not <sys/types.h>.
42638
42639 2003-10-04  Karl Berry  <karl@gnu.org>
42640
42641         * lib/argp*: update from libc.
42642
42643 2003-10-04  Karl Berry  <karl@gnu.org>
42644
42645         * config/config.{guess,sub}: update from config.
42646
42647 2003-10-02  Bruno Haible  <bruno@clisp.org>
42648
42649         * modules/lchown (Include): Add lchown.h.
42650         * modules/time_r (Include): Use "..." syntax.
42651         * modules/xgetdomainname (Include): Add xgetdomainname.h.
42652
42653 2003-10-01  Simon Josefsson  <jas@extundo.com>
42654
42655         * MODULES.html.sh (func_all_modules): Move gethostname from section
42656         'based on' to section 'lacking' POSIX:2001.
42657
42658 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
42659
42660         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
42661         to output mode on the same stream.
42662
42663 2003-09-29  Paul Eggert  <eggert@twinsun.com>
42664
42665         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
42666         Fix arg typo in previous patch.
42667
42668 2003-09-28  Jim Meyering  <jim@meyering.net>
42669
42670         * lib/error.c: Correct cpp indentation.
42671
42672 2003-09-27  Paul Eggert  <eggert@twinsun.com>
42673
42674         * modules/free: New file.
42675
42676 2003-09-27  Paul Eggert  <eggert@twinsun.com>
42677
42678         * m4/free.m4: New file.
42679
42680 2003-09-27  Paul Eggert  <eggert@twinsun.com>
42681
42682         * lib/minmax.h (MIN, MAX)
42683         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
42684         Omit the special code that used __typeof__, since we worry that
42685         it could be more trouble than it's worth.  See:
42686         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
42687         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
42688
42689         * lib/free.c: New file.
42690
42691 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
42692
42693         Trivial fixes to Makefile.am parts of module listings.
42694         * modules/strstr: Append strstr.h to lib_SOURCES.
42695         * modules/strcase: Likewise, for strcase.h.
42696
42697 2003-09-27  Karl Berry  <karl@gnu.org>
42698
42699         * config/mkinstalldirs: update from automake.
42700
42701 2003-09-26  Paul Eggert  <eggert@twinsun.com>
42702
42703         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
42704         (error_tail): Do not loop, reallocating temporary buffer, since
42705         the output cannot contain more wide characters than the input
42706         contains bytes, the size must be big enough already.  This avoids
42707         one potential size overflow calculation.  Check for size overflow
42708         when calculating temporary buffer size.  Free temporary buffer
42709         when done, if it was allocated with malloc; this plugs a memory
42710         leak.  Remove casts from void * to pointers, that are no longer
42711         needed now that we're assuming C89 or better.
42712
42713         Merge error changes from glibc.
42714
42715         * lib/error.c, error.h: Update copyright notice header to match glibc.
42716         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
42717         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
42718         Disable cancellation while printing error.
42719         * lib/error.h: Prepend __ to parameter names.
42720
42721 2003-09-26  Jim Meyering  <jim@meyering.net>
42722
42723         * lib/error.c (error_tail): Move some declarations
42724         into inner scope where the local variables are used.
42725
42726 2003-09-26  Bruno Haible  <bruno@clisp.org>
42727
42728         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
42729         stpncpy().
42730         Don't define stpncpy through config.h; it's now done through stpncpy.h.
42731
42732 2003-09-26  Bruno Haible  <bruno@clisp.org>
42733
42734         * lib/stpncpy.h (gnu_stpncpy): New declaration.
42735         (stpncpy): Define as alias for gnu_stpncpy.
42736         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
42737
42738 2003-09-25  Simon Josefsson  <jas@extundo.com>
42739
42740         * lib/xgetdomainname.h: New file.
42741         * lib/xgetdomainname.c: New file.
42742
42743 2003-09-25  Simon Josefsson  <jas@extundo.com>
42744             Bruno Haible  <bruno@clisp.org>
42745
42746         * modules/getdomainname: New file.
42747         * modules/xgetdomainname: New file.
42748         * MODULES.html.sh (func_all_modules): Add getdomainname,
42749         xgetdomainname.
42750
42751 2003-09-25  Simon Josefsson  <jas@extundo.com>
42752             Bruno Haible  <bruno@clisp.org>
42753
42754         * m4/getdomainname.m4: New file.
42755
42756 2003-09-25  Simon Josefsson  <jas@extundo.com>
42757             Bruno Haible  <bruno@clisp.org>
42758
42759         * lib/getdomainname.h: New file.
42760         * lib/getdomainname.c: New file.
42761
42762 2003-09-25  Karl Berry  <karl@gnu.org>
42763
42764         * lib/argp-fmtstream.c, argp-help.c: update from libc.
42765
42766 2003-09-25  Karl Berry  <karl@gnu.org>
42767
42768         * config/install-sh: update from automake.
42769
42770 2003-09-25  Bruno Haible  <bruno@clisp.org>
42771
42772         * modules/version-etc-2: New file, from modules/version-etc with
42773         modifications.
42774         * MODULES.html.sh (func_all_modules): Add version-etc-2.
42775
42776 2003-09-25  Bruno Haible  <bruno@clisp.org>
42777
42778         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
42779         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
42780
42781 2003-09-24  Simon Josefsson  <jas@extundo.com>
42782
42783         * modules/xgethostname: Add xgethostname.h.
42784
42785 2003-09-24  Paul Eggert  <eggert@twinsun.com>
42786
42787         * lib/linebuffer.c (freebuffer): Don't free the argument, just
42788         the buffer associated with the argument.  Bug reported by
42789         Simon Josefsson.
42790
42791 2003-09-24  Paul Eggert  <eggert@twinsun.com>
42792
42793         * README: Document assumptions that 'int' is at least 32 bits
42794         wide, that integer arithmetic is 2's complement without overflow,
42795         that there are no holes in integer values, that adding sizes of
42796         two nonoverlapping objects can't overflow, and that all-bits-zero
42797         yields scalar zero.  Fix spelling and capitalization typos.
42798
42799 2003-09-19  Karl Berry  <karl@gnu.org>
42800
42801         * lib/argp.h: update from libc.
42802
42803 2003-09-17  Paul Eggert  <eggert@twinsun.com>
42804
42805         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
42806         to avoid spurious warnings like "AC_RUN_IFELSE was called before
42807         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
42808
42809 2003-09-17  Paul Eggert  <eggert@twinsun.com>
42810
42811         * gnulib-tool: Use "test -h", not "test -L", for portability
42812         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
42813         (tags_regexp): Remove, since \| doesn't conform to POSIX.
42814         (sed_extract_prog): Issue s commands one-by-one, rather than
42815         using \| in one s command.
42816
42817 2003-09-16  Paul Eggert  <eggert@twinsun.com>
42818
42819         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
42820         input error, instead of returning NULL the next time we are called
42821         (and therefore losing track of errno).
42822
42823 2003-09-16  Bruno Haible  <bruno@clisp.org>
42824
42825         * gnulib-tool (func_create_testdir): Warn about duplicated
42826         dependencies.
42827
42828 2003-09-15  Paul Eggert  <eggert@twinsun.com>
42829
42830         * modules/argmatch, modules/fatal, modules/obstack,
42831         modules/xalloc, modules/xgethostname: Sort dependencies by
42832         importance, not alphabetically.
42833
42834 2003-09-15  Paul Eggert  <eggert@twinsun.com>
42835
42836         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
42837         fails, so that the caller gets the proper errno.
42838
42839         * lib/readutmp.c (read_utmp): Likewise.
42840         Check for fstat error.  Close stream and free storage
42841         when failing.
42842
42843 2003-09-14  Karl Berry  <karl@gnu.org>
42844
42845         * config/srclist.txt (strdup.c): disable for c89 changes.
42846
42847 2003-09-14  Jim Meyering  <jim@meyering.net>
42848
42849         * lib/getloadavg.c: Correct cpp indentation.
42850         * lib/strdup.c: Likewise.
42851         * lib/vasnprintf.c: Likewise.
42852
42853 2003-09-14  Bruno Haible  <bruno@clisp.org>
42854
42855         * modules/fwriteerror: New file.
42856         * MODULES.html.sh (func_all_modules): Add fwriteerror.
42857
42858 2003-09-14  Bruno Haible  <bruno@clisp.org>
42859
42860         * lib/fwriteerror.h: New file.
42861         * lib/fwriteerror.c: New file.
42862
42863 2003-09-12  Paul Eggert  <eggert@twinsun.com>
42864
42865         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
42866         modules/xgethostname, modules/xalloc: Depend on exit.
42867
42868 2003-09-12  Paul Eggert  <eggert@twinsun.com>
42869
42870         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
42871
42872         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
42873         and AC_MINIX, too, so that their extensions are available.
42874
42875         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
42876         This macro has been superseded by gl_BACKUPFILE.
42877
42878         More patches to assume C89 or better.
42879
42880         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
42881
42882         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
42883         unconditionally.
42884         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
42885         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
42886         Include <string.h>, <stdlib.h> unconditionally.
42887         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
42888         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
42889         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
42890         headers or for string.h.
42891         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
42892         or strtoul.
42893
42894         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
42895         headers.
42896         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
42897         * m4/userspec.m4 (gl_USERSPEC): Likewise.
42898         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
42899         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
42900         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
42901         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
42902         memcpy, memset.
42903         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
42904         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
42905         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
42906         strtol.
42907         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
42908         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
42909         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
42910         strtoul.
42911
42912 2003-09-12  Paul Eggert  <eggert@twinsun.com>
42913
42914         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
42915         * lib/obstack.c [!defined _LIBC]: Likewise.
42916         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
42917         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
42918         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
42919
42920         More changes to assume C89 or better.
42921
42922         * lib/error.c (error_tail): Assume vprintf.
42923
42924         * lib/argmatch.c (getenv): Remove decl.
42925         * lib/progreloc.c (get_full_program_name): Define via prototype.
42926         * lib/setenv.c (clearenv): Likewise.
42927         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
42928         needed.
42929         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
42930         (malloc, memcpy): Remove decls.
42931         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
42932         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
42933         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
42934         (memcpy): Remove macro.
42935         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
42936         (__P): Remove.  All uses removed.
42937         (PTR): Remove.  All uses changed to void *.
42938         (CHAR_BIT, NULL): Remove.
42939         (spaces, zeros, memset_space, memset_zero)
42940         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
42941         Remove.
42942         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
42943         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
42944         Define with prototype.
42945         Remove now-unnecessary prototype decl.
42946         (extra_args_spec): Assume ANSI C.  All uses changed.
42947         (extra_args_spec_iso): Remove.
42948         (my_strftime, emacs_strftimeu): Define via prototype.
42949         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
42950         unconditionally.
42951         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
42952         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
42953         (strtoul, strtol): Remove decls.
42954         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
42955         LONG_MAX): Remove.
42956         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
42957         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
42958         (LOCALE_PARAM_PROTO): New macro.
42959         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
42960         (INTERNAL (strtol), strtol): Define with a prototype.
42961         (PARAMS): Remove.  All uses removed.
42962         * lib/tempname.c: Include <string.h> unconditionally.
42963         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
42964         * lib/xgethostname.c (main): Define with a prototype.
42965         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
42966         Include <stdlib.h> unconditionally.
42967         (calloc, malloc, realloc, free): Remove decls.
42968         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
42969         Include <stdlib.h> unconditionally.  Sort include file names.
42970         (strtod): Remove.
42971         (xstrtod): Define with a prototype.
42972         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
42973         (strtol, strtoul): Remove decls.
42974
42975 2003-09-11  Paul Eggert  <eggert@twinsun.com>
42976
42977         More patches to assume C89 or better.
42978         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
42979         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
42980         string.h, memchr, STDC_HEADERS.
42981
42982 2003-09-11  Paul Eggert  <eggert@twinsun.com>
42983
42984         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
42985         Include <stdlib.h>, <string.h> unconditionally.
42986         Remove now-unnecessary cast to char *.
42987         * lib/strnlen.c: Include <string.h> unconditionally.
42988         * lib/yesno.c (yesno): Define with a prototype.
42989
42990 2003-09-11  Bruno Haible  <bruno@clisp.org>
42991
42992         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
42993
42994 2003-09-10  Jim Meyering  <jim@meyering.net>
42995
42996         * lib/error.c: Correct indentation of cpp directives.
42997
42998 2003-09-10  Bruno Haible  <bruno@clisp.org>
42999
43000         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
43001         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
43002         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
43003         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
43004         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
43005         <stdlib.h> and <string.h> checks.
43006         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
43007         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
43008
43009 2003-09-10  Bruno Haible  <bruno@clisp.org>
43010
43011         * lib/strcspn.c: Include <string.h> unconditionally.
43012         * lib/strpbrk.c: Include <string.h> unconditionally.
43013         * lib/strstr.c: Include <string.h> unconditionally.
43014         * lib/unicodeio.c: Include <string.h> unconditionally.
43015         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
43016         * lib/unsetenv.c: Likewise.
43017         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
43018         * lib/yesno.c: Include <stdlib.h> unconditionally.
43019         (rpmatch): Add prototype.
43020
43021 2003-09-09  Paul Eggert  <eggert@twinsun.com>
43022
43023         More patches to assume C89 or better.
43024         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
43025         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
43026         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
43027         or for string.h.
43028         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
43029         stdlib.h.
43030         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
43031         C headers.
43032         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
43033         string.h.
43034         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
43035         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
43036         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
43037         or for string.h.
43038         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
43039         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
43040         C headers.
43041         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
43042         memcpy.
43043         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
43044         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
43045         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
43046         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
43047         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
43048         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
43049         string.h, free.
43050         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
43051         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
43052         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
43053         C headers, or for string.h.
43054         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
43055         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
43056         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
43057         headers, memory.h, stdlib.h, string.h, strings.h.
43058         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
43059         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
43060         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
43061         strchr.
43062         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
43063         headers, memory.h, string.h.
43064         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
43065         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
43066         free.
43067         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
43068         headers.
43069         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
43070         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
43071         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
43072         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
43073         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
43074
43075 2003-09-09  Paul Eggert  <eggert@twinsun.com>
43076
43077         More K&R removal.
43078
43079         * lib/acosl.c (main): Use a prototype.
43080         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
43081         tanl.c: Likewise.
43082
43083         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
43084
43085         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
43086         (getopt, etopt_long, getopt_long_only, _getopt_internal)
43087         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
43088         with a prototype.
43089         * lib/getopt.c (const): Remove macro.
43090         Include <string.h> unconditionally.
43091         (my_index): Remove; all uses changed to strchr.
43092         (strlen): Remove decl.
43093         (exchange): Remove forward decl; no longer needed.
43094         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
43095         Define with prototype.
43096         * lib/getopt1.c (const): Remove macro.
43097         (getopt_long, getopt_long_only, main): Define with prototype.
43098
43099         * lib/getugroups.c: Include <string.h> unconditionally.
43100
43101         * lib/getusershell.c: Include <stdlib.h> unconditionally.
43102         (getusershell, setusershell, endusershell, readname, main):
43103         Define with prototypes.
43104
43105         * lib/group-member.c: Include group-member.h first.
43106         Include <stdlib.h> unconditionally.
43107
43108         * lib/hard-locale.c: Include hard-locale.h first.
43109         Include <stdlib.h>, <string.h> unconditionally.
43110
43111         * lib/hash.c (free, malloc): Remove decls.
43112         Include <stdlib.h> unconditionally.
43113
43114         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
43115         (getenv): Do not declare.
43116
43117         * lib/idcache.c: Include <string.h> unconditionally.
43118
43119         * lib/long-options.c: Include long-options.h first, to test interface.
43120         Include <stdlib.h> unconditionally.
43121
43122         * lib/makepath.c: Include makepath.h first, to test interface.
43123         Include <stdlib.h> and <string.h> unconditionally.
43124
43125         * lib/linebuffer.c: Include <stdlib.h>.
43126         (free): Remove decl.
43127
43128         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
43129         stddef.h. rpl_malloc returns void *, not char *.
43130         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
43131         prototype.
43132
43133         * lib/md5.h: Include <limits.h> unconditionally.
43134         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
43135         (__P): Remove; all uses removed.
43136         * lib/md5.c: Include "md5.h" first.
43137         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
43138         md5_buffer, md5_process_bytes, md5_process_block):
43139         Define with prototypes.
43140         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
43141         * lib/sha.c: Include "sha.h" first.
43142         Include <stdlib.h>, <string.h> unconditionally.
43143
43144         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
43145         * lib/memcmp.c (__ptr_t): Likewise.
43146         * lib/memrchr.c (__ptr_t): Likewise.
43147         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
43148         Include <string.h> unconditionally.
43149         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
43150         * lib/memchr.c: Include <stdlib.h> unconditionally.
43151         * lib/memchr.c (LONG_MAX): Remove.
43152         * lib/memrchr.c (LONG_MAX): Likewise.
43153         * lib/memchr.c (__memchr): Define via a prototype.
43154         * lib/memrchr.c (__memrchr): Likewise.
43155         * lib/memcmp.c (__P): Remove, and remove all uses.
43156         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
43157         Remove forward decls; no longer needed.
43158         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
43159         Use types required by C89 in prototype.
43160
43161         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
43162         * lib/savedir.c: Likewise.
43163         * lib/mkdir.c (free): Remove decl.
43164         * lib/rmdir.c (rmdir): Define with a prototype.
43165         * lib/savedir.c: Include savedir.h first, to test interface.
43166
43167         * lib/mktime.c (STDC_HEADERS): Remove.
43168         Include <stdlib.h>, <string.h> unconditionally.
43169
43170         * lib/modechange.c: Include <stdlib.h> unconditionally.
43171         (malloc): Remove decl.
43172
43173         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
43174         (free): Remove decl.
43175
43176         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
43177         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
43178         (This type really should be intptr_t, but that's a C99ism.)
43179         (_obstack_memcpy): Remove: all uses changed to memcpy.
43180         Include <string.h> unconditionally.
43181         (struct obstack): Assume __STDC__ for types of members
43182         chunkfun, freefun, extra_arg.
43183         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
43184         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
43185         obstack_begin, obstack_specify_allocation,
43186         obstack_specify_allocation_with_arg, obstack_chunkfun,
43187         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
43188         Remove unprototyped decls and the macros that use them.
43189         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
43190         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
43191         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
43192         (defined __STDC__ && __STDC__)]:
43193         Remove nonprototyped code.
43194         Include <stdlib.h> unconditionally.
43195         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
43196         _obstack_allocated_p, _obstack_free, obstack_free,
43197         _obstack_memory_used, print_and_abort):
43198         Define using prototypes.
43199         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
43200         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
43201         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
43202         obstack_next_free, obstack_object_size, obstack_room) [0]:
43203         Remove unused, unprototyped code.
43204
43205         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
43206
43207         * lib/physmem.c (physmem_total, physmem_available, main): Define
43208         with prototypes.
43209
43210         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
43211         (main): Define with a prototype.
43212
43213         * lib/posixver.c (getenv): Remove decl.
43214
43215         * lib/putenv.c (malloc): Returns void *, not char *.
43216         Include <string.h> unconditionally.
43217         (strchr, memcpy, NULL): Do not define.
43218
43219         * lib/readtokens.c: Include readtokens.h first, to test interface.
43220         Include <stdlib.h>, <string.h> unconditionally.
43221         (init_tokenbuffer): Define with a prototype.
43222
43223         * lib/regex.c (PARAMS): Remove.  All uses removed.
43224         All uses of _RE_ARGS removed, too.
43225         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
43226         unconditionally.
43227         (bzero): Assume memset exists.
43228         (memcmp, memcpy, NULL): Remove.
43229         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
43230         char, or assignments to local vars of type signed char.
43231         (init_syntax_once, PREFIX(extract_number_and_incr),
43232         PREFIX(print_partial_compiled_pattern),
43233         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
43234         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
43235         PREFIX(regex_grow_registers), PREFIX(regex_compile),
43236         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
43237         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
43238         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
43239         wcs_compile_range, byte_compile_range, truncate_wchar,
43240         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
43241         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
43242         count_mbs_length, wcs_re_match_2_internal,
43243         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
43244         PREFIX(alt_match_null_string_p),
43245         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
43246         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
43247         regfree, PREFIX(extract_number)): Define with prototype.  Remove
43248         now-unnecessary declaration, if any.
43249         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
43250         regcomp, regexec):
43251         Remove now-unnecessary casts among pointer types.
43252         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
43253
43254         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
43255         (free): Remove decl.
43256
43257         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
43258
43259         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
43260         (free): Remove decl.
43261
43262         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
43263         * lib/xgetcwd.c: Likewise.
43264
43265         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
43266         (free): Remove decl.
43267
43268         * lib/strchrnul.c (strchrnul): Define with a prototype.
43269         Fix bug: c_in was not converted to char before searching.
43270
43271         The following changes are not K&R related:
43272
43273         * lib/group-member.h: Include <sys/types.h>, so that this file is
43274         self-contained.
43275         * lib/makepath.h: Likewise.
43276
43277         * lib/getusershell.c (readname, default_index, line_size, readname):
43278         Use size_t, not int, for sizes.
43279         (readname): If the size overflows, report an error instead of
43280         looping forever.
43281
43282 2003-09-09  Paul Eggert  <eggert@twinsun.com>
43283
43284         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
43285         libc.
43286
43287 2003-09-09  Paul Eggert  <eggert@twinsun.com>
43288
43289         * README: New section: portability guidelines.
43290
43291 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
43292
43293         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
43294         C89 spec.
43295
43296 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
43297
43298         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
43299
43300 2003-09-08  Paul Eggert  <eggert@twinsun.com>
43301
43302         Assume C89 or better; remove K&R cruft.
43303         A few of these changes were first proposed by Derek Robert Price
43304         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
43305
43306         * lib/addext.c: Include <string.h> unconditionally.
43307         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
43308         Don't declare getenv or malloc.
43309
43310         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
43311         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
43312         (NULL): Remove.
43313         (find_stack_direction, alloca): Use prototypes.
43314
43315         * lib/atexit.c (atexit): Define using a prototype.
43316
43317         * lib/basename.c, dirname.c, stripslash.c:
43318         Include <string.h> unconditionally.
43319
43320         * lib/bcopy.c: Include <stddef.h>.
43321         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
43322
43323         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
43324
43325         * lib/error.h (error, error_at_line, error_print_progname)
43326         [! (defined (__STDC__) && __STDC__)]: Remove decls.
43327         * lib/error.c: Include error.h first, to check interface.
43328         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
43329         (VA_START): Remove; all uses changeed to va_start.
43330         (exit, strerror): Remove decls.
43331         (error_print_progname): Prototype uncondionally.
43332         Don't include <errno.h>; no longer needed.
43333         (private_strerror): Remove.
43334         (error_tail): Always define.
43335         (error, error_at_line): Assume C89 or better; always use prototypes.
43336         * lib/fatal.c: Include "fatal.h" first, to test interface.
43337         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
43338         (VA_START): Remove; all uses changed to va_start.
43339         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
43340         this case.
43341         (exit): Remove decl.
43342         (fatal): Prototype unconditionally.  Assume va_start works.
43343         Abort at end, to pacify gcc.
43344
43345         * lib/euidaccess.c (main): Define with a prototype.
43346
43347         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
43348
43349         * lib/exitfail.c: Include <stdlib.h> unconditionally.
43350
43351         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
43352         prototypes.
43353         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
43354         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
43355         (getenv): Remove decl.
43356         (fnmatch): Define using a prototype.
43357         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
43358         (FCT): Define using a prototype.
43359
43360         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
43361
43362         * lib/gethostname.c: Include <stddef.h>.
43363         (gethostname): Define with prototype.  Length is size_t, not int.
43364
43365 2003-09-08  Paul Eggert  <eggert@twinsun.com>
43366
43367         Assume C89 or better; remove K&R cruft.
43368         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
43369         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
43370         string.h, getenv, malloc.
43371         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
43372         headers.
43373         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
43374         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
43375         do not check for strerror.
43376         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
43377         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
43378         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
43379         do not check for doprnt or vprintf.
43380         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
43381         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
43382
43383 2003-09-08  Paul Eggert  <eggert@twinsun.com>
43384
43385         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
43386         getversion.c should have been removed then, but was accidentally
43387         preserved.
43388
43389         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
43390         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
43391
43392 2003-09-08  Karl Berry  <karl@gnu.org>
43393
43394         * config/config.sub, config.guess, srclistvars.sh: update from savannah
43395                 config, forget about prep.
43396
43397         * config/depcomp, missing: update from automake.
43398
43399 2003-09-07  Paul Eggert  <eggert@twinsun.com>
43400
43401         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
43402         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
43403
43404 2003-09-07  Paul Eggert  <eggert@twinsun.com>
43405
43406         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
43407         copy_tm_result.  Bug reported by Simon Josefsson in
43408         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
43409
43410 2003-09-06  Paul Eggert  <eggert@twinsun.com>
43411
43412         * m4/time_r.m4: New file.
43413         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
43414         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
43415         is. Check for timegm declaration.
43416         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
43417         Do not check for gmtime_r.
43418         Replace mktime if __mktime_internal does not exist and if mktime
43419         hasn't been replaced already.
43420
43421 2003-09-06  Paul Eggert  <eggert@twinsun.com>
43422
43423         * lib/time_r.c, lib/time_r.h: New files.
43424
43425         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
43426         __localtime_r.
43427         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
43428         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
43429
43430         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
43431         __gmtime_r.
43432         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
43433         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
43434         Include <time_r.h>.
43435
43436         * lib/timegm.c: Switch to glibc implementation, with the following
43437         changes:
43438         [defined HAVE_CONFIG_H]: Include <config.h>.
43439         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
43440         (__mktime_internal) [!defined _LIBC]: New decl.
43441         (__gmtime_r) [!defined _LIBC]: New macro and function.
43442         (timegm): Use a prototype, since gnulib assumes C89.
43443         Do not bother declaring tmp to be const, as it's not really usefu.
43444         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
43445         (timegm): Declare only if HAVE_DECL_TIMEGM.
43446
43447 2003-09-06  Paul Eggert  <eggert@twinsun.com>
43448
43449         * MODULES.html.sh (func_all_modules): Add time_r.
43450         * modules/time_r: New file.
43451         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
43452         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
43453
43454 2003-09-03  Paul Eggert  <eggert@twinsun.com>
43455
43456         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
43457         Bug reported by Lute Kamstra in
43458         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
43459
43460         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
43461         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
43462         course with correspondingly smaller numbers for tomorrow and
43463         yesterday.  From Tadayoshi Funaba.  Originally installed into
43464         sh-utils on 1999-08-07, but the patch got lost (I guess during the
43465         coreutils merge?).
43466
43467 2003-08-31  Simon Josefsson  <jas@extundo.com>
43468
43469         * modules/timegm: New file.
43470         * MODULES.html.sh (func_all_modules): Add timegm.
43471
43472 2003-08-31  Simon Josefsson  <jas@extundo.com>
43473
43474         * m4/timegm.m4: New file.
43475
43476 2003-08-31  Simon Josefsson  <jas@extundo.com>
43477
43478         * lib/timegm.h: New file.
43479         * lib/timegm.c: New file.  Based on
43480         wget-1.8.2/src/http.c:mktime_from_utc.
43481
43482 2003-08-31  Karl Berry  <karl@gnu.org>
43483
43484         * lib/argp.h: update from libc.
43485
43486 2003-08-28  Bruno Haible  <bruno@clisp.org>
43487
43488         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
43489         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
43490         followed by '#define fnmatch fnmatch_posix' gives an error.
43491
43492 2003-08-28  Bruno Haible  <bruno@clisp.org>
43493
43494         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
43495         warning on QNX, which defines O_BINARY to 000000.
43496
43497 2003-08-27  Jim Meyering  <jim@meyering.net>
43498
43499         * m4/mkstemp.m4: Require that the system mkstemp be able to create
43500         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
43501         would fail after 32.  Reported by Danny Levinson.  Details here:
43502         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
43503
43504 2003-08-24  Bruno Haible  <bruno@clisp.org>
43505
43506         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
43507         MSVC7 <stdio.h> is included later.
43508
43509 2003-08-22  Simon Josefsson  <jas@extundo.com>
43510
43511         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
43512
43513 2003-08-20  Karl Berry  <karl@gnu.org>
43514
43515         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
43516
43517 2003-08-20  Bruno Haible  <bruno@clisp.org>
43518
43519         * modules/progname: New file.
43520         * MODULES.html.sh (func_all_modules): Add progname.
43521
43522 2003-08-20  Bruno Haible  <bruno@clisp.org>
43523
43524         * lib/progname.h: New file, from GNU gettext.
43525         * lib/progname.c: New file, from GNU gettext.
43526         * lib/progreloc.c: New file, from GNU gettext.
43527
43528 2003-08-19  Jim Meyering  <jim@meyering.net>
43529
43530         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
43531         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
43532
43533 2003-08-19  Bruno Haible  <bruno@clisp.org>
43534
43535         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
43536         more.
43537
43538 2003-08-19  Bruno Haible  <bruno@clisp.org>
43539
43540         * lib/xstrdup.c: Assume <string.h> exists.
43541
43542 2003-08-18  Paul Eggert  <eggert@twinsun.com>
43543
43544         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
43545         in makefile rules.
43546
43547 2003-08-18  Jim Meyering  <jim@meyering.net>
43548
43549         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
43550         * m4/lib-ld.m4: Likewise.
43551
43552 2003-08-18  Jim Meyering  <jim@meyering.net>
43553
43554         * lib/setenv.h: Indent nested cpp directive.
43555         * lib/vasnprintf.c: Remove trailing blanks.
43556
43557 2003-08-17  Simon Josefsson  <jas@extundo.com>
43558
43559         * modules/xstrndup: New file.
43560         * MODULES.html.sh (func_all_modules): Add xstrndup.
43561
43562 2003-08-17  Simon Josefsson  <jas@extundo.com>
43563
43564         * modules/argp: Fix autoconf macro name. Add more dependencies.
43565
43566 2003-08-17  Simon Josefsson  <jas@extundo.com>
43567
43568         * m4/xstrndup.m4: New file.
43569
43570 2003-08-17  Simon Josefsson  <jas@extundo.com>
43571
43572         * m4/argp.m4: New file.
43573
43574 2003-08-17  Simon Josefsson  <jas@extundo.com>
43575             Bruno Haible  <bruno@clisp.org>
43576
43577         * lib/xstrndup.h: New file.
43578         * lib/xstrndup.c: New file.
43579
43580 2003-08-17  Bruno Haible  <bruno@clisp.org>
43581
43582         * modules/strndup (Files, Include): Add lib/strndup.h.
43583
43584 2003-08-17  Bruno Haible  <bruno@clisp.org>
43585
43586         * modules/euidaccess (Files): Add lib/euidaccess.h.
43587
43588 2003-08-17  Bruno Haible  <bruno@clisp.org>
43589
43590         * lib/strndup.h: New file.
43591
43592 2003-08-17  Bruno Haible  <bruno@clisp.org>
43593
43594         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
43595         like AC_GNU_SOURCE.
43596         * modules/extensions (configure.ac): Comment out the invocation of
43597         gl_USE_SYSTEM_EXTENSIONS.
43598
43599 2003-08-16  Paul Eggert  <eggert@twinsun.com>
43600
43601         Merges from coreutils, etc.
43602         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
43603         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
43604         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
43605         fixing a typo.
43606         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
43607         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
43608
43609 2003-08-16  Paul Eggert  <eggert@twinsun.com>
43610
43611         Document merge from coreutils.
43612         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
43613         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
43614         * modules/utime: Add m4/utimes-null.m4.
43615
43616 2003-08-16  Paul Eggert  <eggert@twinsun.com>
43617
43618         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
43619         space, undoing this 2003-08-12 change:
43620         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
43621
43622 2003-08-16  Paul Eggert  <eggert@twinsun.com>
43623
43624         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
43625         strtoul.c from libc, undoing this 2003-08-12 change:
43626         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
43627
43628 2003-08-16  Jim Meyering  <jim@meyering.net>
43629
43630         Merges from coreutils.
43631         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
43632         prefix.  Adjust cache variables similarly.  Create 500 rather than
43633         just 300 files, to exercise bug on Darwin6.5, too.
43634         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
43635         $missing_dir.
43636         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
43637         AM_SYS_POSIX_TERMIOS.
43638         Reported by mkc@mathdogs.com.
43639         Also change use of $am_cv_sys_posix_termios
43640         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
43641         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
43642         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
43643         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
43644         in /proc/mounts until it finds one with matching device number.  This
43645         is unnecessary when the FILE argument *is* a mount point.  No stat call
43646         is necessary in that case.  So, disable the statvfs-testing code on
43647         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
43648         as RedHat bug# 84846.
43649         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
43650         to 1MB, so as not to render systems with no stack size limit (e.g.,
43651         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
43652         Include <unistd.h>.  On some systems,
43653         it is required for the definition of _SC_PAGESIZE.
43654
43655 2003-08-16  Jim Meyering  <jim@meyering.net>
43656
43657         Merge from coreutils.
43658         * lib/xstrtoimax.c: #else #if -> #elif.
43659         * lib/xstrtoumax.c: Likewise.
43660
43661 2003-08-16  Jim Meyering  <jim@meyering.net>
43662
43663         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
43664         * m4/utimes.m4: Removed.
43665         * m4/utimes-null.m4: Renamed from utimes.m4.
43666
43667         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
43668         to 1MB, so as not to render systems with no stack size limit (e.g.,
43669         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
43670         Include <unistd.h>.  On some systems,
43671         it is required for the definition of _SC_PAGESIZE.
43672
43673 2003-08-16  Jim Meyering  <jim@meyering.net>
43674         and Paul Eggert  <eggert@cs.ucla.edu>
43675
43676         Merges from coreutils, etc.
43677
43678         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
43679         using the latest version from cvs.  This avoids problems with #line
43680         directives using a vendor (Sun) compiler.
43681         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
43682         Don't set GETGROUPS_LIB here; now it's
43683         done via getgroups.m4's wrapper function.
43684         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
43685         rather than just in sh-util/configure.in, so that the
43686         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
43687         same.
43688         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
43689         AC_FUNC_GETLOADAVG where to find getloadavg.c.
43690         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
43691         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
43692         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
43693         Remove code that is now done by the newly-required macros.
43694         Append $(EXEEXT) to DF_PROG.
43695         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
43696         Do not invoke or require the following here,
43697         since prereq.m4 or some gnulib .m4 now does this for us:
43698         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
43699         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
43700         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
43701         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
43702         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
43703         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
43704         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
43705         AC_FUNC_OBSTACK.
43706         Do not replace the following functions, as this is now the job
43707         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
43708         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
43709         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
43710         atexit getpass, strdup, getpagesize.
43711         Replace 'raise'.
43712         Do not check for the following functions, as this is now the job
43713         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
43714         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
43715         setregid.
43716         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
43717         Check for sys/sysctl.h.
43718         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
43719         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
43720         of checking for ssize_t ourselves.
43721
43722         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
43723         Require every macro that gnulib/modules/* suggests for us.
43724         (jm_PREREQ_ADDEXT): New macro.
43725         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
43726         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
43727
43728         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
43729         (gl_PHYSMEM): Use it.
43730         Also check for `table' function.
43731         Check for new headers and functions.
43732         Add check for sys/sysmp.h.
43733         With suggestions from Kaveh Ghazi.
43734         Ignore headers that are present but cannot be compiled.  This
43735         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
43736         C 5.4.
43737
43738 2003-08-15  Paul Eggert  <eggert@twinsun.com>
43739
43740         Document merge from coreutils.
43741         * modules/userspec: Depend on posixver.
43742         * modules/strftime: Depend on tzset.
43743
43744 2003-08-15  Paul Eggert  <eggert@twinsun.com>
43745
43746         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
43747         rather than tab, after '#' in shell-script copyright notices.
43748         Suggested by Bruno Haible.
43749
43750 2003-08-15  Paul Eggert  <eggert@twinsun.com>
43751
43752         * config/srclist-update: Use three spaces, rather than tab, after '#'
43753         in shell-script copyright notices.  Suggested by Bruno Haible.
43754         Remove unnecessary parenthesization in regular expression.
43755
43756 2003-08-15  Jim Meyering  <jim@meyering.net>
43757
43758         Merge from coreutils.
43759         * lib/xgethostname.c: Include <stdlib.h>.
43760         (xghostname): Don't exit for anything other than memory-related
43761         failure; just return NULL.
43762         * lib/userspec.c: Include "posixver.h".
43763         (parse_user_spec): Accept `.' as a separator only
43764         in pre-POSIX-200112 mode.
43765         * lib/strtoimax.c: Use #elif rather than #else #if.
43766         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
43767         Remove function, now that we can rely on a working tzset function.
43768         [!_LIBC]: Ensure that the required autoconf test has been run.
43769         [!defined _NL_CURRENT && HAVE_STRFTIME]:
43770         Use underlying_strftime for %r.
43771         * lib/sha.c: Merge in some clean-up and optimization changes from
43772         glibc.
43773         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
43774         Ensure that it is a multiple of 64.
43775         Rearrange loop exit tests so as to avoid performing an
43776         additional fread after encountering an error or EOF.
43777         * lib/realloc.c: Update copyright date.
43778
43779 2003-08-15  Jim Meyering  <jim@meyering.net>
43780         and Paul Eggert  <eggert@twinsun.com>
43781
43782         Merge from coreutils.
43783         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
43784         member but strut utmpx does not.  Needed for AIX 4.3.3.
43785         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
43786
43787 2003-08-15  Jim Meyering  <jim@meyering.net>
43788         and Paul Eggert  <eggert@cs.ucla.edu>
43789
43790         Merges from coreutils, etc.
43791         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
43792         Require gl_FUNC_TZSET_CLOBBER.
43793         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
43794         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
43795         members.
43796
43797 2003-08-14  Paul Eggert  <eggert@twinsun.com>
43798
43799         Help the merge from coreutils.
43800         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
43801         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
43802         * m4/tzset.m4: Use it too.
43803
43804 2003-08-14  Paul Eggert  <eggert@twinsun.com>
43805
43806         * modules/tzset: New file.
43807
43808 2003-08-14  Jim Meyering  <jim@meyering.net>
43809
43810         Merges from coreutils.
43811         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
43812         variable names, rather than @FNMATCH_H@.
43813         * modules/alloca: Likewise for $(ALLOCA_H).
43814
43815         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
43816         the three copies of the literal target, `fnmatch.h'.
43817         * modules/alloca (alloca.h): Likewise.
43818
43819 2003-08-14  Jim Meyering  <jim@meyering.net>
43820
43821         Merge from coreutils.
43822         * m4/tzset.m4: New file.
43823         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
43824         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
43825         otherwise, AIX 5.1 systems would end up using the latter.
43826         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
43827         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
43828         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
43829         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
43830
43831 2003-08-14  Jim Meyering  <jim@meyering.net>
43832
43833         Merge from coreutils.
43834         * lib/obstack.h: Whitespace changes.
43835         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
43836         and xcalloc return values.
43837         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
43838         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
43839         hang on OSF/1 5.1 for DIR on both local and remote file systems.
43840         Reported by (and fix confirmed by) Nelson H. F. Beebe.
43841         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
43842         error from mntctl.
43843         Use mntctl's return value to drive the entry-processing loop, since
43844         we can't rely on the value of the vmt_length member in the last
43845         entry.  On some systems doing so could result in exhausting
43846         virtual memory.  Based in part on a patch from Mike Jetzer.
43847
43848 2003-08-14  Jim Meyering  <jim@meyering.net>
43849         and Paul Eggert  <eggert@twinsun.com>
43850
43851         Merges from coreutils, plus other fixes.
43852         * lib/physmem.c: Merge in portability changes from gcc/libiberty
43853         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
43854         for credits and details.  Thanks to Kaveh Ghazi for helping
43855         to keep these files in sync.
43856         (ARRAY_SIZE): Define it.
43857         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
43858         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
43859         (memcasecmp): Don't assume size_t fits in unsigned int.
43860         Remove casts and duplicate code.
43861         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
43862         (memcpy): Remove definition.
43863         Merge in some clean-up and optimization changes from glibc.
43864         [BLOCKSIZE]: Move definition to top of file.
43865         Ensure that it is a multiple of 64.
43866         Rearrange loop exit tests so as to avoid performing an
43867         additional fread after encountering an error or EOF.
43868         * lib/md5.h (md5_uintptr): Define.
43869         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
43870         return to the initial working directory.  Preserve errno
43871         for caller.
43872         * lib/idcache.c: Include "xalloc.h".
43873         (xmalloc, xrealloc): Remove decls.
43874         (getuser): Remove casts no longer required in C89.
43875         * lib/human.c: Include stdio.h, for sprintf.
43876         * lib/group-member.c: Include "xalloc.h".
43877         (xmalloc, xrealloc): Remove decls.
43878         (get_group_info): Remove casts no longer required in C89.
43879         * lib/getusershell.c (readname): Remove casts no longer required in
43880         C89.
43881         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
43882         * lib/getline.c: Whitespace fix, from coreutils.
43883
43884 2003-08-13  Paul Eggert  <eggert@twinsun.com>
43885
43886         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
43887         Check for isascii.
43888
43889         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
43890         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
43891         Undo previous (whitespace-only) change.
43892
43893 2003-08-13  Paul Eggert  <eggert@twinsun.com>
43894
43895         * lib/exclude.c: Include <ctype.h>
43896         (IN_CTYPE_DOMAIN): New macro.
43897         (is_space): New fn.
43898         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
43899         and empty lines.
43900
43901         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
43902         Undo previous (whitespace-only) change.
43903
43904 2003-08-13  Paul Eggert  <eggert@twinsun.com>
43905
43906         * config/srclist-update: Change update back to the old behavior,
43907         leaving whitespace alone.  Use one 'sed' command rather than a
43908         pipeline.
43909         (fixlicense): Now a variable, not a function.
43910         (remove_trailing_blanks): Remove.
43911         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
43912         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
43913         Undo previous (whitespace-only) change.
43914
43915 2003-08-12  Paul Eggert  <eggert@twinsun.com>
43916
43917         Merge from coreutils.
43918         * modules/euidaccess: Add lib_SOURCES, include for new
43919         file euidaccess.h
43920
43921 2003-08-12  Paul Eggert  <eggert@twinsun.com>
43922
43923         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
43924         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
43925         Normalize leading white space and remove trailing white space.
43926
43927         Merge from coreutils
43928         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
43929
43930         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
43931         0.12.1.  These files are now being upgraded automatically by
43932         ../config/srclist-update.
43933
43934 2003-08-12  Paul Eggert  <eggert@twinsun.com>
43935
43936         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
43937         Normalize leading white space and remove trailing white space.
43938         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
43939         notice, as per ../config/srclist-update.
43940
43941         Merge from coreutils.
43942         * lib/euidaccess.h: New file.
43943         * lib/euidaccess.c: Include it.
43944         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
43945         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
43946         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
43947
43948 2003-08-12  Paul Eggert  <eggert@twinsun.com>
43949
43950         * config/srclist-update: Add copyright notice.
43951         (remove_id_lines, remove_trailing_blanks): New constants.
43952         (fixfile): Use them to normalize spacing a bit in copied files.
43953         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
43954         Normalize leading white space and remove trailing white space.
43955
43956         * config/texinfo.tex: Sync with texinfo.
43957
43958         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
43959         strtoul.c from libc, to merge coreutils whitespace changes.
43960
43961         * config/srclist.txt: Get the following m4 files from gettext:
43962         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
43963         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
43964         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
43965         wint_t.m4.
43966
43967 2003-08-12  Karl Berry  <karl@gnu.org>
43968
43969         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
43970         been made.
43971
43972 2003-08-11  Paul Eggert  <eggert@twinsun.com>
43973
43974         * modules/gnu-source, m4/gnu-source.m4:
43975         Remove; we're assuming Autoconf 2.54 or later now.
43976         Suggested by Bruno Haible.
43977         * MODULES.html.sh (func_all_modules): Remove gnu-source.
43978
43979 2003-08-11  Bruno Haible  <bruno@clisp.org>
43980
43981         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
43982
43983 2003-08-11  Bruno Haible  <bruno@clisp.org>
43984
43985         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
43986         (vasnprintf): Use it instead of wcslen.
43987
43988 2003-08-11  Bruno Haible  <bruno@clisp.org>
43989
43990         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
43991         value to ensure that _Bool promotes to int. Use #define for _Bool when
43992         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
43993
43994 2003-08-10  Karl Berry  <karl@gnu.org>
43995
43996         * lib/regex.h: update from libc (whitespace fix).
43997
43998 2003-08-09  Paul Eggert  <eggert@twinsun.com>
43999
44000         Merge some files from coreutils.  These changes were
44001         originally made by Jim Meyering.
44002         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
44003         many older Unixes require this.
44004         * lib/alloca.c (alloca): Remove cast to argument of free;
44005         no longer needed in C89.
44006         * lib/alloca_.h, regex.h: Fix white space to match
44007         what GNU indent does.
44008
44009 2003-08-09  Paul Eggert  <eggert@twinsun.com>
44010
44011         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
44012         apparently Emacs's Unicode mode got confused before my 2003-08-05
44013         checkin.
44014
44015 2003-08-08  Paul Eggert  <eggert@twinsun.com>
44016
44017         * m4/extensions.m4: New file.
44018         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
44019         Require gl_USE_SYSTEM_EXTENSIONS.
44020         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
44021         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
44022
44023 2003-08-08  Paul Eggert  <eggert@twinsun.com>
44024
44025         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
44026         * modules/extensions, modules/gnu-source: New files.
44027         * modules/timespec, modules/unlocked-io: Depend on extensions.
44028
44029 2003-08-07  Paul Eggert  <eggert@twinsun.com>
44030
44031         * modules/restrict: New file.
44032         * MODULES.html.sh (func_all_modules): Add restrict.
44033         * modules/regex: Depend on restrict.
44034
44035 2003-08-07  Paul Eggert  <eggert@twinsun.com>
44036
44037         * m4/restrict.m4: New file.
44038         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
44039
44040 2003-08-07  Bruno Haible  <bruno@clisp.org>
44041
44042         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
44043         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
44044
44045 2003-08-07  Bruno Haible  <bruno@clisp.org>
44046
44047         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
44048         makes the module 'getndelim2' compatible with the module 'getline'.
44049
44050 2003-08-05  Paul Eggert  <eggert@twinsun.com>
44051
44052         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
44053         byte with "\201" to avoid glitches when editing that source file
44054         with multi-gnome-terminal.
44055
44056 2003-08-05  Paul Eggert  <eggert@twinsun.com>
44057
44058         * lib/bumpalloc.h: Remove.
44059
44060 2003-08-05  Paul Eggert  <eggert@twinsun.com>
44061
44062         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
44063         * modules/bumpalloc: Remove.
44064
44065 2003-08-04  Paul Eggert  <eggert@twinsun.com>
44066
44067         * lib/getloadavg.c: Change copyright notice and spacing to conform to
44068         GNU coding style.
44069
44070         Merge from coreutils.
44071         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
44072         1. From glibc.
44073         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
44074         from Karl Berry, implemented by Jim Meyering.
44075         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
44076         from Dmitry V. Levin.
44077         Remove anachronistic cast of xrealloc.
44078         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
44079         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
44080         type. Otherwise, it wouldn't compile with at least /bin/cc on
44081         ymp-cray-unicos9.0.2.X.
44082         Combine two mostly-identical uses of alloca into one.
44083         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
44084
44085 2003-08-04  Dave Love  <d.love@dl.ac.uk>
44086
44087         [From Emacs.]
44088
44089         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
44090         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
44091         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
44092         obsolete NLIST_NAME_UNION.
44093         [__GNU__]: Undef BSD and FSCALE.
44094         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
44095
44096 2003-08-03  Paul Eggert  <eggert@twinsun.com>
44097
44098         * lib/stdbool_.h (_Bool): Make it signed char, instead of
44099         an enum type, so that it's guaranteed to promote to int.  See:
44100         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
44101
44102 2003-08-03  Karl Berry  <karl@gnu.org>
44103
44104         * config/depcomp: update from automake.
44105
44106 2003-07-31  Paul Eggert  <eggert@twinsun.com>
44107
44108         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
44109         (strerror): Don't assume that a printable int fits in 14 bytes.
44110
44111 2003-07-31  Bruno Haible  <bruno@clisp.org>
44112
44113         * modules/getpass-gnu: New file.
44114         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
44115
44116 2003-07-31  Bruno Haible  <bruno@clisp.org>
44117
44118         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
44119
44120 2003-07-24  Karl Berry  <karl@gnu.org>
44121
44122         * config/missing: update from automake.
44123
44124 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
44125             Bruno Haible  <bruno@clisp.org>
44126
44127         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
44128         * lib/getline.c (getline, getdelim): Likewise.
44129         Remove _GNU_SOURCE define; now it's defined in config.h through
44130         m4/getline.m4.
44131
44132 2003-07-23  Karl Berry  <karl@gnu.org>
44133
44134         * config/config.sub: update from prep.
44135
44136 2003-07-22  Paul Eggert  <eggert@twinsun.com>
44137
44138         * modules/xalloc (Depends-on): Add exitfail.
44139         * modules/xmemcoll: Likewise.
44140
44141 2003-07-22  Paul Eggert  <eggert@twinsun.com>
44142
44143         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
44144         over-parenthesization in macros.
44145
44146         Sync with coreutils.
44147
44148         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
44149         required by C99.
44150
44151         Use `exit_failure' for xalloc and xmemcoll instead of their own
44152         private exit-failure variables.
44153         * lib/xalloc.h (xalloc_exit_failure): Remove.
44154         * lib/xmalloc.c: Likewise.  Include exitfail.h.
44155         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
44156         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
44157         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
44158         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
44159
44160 2003-07-20  Jim Meyering  <jim@meyering.net>
44161
44162         * modules/closeout (Depends-on): Add exitfail.
44163         Suggestion from Bruno Haible.
44164
44165 2003-07-19  Karl Berry  <karl@gnu.org>
44166
44167         * config/config.sub: update from prep.
44168
44169 2003-07-18  Paul Eggert  <eggert@twinsun.com>
44170
44171         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
44172         Remove.
44173         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
44174         to test that it can stand by itself.  Include "exitfail.h".
44175         Clients should set exit_failure instead.
44176         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
44177
44178 2003-07-18  Bruno Haible  <bruno@clisp.org>
44179
44180         * modules/getndelim2: New file.
44181         * modules/getline: Share files with module getndelim2.
44182         * modules/getnline: Depend on getndelim2 instead of sharing files with
44183         it. Add getnline.c to lib_SOURCES.
44184         * MODULES.html.sh (func_all_modules): Add getndelim2.
44185
44186 2003-07-18  Bruno Haible  <bruno@clisp.org>
44187
44188         * m4/getndelim2.m4: New file.
44189         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
44190         invoke gl_PREREQ_GETNDELIM2.
44191         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
44192         gl_PREREQ_GETNDELIM2.
44193         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
44194         gl_GETNDELIM2.
44195
44196 2003-07-18  Bruno Haible  <bruno@clisp.org>
44197
44198         * lib/getndelim2.h: New file.
44199         * lib/getndelim2.c: Make into a module of its own. Include config.h,
44200         getndelim2.h.
44201         (getndelim2): Make non-static. Change return type to ssize_t.
44202         * lib/getline.h: Change argument names.
44203         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
44204         * lib/getnline.c: Include getndelim2.h.
44205
44206 2003-07-18  Andreas Schwab  <schwab@suse.de>
44207
44208         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
44209
44210 2003-07-17  Karl Berry  <karl@gnu.org>
44211
44212         * config/config.sub: update from prep.
44213
44214 2003-07-17  Bruno Haible  <bruno@clisp.org>
44215
44216         * modules/getnline: New file.
44217         * modules/getline: Add lib/getndelim2.c to source file list.
44218         * MODULES.html.sh (func_all_modules): Add getnline.
44219
44220 2003-07-17  Bruno Haible  <bruno@clisp.org>
44221
44222         * m4/getnline.m4: New file.
44223
44224 2003-07-17  Bruno Haible  <bruno@clisp.org>
44225
44226         * m4/Makefile.am.in: Remove file.
44227         * m4/Makefile.am: Remove file.
44228         * m4/Makefile.in: Remove file.
44229
44230 2003-07-17  Bruno Haible  <bruno@clisp.org>
44231
44232         * lib/getnline.h: New file.
44233         * lib/getnline.c: New file.
44234         * lib/getndelim2.c: New file, extracted from getline.c.
44235         (getndelim2): Renamed from getdelim2, with added nmax argument.
44236         * lib/getline.c: Include getndelim2.c.
44237         (getdelim2): Moved out to getndelim2.c.
44238         (getline, getdelim): Update.
44239
44240 2003-07-17  Bruno Haible  <bruno@clisp.org>
44241
44242         * lib/Makefile.am: Remove file.
44243         * lib/Makefile.in: Remove file.
44244
44245 2003-07-17  Bruno Haible  <bruno@clisp.org>
44246
44247         * configure.in: Remove file.
44248         * Makefile.in: Remove file.
44249
44250 2003-07-17  Bruno Haible  <bruno@clisp.org>
44251
44252         * MODULES.html.sh: Put the </BODY> right before </HTML>.
44253
44254 2003-07-16  Karl Berry  <karl@gnu.org>
44255
44256         * config/srclist-update: was running fixlicense twice, which caused
44257                 texinfo.tex to be nullified for some reason.  Simplify,
44258                 $gplsrc is no longer needed as far as I can see?
44259
44260 2003-07-16  Jim Meyering  <jim@meyering.net>
44261
44262         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
44263
44264 2003-07-15  Paul Eggert  <eggert@twinsun.com>
44265
44266         * config/srclist.txt: Get the following files from gettext-runtime/intl
44267         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
44268         ref-del.sin.  From Bruno Haible.
44269         * config/srclist-update (fixfile): Change grep pattern again, since the
44270         previous fix didn't work (there was another trailing $).  Use
44271         '[$]' to escape the $s.
44272
44273 2003-07-15  Karl Berry  <karl@gnu.org>
44274
44275         * lib/vasnprintf.c: update from gettext.
44276
44277 2003-07-15  Karl Berry  <karl@gnu.org>
44278
44279         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
44280         gets expanded when surrounded by '$'.
44281
44282 2003-07-15  Jim Meyering  <jim@meyering.net>
44283
44284         * modules/save-cwd: Don't depend on error.  From Derek Price.
44285
44286 2003-07-15  Jim Meyering  <jim@meyering.net>
44287
44288         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
44289
44290 2003-07-14  Simon Josefsson  <jas@extundo.com>
44291
44292         * modules/mempcpy: New file.
44293         * MODULES.html.sh (func_all_modules): Add mempcpy.
44294
44295 2003-07-14  Simon Josefsson  <jas@extundo.com>
44296
44297         * m4/mempcpy.m4: New file.
44298
44299 2003-07-14  Simon Josefsson  <jas@extundo.com>
44300
44301         * lib/mempcpy.h: New file.
44302         * lib/mempcpy.c: New file.
44303
44304 2003-07-14  Paul Eggert  <eggert@twinsun.com>
44305
44306         * modules/getdate, modules/posixtm: Depend on mktime.
44307
44308 2003-07-14  Paul Eggert  <eggert@twinsun.com>
44309
44310         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
44311         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
44312         unicodeio.c, unicodeio.h, unlocked-io.h:
44313         Switch from LGPL to GPL.
44314
44315 2003-07-14  Paul Eggert  <eggert@twinsun.com>
44316
44317         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
44318         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
44319         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
44320         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
44321         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
44322         updated automatically by ../config/srclist-update.  This changes
44323         their license from LPGL to GPL.
44324
44325 2003-07-14  Paul Eggert  <eggert@twinsun.com>
44326
44327         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
44328         assumed to refer to the root of the most recent stable gettext version.
44329         * config/srclistvars.sh: Add defaults for eggert.
44330         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
44331         Match "This program" as well as "The program".  This is needed
44332         for gettext.
44333
44334 2003-07-14  Jim Meyering  <jim@meyering.net>
44335
44336         Don't emit diagnostics.  Let callers do that.
44337         * lib/save-cwd.c: Don't include "error.h".
44338         (save_cwd): Don't call error.  Ensure that errno is valid
44339         when returning nonzero.
44340
44341         * lib/save-cwd.h (restore_cwd): Update prototype.
44342         * lib/save-cwd.c (restore_cwd): Remove two parameters.
44343         Simplify.  Don't call error upon failure.  Let callers do that.
44344         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
44345         when auditing is enabled.  But don't bother updating the #if.
44346
44347 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
44348
44349         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
44350         it breaks C++ compilation.
44351         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
44352
44353 2003-07-10  Simon Josefsson  <jas@extundo.com>
44354
44355         * modules/strchrnul (Makefile.am): Add strchrnul.h.
44356
44357 2003-07-10  Jim Meyering  <jim@meyering.net>
44358
44359         * m4/clock_time.m4: Remove trailing blank.
44360         * m4/intmax_t.m4: Likewise.
44361
44362 2003-07-10  Jim Meyering  <jim@meyering.net>
44363
44364         * lib/vasnprintf.c: Remove trailing blanks.
44365         Make cpp indentation consistent.
44366
44367 2003-07-09  Paul Eggert  <eggert@twinsun.com>
44368
44369         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
44370         posixver.c, strftime.c, strnlen.c, strverscmp.c:
44371         Switch from LGPL to GPL.
44372
44373 2003-07-09  Paul Eggert  <eggert@twinsun.com>
44374
44375         * config/srclist.txt: Sort sublists.  Add
44376         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
44377         that differ from gnulib for one reason or another; we'd like this list
44378         to be smaller but for now let's document what we have.
44379
44380 2003-07-08  Paul Eggert  <eggert@twinsun.com>
44381
44382         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
44383         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
44384         and sweeter "eval x=$x".
44385         * config/srclist.txt: Get lib/argp* from glibc.
44386
44387 2003-07-07  Paul Eggert  <eggert@twinsun.com>
44388
44389         * lib/mktime.c: Fix some boundary cases and remove need for floating
44390         point.
44391
44392         Issue a compile-time diagnostic if time_t is floating point, or if
44393         two's complement arithmetic is not in effect, or if arithmetic
44394         right shift does not propagate the sign.  These assumptions were
44395         all in the original code but they weren't checked.
44396
44397         (TIME_T_MIDPOINT, verify): New macros.
44398         (__isleap): Remove; it has integer overflow problems.
44399         (leapyear): New function, without those problems.
44400         (ydhms_tm_diff): Remove; splitting into two parts.
44401         (ydhms_diff): New function, containing the arithmetic part of
44402         the old ydhms_tm_diff function.  Issue a compile-time
44403         diagnostic if we are not using C99 integer division.
44404         Avoid casts when possible.
44405         (guess_time_tm): New function, containing the checking part of
44406         the old ydhms_tm_diff function.  Return the new value, rather than
44407         the difference between it and the old.  Accept a new argument T
44408         so that *T specifies the old value.  Check for overflow in the result.
44409
44410         (__mktime_internal): Use a time_t offset, not a long int offset.
44411         This undoes the 2003-06-04 change, which is no longer needed now
44412         that we have better overflow checking.
44413         (localtime_offset): Likewise.
44414
44415         (__mktime_internal): Avoid harmful overflow on hosts where time_t
44416         and long are 64-bit but int is only 32-bit.
44417         (ydhms_diff): Use long int to store year1 and yday1.
44418         Issue a compile-time diagnostic if long int is not wide enough.
44419
44420         (__mktime_internal): Use long int to store adjusted year and yday.
44421         Use plain C rather than preprocessor commands, if that doesn't
44422         affect efficiency.
44423         Check for overflow (and try to repair) after each probe
44424         rather than checking only at the very end.  This avoids some bugs
44425         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
44426         does not equal GMT offset at maximum time).
44427         Use integer to check for overflow rather than floating point; this
44428         is more portable to non-IEEE hosts, and is a tad faster.
44429         When we detect that we are oscillating between two values,
44430         don't check whether tm_isdst has the requested value, since
44431         we already know the answer.  When tm_isdst has the wrong value,
44432         use a different heuristic to find the right one, based on the
44433         extreme values actually observed in practice in tz2003a,
44434         rather than the (overly optimistic) "previous 3 calendar quarters".
44435
44436         (not_equal_tm, print_tm, check_result): Use "const T" rather than
44437         "T const" to accommodate glibc style.
44438         (check_result): Use less-confusing report format.  "long" -> "long int.
44439         (main): Likewise.
44440         Don't loop if the iteration overflows time_t.
44441         Allow a negative step in the iteration.
44442
44443 2003-07-06  Karl Berry  <karl@gnu.org>
44444
44445         * config/depcomp: update from automake.
44446         * config/config.sub: update from prep.
44447
44448 2003-07-03  Karl Berry  <karl@gnu.org>
44449
44450         * config/config.guess: update from prep.
44451
44452 2003-07-01  Paul Eggert  <eggert@twinsun.com>
44453
44454         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
44455         xreadlink.c now includes it unconditionally.
44456
44457 2003-07-01  Paul Eggert  <eggert@twinsun.com>
44458
44459         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
44460         having it depend on HAVE_SYS_TYPES_H.
44461
44462 2003-07-01  Bruno Haible  <bruno@clisp.org>
44463
44464         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
44465         <sys/types.h> should be sufficient.
44466         Reported by Paul Eggert.
44467
44468 2003-06-26  Karl Berry  <karl@gnu.org>
44469
44470         * config/depcomp: update from automake.
44471
44472 2003-06-26  Bruno Haible  <bruno@clisp.org>
44473
44474         * modules/human: Depend on module stdbool.
44475
44476 2003-06-25  Bruno Haible  <bruno@clisp.org>
44477
44478         * modules/readlink: New file.
44479         * modules/xreadlink: Depend on it.
44480         * MODULES.html.sh (func_all_modules): Add readlink.
44481
44482 2003-06-25  Bruno Haible  <bruno@clisp.org>
44483
44484         * m4/readlink.m4: New file.
44485
44486 2003-06-25  Bruno Haible  <bruno@clisp.org>
44487
44488         * lib/readlink.c: New file.
44489
44490 2003-06-22  Karl Berry  <karl@gnu.org>
44491
44492         * config/srclist.txt: update mkinstalldirs from automake.
44493         * config/mkinstalldirs: update.
44494
44495 2003-06-22  Bruno Haible  <bruno@clisp.org>
44496
44497         Portability to mingw32.
44498         * m4/ssize_t.m4: New file, from GNU gettext.
44499         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
44500         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
44501
44502 2003-06-22  Bruno Haible  <bruno@clisp.org>
44503
44504         * modules/safe-read: Add m4/ssize_t.m4.
44505         * modules/xreadlink: Add m4/ssize_t.m4.
44506
44507 2003-06-20  Bruno Haible  <bruno@clisp.org>
44508
44509         Assume C89, so PARAMS isn't needed.
44510         * lib/unicodeio.h (PARAMS): Remove.
44511         * lib/unicodeio.c: Don't use PARAMS.
44512
44513 2003-06-18  Karl Berry  <karl@gnu.org>
44514
44515         * config/config.{guess,sub}: update from prep.
44516
44517 2003-06-18  Jim Meyering  <jim@meyering.net>
44518
44519         Merge changes from coreutils.
44520         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
44521         Remove explicit declarations of xmalloc and realloc.
44522         Include xalloc.h.
44523         (read_utmp): Remove anachronistic cast of xmalloc.
44524
44525 2003-06-17  Paul Eggert  <eggert@twinsun.com>
44526
44527         Assume C89, so PARAMS isn't needed.
44528         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
44529         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
44530         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
44531         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
44532         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
44533         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
44534         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
44535         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
44536         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
44537         lib/xstrtod.h, lib/xstrtol.h: Likewise.
44538         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
44539         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
44540         no longer needed. Anyway, config.h should always be included before any
44541         other file.
44542
44543 2003-06-11  Simon Josefsson  <jas@extundo.com>
44544
44545         * modules/sysexits: New file.
44546         * MODULES.html.sh (func_all_modules): Add sysexits.
44547
44548 2003-06-11  Simon Josefsson  <jas@extundo.com>
44549
44550         * lib/sysexit_.h: New file.
44551
44552 2003-06-11  Derek Price  <derek@ximbiot.com>
44553
44554         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
44555         necessary.
44556
44557 2003-06-11  Bruno Haible  <bruno@clisp.org>
44558
44559         * m4/sysexits.m4: New file.
44560
44561 2003-06-10  Simon Josefsson  <jas@extundo.com>
44562
44563         * lib/argp.h: New file, from glibc.
44564         * lib/argp-ba.c: New file, from glibc.
44565         * lib/argp-eexst.c: New file, from glibc.
44566         * lib/argp-fmtstream.c: New file, from glibc.
44567         * lib/argp-fmtstream.h: New file, from glibc.
44568         * lib/argp-fs-xinl.c: New file, from glibc.
44569         * lib/argp-help.c: New file, from glibc.
44570         * lib/argp-namefrob.h: New file, from glibc.
44571         * lib/argp-parse.c: New file, from glibc.
44572         * lib/argp-pv.c: New file, from glibc.
44573         * lib/argp-pvh.c: New file, from glibc.
44574         * lib/argp-xinl.c: New file, from glibc.
44575
44576 2003-06-10  Simon Josefsson  <jas@extundo.com>
44577
44578         * modules/strchrnul: New file.
44579
44580 2003-06-10  Simon Josefsson  <jas@extundo.com>
44581
44582         * modules/argp: New file.
44583
44584 2003-06-10  Simon Josefsson  <jas@extundo.com>
44585
44586         * m4/strchrnul.m4: New file.
44587
44588 2003-06-10  Simon Josefsson  <jas@extundo.com>
44589
44590         * lib/strchrnul.h: New file.
44591         * lib/strchrnul.c: New file.
44592
44593 2003-06-10  Bruno Haible  <bruno@clisp.org>
44594
44595         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
44596
44597 2003-06-07  Karl Berry  <karl@gnu.org>
44598
44599         * config/config.{guess,sub}: update from prep.
44600
44601 2003-06-07  Jim Meyering  <jim@meyering.net>
44602
44603         * modules/strtod: Use $(...) notation, not @...@ for
44604         AC_REPLACE'd variables.
44605         * modules/localcharset: Likewise.
44606
44607 2003-06-07  Jim Meyering  <jim@meyering.net>
44608
44609         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
44610         in place of my name in the copyright comment.
44611         Remove definition and uses of __P.
44612
44613         From coreutils.
44614         * lib/stat.c: Don't declare xmalloc explicitly.
44615         Instead, include "xalloc.h".
44616         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
44617         xrealloc, and xcalloc return values.
44618         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
44619         Improve comment.
44620         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
44621
44622 2003-06-07  Bruno Haible  <bruno@clisp.org>
44623
44624         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
44625         avoid AC_CONFIG_LINKS.
44626         * modules/fnmatch (Makefile.am): Use explicit creation rule for
44627         fnmatch.h, to avoid AC_CONFIG_LINKS.
44628         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
44629
44630 2003-06-07  Bruno Haible  <bruno@clisp.org>
44631
44632         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
44633         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
44634         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
44635         directory.
44636         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
44637         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
44638         directory.
44639
44640 2003-06-06  Jim Meyering  <jim@meyering.net>
44641
44642         Merge from coreutils.
44643         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
44644         Consolidate declarations and initializations of *_base* locals.
44645
44646         Merge from coreutils.
44647         This avoids a core dump on systems without GNU putenv,
44648         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
44649         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
44650         (unsetenv): New static function, from GNU libc.
44651         (rpl_putenv): Use it.
44652
44653         * lib/modechange.c: Remove trailing blanks.
44654
44655         Merge from coreutils.
44656         * lib/fsusage.c: Remove declaration of statfs.
44657         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
44658
44659         * lib/posixtm.c: Include <stdbool.h> unconditionally.
44660
44661 2003-06-06  Jim Meyering  <jim@meyering.net>
44662
44663         * lib/stdbool_.h: Renamed from stdbool.h.in.
44664
44665 2003-06-06  Jim Meyering  <jim@meyering.net>
44666             Bruno Haible  <bruno@clisp.org>
44667
44668         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
44669         Adjust Makefile.am snippet not to redirect directly to target.
44670         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
44671
44672 2003-06-05  Paul Eggert  <eggert@twinsun.com>
44673
44674         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
44675         mismatch, look in future quarters as well as past.  This fixes a
44676         bug when processing fall-backwards gaps immediately after a long
44677         period of daylight-saving time.
44678
44679         * lib/mktime.c: Assume freestanding C89 or better.
44680         (HAVE_LIMITS_H): Remove.  Assume it's 1.
44681         (__P): Remove; not used.
44682         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
44683         (mktime, not_equal_tm, print_tm, check_result,
44684         main): Use prototypes.  Use const * where appropriate.
44685         (main): Fix typo in testing code that uncovered by above changes.
44686         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
44687
44688 2003-06-04  Paul Eggert  <eggert@twinsun.com>
44689
44690         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
44691         locale.h, localeconv.  This merges changes from coreutils.
44692
44693         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
44694         It can be removed after the next Autoconf is released.
44695         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
44696         needed.
44697
44698 2003-06-04  Paul Eggert  <eggert@twinsun.com>
44699
44700         * lib/mktime.c: Fix Debian bug 177940
44701         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
44702         (localtime_offset): Now long int, not time_t, because we want it
44703         to be guaranteed to be signed.  All uses changed.
44704         (__mktime_internal): If overflow would occur when adding offset,
44705         don't add it.
44706
44707         Merge 'human' changes from coreutils.  Rewrite to support
44708         locale-specific notations like thousands separators.
44709         * lib/human.c: Simplify authorship notice.
44710         Include human.h immediately after config.h.
44711         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
44712         <limits.h>: Do not include, since human.h does.
44713         (SIZE_MAX, UINTMAX_MAX): New macros.
44714         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
44715         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
44716         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
44717         (power_letter): Renamed from suffixes.
44718         (generate_suffix_backwards): Remove.
44719         (adjust_value): Now takes int style (because of human.h changes)
44720         and long double value (for greater precision on some platforms).
44721         (group_number): New function.
44722         (human_readable): Use it.  Use integer options, not enum.
44723         Put the options before the sizes in the arg list.
44724         Support all the new options.
44725         The old human_readable function has been removed;
44726         use inttostr.h instead.
44727         (human_readable, default_block_size, humblock):
44728         Use uintmax_t, not int, for block sizes.
44729         (human_readable_inexact, block_size_types): Remove.
44730         (block_size_opts): New constant.
44731         (human_options): Renamed from human_block_size, with new signature
44732         that allows block sizes up to UINTMAX_MAX.  All callers changed.
44733         * lib/human.h: Add copyright and authorship notice.
44734         Include <limits.h> and <stdbool.h> unconditionally.
44735         (PARAMS): Remove.  All uses removed.
44736         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
44737         (enum human_inexact_style): Remove tag; now a nameless enum.
44738         (human_floor, human_ceiling, human_round_to_even): Now have
44739         values 2, 0, 1 rather than -1, 1, 0.
44740         (human_group_digits, human_suppress_point_zero, human_autoscale,
44741         human_base_1024, human_SI, human_B): New constants.
44742         (human_readable_inexact, human_block_size): Remove.
44743         (human_readable): Size args are now uintmax_t, not int.
44744         (human_options): New decl.
44745
44746         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
44747         unnecessary now that we assume C89 or better.  This change
44748         imported from coreutils.
44749
44750         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
44751         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
44752         in the 2003-05-30 sync from glibc.
44753
44754         .h files should stand alone, but we shouldn't include <sys/types.h>
44755         if we can get away with just <stddef.h>.
44756
44757         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
44758         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
44759         rather than <sys/types.h>, as we merely need size_t.
44760         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
44761         to get size_t.
44762         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
44763         Include <stdio.h>, to get FILE.
44764         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
44765         memcasecmp.h has included <stddef.h> and all we need is size_t.
44766         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
44767         our interface, instead of including <sys/types.h>
44768
44769 2003-06-04  Paul Eggert  <eggert@twinsun.com>
44770
44771         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
44772         now, as glibc mktime is buggy on non-glibc systems.
44773
44774 2003-06-03  Karl Berry  <karl@gnu.org>
44775
44776         * config/config.sub: update from prep.
44777
44778 2003-06-02  Paul Eggert  <eggert@twinsun.com>
44779
44780         [from coreutils]
44781         Fix some minor time-related bugs with POSIX time arguments.
44782         Some valid time stamps were being rejected (notably -1, and
44783         time stamps before 1900 on 64-bit hosts).  And some invalid
44784         time stamps were being accepted, e.g. September 31.
44785
44786         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
44787         that we can return (time_t) -1 successfully.
44788         * lib/posixtm.c: Likewise.
44789         [HAVE_STDBOOL_H]: Include <stdbool.h>.
44790         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
44791         (t): Remove static var.
44792         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
44793         of static var.  All uses changed.
44794         (year): Do not reject years before 1900; they can occur with
44795         64-bit time_t.
44796         (posix_time_parse): Do not check for out-of-range components;
44797         that is now the caller's responsibility, since our checks were
44798         only approximations.
44799         (posixtime): Use mktime to check for out-of-range components,
44800         since it knows them exactly.
44801         If mktime returns (time_t) -1, check whether an error actually occurred
44802         by invoking localtime on -1.
44803         (main) [TEST_POSIXTIME]: Check for input data errors, and report
44804         posixtime failures better.
44805         Improve the test data (in comments only).
44806
44807 2003-06-02  Karl Berry  <karl@gnu.org>
44808
44809         * config/mkinstalldirs (version): new variable.
44810         (--version): new option.
44811         (usage): improve message.
44812
44813 2003-05-30  Karl Berry  <karl@gnu.org>
44814
44815         * lib/mktime.c: update from libc.
44816
44817 2003-05-30  Bruno Haible  <bruno@clisp.org>
44818
44819         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
44820         * config/config.rpath: Upgrade to gettext-0.12.1.
44821
44822 2003-05-30  Bruno Haible  <bruno@clisp.org>
44823
44824         * m4/gettext.m4: Upgrade to gettext-0.12.1.
44825         * m4/nls.m4: New file, from gettext-0.12.1.
44826         * m4/po.m4: New file, from gettext-0.12.1.
44827         * m4/progtest.m4: Upgrade to gettext-0.12.1.
44828
44829 2003-05-30  Bruno Haible  <bruno@clisp.org>
44830
44831         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
44832         * lib/localcharset.h: Likewise.
44833         * lib/localcharset.c: Likewise.
44834
44835 2003-05-29  Karl Berry  <karl@gnu.org>
44836
44837         * config/config.rpath: update from gettext.
44838
44839 2003-05-28  Paul Eggert  <eggert@twinsun.com>
44840
44841         Assume the headers required for C89 freestanding compilers.
44842         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
44843         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
44844         * m4/human.m4 (gl_HUMAN): Likewise.
44845         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
44846         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
44847         * m4/userspec.m4 (gl_USERSPEC): Likewise.
44848         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
44849         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
44850         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
44851
44852 2003-05-28  Paul Eggert  <eggert@twinsun.com>
44853
44854         Assume the headers required for C89 freestanding compilers.
44855         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
44856         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
44857         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
44858         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
44859         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
44860         define, since <limits.h> is guaranteed to do that.
44861         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
44862         * lib/exclude.c: Include <stdbool.h> unconditionally.
44863         * lib/tempname.c: Include <stddef.h> unconditionally.
44864         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
44865         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
44866         <stddef.h> does that.
44867         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
44868         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
44869         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
44870         needed.
44871         * lib/xstrtol.c: Likewise.
44872         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
44873         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
44874
44875         * lib/addext.c (addext): Use assignment rather than cast, to avoid
44876         warnings on some platforms.
44877
44878         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
44879         arbitrarily.
44880
44881 2003-05-26  Jim Meyering  <jim@meyering.net>
44882
44883         Merge in a change from coreutils:
44884         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
44885         that is guaranteed to be `no'.  Use `no_such_member' to indicate
44886         that condition, rather than `-1' which is slightly misleading.
44887         Change the name of the cache variable to have the gl_ prefix.
44888         Prompted by a patch from Richard Dawe for DJGPP.
44889
44890 2003-05-24  Karl Berry  <karl@gnu.org>
44891
44892         * config/config.guess: update from prep.
44893
44894 2003-05-22  Karl Berry  <karl@gnu.org>
44895
44896         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
44897
44898 2003-05-20  Karl Berry  <karl@gnu.org>
44899
44900         * config/config.guess: update from prep.
44901
44902 2003-05-18  Karl Berry  <karl@gnu.org>
44903
44904         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
44905         might actually be set by the user.
44906
44907         * config/depcomp, install-sh, mdate-sh: update from automake.
44908
44909 2003-05-17  Bruno Haible  <bruno@clisp.org>
44910
44911         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
44912         invalid expansion for AC_EGREP_CPP.
44913         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
44914         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
44915         Suggested by Akim Demaille <akim@epita.fr> in
44916         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
44917
44918 2003-05-12  Jim Meyering  <jim@meyering.net>
44919
44920         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
44921         the space-padded-by-default conversion specifiers, %e, %k, %l.
44922
44923 2003-05-12  Bruno Haible  <bruno@clisp.org>
44924
44925         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
44926         the string is longer than 4 KB.
44927
44928 2003-05-11  Karl Berry  <karl@gnu.org>
44929
44930         * config/config.{guess,sub}: update from prep.
44931
44932 2003-05-09  Bruno Haible  <bruno@clisp.org>
44933
44934         * modules/error: Add m4/strerror_r.m4 to file list.
44935
44936 2003-05-03  Bruno Haible  <bruno@clisp.org>
44937
44938         Upgrade to Unicode-4.0.
44939         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
44940         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
44941         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
44942         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
44943         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
44944         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
44945         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
44946         Change width of U+E0100..U+E01EF from 1 to 0.
44947
44948 2003-04-25  Jim Meyering  <jim@meyering.net>
44949
44950         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
44951         of type size_t, not int.
44952
44953 2003-04-25  Bruno Haible  <bruno@clisp.org>
44954
44955         * lib/copy-file.c: Include <stddef.h>, for size_t.
44956
44957 2003-04-21  Paul Eggert  <eggert@twinsun.com>
44958
44959         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
44960         code which expansion is under static control.  Patch imported from
44961         Akim Demaille's patch to Bison; see
44962         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
44963
44964 2003-04-14  Bruno Haible  <bruno@clisp.org>
44965
44966         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
44967
44968 2003-04-11  Jim Meyering  <jim@meyering.net>
44969
44970         Merge changes from Coreutils.
44971
44972         2003-03-22  Jim Meyering  <jim@meyering.net>
44973
44974         * lib/strftime.c (widen): Cast alloca return value to proper type.
44975
44976         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
44977
44978         From GNU libc.
44979         * lib/strftime.c (my_strftime): Handle very large width
44980         specifications for numeric values correctly.  Improve checks for
44981         overflow.
44982
44983         2003-01-19  Jim Meyering  <jim@meyering.net>
44984
44985         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
44986         definitions.
44987         (nl_get_alt_digit) [! defined my_strftime]: Define.
44988         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
44989         _nl_get_alt_digit and _nl_get_walt_digit.
44990
44991         * lib/strftime.c (my_strftime): Merge in locale-related changes from
44992         libc. These changes have no effect outside of _LIBC.
44993
44994 2003-04-10  Bruno Haible  <bruno@clisp.org>
44995
44996         * modules/findprog: New file.
44997         * MODULES.html.sh (func_all_modules): Add it.
44998
44999 2003-04-10  Bruno Haible  <bruno@clisp.org>
45000
45001         * m4/findprog.m4: New file.
45002         * m4/eaccess.m4: New file.
45003
45004 2003-04-10  Bruno Haible  <bruno@clisp.org>
45005
45006         * lib/findprog.h: New file, from GNU gettext.
45007         * lib/findprog.c: New file, from GNU gettext.
45008
45009 2003-04-05  Jim Meyering  <jim@meyering.net>
45010
45011         Merge changes from Coreutils.
45012
45013         * lib/exclude.h (PARAMS): Remove definition and uses.
45014         * lib/exclude.c: Remove uses of `PARAMS'.
45015
45016         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
45017         Add test-cases for DOS filenames. Declare program_name.
45018         (main): Set up program_name.  Patch by Rich Dawe.
45019
45020         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
45021         error from mntctl.
45022         Use mntctl's return value to drive the entry-processing loop, since
45023         we can't rely on the value of the vmt_length member in the last
45024         entry.  On some systems doing so could result in exhausting
45025         virtual memory.  Based in part on a patch from Mike Jetzer.
45026
45027 2003-04-04  Bruno Haible  <bruno@clisp.org>
45028
45029         * modules/linebreak: New file.
45030         * MODULES.html.sh (func_all_modules): Add it.
45031
45032 2003-04-04  Bruno Haible  <bruno@clisp.org>
45033
45034         * m4/linebreak.m4: New file.
45035
45036 2003-04-04  Bruno Haible  <bruno@clisp.org>
45037
45038         * lib/linebreak.h: New file, from GNU gettext.
45039         * lib/linebreak.c: New file, from GNU gettext with slight
45040         modifications.
45041         * lib/lbrkprop.h: New file, from GNU gettext.
45042
45043 2003-04-03  Bruno Haible  <bruno@clisp.org>
45044
45045         * modules/utf8-ucs4: New file.
45046         * modules/utf16-ucs4: New file.
45047         * modules/ucs4-utf8: New file.
45048         * modules/ucs4-utf16: New file.
45049         * MODULES.html.sh (func_all_modules): Add them.
45050
45051 2003-04-03  Bruno Haible  <bruno@clisp.org>
45052
45053         * m4/utf-ucs4.m4: New file.
45054         * m4/ucs4-utf.m4: New file.
45055
45056 2003-04-03  Bruno Haible  <bruno@clisp.org>
45057
45058         * lib/utf8-ucs4.h: New file, from GNU gettext.
45059         * lib/utf16-ucs4.h: New file, from GNU gettext.
45060         * lib/ucs4-utf8.h: New file, from GNU gettext.
45061         * lib/ucs4-utf16.h: New file, from GNU gettext.
45062
45063 2003-04-02  Bruno Haible  <bruno@clisp.org>
45064
45065         * modules/binary-io: New file.
45066         * MODULES.html.sh (func_all_modules): Add it.
45067
45068 2003-04-02  Bruno Haible  <bruno@clisp.org>
45069
45070         * lib/binary-io.h: New file, from GNU gettext.
45071
45072 2003-04-01  Bruno Haible  <bruno@clisp.org>
45073
45074         * modules/pathname: New file.
45075         * MODULES.html.sh (func_all_modules): Add it.
45076
45077 2003-04-01  Bruno Haible  <bruno@clisp.org>
45078
45079         * lib/pathname.h: New file, from GNU gettext.
45080         * lib/concatpath.c: New file, from GNU gettext.
45081
45082 2003-03-30  Bruno Haible  <bruno@clisp.org>
45083
45084         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
45085
45086 2003-03-30  Bruno Haible  <bruno@clisp.org>
45087
45088         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
45089         function chown() doesn't exist.
45090
45091 2003-03-28  Bruno Haible  <bruno@clisp.org>
45092
45093         * modules/copy-file: New file.
45094         * MODULES.html.sh (func_all_modules): Add it.
45095
45096 2003-03-28  Bruno Haible  <bruno@clisp.org>
45097
45098         * m4/copy-file.m4: New file.
45099
45100 2003-03-28  Bruno Haible  <bruno@clisp.org>
45101
45102         * lib/copy-file.h: New file, from GNU gettext.
45103         * lib/copy-file.c: New file, from GNU gettext.
45104
45105 2003-03-18  Jim Meyering  <jim@meyering.net>
45106
45107         * lib/quote.c (quote_n): Fix typo in comment.
45108
45109 2003-03-18  Bruno Haible  <bruno@clisp.org>
45110
45111         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
45112         checking.
45113         * m4/onceonly_2_57.m4: Likewise.
45114
45115 2003-03-17  Bruno Haible  <bruno@clisp.org>
45116
45117         * m4/onceonly.m4: Require autoconf 2.54 or newer.
45118         (m4_quote): Remove macro.
45119         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
45120
45121 2003-03-14  Jim Meyering  <jim@meyering.net>
45122
45123         Merge changes from Coreutils.
45124         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
45125         to be const, in order to avoid warnings.
45126         (obstack_room): Likewise.
45127         (obstack_empty_p): Likewise.
45128
45129 2003-03-14  Bruno Haible  <bruno@clisp.org>
45130
45131         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
45132         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
45133
45134 2003-03-13  Paul Eggert  <eggert@twinsun.com>
45135
45136         Merge changes from Bison.
45137         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
45138         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
45139         when compiling Bison 1.875's `bitset bset = obstack_alloc
45140         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
45141         * lib/hash.c: Include <stdbool.h> unconditionally.
45142
45143 2003-03-13  Paul Eggert  <eggert@twinsun.com>
45144
45145         * m4/onceonly.m4 (m4_quote): New macro.
45146         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
45147         Quote AC_FOREACH variable-expansions properly.
45148
45149 2003-03-13  Paul Eggert  <eggert@twinsun.com>
45150
45151         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
45152
45153 2003-03-09  Paul Eggert  <eggert@twinsun.com>
45154
45155         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
45156         Reported by Bruce Becker; see:
45157         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
45158
45159 2003-03-03  Paul Eggert  <eggert@twinsun.com>
45160             Bruno Haible  <bruno@clisp.org>
45161
45162         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
45163         Reported by John Hughes, see
45164         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
45165
45166 2003-02-20  Bruno Haible  <bruno@clisp.org>
45167
45168         * MODULES.html.sh (func_all_modules): Add poll.
45169
45170 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
45171
45172         * modules/poll: New file.
45173
45174 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
45175
45176         * lib/poll_.h: New file.
45177         * lib/poll.c: New file.
45178
45179 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
45180
45181         * m4/poll.m4: New file.
45182
45183 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
45184
45185         * modules/mathl: New file.
45186
45187 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
45188
45189         * lib/mathl.h: New file.
45190         * lib/acosl.c: New file.
45191         * lib/asinl.c: New file.
45192         * lib/atanl.c: New file.
45193         * lib/ceill.c: New file.
45194         * lib/cosl.c: New file.
45195         * lib/expl.c: New file.
45196         * lib/floorl.c: New file.
45197         * lib/frexpl.c: New file.
45198         * lib/ldexpl.c: New file.
45199         * lib/logl.c: New file.
45200         * lib/sincosl.c: New file.
45201         * lib/sinl.c: New file.
45202         * lib/sqrtl.c: New file.
45203         * lib/tanl.c: New file.
45204         * lib/trigl.c: New file.
45205         * lib/trigl.h: New file.
45206
45207 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
45208
45209         * m4/mathl.m4: New file.
45210
45211 2003-02-18  Bruno Haible  <bruno@clisp.org>
45212
45213         * MODULES.html.sh (func_all_modules): Add mathl.
45214
45215 2003-02-17  Bruno Haible  <bruno@clisp.org>
45216
45217         * modules/mkdtemp: New module.
45218         * MODULES.html.sh (func_all_modules): Add it.
45219
45220 2003-02-17  Bruno Haible  <bruno@clisp.org>
45221
45222         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
45223
45224 2003-02-17  Bruno Haible  <bruno@clisp.org>
45225
45226         * lib/mkdtemp.h: New file, from GNU gettext.
45227         * lib/mkdtemp.c: New file, from GNU gettext.
45228
45229 2003-02-02  Jim Meyering  <jim@meyering.net>
45230
45231         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
45232         e.g. glibc-2.2.93.
45233
45234 2003-01-31  Bruno Haible  <bruno@clisp.org>
45235
45236         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
45237         'rpl_rename'.
45238         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
45239         'rpl_strnlen'.
45240         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
45241         'rpl_strtod'.
45242         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
45243         'rpl_utime'.
45244
45245 2003-01-31  Bruno Haible  <bruno@clisp.org>
45246
45247         * lib/rename.c: #undef rename before defining rpl_rename.
45248         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
45249
45250 2003-01-30  Bruno Haible  <bruno@clisp.org>
45251
45252         * modules/vasnprintf, modules/vasprintf: New modules.
45253         * MODULES.html.sh (func_all_modules): Add them.
45254
45255 2003-01-30  Bruno Haible  <bruno@clisp.org>
45256
45257         * m4/signed.m4: New file, from GNU gettext.
45258         * m4/longdouble.m4: New file, from GNU gettext.
45259         * m4/wchar_t.m4: New file, from GNU gettext.
45260         * m4/wint_t.m4: New file, from GNU gettext.
45261         * m4/vasnprintf.m4: New file.
45262         * m4/vasprintf.m4: New file.
45263
45264 2003-01-30  Bruno Haible  <bruno@clisp.org>
45265
45266         * lib/printf-args.h: New file, from GNU gettext.
45267         * lib/printf-args.c: New file, from GNU gettext.
45268         * lib/printf-parse.h: New file, from GNU gettext.
45269         * lib/printf-parse.c: New file, from GNU gettext.
45270         * lib/vasnprintf.h: New file, from GNU gettext.
45271         * lib/vasnprintf.c: New file, from GNU gettext.
45272         * lib/asnprintf.c: New file, from GNU gettext.
45273         * lib/vasprintf.h: New file, from GNU gettext with modifications.
45274         * lib/vasprintf.c: New file, from GNU gettext.
45275         * lib/asprintf.c: New file, from GNU gettext.
45276
45277 2003-01-29  Bruno Haible  <bruno@clisp.org>
45278
45279         * modules/stpncpy: New module.
45280         * MODULES.html.sh (func_all_modules): Add it.
45281
45282 2003-01-29  Bruno Haible  <bruno@clisp.org>
45283
45284         * m4/stpncpy.m4: New file.
45285
45286 2003-01-29  Bruno Haible  <bruno@clisp.org>
45287
45288         * lib/stpncpy.h: New file, from GNU gettext with modifications.
45289         * lib/stpncpy.c: New file, from GNU gettext with modifications.
45290
45291 2003-01-28  Bruno Haible  <bruno@clisp.org>
45292
45293         * modules/c-ctype: New module.
45294         * MODULES.html.sh (func_all_modules): Add it.
45295
45296 2003-01-28  Bruno Haible  <bruno@clisp.org>
45297
45298         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
45299         Paul Eggert.
45300         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
45301         Paul Eggert.
45302
45303 2003-01-27  Bruno Haible  <bruno@clisp.org>
45304
45305         * modules/xsetenv: New module.
45306         * MODULES.html.sh (func_all_modules): Add it.
45307
45308 2003-01-27  Bruno Haible  <bruno@clisp.org>
45309
45310         * lib/xsetenv.h: New file, from GNU gettext.
45311         * lib/xsetenv.c: New file, from GNU gettext.
45312
45313 2003-01-23  Jim Meyering  <jim@meyering.net>
45314
45315         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
45316         from working on systems without dirfd (at least Irix and OSF1/Tru64).
45317
45318 2003-01-23  Bruno Haible  <bruno@clisp.org>
45319
45320         * modules/minmax: New module.
45321         * MODULES.html.sh (func_all_modules): Add it.
45322
45323 2003-01-23  Bruno Haible  <bruno@clisp.org>
45324
45325         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
45326         Eggert.
45327
45328 2003-01-22  Bruno Haible  <bruno@clisp.org>
45329
45330         * modules/exit: New module.
45331         * MODULES.html.sh (func_all_modules): Add it.
45332
45333 2003-01-22  Bruno Haible  <bruno@clisp.org>
45334
45335         * lib/exit.h: New file, from GNU gettext.
45336
45337 2003-01-19  Bruno Haible  <bruno@clisp.org>
45338
45339         * gnulib-tool: Recognize option --extract-maintainer.
45340         (func_get_maintainer): New function.
45341         * modules/*: Add Maintainer entry.
45342
45343 2003-01-16  Jim Meyering  <jim@meyering.net>
45344
45345         * m4/regex.m4: The `regex' struct is both input and output.
45346         Initialize it before each use.  Patch by Tim Waugh.
45347
45348 2003-01-16  Bruno Haible  <bruno@clisp.org>
45349
45350         * MODULES.html.sh: Add a table of contents. Add the module name as
45351         leftmost column. Add hyperlinks.
45352
45353 2003-01-15  Bruno Haible  <bruno@clisp.org>
45354
45355         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
45356
45357 2003-01-15  Bruno Haible  <bruno@clisp.org>
45358
45359         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
45360         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
45361         suffix.
45362
45363 2003-01-15  Bruno Haible  <bruno@clisp.org>
45364
45365         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
45366
45367 2003-01-15  Bruno Haible  <bruno@clisp.org>
45368
45369         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
45370         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
45371
45372 2003-01-14  Jim Meyering  <jim@meyering.net>
45373
45374         * lib/same.c (same_name): Tweak a comment.
45375
45376 2003-01-14  Bruno Haible  <bruno@clisp.org>
45377
45378         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
45379         when a string comparison is sufficient.
45380
45381 2003-01-14  Bruno Haible  <bruno@clisp.org>
45382
45383         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
45384         'unsigned int'.
45385
45386 2003-01-14  Bruno Haible  <bruno@clisp.org>
45387
45388         * lib/hash-pjw.c: Add comment about low quality of this function.
45389
45390 2003-01-13  Bruno Haible  <bruno@clisp.org>
45391
45392         * modules/stpcpy: Distribute lib/stpcpy.h.
45393         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
45394
45395 2003-01-13  Bruno Haible  <bruno@clisp.org>
45396
45397         * modules/*: Add a description.
45398         * modules/strpbrk: Fix Makefile.am snippet.
45399         * modules/strtoimax: Fix dependencies.
45400         * modules/strtoumax: Likewise.
45401
45402 2003-01-13  Bruno Haible  <bruno@clisp.org>
45403
45404         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
45405         * modules/alloca (Makefile.am): All object files depend on alloca.h.
45406         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
45407
45408 2003-01-13  Bruno Haible  <bruno@clisp.org>
45409
45410         * gnulib-tool (func_create_testdir): Store config/* files in the main
45411         directory.
45412         * config.rpath: Move to ...
45413         * config/config.rpath: ... here.
45414         * modules/gettext: Contains config/config.rpath, not config.rpath.
45415         * modules/iconv: Likewise.
45416
45417 2003-01-12  Paul Eggert  <eggert@twinsun.com>
45418
45419         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
45420         to avoid collisions with libcurses and libreadline.
45421
45422         * m4/getstr.m4: Remove.
45423         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
45424
45425 2003-01-12  Paul Eggert  <eggert@twinsun.com>
45426
45427         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
45428         to avoid collisions with libcurses and libreadline.
45429
45430         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
45431         * lib/getstr.h, getstr.c: Remove.
45432         * lib/getline.c: Include "getline.h", to check interface.
45433         Move body of old getstr.c here: this defines MIN_CHUNK and
45434         declares getdelim2, which is renamed from getstr.
45435         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
45436
45437         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
45438         All uses changed.
45439         * lib/linebuffer.h: Likewise.
45440         (readline): Remove backward-compatibility macro.
45441
45442 2003-01-12  Paul Eggert  <eggert@twinsun.com>
45443
45444         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
45445         to avoid collisions with libcurses and libreadline.
45446         * getstr: Remove.
45447         * MODULES.html.sh: Remove getstr.
45448         * modules/getline: Depend on unlocked-io, not getstr.
45449
45450 2003-01-12  Jim Meyering  <jim@meyering.net>
45451
45452         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
45453
45454 2003-01-10  Bruno Haible  <bruno@clisp.org>
45455
45456         * modules/alloca: Change Makefile.am requirements. Simplify Include
45457         requirements. Add lib/alloca_.h to file list.
45458
45459 2003-01-10  Bruno Haible  <bruno@clisp.org>
45460
45461         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
45462
45463 2003-01-10  Bruno Haible  <bruno@clisp.org>
45464
45465         * lib/alloca_.h: New file.
45466         * lib/getdate.y: Unconditionally include alloca.h.
45467         * lib/makepath.c: Likewise.
45468         * lib/setenv.c: Likewise.
45469         * lib/userspec.c: Likewise.
45470
45471 2003-01-09  Karl Berry  <karl@gnu.org>
45472
45473         * MODULES.html.sh: include `dirname $0` in PATH, to find
45474         gnulib-tool.
45475
45476 2003-01-09  Bruno Haible  <bruno@clisp.org>
45477
45478         * modules/stdbool: Change configure.ac, Makefile.am requirements.
45479         Simplify Include requirements. Add lib/stdbool.h.in to file list.
45480
45481 2003-01-09  Bruno Haible  <bruno@clisp.org>
45482
45483         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
45484
45485 2003-01-09  Bruno Haible  <bruno@clisp.org>
45486
45487         * lib/stdbool.h.in: New file.
45488
45489 2003-01-09  Bruno Haible  <bruno@clisp.org>
45490
45491         * gnulib-tool (func_all_modules): Ignore files ending in ~.
45492         * MODULES.html.sh: Likewise.
45493
45494 2003-01-08  Jim Meyering  <jim@meyering.net>
45495
45496         * lib/full-write.c: Undefine and define-away `const' after inclusion
45497         of errno.h, not before.  Suggestion from Bruno Haible.
45498
45499 2003-01-08  Bruno Haible  <bruno@clisp.org>
45500
45501         * modules/full-read: Depend on full-write.
45502
45503 2003-01-08  Bruno Haible  <bruno@clisp.org>
45504
45505         * lib/safe-read.c: Include specification header first, to ensure its
45506         selfcontainedness.
45507         * lib/full-write.c: Likewise.
45508
45509 2003-01-07  Jim Meyering  <jim@meyering.net>
45510
45511         * lib/full-write.c: Rework so that it may serve to define full_read,
45512         too.
45513         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
45514
45515 2003-01-07  Bruno Haible  <bruno@clisp.org>
45516
45517         * lib/strtoimax.c: Include <stdint.h> as an alternative to
45518         <inttypes.h>.
45519         * lib/xstrtol.h: Likewise.
45520         * lib/xstrtoimax.c: Likewise.
45521         * lib/xstrtoumax.c: Likewise.
45522         * lib/human.h: Likewise.
45523
45524         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
45525         on systems that have <inttypes.h> but not <stdint.h>.
45526
45527 2003-01-07  Bruno Haible  <bruno@clisp.org>
45528
45529         * MODULES.html.sh: Add copyright notice.
45530         (missed_files): Omit CVS directory entries.
45531         (func_module): Make it work with sed-3.02.
45532         * MODULES.txt: Remove file.
45533
45534 2003-01-06  Jim Meyering  <jim@meyering.net>
45535
45536         * lib/version-etc.c: Update year in translatable copyright string.
45537
45538 2003-01-03  Karl Berry  <karl@gnu.org>
45539
45540         * config/config.{guess,sub}: update from prep.
45541
45542 2003-01-02  Karl Berry  <karl@gnu.org>
45543
45544         * doc/COPYING.DOC: belatedly updated to 1.2.
45545
45546 2003-01-01  Karl Berry  <karl@gnu.org>
45547
45548         * gnulib-tool (func_verify_module): report module name $module in
45549         error message, not $1.
45550         * gnulib-tool (create-testdir): don't complain if destdir couldn't
45551         be created, only if it doesn't exist.
45552         * gnulib-tool (last_checkin_date): don't expand the $Date here.
45553
45554 2002-12-31  Paul Eggert  <eggert@twinsun.com>
45555
45556         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
45557
45558 2002-12-31  Paul Eggert  <eggert@twinsun.com>
45559
45560         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
45561         memcmp if strcoll doesn't work.
45562
45563 2002-12-31  Bruno Haible  <bruno@clisp.org>
45564
45565         * lib/utime.c (utime_null): No need to call ftruncate if the file was
45566         nonempty.
45567
45568 2002-12-31  Bruno Haible  <bruno@clisp.org>
45569
45570         * lib/memcoll.c (STRCOLL): New macro.
45571         (memcoll): Use it.
45572
45573 2002-12-31  Bruno Haible  <bruno@clisp.org>
45574
45575         * lib/localcharset.h: New file.
45576         * lib/localcharset.c: Include it.
45577         * lib/unicodeio.c: Likewise.
45578
45579 2002-12-31  Bruno Haible  <bruno@clisp.org>
45580
45581         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
45582         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
45583
45584 2002-12-31  Bruno Haible  <bruno@clisp.org>
45585
45586         * lib/getline.h: Include <stddef.h>, for size_t.
45587
45588         * lib/unicodeio.h: Include <stddef.h>, for size_t.
45589         * lib/unicodeio.c: Don't include <stddef.h>.
45590
45591 2002-12-31  Bruno Haible  <bruno@clisp.org>
45592
45593         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
45594         HAVE_TM_ZONE.
45595
45596 2002-12-24  Karl Berry  <karl@gnu.org>
45597
45598         * config/config.guess: update from prep.
45599
45600 2002-12-24  Bruno Haible  <bruno@clisp.org>
45601
45602         General infrasructure.
45603         * m4/README: Rewritten.
45604         * m4/onceonly.m4: New file.
45605         * m4/onceonly_2_57.m4: New file.
45606
45607         Module atexit.
45608         * m4/atexit.m4: New file.
45609
45610         Module strtod.
45611         * m4/strtod.m4: New file.
45612
45613         Module strtol.
45614         * m4/strtol.m4: New file.
45615
45616         Module strtoul.
45617         * m4/strtoul.m4: New file.
45618
45619         Module memchr.
45620         * m4/memchr.m4: New file.
45621
45622         Module memcmp.
45623         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
45624         (jm_FUNC_MEMCMP): Invoke it.
45625
45626         Module memcpy.
45627         * m4/memcpy.m4: New file.
45628
45629         Module memmove.
45630         * m4/memmove.m4: New file.
45631
45632         Module memset.
45633         * m4/memset.m4: New file.
45634
45635         Module strcspn.
45636         * m4/strcspn.m4: New file.
45637
45638         Module strpbrk.
45639         * m4/strpbrk.m4: New file.
45640
45641         Module strstr.
45642         * m4/strstr.m4: New file.
45643
45644         Module strerror.
45645         * m4/strerror.m4: New file.
45646
45647         Module mktime.
45648         * m4/mktime.m4: Renamed from jm-mktime.m4.
45649         (gl_PREREQ_MKTIME): New macro.
45650         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
45651
45652         Module malloc.
45653         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
45654         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
45655         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
45656
45657         Module realloc.
45658         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
45659         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
45660         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
45661
45662         Module strftime.
45663         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
45664         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
45665         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
45666         gl_TM_GMTOFF.
45667         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
45668
45669         Module xalloc.
45670         * m4/xalloc.m4: New file.
45671
45672         Module alloca.
45673         * m4/alloca.m4: New file.
45674
45675         Module putenv.
45676         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
45677         (jm_FUNC_PUTENV): Invoke it.
45678
45679         Module setenv.
45680         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
45681         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
45682         when invoked twice.
45683         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
45684         gt_FUNC_SETENV.
45685
45686         Module memrchr.
45687         * m4/memrchr.m4: New file.
45688
45689         Module stpcpy.
45690         * m4/stpcpy.m4: New file.
45691
45692         Module strcase.
45693         * m4/strcase.m4: New file.
45694
45695         Module strdup.
45696         * m4/strdup.m4: New file.
45697
45698         Module strnlen.
45699         * m4/strnlen.m4: New file.
45700
45701         Module strndup.
45702         * m4/strndup.m4: New file.
45703
45704         Module xstrtod.
45705         * m4/xstrtod.m4: New file.
45706
45707         Module xstrtol.
45708         * m4/xstrtol.m4: New file.
45709
45710         Module getdate.
45711         * m4/getdate.m4: New file.
45712
45713         Module unlocked-io.
45714         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
45715         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
45716         * m4/jm-glibc-io.m4n: Remove file.
45717
45718         Module long-options.
45719         * m4/long-options.m4: New file.
45720
45721         Module md5.
45722         * m4/md5.m4: New file.
45723
45724         Module sha.
45725         * m4/sha.m4: New file.
45726
45727         Module getstr.
45728         * m4/getstr.m4: New file.
45729
45730         Module getline.
45731         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
45732         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
45733         <sys/types.h>, for size_t. Use the function name gnu_getline, not
45734         simply getline. Infoke gl_PREREQ_GETLINE.
45735
45736         Module obstack.
45737         * m4/obstack.m4: New file.
45738
45739         Module hash.
45740         * m4/hash.m4: New file.
45741
45742         Module readtokens.
45743         * m4/readtokens.m4: New file.
45744
45745         Module strverscmp.
45746         * m4/strverscmp.m4: New file.
45747
45748         Module stdbool.
45749         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
45750         OSF/1.
45751
45752         Module strtoll.
45753         * m4/strtoll.m4: New file.
45754
45755         Module strtoull.
45756         * m4/strtoull.m4: New file.
45757
45758         Module strtoimax.
45759         * m4/strtoimax.m4: New file.
45760
45761         Module strtoumax.
45762         * m4/strtoumax.m4: New file.
45763
45764         Module xstrtoimax.
45765         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
45766         jm_AC_PREREQ_XSTRTOIMAX.
45767         Moved the strtol prerequisites to strtol.m4.
45768         Moved the strtoll prerequisites to strtoll.m4.
45769         Moved the strtoimax prerequisites to strtoimax.m4.
45770
45771         Module xstrtoumax.
45772         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
45773         jm_AC_PREREQ_XSTRTOUMAX.
45774         Moved the strtoul prerequisites to strtoul.m4.
45775         Moved the strtoull prerequisites to strtoull.m4.
45776         Moved the strtoumax prerequisites to strtoumax.m4.
45777
45778         Module chown.
45779         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
45780         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
45781
45782         Module dup2.
45783         * m4/dup2.m4: New file.
45784
45785         Module ftruncate.
45786         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
45787         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
45788
45789         Module getgroups.
45790         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
45791         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
45792
45793         Module gettimeofday.
45794         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
45795         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
45796         gl_PREREQ_GETTIMEOFDAY.
45797
45798         Module mkdir.
45799         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
45800         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
45801
45802         Module mkstemp.
45803         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
45804         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
45805         jm_AC_TYPE_UINTMAX_T.
45806         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
45807
45808         Module stat.
45809         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
45810         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
45811
45812         Module lstat.
45813         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
45814         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
45815
45816         Module timespec.
45817         * m4/timespec.m4 (gl_TIMESPEC): New macro.
45818         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
45819         * m4/st_mtim.m4: Indentation.
45820
45821         Module nanosleep.
45822         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
45823         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
45824         gl_PREREQ_NANOSLEEP.
45825
45826         Module regex.
45827         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
45828         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
45829         (gl_REGEX): New macro.
45830
45831         Module rename.
45832         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
45833         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
45834
45835         Module rmdir.
45836         * m4/rmdir.m4: New file.
45837
45838         Module utime.
45839         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
45840         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
45841         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
45842
45843         Module dirname.
45844         * m4/dirname.m4: New file.
45845
45846         Module getopt.
45847         * m4/getopt.m4: New file.
45848
45849         Module unistd-safer.
45850         * m4/unistd-safer.m4: New file.
45851
45852         Module fnmatch.
45853         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
45854         declaration.
45855         (gl_PREREQ_FNMATCH_EXTRA): New macro.
45856         (gl_FUNC_FNMATCH_POSIX): New macro.
45857         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
45858         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
45859         simply fnmatch.
45860
45861         Module exclude.
45862         * m4/exclude.m4: New file.
45863
45864         Module human.
45865         * m4/human.m4: New file.
45866
45867         Module acl.
45868         * m4/acl.m4: Nop.
45869
45870         Module backupfile.
45871         * m4/backupfile.m4: New file.
45872         * m4/d-ino.m4: Indentation.
45873
45874         Module fsusage.
45875         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
45876         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
45877         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
45878
45879         Module dirfd.
45880         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
45881         requirements.
45882
45883         Module euidaccess.
45884         * m4/euidaccess.m4: New file.
45885
45886         Module file-type.
45887         * m4/file-type.m4: New file.
45888
45889         Module fileblocks.
45890         * m4/fileblocks.m4: New file.
45891
45892         Module filemode.
45893         * m4/filemode.m4: New file.
45894
45895         Module isdir.
45896         * m4/isdir.m4: New file.
45897
45898         Module lchown.
45899         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
45900         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
45901
45902         Module makepath.
45903         * m4/makepath.m4: New file.
45904
45905         Module modechange.
45906         * m4/modechange.m4: New file.
45907
45908         Module mountlist.
45909         * m4/mountlist.m4: New file.
45910         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
45911         Indentation.
45912
45913         Module path-concat.
45914         * m4/path-concat.m4: New file.
45915
45916         Module pathmax.
45917         * m4/pathmax.m4: New file.
45918
45919         Module same.
45920         * m4/same.m4: New file.
45921
45922         Module save-cwd.
45923         * m4/save-cwd.m4: New file.
45924
45925         Module savedir.
45926         * m4/savedir.m4: New file.
45927
45928         Module xgetcwd.
45929         * m4/xgetcwd.m4: New file.
45930         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
45931
45932         Module xreadlink.
45933         * m4/xreadlink.m4: New file.
45934
45935         Module safe-read.
45936         * m4/safe-read.m4: New file.
45937
45938         Module safe-write.
45939         * m4/safe-write.m4: New file.
45940
45941         Module closeout.
45942         * m4/closeout.m4: New file.
45943
45944         Module stdio-safer.
45945         * m4/stdio-safer.m4: New file.
45946
45947         Module getpass.
45948         * m4/getpass.m4: New file.
45949
45950         Module getugroups.
45951         * m4/getugroups.m4: New file.
45952
45953         Module group-member.
45954         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
45955         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
45956
45957         Module idcache.
45958         * m4/idcache.m4: New file.
45959
45960         Module userspec.
45961         * m4/userspec.m4: New file.
45962
45963         Module gettime.
45964         * m4/clock_time.m4: New file.
45965         * m4/gettime.m4: New file.
45966
45967         Module settime.
45968         * m4/settime.m4: New file.
45969
45970         Module posixtm.
45971         * m4/posixtm.m4: New file.
45972
45973         Module gethostname.
45974         * m4/gethostname.m4: New file.
45975
45976         Module canon-host.
45977         * m4/canon-host.m4: New file.
45978
45979         Module gettext.
45980         * m4/codeset.m4: New file, from gettext-0.11.5.
45981         * m4/gettext.m4: New file, from gettext-0.11.5.
45982         * m4/glibc21.m4: New file, from gettext-0.11.5.
45983         * m4/iconv.m4: New file, from gettext-0.11.5.
45984         * m4/intdiv0.m4: New file, from gettext-0.11.5.
45985         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
45986         * m4/inttypes.m4: New file, from gettext-0.11.5.
45987         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
45988         * m4/isc-posix.m4: New file, from gettext-0.11.5.
45989         * m4/lcmessage.m4: New file, from gettext-0.11.5.
45990         * m4/lib-ld.m4: New file, from gettext-0.11.5.
45991         * m4/lib-link.m4: New file, from gettext-0.11.5.
45992         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
45993         * m4/progtest.m4: New file, from gettext-0.11.5.
45994         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
45995         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
45996         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
45997
45998         Module localcharset.
45999         * m4/localcharset.m4: New file.
46000
46001         Module hard-locale.
46002         * m4/hard-locale.m4: New file.
46003
46004         Module mbswidth.
46005         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
46006         onceonly macros.
46007         * m4/mbrtowc.m4: Add comment.
46008
46009         Module memcasecmp.
46010         * m4/memcasecmp.m4: New file.
46011
46012         Module memcoll.
46013         * m4/memcoll.m4: New file.
46014
46015         Module unicodeio.
46016         * m4/unicodeio.m4: New file.
46017
46018         Module rpmatch.
46019         * m4/rpmatch.m4: New file.
46020
46021         Module yesno.
46022         * m4/yesno.m4: New file.
46023
46024         Module exitfail.
46025         * m4/exitfail.m4: New file.
46026
46027         Module c-stack.
46028         * m4/c-stack.m4 (gl_C_STACK): New macro.
46029         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
46030
46031         Module error.
46032         * m4/error.m4 (gl_ERROR): New macro.
46033         (jm_PREREQ_ERROR): Use onceonly macros.
46034
46035         Module fatal.
46036         * m4/fatal.m4: New file.
46037
46038         Module getloadavg.
46039         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
46040         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
46041
46042         Module getpagesize.
46043         * m4/getpagesize.m4: New file.
46044
46045         Module getusershell.
46046         * m4/getusershell.m4: New file.
46047
46048         Module physmem.
46049         * m4/physmem.m4: New file.
46050
46051         Module posixver.
46052         * m4/posixver.m4: New file.
46053
46054         Module quotearg.
46055         * m4/quotearg.m4: New file.
46056
46057         Module quote.
46058         * m4/quote.m4: New file.
46059
46060         Module readutmp.
46061         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
46062
46063         Module sig2str.
46064         * m4/sig2str.m4: New file.
46065
46066         Other.
46067         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
46068         ulonglong.m4.
46069         * m4/intmax_t.m4: New file.
46070         * m4/d-type.m4: Indentation.
46071         * m4/jm-macros.m4: Update.
46072         * m4/prereq.m4 (jm_PREREQ): Update.
46073         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
46074         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
46075         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
46076         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
46077         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
46078         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
46079         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
46080         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
46081         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
46082         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
46083         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
46084         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
46085         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
46086         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
46087         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
46088         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
46089         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
46090         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
46091         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
46092
46093 2002-12-24  Bruno Haible  <bruno@clisp.org>
46094
46095         * MODULES.txt: Update according to m4/ changes.
46096
46097         Module gettext.
46098         * config.rpath: New file, from gettext-0.11.5.
46099
46100         * modules/*: New module descriptions.
46101         * gnulib-tool: New file.
46102         * MODULES.html.sh: New file.
46103
46104 2002-12-21  Karl Berry  <karl@gnu.org>
46105
46106         * doc/fdl.texi: update to version 1.2.
46107
46108 2002-12-19  Karl Berry  <karl@gnu.org>
46109
46110         * config/config.guess: update from prep.
46111
46112 2002-12-18  Bruno Haible  <bruno@clisp.org>
46113
46114         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
46115         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
46116
46117 2002-12-17  Bruno Haible  <bruno@clisp.org>
46118
46119         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
46120         stdlib.h, string.h.
46121
46122 2002-12-17  Bruno Haible  <bruno@clisp.org>
46123
46124         * lib/canon-host.c (strdup): Remove unused declaration.
46125
46126         * lib/fsusage.c: Include full_read.h.
46127         (get_fs_usage): Use full_read instead of safe_read.
46128
46129         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
46130
46131 2002-12-12  Karl Berry  <karl@gnu.org>
46132
46133         * config/config.guess: update from prep.
46134
46135 2002-12-11  Bruno Haible  <bruno@clisp.org>
46136
46137         * m4/setenv.m4: New file, from gettext-0.11.5.
46138
46139 2002-12-11  Bruno Haible  <bruno@clisp.org>
46140
46141         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
46142         not unsetenv().
46143         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
46144         modifications:
46145
46146         2002-12-11  Bruno Haible  <bruno@clisp.org>
46147
46148                 * setenv.c (alloca): Fall back to malloc.
46149                 (freea): New macro.
46150                 (setenv): Use freea() to free memory allocated with alloca().
46151
46152         2002-11-13  Bruno Haible  <bruno@clisp.org>
46153
46154                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
46155                 function declarations.
46156                 * unsetenv.c (unsetenv): Likewise.
46157
46158         2002-03-04  Bruno Haible  <bruno@clisp.org>
46159
46160                 Portability to AIX 4.3.3.
46161                 * unsetenv.c: New file, extracted from setenv.c.
46162                 * setenv.c: Move the unsetenv() function to unsetenv.c.
46163
46164         2001-12-20  Bruno Haible  <bruno@clisp.org>
46165
46166                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
46167                 use malloc instead. For SunOS 4.
46168
46169         2001-12-11  Bruno Haible  <bruno@clisp.org>
46170
46171                 * setenv.c: Declare alloca.
46172                 (compar_fn_t): New typedef.
46173                 (KNOWN_VALUE, STORE_VALUE): Use it.
46174
46175         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
46176         setenv.h.
46177
46178 2002-12-10  Paul Eggert  <eggert@twinsun.com>
46179
46180         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
46181         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
46182         Choose values that are less likely to collide with system fnmatch
46183         options.
46184         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
46185         defined (e.g., a pure POSIX system).
46186         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
46187         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
46188
46189 2002-12-06  Paul Eggert  <eggert@twinsun.com>
46190
46191         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
46192         a pain in practice to deal with generated m4 files.  This change
46193         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
46194
46195         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
46196         and jm-glibc-io.m4, as they are no longer a special case.
46197         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
46198         kludge and the auto-generation stuff.  Check only whether the
46199         functions are declared, not whether they exist, since older hosts
46200         that don't declare the functions can't use the optimization anyway.
46201
46202 2002-12-06  Jim Meyering  <jim@meyering.net>
46203
46204         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
46205
46206         Merge in changes from libc's misc/error.c, in preparation
46207         for the merge of gnulib's changes back into libc.
46208
46209         * lib/error.c (_): Define only if not already defined.
46210         Move definition to follow all #include directives.
46211         Include unlocked-io.h only if !_LIBC.
46212         [_LIBC]: Include <libio/libioP.h>.
46213         [USE_IN_LIBIO]: Include <libio/iolibio.h>
46214         (fflush): Tweak definition to use INTUSE.
46215         (putc): Define.
46216
46217 2002-12-05  Paul Eggert  <eggert@twinsun.com>
46218
46219         * lib/alloca.c [defined emacs]: Include "lisp.h".
46220         (xalloc_die) [defined emacs]: New macro.
46221         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
46222         [! defined emacs]: Include <xalloc.h>.
46223         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
46224         (pointer): Typedef to POINTER_TYPE *.
46225         (malloc): Remove decl; we now always use xmalloc.
46226         (alloca): Use old-style definition, since Emacs needs this.
46227         Check for arithmetic overflow when computing combined size.
46228
46229 2002-12-04  Paul Eggert  <eggert@twinsun.com>
46230
46231         Do not generate unlocked-io.h automatically, since it's easier to
46232         maintain it by hand.
46233
46234         * lib/unlocked-io.h: New file, from GNU diffutils,
46235         but with proper copyright notice and attribution.
46236         * lib/gen-uio: Remove.
46237         * lib/Makefile.am: Add copyright notice.
46238         (libfetish_a_SOURCES): Add unlocked-io.h.
46239         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
46240         (DISTCLEANFILES, io_functions): Remove macros.
46241         (EXTRA_DIST): Remove gen_uio.
46242         (unlocked-io.h): Remove rule.
46243
46244 2002-12-04  Jim Meyering  <jim@meyering.net>
46245
46246         Reflect the fact that stat.c and lstat.c are no longer generated.
46247         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
46248         (DISTCLEANFILES): Likewise.
46249         (EXTRA_DIST): Likewise.
46250         (all_local): Don't depend on stat.c or lstat.c.
46251         (stat.c, lstat.c): Remove rules.
46252         (EXTRA_DIST): Remove xstat.in.
46253
46254         * lib/xstat.in: Remove file.  Contents moved into stat.c.
46255         * lib/stat.c: New file.  Contents mostly from xstat.in.
46256         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
46257         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
46258
46259         * lib/safe-read.c: Rework so that it may serve to define safe_write,
46260         too.
46261         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
46262
46263 2002-12-03  Jim Meyering  <jim@meyering.net>
46264
46265         * lib/safe-read.c, safe-write.c: Change variable names and comments,
46266         but not semantics, to minimize the differences between these two files.
46267         (safe_read): Change comment to mention SAFE_READ_ERROR.
46268
46269         * lib/safe-read.c (IS_EINTR): Define.
46270         (safe_read): Use IS_EINTR in place of in-function cpp directives.
46271
46272 2002-12-02  Jim Meyering  <jim@meyering.net>
46273
46274         * lib/safe-read.c (EINTR): Define.
46275         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
46276         (INT_MAX): Provide fallback.
46277         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
46278
46279         * lib/safe-read.h (SAFE_READ_ERROR): Define.
46280
46281 2002-12-02  Bruno Haible  <bruno@clisp.org>
46282
46283         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
46284         Define, taken from safe-read.c.
46285         (INT_MAX): Provide fallback.
46286         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
46287         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
46288
46289         * lib/safe-read.c (EINTR): Remove definition.
46290         (safe_read): Don't use EINTR if it is absent.
46291
46292 2002-12-01  Jim Meyering  <jim@meyering.net>
46293
46294         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
46295         zero.
46296         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
46297
46298 2002-11-27  Paul Eggert  <eggert@twinsun.com>
46299
46300         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
46301         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
46302         with `if (! (value < limit)) abort ();', for readability.
46303
46304 2002-11-26  Karl Berry  <karl@gnu.org>
46305
46306         * lib/strdup.c: copy from libc again, with jim's ok.
46307         * lib/.cppi-disable: re-add strdup.c
46308
46309 2002-11-25  Karl Berry  <karl@gnu.org>
46310
46311         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
46312         instead of "strtol.c".
46313
46314 2002-11-25  Karl Berry  <karl@gnu.org>
46315
46316         * config/install-sh: update from automake for variable quoting, $0 in
46317         error msgs, etc.
46318
46319         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
46320         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
46321         entry.
46322
46323 2002-11-25  Jim Meyering  <jim@meyering.net>
46324
46325         * lib/mktime.c: Sync from libc, now that it has the latest fix.
46326
46327 2002-11-24  Karl Berry  <karl@gnu.org>
46328
46329         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
46330         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
46331
46332 2002-11-24  Jim Meyering  <jim@meyering.net>
46333
46334         Update from coreutils:
46335
46336         * lib/mktime.c: Merge in changes from libc.
46337
46338         Avoid a link-time failure on some Linux systems.
46339         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
46340         (otherwise).
46341         (__mon_yday): Declare with the STATIC attribute.
46342         (__mktime_internal): Likewise.
46343         Based on a report from Greg Schafer.
46344
46345 2002-11-23  Jim Meyering  <jim@meyering.net>
46346
46347         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
46348         Use `unsigned', not `int', as type of index.
46349
46350         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
46351
46352         * lib/fsusage.c: Remove unneeded parentheses around operands of
46353         `defined'.
46354
46355 2002-11-22  Paul Eggert  <eggert@twinsun.com>
46356
46357         * lib/quotearg.h: Allow multiple inclusion by surrounding with
46358         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
46359         so that we can be included first.
46360         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
46361         * lib/quotearg.c: Include quotearg.h immediately after config.h.
46362         No need to include stddef.h or sys/types.h any more.
46363         Surround local include files with "", not "<>".
46364         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
46365         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
46366         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
46367         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
46368         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
46369         (ISPRINT): Remove; no longer needed now that we assume C89.
46370
46371         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
46372         Preserve errno.
46373
46374         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
46375         quotearg_char): Use SIZE_MAX rather than
46376         (size_t) -1 when we are talking about "infinity".
46377
46378         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
46379
46380 2002-11-22  Paul Eggert  <eggert@twinsun.com>
46381
46382         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
46383         hint that one should use `if (! x) abort ();' rather than `assert
46384         (x);', and anyway it's one less thing to worry about configuring.
46385         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
46386         hash_rehash, hash_insert): Use abort rather than assert.
46387
46388 2002-11-22  Bruno Haible  <bruno@clisp.org>
46389
46390         * lib/safe-read.h: Assume C89. Add comments.
46391         (safe_read): Change return type to size_t.
46392         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
46393         byte counts > SSIZE_MAX correctly.
46394         * lib/safe-write.h: New file.
46395         * lib/safe-write.c: New file.
46396         * lib/full-read.h: New file.
46397         * lib/full-read.c: New file.
46398         * lib/full-write.h: Assume C89. Add comments.
46399         * lib/full-write.c: Include safe-write.h.
46400         (full_write): Rewritten to use safe_write.
46401         Suggested by Jim Meyering and Paul Eggert.
46402
46403 2002-11-21  Jim Meyering  <jim@meyering.net>
46404
46405         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
46406
46407         Merge in changes from the coreutils.
46408
46409         2002-09-25  Paul Eggert  <eggert@twinsun.com>
46410         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
46411         <stdint.h>.
46412         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
46413         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
46414         int.  Work more efficiently if X is the same width as uintmax_t.
46415         Do not compare X to -1, to avoid bogus compiler warning.
46416         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
46417         Don't assume that f_frsize and f_bsize are the same type.
46418
46419         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
46420         warning on FreeBSD.
46421
46422         * lib/makepath.c (make_path): Restore umask *before* creating the final
46423         component.
46424         (make_path): Minor reformatting.
46425
46426         * lib/xmalloc.c: Adjust to work with new autoconf macros,
46427         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
46428         HAVE_MALLOC/HAVE_REALLOC.
46429
46430         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
46431         dummy ones.  At least on GNU/Linux systems, `auto' means something
46432         else.
46433         From Michael Stone.
46434
46435 2002-11-21  Bruno Haible  <bruno@clisp.org>
46436
46437         Remove case insensitive option matching.
46438         * lib/argmatch.h (argcasematch): Remove declaration.
46439         (ARGCASEMATCH): Remove macro.
46440         (__xargmatch_internal): Remove case_sensitive argument.
46441         (XARGMATCH): Update.
46442         (XARGCASEMATCH): Remove macro.
46443         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
46444         case_sensitive argument.
46445         (argcasematch): Remove function.
46446         (__xargmatch_internal): Remove case_sensitive argument.
46447         (main): Use XARGMATCH instead of XARGCASEMATCH.
46448
46449         * lib/xmalloc.c: Change compile-time error message. Add comment about
46450         required autoconf version.
46451
46452 2002-11-20  Paul Eggert  <eggert@twinsun.com>
46453
46454         Merge argmatch cleanups from Bison.  Assume C89.
46455
46456         * lib/argmatch.c: Include config.h here, not in argmatch.h.
46457         Include stdlib.h, for EXIT_FAILURE.
46458         Always include <string.h>, since we assume C89.
46459         (EXIT_FAILURE): Remove pre-C89 bug workaround.
46460         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
46461         Include <stddef.h> instead, since it's all we need for size_t.
46462         (PARAMS): Remove.  All uses removed.
46463         (ARRAY_CARDINALITY): Do not bother to #undef.
46464         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
46465         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
46466         Remove unnecessary parentheses.
46467         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
46468         Insert necessary parentheses.
46469         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
46470         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
46471
46472 2002-11-19  Bruno Haible  <bruno@clisp.org>
46473
46474         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
46475         * lib/mbswidth.h: Include <stddef.h>, for size_t.
46476
46477         * lib/mbswidth.h (PARAMS): Remove macro.
46478         (mbswidth, mbsnwidth): Use ANSI C function declarations.
46479         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
46480
46481         * lib/gcd.h (PARAMS): Remove macro.
46482         (gcd): Use ANSI C function declarations.
46483         * lib/gcd.c (gcd): Likewise.
46484
46485 2002-11-15  Bruno Haible  <bruno@clisp.org>
46486
46487         * lib/strcspn.c: Include <stddef.h>.
46488         (strcspn): Use ANSI C function declaration. Change return type to
46489         size_t. Use NULL.
46490         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
46491         (strpbrk): Use NULL.
46492         * lib/strpbrk.h (PARAMS): Remove macro.
46493         (strpbrk): Use ANSI C function declaration.
46494         * lib/strstr.c: Don't include <sys/types.h>.
46495         * lib/strstr.h (PARAMS): Remove macro.
46496         (strstr): Use ANSI C function declarations.
46497
46498 2002-11-14  Karl Berry  <karl@gnu.org>
46499
46500         * config/mkinstalldirs: `do' on separate line, instead of
46501         `for var; do'.
46502
46503 2002-11-06  Bruno Haible  <bruno@clisp.org>
46504
46505         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
46506         * lib/gcd.c (gcd): Likewise.
46507
46508 2002-11-05  Bruno Haible  <bruno@clisp.org>
46509
46510         * lib/gcd.h: New file, from gettext-0.11.5.
46511         * lib/gcd.c: New file, from gettext-0.11.5.
46512
46513 2002-11-05  Bruno Haible  <bruno@clisp.org>
46514
46515         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
46516         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
46517         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
46518         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
46519
46520         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
46521         <libintl.h>.
46522         * lib/makepath.c: Include gettext.h instead of <locale.h> and
46523         <libintl.h>.
46524
46525         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
46526         * lib/human.c: Include gettext.h instead of <libintl.h>.
46527         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
46528         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
46529         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
46530         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
46531         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
46532         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
46533         (textdomain): Remove definition.
46534         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
46535
46536         * lib/long-options.c: Remove include of <libintl.h> and definition of
46537         _.
46538         * lib/same.c: Remove include of <libintl.h> and definition of _.
46539
46540 2002-11-04  Owen Taylor  <otaylor@redhat.com>
46541
46542         * lib/config.charset: A few additions for Solaris.
46543
46544 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
46545
46546         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
46547         * lib/localcharset.c (locale_charset): Declare as extern "C".
46548
46549 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
46550
46551         * lib/config.charset: msdos in uk_UA uses CP1125.
46552
46553 2002-11-04  Bruno Haible  <bruno@clisp.org>
46554
46555         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
46556         * lib/strcase.h: New file, from GNU gettext-0.11.5.
46557         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
46558         * lib/strstr.h: New file, from GNU gettext-0.11.5.
46559         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
46560
46561 2002-11-04  Bruno Haible  <bruno@clisp.org>
46562
46563         * lib/localcharset.c (locale_charset): Don't return an empty string.
46564
46565 2002-11-04  Bruno Haible  <bruno@clisp.org>
46566
46567         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
46568         aliases.
46569
46570 2002-11-04  Bruno Haible  <bruno@clisp.org>
46571
46572         * lib/config.charset: Update for newest glibc. Add canonical names
46573         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
46574
46575 2002-11-04  Bruno Haible  <bruno@clisp.org>
46576
46577         * lib/config.charset: Add support for NetBSD.
46578
46579 2002-11-04  Bruno Haible  <bruno@clisp.org>
46580
46581         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
46582
46583 2002-11-01  Bruno Haible  <bruno@clisp.org>
46584
46585         * configure.in: Add AC_CONFIG_AUX_DIR call.
46586         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
46587         test/Makefile.
46588         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
46589
46590 2002-09-28  Karl Berry  <karl@gnu.org>
46591
46592         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
46593         installed automake until the next release, since changes have been
46594         made.
46595
46596 2002-09-25  Karl Berry  <karl@gnu.org>
46597
46598         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
46599         * lib/getopt*: copy from libc/posix.
46600         * lib/gettext.h: copy from gettext.
46601         * lib/.cppi-disable: add strdup.c, gettext.h.
46602
46603 2002-09-25  Karl Berry  <karl@gnu.org>
46604
46605         * config/srclist.txt: enable gettext.h check.
46606         * config/config.{guess,sub}: update from prep.
46607         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
46608                 from automake 1.6.3.
46609         See srclist*.
46610
46611 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
46612
46613         * regex.c (PATFETCH): Remove the translating fetch.
46614         (PATFETCH_RAW): Rename to PATFETCH.
46615         (set_image_of_range): New fun.
46616         (SET_RANGE_TABLE_WORK_AREA): Use it.
46617         (regex_compile): Don't translate the pattern chars so eagerly.
46618         Only do it when inserting an `exactn' bytecode or when handling
46619         a char-range.
46620         (mutually_exclusive_p): Avoid empty statement.
46621
46622 2002-07-06  Jim Meyering  <meyering@lucent.com>
46623
46624         * m4/README: Don't mention Makefile.am.in.
46625         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
46626
46627 2002-07-01  Jim Meyering  <meyering@lucent.com>
46628
46629         * lib/c-stack.c: Include sys/time.h.
46630         From Volker Borchert.
46631
46632 2002-06-26  Paul Eggert  <eggert@twinsun.com>
46633
46634         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
46635
46636 2002-06-26  Paul Eggert  <eggert@twinsun.com>
46637
46638         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
46639         New macro.  Use it uniformly instead of
46640         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
46641         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
46642         reported by Vin Shelton.
46643
46644 2002-06-22  Paul Eggert  <eggert@twinsun.com>
46645
46646         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
46647         Do not assume SA_SIGINFO behavior.
46648         Bug reported by Jim Meyering on NetBSD 1.5.2.
46649
46650 2002-06-22  Jim Meyering  <meyering@lucent.com>
46651
46652         * m4/c-stack.m4: New file, from diffutils-2.8.2.
46653         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
46654
46655         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
46656         now that configure.ac uses AC_GNU_SOURCE.
46657         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
46658         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
46659
46660         Update to latest tools.  Suggestions from Paul Eggert.
46661         * m4/stdbool.m4: New file, from diffutils-2.8.2.
46662         * m4/gnu-source.m4: Update from diffutils-2.8.2.
46663         * m4/fnmatch.m4: Likewise.
46664         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
46665         to AC_HEADER_STDBOOL
46666
46667 2002-06-22  Jim Meyering  <meyering@lucent.com>
46668
46669         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
46670         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
46671
46672 2002-06-22  Jim Meyering  <meyering@lucent.com>
46673
46674         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
46675
46676         * lib/exitfail.c, exitfail.h: Likewise.
46677         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
46678
46679         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
46680         of fnmatch.h.
46681         (EXTRA_DIST): Add fnmatch_loop.c.
46682         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
46683
46684         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
46685         * lib/fnmatch.c: Update from diffutils-2.8.2.
46686         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
46687         * lib/fnmatch.h: Remove file.
46688
46689 2002-06-21  Jim Meyering  <meyering@lucent.com>
46690
46691         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
46692         * m4/mbrtowc.m4: Likewise.
46693
46694         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
46695         * m4/mbswidth.m4: Reflect name change:
46696         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
46697         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
46698
46699         * m4/lib-link.m4: Update from gettext-0.11.2.
46700         * m4/gettext.m4: Likewise.
46701
46702         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
46703         From Alfred M. Szmidt.
46704
46705 2002-06-18  Paul Eggert  <eggert@twinsun.com>
46706
46707         * lib/file-type.h: Report an error if neither S_ISREG nor
46708         S_IFREG is defined, instead of using a test specific to glibc
46709         2.2.  This should be safe, since POSIX requires S_ISREG and
46710         Unix Version 7 had S_IFREG.  We don't need to check for
46711         <sys/types.h> since we don't use any symbols that it defines.
46712
46713 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
46714
46715         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
46716         $@-t, so that each temporary file name is unique and valid in the first
46717         8 characters, for operation under DOS.
46718
46719 2002-06-15  Paul Eggert  <eggert@twinsun.com>
46720
46721         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
46722
46723 2002-06-15  Jim Meyering  <meyering@lucent.com>
46724
46725         Work even with DJGPP 2.03, which lacks support for symlinks.
46726         From Richard Dawe.
46727         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
46728         is defined.
46729         * lib/lchown.c (S_ISLNK): Likewise.
46730
46731 2002-06-15  Jim Meyering  <meyering@lucent.com>
46732
46733         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
46734         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
46735         have been included before this file.
46736
46737 2002-06-14  Jim Meyering  <meyering@lucent.com>
46738
46739         * lib/file-type.h: Use the version from diffutils-2.8.2.
46740         * lib/file-type.c: Likewise.
46741
46742 2002-06-07  Jim Meyering  <meyering@lucent.com>
46743
46744         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
46745         They're needed at least for NetBSD 1.5.2.
46746         ($statxfs_includes): Include those same headers.
46747         ($statxfs_includes): Include sys/vfs.h if available.
46748         ($statxfs_includes): Likewise for sys/statvfs.h.
46749         Check for the following members in both structs statfs and statvfs:
46750         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
46751
46752 2002-06-01  Jim Meyering  <meyering@lucent.com>
46753
46754         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
46755         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
46756
46757 2002-05-28  Jim Meyering  <meyering@lucent.com>
46758
46759         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
46760         Reported by Volker Borchert.
46761
46762 2002-05-27  Jim Meyering  <meyering@lucent.com>
46763
46764         Fix a problem seen only on nonconforming systems whereby ls.c's
46765         use of localtime, and then of gettimeofday would cause trouble:
46766         the localtime call used to initialize rpl_gettimeofday's save
46767         mechanism would clobber ls's current local time information so
46768         that in any long listing the first file would always be listed
46769         with date 1970-01-01.  Analysis by Volker Borchert.
46770
46771         * lib/gettimeofday.c (localtime): Undefine.
46772         (rpl_localtime): New function.
46773
46774 2002-05-27  Jim Meyering  <meyering@lucent.com>
46775
46776         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
46777         localtime.
46778
46779         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
46780         use the replacement function; it wouldn't resolve at link time.
46781         Reported by Volker Borchert.
46782
46783 2002-05-22  Jim Meyering  <meyering@lucent.com>
46784
46785         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
46786         file-type.h.
46787         * lib/file-type.h: New file.
46788         * lib/file-type.c (file_type): New file/function.  Extracted from
46789         diffutils.
46790
46791 2002-04-30  Jim Meyering  <meyering@lucent.com>
46792
46793         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
46794
46795 2002-04-29  Paul Eggert  <eggert@twinsun.com>
46796
46797         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
46798
46799 2002-04-29  Paul Eggert  <eggert@twinsun.com>
46800
46801         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
46802         Do not check for alloca.h (no longer used) or stdbool.h (was never
46803         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
46804
46805 2002-04-29  Paul Eggert  <eggert@twinsun.com>
46806
46807         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
46808
46809 2002-04-29  Jim Meyering  <meyering@lucent.com>
46810
46811         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
46812         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
46813         Use AC_FUNC_STRNLEN here instead.
46814
46815         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
46816         With autoconf-2.53a, it's part of AC_PROG_CC.
46817
46818 2002-04-28  Paul Eggert  <eggert@twinsun.com>
46819
46820         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
46821         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
46822
46823 2002-04-28  Paul Eggert  <eggert@twinsun.com>
46824
46825         * lib/sig2str.h, lib/sig2str.c: New files.
46826         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
46827
46828 2002-04-28  Paul Eggert  <eggert@twinsun.com>
46829
46830         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
46831         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
46832         of 127, since 64 is the largest conceivable number for ancient
46833         nonstandard hosts.
46834         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
46835
46836 2002-04-28  Jim Meyering  <meyering@lucent.com>
46837
46838         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
46839
46840 2002-04-24  Jim Meyering  <meyering@lucent.com>
46841
46842         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
46843         (jm_PREREQ): Use it.
46844
46845         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
46846         mach/mach.h fcntl.h.
46847         Check for this function: setlocale.
46848
46849 2002-04-24  Jim Meyering  <meyering@lucent.com>
46850
46851         * lib/gettext.h: New file, from Gettext.
46852         * lib/Makefile.am (INCLUDES): Remove -I../intl.
46853         (libfetish_a_SOURCES): Add gettext.h.
46854
46855 2002-04-16  Jim Meyering  <meyering@lucent.com>
46856
46857         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
46858         ut_pid, ut_id, ut_exit.
46859
46860 2002-04-16  Jim Meyering  <meyering@lucent.com>
46861
46862         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
46863         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
46864         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
46865
46866 2002-04-12  Jim Meyering  <meyering@lucent.com>
46867
46868         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
46869         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
46870         existence of the getmntinfo function.  Needed for Darwin 5.3.
46871
46872         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
46873         This is necessary at least on Darwin 5.3.
46874
46875         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
46876         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
46877         strnlen.o in the library, and that makes some versions of ranlib
46878         object.
46879
46880 2002-04-12  Jim Meyering  <meyering@lucent.com>
46881
46882         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
46883
46884 2002-04-09  Jim Meyering  <meyering@lucent.com>
46885
46886         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
46887         to be more precise.  Rather than saying we're checking whether the
46888         function `works', say what we're testing.
46889         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
46890         Reported by Bruno Haible.
46891
46892 2002-03-10  Jim Meyering  <meyering@lucent.com>
46893
46894         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
46895         Suggestion from Santiago Vila.
46896
46897 2002-03-08  Jim Meyering  <meyering@lucent.com>
46898
46899         * lib/rename.c: Mention that this wrapper is needed also on
46900         mips-dec-ultrix4.4 systems.
46901
46902 2002-03-02  Jim Meyering  <meyering@lucent.com>
46903
46904         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
46905         not HAVE_CLOCK_SETTIME.
46906
46907 2002-02-27  Paul Eggert  <eggert@twinsun.com>
46908
46909         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
46910         Check for clock_settime.
46911
46912 2002-02-27  Paul Eggert  <eggert@twinsun.com>
46913
46914         * lib/nanosleep.h: Rename to....
46915         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
46916
46917         * lib/gettime.c: New file.
46918         * lib/settime.c: New file.
46919         * lib/stime.c: Remove.
46920
46921         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
46922         timespec.h.  Remove nanosleep.h.
46923
46924 2002-02-25  Paul Eggert  <eggert@twinsun.com>
46925
46926         * m4/acl.m4: New file.
46927         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
46928         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
46929
46930 2002-02-25  Paul Eggert  <eggert@twinsun.com>
46931
46932         * lib/acl.c, lib/acl.h: New files.
46933         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
46934
46935 2002-02-24  Jim Meyering  <meyering@lucent.com>
46936
46937         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
46938         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
46939         cause trouble.  Reported by Nelson Beebe.
46940
46941 2002-02-23  Paul Eggert  <eggert@twinsun.com>
46942
46943         * lib/path-concat.c (xpath_concat): Reorder code to pacify
46944         compilers that don't know that xalloc_die never returns.
46945
46946 2002-02-20  Jim Meyering  <meyering@lucent.com>
46947
46948         * lib/getdate.c: Regenerate using bison-1.33.
46949
46950 2002-02-17  Jim Meyering  <meyering@lucent.com>
46951
46952         * config/config.guess (main): Don't use `head -1'; it's no longer
46953         portable. Use `sed 1q' instead.
46954
46955 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
46956
46957         * m4/codeset.m4: Upgrade to gettext-0.11.
46958         * m4/gettext.m4: Upgrade to gettext-0.11.
46959         * m4/glibc21.m4: Upgrade to gettext-0.11.
46960         * m4/iconv.m4: Upgrade to gettext-0.11.
46961         * m4/isc-posix.m4: Upgrade to gettext-0.11.
46962         * m4/lcmessage.m4: Upgrade to gettext-0.11.
46963         * m4/lib-ld.m4: New file, from gettext-0.11.
46964         * m4/lib-link.m4: New file, from gettext-0.11.
46965         * m4/lib-prefix.m4: New file, from gettext-0.11.
46966         * m4/progtest.m4: Upgrade to gettext-0.11.
46967
46968 2002-02-15  Paul Eggert  <eggert@twinsun.com>
46969
46970         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
46971         (jm_PREREQ): Use it.
46972
46973 2002-02-15  Paul Eggert  <eggert@twinsun.com>
46974
46975         * lib/posixver.c, lib/posixver.h: New files.
46976         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
46977
46978 2002-02-02  Paul Eggert  <eggert@twinsun.com>
46979             Bruno Haible  <bruno@clisp.org>
46980
46981         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
46982         (fwrite_success_callback): New declaration.
46983         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
46984         print_unicode_char. Call failure callback instead of error.
46985         (fwrite_success_callback): New function.
46986         (exit_failure_callback): New function.
46987         (fallback_failure_callback): New function.
46988         (print_unicode_char): Call unicode_to_mb.
46989
46990 2002-01-26  Jim Meyering  <meyering@lucent.com>
46991
46992         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
46993         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
46994
46995 2002-01-26  Jim Meyering  <meyering@lucent.com>
46996
46997         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
46998
46999 2002-01-22  Paul Eggert  <eggert@twinsun.com>
47000
47001         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
47002
47003 2002-01-22  Jim Meyering  <meyering@lucent.com>
47004
47005         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
47006         Otherwise, some versions of automake would omit the rule that makes
47007         Makefile from Makefile.in.
47008
47009 2002-01-21  Paul Eggert  <eggert@twinsun.com>
47010
47011         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
47012         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
47013         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
47014         (memcoll): Set errno to zero if there is no error.
47015
47016         * lib/quotearg.c (quotearg_buffer_restyled):
47017         Fix bug with quoting buffers containing NUL when backslashing escapes.
47018         This bug was exposed by the other changes in this patch.
47019         (quotearg_n_options): New arg ARGSIZE.
47020         All callers changed.
47021         (quoting_options_from_style): New function.
47022         (quotearg_n_style): Use it.
47023         (quotearg_n_style_mem): New function.
47024
47025         * lib/quotearg.h (quotearg_n_style_mem): New function.
47026
47027 2002-01-19  Jim Meyering  <meyering@lucent.com>
47028
47029         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
47030         Remove useless quotes: DF_PROG="df".
47031         * m4/strnlen.m4: New file.
47032
47033 2002-01-16  Paul Eggert  <eggert@twinsun.com>
47034
47035         * lib/backupfile.c (ISDIGIT): Comment fix.
47036         * lib/getdate.y (ISDIGIT): Likewise.
47037         * lib/posixtm.c (ISDIGIT, year): Likewise.
47038         * lib/strverscmp.c (ISDIGIT): Likewise.
47039         * lib/userspec.c (ISDIGIT): Likewise.
47040
47041 2002-01-16  Jim Meyering  <meyering@lucent.com>
47042
47043         * lib/getdate.y: Add three semicolons, each just before a closing
47044         brace. Bison (as of version 1.31) no longer papers over that mistake.
47045
47046 2002-01-05  Jim Meyering  <meyering@lucent.com>
47047
47048         * lib/version-etc.c (version_etc_copyright): Update copyright year.
47049
47050 2001-12-19  Paul Eggert  <eggert@twinsun.com>
47051
47052         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
47053         not silently exit merely because the output buffer happens to
47054         have nothing pending.
47055
47056 2001-12-18  Paul Eggert  <eggert@twinsun.com>
47057
47058         See the big note in ../ChangeLog.
47059         * lib/human.c (suffixes): Prefer K to k for 1024.
47060         (generate_suffix_backwards): New function.
47061         (human_readable_inexact): Use it.
47062         * lib/xstrtol.c (__xstrtol): If there is no number but there
47063         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
47064         Accept 'K' as well as 'k'.
47065
47066 2001-12-15  Jim Meyering  <meyering@lucent.com>
47067
47068         * lib/regex.h (__restrict_arr): Update from libc.
47069
47070         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
47071         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
47072         (STREQ): Define.
47073
47074 2001-12-14  Jim Meyering  <meyering@lucent.com>
47075
47076         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
47077         Suggestion from Bruno Haible.
47078
47079 2001-12-10  Jim Meyering  <meyering@lucent.com>
47080
47081         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
47082         xrealloc, Instead, include "xalloc.h".
47083         (initbuffer): Don't cast xmalloc return value to char*.
47084         (readline): Reword comment.
47085         Don't cast xrealloc return value to char*
47086         Return NULL, not 0.
47087
47088 2001-12-09  Jim Meyering  <meyering@lucent.com>
47089
47090         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
47091         about `signed and unsigned type in conditional expression'.
47092         * lib/posixtm.c (posix_time_parse): Likewise.
47093
47094         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
47095
47096         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
47097         to avoid a pedantic warning.
47098
47099         * lib/getstr.c: Don't include assert.h.
47100         (getstr): Remove warning-evoking assertions.
47101         Return -1 if offset parameter is out of bounds.
47102         Change the type of a local from int to size_t.
47103
47104         * lib/strftime.c (my_strftime_localtime_r): Include this function
47105         definition in the `#if ! HAVE_TM_GMTOFF' block.
47106
47107         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
47108         Include xalloc.h instead.
47109
47110 2001-12-02  Jim Meyering  <meyering@lucent.com>
47111
47112         * lib/tempname.c: Don't declare getenv, thus reverting the change of
47113         2001-11-18.  It's no longer necessary, now that stdlib.h is always
47114         included.
47115
47116         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
47117         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
47118
47119 2001-11-30  Akim Demaille  <akim@epita.fr>
47120
47121         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
47122         before being defined.
47123
47124 2001-11-27  Paul Eggert  <eggert@twinsun.com>
47125
47126         * lib/quotearg.h (quotearg_n, quotearg_n_style):
47127         First arg is int, not unsigned.
47128         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
47129         (SIZE_MAX, UINT_MAX): New macros.
47130         (quotearg_n_options): Abort if N is negative.
47131         Avoid overflow check on hosts where size_t is 64 bits and int
47132         is 32 bits, as overflow is impossible there.
47133         Fix off-by-one typo that caused unnecessary reallocation.
47134
47135 2001-11-27  Jim Meyering  <meyering@lucent.com>
47136
47137         * lib/tempname.c: Merge with version from libc.
47138         * lib/regex.c: Likewise.
47139
47140         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
47141         systems for which STDC_HEADERS is 0, it was not included, resulting in
47142         a warning about an integer-to-pointer conversion problem with getenv.
47143         Reported by Volker Borchert.
47144
47145 2001-11-26  Jim Meyering  <meyering@lucent.com>
47146
47147         * lib/gtod.h: Remove file.
47148         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
47149         * lib/gettimeofday.c: Don't include gtod.h.
47150         (GTOD_init): Remove function.
47151         (rpl_gettimeofday): Do its job here instead, rather than aborting.
47152         Suggestion from Volker Borchert.
47153
47154 2001-11-23  Jim Meyering  <meyering@lucent.com>
47155
47156         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
47157         it.
47158         * lib/hash.c (struct hash_table): Define it here instead.
47159
47160 2001-11-22  Jim Meyering  <meyering@lucent.com>
47161
47162         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
47163
47164 2001-11-20  Jim Meyering  <meyering@lucent.com>
47165
47166         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
47167         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
47168
47169 2001-11-19  Jim Meyering  <meyering@lucent.com>
47170
47171         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
47172         directory.  Use "conftestXXXXXX" as the template.
47173         Suggestion from Paul Eggert.
47174
47175         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
47176         immediately, so the test doesn't mistakenly hit the max-open-files
47177         limit.
47178
47179 2001-11-18  Paul Eggert  <eggert@twinsun.com>
47180
47181         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
47182         (TEMPORARIES): New macro.
47183         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
47184         removes an artificial limitation (e.g. HP-UX 10.20, where
47185         TMP_MAX is 17576).
47186
47187 2001-11-18  Jim Meyering  <meyering@lucent.com>
47188
47189         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
47190
47191 2001-11-18  Jim Meyering  <meyering@lucent.com>
47192
47193         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
47194         on SunOS 4.
47195
47196         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
47197         files will be created before anything else.
47198
47199 2001-11-17  Paul Eggert  <eggert@twinsun.com>
47200
47201         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
47202         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
47203
47204 2001-11-17  Jim Meyering  <meyering@lucent.com>
47205
47206         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
47207         Prompted by a report from Bob Proulx.
47208
47209         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
47210         Instead, require UTILS_FUNC_MKSTEMP.
47211
47212 2001-11-17  Jim Meyering  <meyering@lucent.com>
47213
47214         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
47215         Now, that's done as part of AC_FUNC_STRTOD.
47216
47217 2001-11-17  Jim Meyering  <meyering@lucent.com>
47218
47219         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
47220         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
47221         rather than group writable.  Patch by Juan F. Codagnone.
47222
47223         * lib/readtokens.c: Remove explicit declarations of xmalloc and
47224         xrealloc, Instead, include "xalloc.h".
47225
47226         * lib/mountlist.c: Include unlocked-io.h after all system headers.
47227         Remove explicit declarations of xmalloc, xrealloc,
47228         and xstrdup.  Instead, include "xalloc.h".
47229
47230         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
47231         unlocked-io.h.
47232         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
47233         Likewise.
47234         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
47235
47236         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
47237         Reported by Padraig Brady.
47238
47239         * lib/mkstemp.c: #undef mkstemp.
47240         Include config.h.
47241         (rpl_mkstemp): Rename from mkstemp.
47242         Protoize.
47243
47244 2001-11-16  Jim Meyering  <meyering@lucent.com>
47245
47246         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
47247         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
47248         determine the amount of total physical memory, use pstat_getstatic.
47249         HPUX-11 doesn't define _SC_PHYS_PAGES.
47250         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
47251         If sysconf couldn't be used to determine the amount of available
47252         physical memory, use both pstat_getstatic and pstat_getdynamic.
47253         Based on a patch from Bob Proulx.
47254
47255 2001-11-10  Jim Meyering  <meyering@lucent.com>
47256
47257         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
47258         (jm_PREREQ): Use it.
47259
47260 2001-11-09  Jim Meyering  <meyering@lucent.com>
47261
47262         * m4/jm-macros.m4: Require autoconf-2.52f.
47263         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
47264         Use these AC_-prefixed names, not the AM_-prefixed ones.
47265
47266         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
47267
47268 2001-11-05  Jim Meyering  <meyering@lucent.com>
47269
47270         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
47271
47272 2001-11-04  Jim Meyering  <meyering@lucent.com>
47273
47274         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
47275         $DEFS.
47276
47277 2001-11-03  Jim Meyering  <meyering@lucent.com>
47278
47279         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
47280         of AC_DEFUN.
47281
47282         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
47283         know the name of the variable in the macro definition.
47284
47285 2001-11-03  Jim Meyering  <meyering@lucent.com>
47286
47287         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
47288         in argmatch_to_argument call.
47289
47290         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
47291         argument.
47292
47293         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
47294         e.g., a fault due to an attempt to free a NULL pointer.
47295
47296 2001-11-01  Jim Meyering  <meyering@lucent.com>
47297
47298         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
47299         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
47300
47301 2001-11-01  Jim Meyering  <meyering@lucent.com>
47302
47303         * lib/dirfd.c, lib/dirfd.h: New files.
47304         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
47305
47306         * lib/hash.c (hash_print) [TESTING]: Clean up.
47307
47308 2001-10-22  Paul Eggert  <eggert@twinsun.com>
47309
47310         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
47311         to avoid a warning if -Wall.
47312
47313 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
47314
47315         * README: New file
47316         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
47317         (per RMS's instructions, this is now the canonical source)
47318         * lgpl/, gpl/: New directories.
47319
47320 2001-10-21  Paul Eggert  <eggert@twinsun.com>
47321
47322         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
47323
47324 2001-10-21  Jim Meyering  <meyering@lucent.com>
47325
47326         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
47327         this code would end up calling gettext even in packages built
47328         with --disable-nls.
47329         * lib/getopt.c (_): Likewise.
47330         * lib/regex.c (_): Likewise.
47331
47332 2001-10-20  Paul Eggert  <eggert@twinsun.com>
47333
47334         * m4/error.m4 (jm_PREREQ_ERROR):
47335         Do not invoke AC_CHECK_FUNCS with strerror_r, as
47336         AC_FUNC_STRERROR_R does that.
47337         Check for strerror declaration.
47338
47339         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
47340         are supposed to have them these days.
47341         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
47342         Merge changes from latest Autoconf CVS.
47343         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
47344         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
47345         POSIX decided to standardize on the int flavor of strerror_r.
47346
47347 2001-10-20  Paul Eggert  <eggert@twinsun.com>
47348
47349         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
47350         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
47351         Use strerror_r that is only a macro, even if it is not a function.
47352         (strerror): Check for HAVE_DECL_STRERROR before declaring.
47353         (private_strerror): Use prototypes, not old-style function definition.
47354         (print_errno_message): New function.
47355         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
47356         char*-flavored one.
47357         (error_tail, error, error_at_line): Use it.
47358
47359 2001-10-11  Jim Meyering  <meyering@lucent.com>
47360
47361         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
47362         and quote_n (1, ... to avoid clobbering a buffer.
47363
47364 2001-10-05  Jim Meyering  <meyering@lucent.com>
47365
47366         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
47367         hash-pjw.h.
47368         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
47369         * lib/hash-pjw.h: New file.
47370
47371 2001-09-30  Jim Meyering  <meyering@lucent.com>
47372
47373         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
47374         `struct fsstat' has the `f_fstypename' member.
47375         Use that to define FS_TYPE, which is now used to make
47376         the getfsstat link test tighter.
47377
47378 2001-09-30  Jim Meyering  <meyering@lucent.com>
47379
47380         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
47381         Include <sys/ucred.h>, for Apple Darwin.
47382         Include sys/mount.h and sys/fs_types.h only if available.
47383         (FS_TYPE): Define.
47384         (read_filesystem_list): Use FS_TYPE.
47385
47386 2001-09-29  Paul Eggert  <eggert@twinsun.com>
47387
47388         * lib/exclude.c (excluded_filename): 0 -> false, since it's
47389         a boolean context.
47390
47391 2001-09-29  Jim Meyering  <meyering@lucent.com>
47392
47393         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
47394         [one-argument getmntent function]): Include stdio.h before mntent.h.
47395         SunOS 4.1.x needs it for the declaration of `FILE'.
47396         Patch by Volker Borchert.
47397
47398         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
47399         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
47400         sys/fs_types.h, and make the link-test for getfsstat guard #include
47401         directives with appropriate #if HAVE_*_H tests so that we can
47402         detect getfsstat on Apple Darwin1.3.7 systems.
47403         Reported by Nelson Beebe.
47404         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
47405
47406 2001-09-28  Paul Eggert  <eggert@twinsun.com>
47407
47408         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
47409         #defines strtoimax.  Also treat the other strto* functions
47410         like strtoimax.
47411
47412         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
47413         Check for strtoul and strtoumax,
47414         as those declarations are made even in the signed case.
47415         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
47416         Likewise, for strtol and strtoimax.
47417
47418 2001-09-28  Paul Eggert  <eggert@twinsun.com>
47419
47420         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
47421         #defines strtoimax.  Also treat the other strto* functions
47422         like strtoimax.
47423
47424         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
47425         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
47426         (strtoimax, strtoumax): Do not declare if already defined as a macro.
47427
47428 2001-09-26  Jim Meyering  <meyering@lucent.com>
47429
47430         Most macros in unlocked-io.h had the wrong number of arguments.
47431         * lib/gen-uio: New script.
47432         (USE_UNLOCKED_IO): Define to 1 if not already defined.
47433         * lib/unlocked-io.hin: Remove file.
47434         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
47435         rather than trying to embed it here.
47436         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
47437         Reported by Padraig Brady.
47438
47439 2001-09-25  Volker Borchert  <bt@teknon.de>
47440
47441         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
47442         `result'.
47443
47444 2001-09-24  Jim Meyering  <meyering@lucent.com>
47445
47446         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
47447
47448 2001-09-23  Jim Meyering  <meyering@lucent.com>
47449
47450         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
47451         instead of the mere test for existence of mntent.h.  The latter
47452         would get a false-positive on AIX 3.4 systems.
47453         In the outer getmntent if-block, don't die if neither of the getmntent
47454         tests succeeds.  Instead, just fall through and continue with the
47455         remaining tests.
47456
47457 2001-09-23  Jim Meyering  <meyering@lucent.com>
47458
47459         * lib/mountlist.c: Remove useless parentheses in #if directives.
47460         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
47461         the deprecated MOUNTED symbol is no longer defined in mntent.h.
47462
47463 2001-09-22  Jim Meyering  <meyering@lucent.com>
47464
47465         * m4/gettext.m4: New file.  From gettext.
47466         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
47467         * m4/progtest.m4: Likewise
47468         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
47469         * m4/glibc21.m4: Likewise.
47470
47471         * m4/libintl.m4: Remove.  No longer used.
47472
47473 2001-09-22  Jim Meyering  <meyering@lucent.com>
47474
47475         * lib/localcharset.c: Update from latest gettext.
47476         * lib/config.charset: Likewise.
47477
47478 2001-09-20  Jim Meyering  <meyering@lucent.com>
47479
47480         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
47481         strtoimax.
47482         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
47483         strtoumax.
47484
47485 2001-09-20  Jim Meyering  <meyering@lucent.com>
47486
47487         * lib/xstrtol.c (strtoimax): Guard declaration with
47488         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
47489         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
47490         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
47491         (strtoumax): Likewise, for completeness (it wasn't necessary).
47492
47493 2001-09-17  Paul Eggert  <eggert@twinsun.com>
47494
47495         * lib/strtoimax.c (HAVE_LONG_LONG):
47496         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
47497         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
47498         to work around bug in IBM C compiler.
47499
47500 2001-09-17  Jim Meyering  <meyering@lucent.com>
47501
47502         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
47503         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
47504         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
47505         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
47506         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
47507         whenever the right hand side need not be expanded by the shell.
47508
47509 2001-09-16  Paul Eggert  <eggert@twinsun.com>
47510
47511         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
47512         library.  It's not correct, as some older glibcs are buggy.
47513         fnmatch wasn't fixed until glibc 2.2.
47514
47515         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
47516         special shell magic here.
47517
47518 2001-09-16  Jim Meyering  <meyering@lucent.com>
47519
47520         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
47521         * m4/jm-macros.m4: Require it.
47522
47523 2001-09-16  Jim Meyering  <meyering@lucent.com>
47524
47525         * lib/mkdir.c: New file.
47526
47527 2001-09-15  Jim Meyering  <meyering@lucent.com>
47528
47529         * m4/jm-macros.m4: Check for help2man.
47530
47531 2001-09-11  Jim Meyering  <meyering@lucent.com>
47532
47533         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
47534         The body, by Paul Eggert, was moved here from configure.in.
47535         * m4/jm-macros.m4: Require UTILS_HOST_OS.
47536
47537 2001-09-04  Paul Eggert  <eggert@twinsun.com>
47538
47539         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
47540         (jm_PREREQ): Use it.
47541
47542 2001-09-04  Paul Eggert  <eggert@twinsun.com>
47543
47544         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
47545         Use ssize_t, not int, to store result of readlink.
47546         Check for ssize_t overflow as well as size_t overflow,
47547         as POSIX says the result of readlink is implementation-defined
47548         when ssize_t overflows.
47549         Remove unnecessary cast to char*.
47550         Use free+malloc instead of realloc, as the storage doesn't need
47551         to be preserved and it's clearer and can be more efficient that way.
47552         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
47553         * lib/xreadlink.h (xreadlink): Update prototype.
47554
47555 2001-09-04  Paul Eggert  <eggert@twinsun.com>
47556
47557         * lib/xgetcwd.c: Revert some of the previous change; intead,
47558         fix the HAVE_GETCWD_NULL code to behave more like the
47559         !HAVE_GETCWD_NULL code used to.
47560
47561         Include "xalloc.h".
47562         (xgetcwd): Do not return NULL when memory is exhausted; instead,
47563         invoke xalloc_die.
47564
47565 2001-09-03  Paul Eggert  <eggert@twinsun.com>
47566
47567         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
47568         sys/param.h, as pathmax.h includes them.
47569
47570 2001-09-03  Paul Eggert  <eggert@twinsun.com>
47571
47572         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
47573         (jm_PREREQ_XGETCWD): New macro.
47574
47575         * m4/getcwd.m4: New file.
47576
47577 2001-09-03  Paul Eggert  <eggert@twinsun.com>
47578
47579         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
47580         like the HAVE_GETCWD_NULL code.
47581         Include pathmax.h if not HAVE_GETCWD.
47582         Do not include xalloc.h.
47583         (INITIAL_BUFFER_SIZE): New symbol.
47584         Do not use xmalloc / xrealloc, since the caller is responsible for
47585         handling errors.  Preserve errno around `free' during failure.
47586         Do not overrun buffer when using getwd.
47587
47588 2001-09-03  Paul Eggert  <eggert@twinsun.com>
47589
47590         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
47591         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
47592         getcwd (NULL, 0).
47593
47594 2001-09-03  Paul Eggert  <eggert@twinsun.com>
47595
47596         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
47597         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
47598         spotted by Jim Meyering.
47599
47600 2001-09-03  Jim Meyering  <meyering@lucent.com>
47601
47602         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
47603         failure.
47604
47605 2001-09-02  Jim Meyering  <meyering@lucent.com>
47606
47607         * lib/error.c: Update from GNU libc.
47608
47609 2001-09-01  Jim Meyering  <meyering@lucent.com>
47610
47611         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
47612         Used by df.
47613
47614 2001-09-01  Jim Meyering  <meyering@lucent.com>
47615
47616         * lib/xreadlink.c: New file.
47617         * lib/xreadlink.h: New file.
47618         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
47619         xreadlink.h.
47620
47621         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
47622         doesn't conflict with sparc Solaris 7's definition in
47623         /usr/include/sys/int_types.h.
47624
47625         * lib/exclude.c: Use `""', not `<>' to #include non-system header
47626         files.
47627         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
47628         and strncasecmp as r-values.  Unixware didn't have declarations.
47629
47630 2001-08-31  Paul Eggert  <eggert@twinsun.com>
47631
47632         * lib/xstrtol.h: Add copyright notice.
47633         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
47634         LONGINT_INVALID_SUFFIX_CHAR.
47635
47636 2001-08-31  Paul Eggert  <eggert@twinsun.com>
47637
47638         * lib/xstrtol.c (strtoimax): New decl.
47639
47640 2001-08-31  Paul Eggert  <eggert@twinsun.com>
47641
47642         * lib/xgetcwd.c: Don't include pathmax.h.
47643         Include stdlib.h and unistd.h if available.
47644         Include xalloc.h.
47645         (xmalloc, xstrdup, free): Remove decls.
47646         (xgetcwd): Don't assume sizes fit in unsigned.
47647         Check for overflow when computing sizes.
47648         Simplify reallocation code.
47649
47650 2001-08-31  Paul Eggert  <eggert@twinsun.com>
47651
47652         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
47653         a directory's st_size can have an arbitrary value, so the old
47654         usage could waste an arbitrary amount of memory.  All uses
47655         changed.
47656         * lib/savedir.h: Update prototype.
47657
47658 2001-08-31  Paul Eggert  <eggert@twinsun.com>
47659
47660         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
47661
47662         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
47663         old strtoimax.c.
47664
47665         Also, make the following further changes to make this file's
47666         configuration more similar to that of strtol.c:
47667         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
47668         (strtoumax, uintmax_t, strtoull, strtol): Remove.
47669         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
47670         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
47671         changed to signed values.
47672
47673         And make the following changes as well:
47674         Fix copyright notice, as 1999 was missing.
47675         (verify): New macro.
47676         (strtoimax): Check sizes at compile-time, not run-time.
47677         Prefer strtol to strtoll if both work.
47678         (main): Remove; it was not that useful and was a pain to maintain.
47679
47680         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
47681
47682 2001-08-31  Jim Meyering  <meyering@lucent.com>
47683
47684         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
47685         Use an initial, malloc'd, buffer of length 128 rather than
47686         a statically allocated one of length 1024.
47687
47688 2001-08-30  Paul Eggert  <eggert@twinsun.com>
47689
47690         Simplify code, partly by assuming autoconf 2.52 semantics.
47691
47692         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
47693
47694         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
47695         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
47696         All uses removed.
47697         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
47698         Move AC_REQUIRE to next-to-top level, to avoid confusion.
47699         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
47700         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
47701         jm_AC_HEADER_INTTYPES_H.
47702         * m4/jm-macros.m4 (jm_MACROS): Likewise.
47703
47704         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
47705
47706         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
47707         Quote first arg of AC_DEFUN.
47708         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
47709         since they are needed to parse the include file even if we need
47710         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
47711         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
47712         but with opposite signedness.
47713
47714 2001-08-30  Paul Eggert  <eggert@twinsun.com>
47715
47716         Merge 'exclude' changes from tar 1.13.22.
47717         This fixes one or two unlikely storage allocation overflow bugs,
47718         but doesn't change user-visible behavior otherwise.
47719
47720 2001-08-30  Paul Eggert  <eggert@twinsun.com>
47721
47722         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
47723         (jm_PREREQ_EXCLUDE): New macro.
47724
47725 2001-08-30  Paul Eggert  <eggert@twinsun.com>
47726
47727         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
47728         tm to be declared.
47729
47730 2001-08-30  Paul Eggert  <eggert@twinsun.com>
47731
47732         * lib/hash.c: Remove '2001' from copyright notice.
47733
47734 2001-08-30  Paul Eggert  <eggert@twinsun.com>
47735
47736         * lib/full-write.h: New file.
47737         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
47738         * lib/full-write.c: Correct credits, as cccp.c no longer
47739         exists and anyway it was so heavily changed from the old cccp
47740         code as to be unrecognizable.  Include full-write.h.
47741         (full_write) Return size_t, with short writes meaning failure.
47742         All callers changed.  This fixes a bug with large buffers
47743         on 64-bit hosts.
47744         * lib/utime.c: Include full-write.h.
47745
47746 2001-08-30  Paul Eggert  <eggert@twinsun.com>
47747
47748         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
47749         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
47750         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
47751         Include if available.
47752         (<xalloc.h>): Include
47753         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
47754         (verify): New macro.  Use it to verify that EXCLUDE macros do not
47755         collide with FNM macros.
47756         (struct patopts): New struct.
47757         (struct exclude): Use it, as exclude patterns now come with options.
47758         (new_exclude): Support above changes.
47759         (new_exclude, add_exclude_file):
47760         Initial size must now be a power of two to simplify overflow checking.
47761         (free_exclude, fnmatch_no_wildcards): New function.
47762         (excluded_filename): No longer requires options arg, as the options
47763         are determined by add_exclude.  Now returns bool, not int.
47764         (excluded_filename, add_exclude):
47765         Add support for the fancy new exclusion options.
47766         (add_exclude, add_exclude_file): Now takes int options arg.
47767         Check for arithmetic overflow when computing sizes.
47768         (add_exclude_file): xrealloc might modify errno, so don't
47769         realloc until after errno might be used.
47770
47771         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
47772         New macros.
47773         (free_exclude): New decl.
47774         (add_exclude, add_exclude_file): Now takes int options arg.
47775         (excluded_filename): No longer requires options arg, as the options
47776         are determined by add_exclude.  Now returns bool, not int.
47777
47778 2001-08-30  Paul Eggert  <eggert@twinsun.com>
47779
47780         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
47781
47782 2001-08-27  Jim Meyering  <meyering@lucent.com>
47783
47784         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
47785
47786         * lib/version-etc.c (N_): Remove definition.
47787         Revert most of last change.
47788         Instead, simply don't mark the `Copyright...' string for translation.
47789         Based on advice from Paul Eggert.
47790
47791         * lib/strtoxmax.c: Tweak comment.
47792
47793 2001-08-26  Jim Meyering  <meyering@lucent.com>
47794
47795         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
47796
47797         * m4/xstrtoimax.m4: New file.
47798         * m4/xstrtoumax.m4: Add comments explaining why we
47799         AC_REPLACE_FUNCS(strtol).
47800
47801 2001-08-26  Jim Meyering  <meyering@lucent.com>
47802
47803         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
47804         of copyright with `%s' so translators don't get an untranslated
47805         message in 2002.
47806         (COPYRIGHT_YEAR): Define.
47807         (version_etc): Use fprintf rather than fputs.
47808         Suggestion from Ulrich Drepper.
47809
47810         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
47811
47812         * lib/strtoll.c: New file, from GNU libc.
47813         * lib/xstrtoimax.c: New file.
47814
47815         * lib/xstrtol.h: Add xstrtoimax.
47816         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
47817         * lib/strtoimax.c: New file.  Likewise, but first define
47818         STRTOUXMAX_SIGNED.
47819
47820         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
47821         ...
47822         * lib/strtoxmax.c: ... then renamed to this.
47823
47824 2001-08-18  Paul Eggert  <eggert@twinsun.com>
47825
47826         * m4/inttypes.m4: Add AC_PREREQ(2.13).
47827         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
47828         (jm_AC_TYPE_INTMAX_T): New macro.
47829         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
47830
47831         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
47832
47833         * m4/longlong.m4: Renamed from ulonglong.m4.
47834         * m4/inttypes.m4: Renamed from inttypes_h.m4.
47835         * m4/uintmax_t.m4: Removed.
47836
47837 2001-08-13  Paul Eggert  <eggert@twinsun.com>
47838
47839         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
47840         Port to Solaris 8, where 'sed' requires a space after the 'r'
47841         command, and where sh dislikes "$/".  Clean up the spacing a bit.
47842         Redirect output to $tmp just once.
47843
47844 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
47845
47846         * lib/addext.c (<errno.h>): Include.
47847         (errno): Declare if not defined.
47848         (addext): Work correctly when pathconf returns -1 and leaves
47849         errno alone because there is no limit.  Also, work even if
47850         pathconf returns a value greater than SIZE_MAX.
47851
47852 2001-08-12  Jim Meyering  <meyering@lucent.com>
47853
47854         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
47855         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
47856         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
47857         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
47858         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
47859         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
47860         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
47861         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
47862         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
47863         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
47864         utime.m4, utimes.m4, xstrtoumax.m4:
47865         Quote the first argument in each use of AC_DEFUN.
47866
47867 2001-08-12  Jim Meyering  <meyering@lucent.com>
47868
47869         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
47870         Simply `return getcwd (NULL, 0);'.
47871         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
47872         Use 1300 as initial value for length, not PATH_MAX.
47873
47874         * lib/pathmax.h: Clean up cpp syntax.
47875
47876 2001-08-12  Jim Meyering  <meyering@lucent.com>
47877
47878         * lib/gettimeofday.c: New file.
47879         * lib/gtod.h: New file.
47880         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
47881
47882 2001-08-05  Jim Meyering  <meyering@lucent.com>
47883
47884         * m4/jm-macros.m4: Require autoconf-2.52.
47885
47886 2001-08-04  Jim Meyering  <meyering@lucent.com>
47887
47888         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
47889         stmt, to get in sync with glibc.
47890
47891 2001-08-03  Paul Eggert  <eggert@twinsun.com>
47892
47893         The following changes are from gettext 0.10.39 as maintained by
47894         Bruno Haible.
47895
47896         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
47897         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
47898         with inverted sense.  All uses changed.
47899
47900         * lib/mbswidth.c: Don't include <limits.h>.
47901         Include <stdlib.h> and <string.h> unconditionally.
47902         (iswcntrl, mbsinit, ISCNTRL): New macros.
47903         (mbsnwidth): Use K&R style function declarations.
47904         Don't bother checking for MB_LEN_MAX == 1, since the compiler
47905         can optimize it when MB_CUR_MAX == 1.
47906         The width of control characters is zero, not 1.
47907
47908 2001-08-03  Paul Eggert  <eggert@twinsun.com>
47909
47910         The following changes are from gettext 0.10.39 as maintained by
47911         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
47912
47913         * m4/codeset.m4: Upgrade to serial AM1.
47914         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
47915         all uses changed.  Quote first arg of AC_DEFUN.
47916         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
47917
47918         * m4/iconv.m4: Upgrade to serial AM2.
47919         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
47920         Add --with-libconv-prefix.
47921         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
47922         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
47923         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
47924         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
47925         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
47926
47927         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
47928         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
47929         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
47930         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
47931         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
47932         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
47933         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
47934         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
47935         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
47936
47937         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
47938         string.h any more.
47939
47940         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
47941         not the default value.
47942
47943         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
47944         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
47945         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
47946         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
47947         Also check for iswcntrl, used for wcwidth fallback.
47948         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
47949         to Autoconf 2.13.
47950
47951 2001-08-03  Jim Meyering  <meyering@lucent.com>
47952
47953         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
47954         as it was in the original.  Reported by Paul Eggert.
47955
47956 2001-07-16  Jim Meyering  <meyering@lucent.com>
47957
47958         * m4/gettimeofday.m4: New file.
47959         Prompted by a report from Bernhard Baehr.
47960
47961 2001-07-15  Jim Meyering  <meyering@lucent.com>
47962
47963         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
47964         stuff. Now it's in ../Makefile.cfg.
47965
47966 2001-07-15  Jim Meyering  <meyering@lucent.com>
47967
47968         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
47969         (BUILT_SOURCES): Add unlocked-io.h.
47970         (io_functions): Define.
47971         (unlocked-io.h): New rule.
47972         (DISTCLEANFILES): Add unlocked-io.h.
47973         (all-local): Depend on unlocked-io.h, to ensure it is created.
47974
47975         * lib/unlocked-io.hin: New file
47976
47977         * lib/regex.c: Update from glibc.
47978
47979 2001-07-05  Jim Meyering  <meyering@lucent.com>
47980
47981         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
47982         recommendation.
47983         (libfetish_a_SOURCES): Put all .h files here instead.
47984         Remove a thus-exposed (better checks in automake) duplicate and
47985         two unnecessary .h files.
47986
47987 2001-07-04  Jim Meyering  <meyering@lucent.com>
47988
47989         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
47990         that generates jm-glibc-io.m4 so that it doesn't trigger any make
47991         distcheck failure.
47992
47993 2001-07-02  Jim Meyering  <meyering@lucent.com>
47994
47995         The following changes were prompted by suggestions from Bruno Haible.
47996
47997         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
47998         is now generated.
47999         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
48000         definition of EXTRA_DIST.
48001         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
48002         ensure that the generated file is created/updated whenever the list
48003         of $(unlocked_functions) is changed.
48004         (jm-glibc-io.m4): New rule.
48005         (unlocked-io.h): New rule -- currently unused.
48006
48007 2001-06-24  Jim Meyering  <meyering@lucent.com>
48008
48009         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
48010         unmatched right bracket, rather than kludging it with an extra,
48011         falsely-matching quote in a comment.  Patch by Akim Demaille.
48012
48013 2001-06-11  Jim Meyering  <meyering@lucent.com>
48014
48015         * lib/regex.c: Update from GNU libc.
48016
48017 2001-05-27  Jim Meyering  <meyering@lucent.com>
48018
48019         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
48020         Check for ut_type in struct utmp.
48021
48022 2001-05-27  Jim Meyering  <meyering@lucent.com>
48023
48024         * lib/readutmp.h (UT_TYPE): Define.
48025
48026 2001-05-24  Jim Meyering  <meyering@lucent.com>
48027
48028         * lib/argmatch.c: Include "quote.h".
48029         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
48030         quote function.  Reported by Göran Uddeborg.
48031
48032 2001-05-22  Jim Meyering  <meyering@lucent.com>
48033
48034         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
48035         now that we use the package-supplied version unconditionally.
48036         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
48037
48038 2001-05-21  Jim Meyering  <meyering@lucent.com>
48039
48040         * m4/regex.m4: Change a couple backticks to single quotes to avoid
48041         shell syntax errors.
48042
48043 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
48044
48045         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
48046
48047 2001-05-20  Paul Eggert  <eggert@twinsun.com>
48048
48049         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
48050         Don't bother to check library strftime, since
48051         we'll be using our own my_strftime function anyway.
48052         Define my_strftime instead of strftime.
48053
48054 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
48055
48056         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
48057         which is not yet declared.
48058
48059 2001-05-15  Jim Meyering  <meyering@lucent.com>
48060
48061         * m4/regex.m4: Use proper quoting so brackets appear in the test
48062         program.
48063         Reported by, and with help from, Bruno Haible.
48064
48065 2001-05-13  Jim Meyering  <meyering@lucent.com>
48066
48067         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
48068         undefined.
48069
48070 2001-05-11  Paul Eggert  <eggert@twinsun.com>
48071
48072         dirname code cleanup.  base_name now behaves more compatibly
48073         with POSIX basename when given file names that have trailing
48074         slashes, and similarly for dir_name.  Add new primitives
48075         base_len and dir_len.  Put the directory-name-related decls
48076         into dirname.h.
48077
48078         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
48079         * lib/backupfile.c (base_name): Likewise.
48080         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
48081         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
48082         * lib/makepath.c (strip_trailing_slashes): Likewise.
48083         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
48084         ISSLASH): Likewise.
48085         * lib/rename.c (strip_trailing_slashes): Likewise.
48086         * lib/same.c (base_name): Likewise.
48087         * lib/stripslash.c (ISSLASH): Likewise.
48088
48089         * lib/addext.c: Include <dirname.h> after size_t is defined.
48090         * lib/backupfile.c: Likewise.
48091
48092         * lib/addext.c (addext): Use base_len to trim redundant
48093         trailing slashes instead of doing it ourselves.
48094         But do not trim the last slash if it is not redundant.
48095
48096         * lib/backupfile.c (find_backup_file_name,
48097         max_backup_version): Use base_len instead of rolling it ourselves.
48098         Handle the case of "" and (on DOS) "C:" correctly.
48099
48100         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
48101         needed. Include <string.h>, <dirname.h>.
48102         (base_name): Allow file names ending in slashes, other than names
48103         that are all slashes.  In this case, return the basename followed
48104         by the slashes.  This is more general, and can be used in places
48105         where the original base_name purposely had an assertion failure.
48106         (base_len): New function.
48107
48108         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
48109         Do not include <assert.h>; no longer needed.
48110         Include xalloc.h.
48111         (memrchr): Remove decl.
48112         (dir_name_r): Remove.
48113         (dir_len): Renamed from dirlen.  All callers changed.
48114         Rewrite in terms of base_name, for simplicity and consistency.
48115         (dir_name): Never return NULL.  All callers changed.
48116         Do not include <stdlib.h> in test program; no longer needed.
48117         return 0; is fine for test program.
48118
48119         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
48120         New macros.
48121         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
48122
48123         * lib/path-concat.c (path_concat): Use base_len to compute
48124         base length, not strlen; this means we cannot rely on memcpy
48125         to null-terminate.
48126
48127         * lib/same.c (STREQ): Remove.
48128         (same_name): Handle the case where the basename ends in trailing '/'.
48129
48130         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
48131         a slash was stripped.  Do not strip the last slash after a
48132         file system prefix.
48133
48134 2001-05-11  Paul Eggert  <eggert@twinsun.com>
48135
48136         * lib/Makefile.am (libfetish_a_SOURCES):
48137         Add strftime.c, since we now compile it on all hosts.
48138
48139         * lib/strftime.c (my_strftime):
48140         Define to nstrftime if emacs, but only if my_strftime is not defined.
48141         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
48142         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
48143         Add one more extra argument: a nanoseconds value.
48144         All uses changed.
48145         (ns): New macro.
48146         (my_strftime function): Add %N format.
48147         (emacs_strftimeu): Renamed from emacs_strftime,
48148         with extra ut argument.
48149
48150 2001-05-09  Paul Eggert  <eggert@twinsun.com>
48151
48152         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
48153
48154 2001-04-21  Jim Meyering  <meyering@lucent.com>
48155
48156         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
48157         doesn't interfere.
48158
48159 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
48160
48161         * m4/ftruncate.m4: Check for chsize.
48162         Link with ftruncate.o unconditionally if ftruncate is missing.
48163         This was required when cross-compiling to i586-mingw32msvc.
48164
48165 2001-04-08  Jim Meyering  <meyering@lucent.com>
48166
48167         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
48168         recomputed; that's necessary when the offset spans a DST transition.
48169         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
48170
48171 2001-04-02  Jim Meyering  <meyering@lucent.com>
48172
48173         * lib/regex.h, regex.c: Update from GNU libc.
48174
48175 2001-03-24  Jim Meyering  <meyering@lucent.com>
48176
48177         * m4/jm-macros.m4: Require autoconf-2.49d.
48178
48179 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
48180
48181         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
48182
48183 2001-03-19  Paul Eggert  <eggert@twinsun.com>
48184
48185         * lib/version-etc.c (version_etc_copyright): Update to 2001.
48186
48187 2001-03-17  Jim Meyering  <meyering@lucent.com>
48188
48189         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
48190         now that the version in autoconf is equivalent.
48191         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
48192
48193         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
48194         Suggestion from Akim Demaille.
48195
48196         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
48197         (jm_PREREQ_TEMPNAME): New function.
48198
48199 2001-03-16  Paul Eggert  <eggert@twinsun.com>
48200
48201         * lib/tempname.c (uint64_t): Define to uintmax_t if
48202         not defined, and if UINT64_MAX is not defined.
48203         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
48204         Reported by John David Anglin.
48205
48206 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
48207
48208         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
48209         resolve alias if codeset is empty.
48210         * lib/config.charset (BeOS): Use wildcard syntax.
48211
48212 2001-03-13  Jim Meyering  <meyering@lucent.com>
48213
48214         * lib/path-concat.c (path_concat)
48215         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
48216         concatenating e.g., `C:' and `foo'.
48217         From Bruno Haible.
48218
48219 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
48220
48221         * lib/localcharset.c (locale_charset): Don't use
48222         setlocale(LC_CTYPE,NULL). Don't return NULL.
48223         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
48224
48225 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
48226
48227         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
48228         support for DOS/DJGPP.
48229
48230 2001-03-01  Paul Eggert  <eggert@twinsun.com>
48231
48232         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
48233         lacks mkstemp.  Compile our own tempname.c if we compile our own
48234         mkstemp.c, as mkstemp relies on tempname.
48235
48236 2001-03-01  Jim Meyering  <meyering@lucent.com>
48237
48238         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
48239         AH_VERBATIM really does output its argument verbatim.
48240
48241 2001-02-28  Paul Eggert  <eggert@twinsun.com>
48242
48243         * lib/Makefile.am (libfetish_a_SOURCES):
48244         Add dup-safer.c, fopen-safer.c.
48245         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
48246
48247         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
48248         * lib/unistd-safer.h: New files.
48249
48250 2001-02-25  Paul Eggert  <eggert@twinsun.com>
48251
48252         The mkstemp replacement is taken from glibc 2.2.2, with some
48253         portability fixes for use outside glibc, as follows:
48254
48255         * lib/tempname.c (struct_stat64): New macro.
48256         (direxists, __gen_tempname): Use it.
48257         This avoids a portability problem with Solaris 8.
48258
48259         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
48260         (<stddef.h>, <stdint.h>, <string.h>):
48261         Include only if STDC_HEADERS || _LIBC.
48262         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
48263         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
48264         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
48265         (__set_errno): Define this macro if <errno.h> doesn't.
48266         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
48267         Define these macros if <stdio.h> doesn't.
48268         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
48269         Define these macros if <sys/stat.h>
48270         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
48271         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
48272         __xstat64): Define if not _LIBC.
48273         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
48274         (__gen_tempname): Invoke gettimeofday only if
48275         HAVE_GETTIMEOFDAY || _LIBC;
48276         otherwise, fall back on plain "time".
48277         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
48278
48279         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
48280
48281         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
48282
48283 2001-02-18  Paul Eggert  <eggert@twinsun.com>
48284
48285         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
48286
48287 2001-02-17  Paul Eggert  <eggert@twinsun.com>
48288
48289         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
48290         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
48291         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
48292         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
48293
48294 2001-02-17  Paul Eggert  <eggert@twinsun.com>
48295
48296         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
48297         Remove workaround macros for hosts that have mbrtowc but not
48298         mbstate_t, as we now insist on proper declarations for both
48299         before using mbrtowc.
48300
48301 2001-02-17  Jim Meyering  <meyering@lucent.com>
48302
48303         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
48304         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
48305         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
48306         UnixWare 7.1.1.
48307
48308         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
48309         rather than AC_CACHE_VAL.
48310
48311 2001-02-17  Jim Meyering  <meyering@lucent.com>
48312
48313         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
48314         around included file name.
48315
48316         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
48317
48318         * lib/strftime.c: Update from GNU libc (the only changes were to
48319         comments).
48320
48321 2001-02-17  Jim Meyering  <meyering@lucent.com>
48322
48323         * lib/regex.c: Update from libc.
48324
48325 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
48326
48327         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
48328         clash.
48329
48330 2001-02-16  Paul Eggert  <eggert@twinsun.com>
48331
48332         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
48333         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
48334         Reported by Mark Hounschell via Paul Eggert.
48335
48336 2001-02-07  Jim Meyering  <meyering@lucent.com>
48337
48338         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
48339
48340 2001-02-05  Jim Meyering  <meyering@lucent.com>
48341
48342         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
48343         it includes the patch required for `large file' support with at least
48344         HP-UX's 10.20 /bin/cc.
48345
48346 2001-02-03  Jim Meyering  <meyering@lucent.com>
48347
48348         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
48349         AS_IF, now that it works once again (mysteriously).
48350         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
48351
48352 2001-01-30  Jim Meyering  <meyering@lucent.com>
48353
48354         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
48355         * m4/chown.m4: Rename conftestchown to conftest.chown.
48356         * m4/rename.m4: s/conftestdir/conftest.d1/ and
48357         s/conftestdir2/conftest.d2/.
48358         * m4/utimes.m4: s/conftestdata/conftest.data/
48359         Inspired by Pavel Roskin's change in autoconf.
48360
48361 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
48362
48363         * lib/config.charset: Update for FreeBSD 4.2.
48364
48365 2001-01-27  Jim Meyering  <meyering@lucent.com>
48366
48367         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
48368         a use of AS_IF.
48369         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
48370
48371 2001-01-26  Jim Meyering  <meyering@lucent.com>
48372
48373         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
48374         quotearg.c includes it.
48375
48376 2001-01-26  Jim Meyering  <meyering@lucent.com>
48377
48378         * lib/quotearg.c: Include stddef.h.
48379         * lib/quote.c: Include stddef.h.
48380         Reported by Axel Kittenberger.
48381
48382         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
48383         line in double quotes so that it evokes a better diagnostic.
48384         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
48385         Reported by Axel Kittenberger.
48386
48387 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
48388
48389         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
48390         as if it was a `charset'.
48391
48392 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
48393
48394         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
48395         has const.
48396
48397 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
48398
48399         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
48400         to avoid a warning.  Add back 'const' to inptr.
48401
48402 2001-01-20  Jim Meyering  <meyering@lucent.com>
48403
48404         Be sure that headers are checked before used in code compiled
48405         for the type checks.
48406         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
48407         In place of that, invoke jm_CHECK_ALL_TYPES.
48408         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
48409         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
48410         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
48411         The check for ssize_t was mistakenly run before the test for unistd.h.
48412
48413         The configure-time check for stdbool.h was missing.
48414         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
48415         (jm_PREREQ_HASH): New function.
48416
48417 2001-01-17  Jim Meyering  <meyering@lucent.com>
48418
48419         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
48420         for autoconf-2.49c.
48421         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
48422
48423 2001-01-16  Jim Meyering  <meyering@lucent.com>
48424
48425         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
48426         From Bruno Haible.
48427
48428 2001-01-14  Jim Meyering  <meyering@lucent.com>
48429
48430         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
48431         foo and bar.  Create conftestdir/ in the script, not in the C code.
48432         Remove directories in the script, not in the C code.
48433         Remove conftestdir{,2} before trying to create the directory.
48434         Make the entire configure script fail if the mkdir fails.
48435
48436 2001-01-14  Jim Meyering  <meyering@lucent.com>
48437
48438         * lib/rename.c: New file.  From Volker Borchert.
48439         Include stdlib.h, string.h or strings.h, and xalloc.h.
48440         Use strip_trailing_slashes rather than open-coding it.
48441
48442 2001-01-03  Paul Eggert  <eggert@twinsun.com>
48443
48444         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
48445
48446 2001-01-03  Jim Meyering  <meyering@lucent.com>
48447
48448         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
48449         of local `inptr' to avoid warning with some system declarations of
48450         iconv.
48451
48452 2001-01-02  Volker Borchert  <bt@teknon.de>
48453
48454         * m4/rename.m4: New file.
48455         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
48456
48457 2001-01-01  Jim Meyering  <meyering@lucent.com>
48458
48459         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
48460         even on systems with utmpx.h.  It's necessary for the declaration of
48461         utmp's ut_user member.  Reported by Andreas Jaeger.
48462
48463         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
48464         available. They are required for the declarations of getgrgid and
48465         getpwuid resp.
48466         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
48467         Reported by Andreas Jaeger.
48468
48469 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
48470
48471         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
48472         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
48473         so `make install' also works in VPATH builds.
48474
48475 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
48476
48477         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
48478         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
48479         can be used in subdirectories.
48480
48481 2000-12-29  Paul Eggert  <eggert@twinsun.com>
48482
48483         * lib/modechange.c: Do not assume that mode_t uses the
48484         traditional octal encoding.  E.g. "chmod 1 FOO" should set
48485         the other-execute bit of FOO even if S_IXOTH != 1.
48486
48487         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
48488         WOTH, XOTH, ALLM): New macros.
48489         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
48490          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
48491         Use them.
48492         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
48493         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
48494         (mode_compile):
48495         No need to use uintmax_t; unsigned long is long enough.
48496         Don't bother to get suffix since we don't use it.
48497
48498 2000-12-26  Jim Meyering  <meyering@lucent.com>
48499
48500         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
48501         better with autoheader.
48502
48503 2000-12-24  Jim Meyering  <meyering@lucent.com>
48504
48505         * lib/hash.c (is_prime): Return explicit boolean values.
48506         (hash_get_first): Return NULL to appease Irix5.6's 89.
48507         Reported by Nelson Beebe.
48508
48509 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
48510
48511         * lib/localcharset.c (locale_charset): Add support for Win32.
48512
48513 2000-12-18  Paul Eggert  <eggert@twinsun.com>
48514
48515         * lib/physmem.h, lib/physmem.c: New files.
48516
48517         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
48518         (noinst_HEADERS): Add physmem.h.
48519
48520         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
48521         't' for compatibility with Solaris 8 sort.
48522
48523 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
48524
48525         * lib/config.charset: Add support for BeOS.
48526
48527 2000-12-17  Jim Meyering  <meyering@lucent.com>
48528
48529         * m4/dos.m4 (jm_AC_DOS): New file and macro.
48530         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
48531
48532 2000-12-16  Jim Meyering  <meyering@lucent.com>
48533
48534         This bug had a serious impact on chown: `chown N:M FILE' (for integer
48535         N and M) would have treated it like `chown N:N FILE'.
48536
48537         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
48538
48539 2000-12-16  Jim Meyering  <meyering@lucent.com>
48540
48541         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
48542         SHELLS_FILE to a file name that's useful on djgpp systems.
48543         Include stdlib.h.
48544         (ADDITIONAL_DEFAULT_SHELLS): Define.
48545         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
48546         Based mostly on a patch from Prashant TR.
48547
48548 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
48549
48550         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
48551         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
48552         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
48553
48554 2000-12-08  Andreas Schwab  <schwab@suse.de>
48555
48556         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
48557         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
48558
48559 2000-12-07  Jim Meyering  <meyering@lucent.com>
48560
48561         * lib/stripslash.c (ISSLASH): Define.
48562         (strip_trailing_slashes): Use ISSLASH rather than comparing against
48563         `/'.
48564         From Prashant TR.
48565
48566         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
48567         (dir_name_r): Declare this function as static.
48568         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
48569         manifest itself on a name containing a mix of slashes and
48570         backslashes.
48571         Make this function work with names starting with a DOS-style
48572         drive letter and colon prefix.
48573         (dir_name): Append `.' if necessary.
48574         Based mostly on patches from Prashant TR and Eli Zaretskii.
48575
48576         * lib/dirname.h (dir_name_r): Remove prototype.
48577
48578 2000-12-06  Paul Eggert  <eggert@twinsun.com>
48579
48580         * m4/off_t-format.m4: Remove this file.
48581         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
48582
48583 2000-12-06  Jim Meyering  <meyering@lucent.com>
48584
48585         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
48586         replacement strtoull, we may well need the replacement strtoul, too.
48587         Check for declarations of strtoul and strtoull.
48588         Check for strtol.  Mainly as a cue to cause automake to include
48589         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
48590         Check for limits.h -- strtol.c needs it.
48591
48592 2000-12-05  Jim Meyering  <meyering@lucent.com>
48593
48594         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
48595
48596 2000-12-04  Jim Meyering  <meyering@lucent.com>
48597
48598         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
48599         Also include memory.h, stdlib.h, unistd.h if appropriate.
48600         Reported by Andreas Jaeger (conflicting declaration of malloc).
48601
48602 2000-12-02  Jim Meyering  <meyering@lucent.com>
48603
48604         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
48605         * m4/jm-macros.m4 (jm_MACROS): require it.
48606
48607 2000-12-02  Jim Meyering  <meyering@lucent.com>
48608
48609         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
48610
48611 2000-12-01  Paul Eggert  <eggert@twinsun.com>
48612
48613         * lib/memrchr.c: Include <config.h> before any system include file.
48614
48615 2000-11-30  Jim Meyering  <meyering@lucent.com>
48616
48617         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
48618
48619 2000-11-30  Jim Meyering  <meyering@lucent.com>
48620
48621         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
48622
48623 2000-11-29  Paul Eggert  <eggert@twinsun.com>
48624
48625         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
48626
48627 2000-11-26  Jim Meyering  <meyering@lucent.com>
48628
48629         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
48630
48631 2000-11-22  Paul Eggert  <eggert@twinsun.com>
48632
48633         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
48634         size of (size_t) -1; it's not portable.
48635
48636 2000-11-17  Jim Meyering  <meyering@lucent.com>
48637
48638         * lib/strstr.c: Update from GNU libc.
48639
48640 2000-11-17  Akim Demaille  <akim@epita.fr>
48641
48642         * lib/obstack.h: Formatting changes.
48643         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
48644         prevent type checking.
48645         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
48646         cast the value to (void *): assigning a `foo *' to a `void *'
48647         variable is valid.
48648         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
48649
48650 2000-11-16  Jim Meyering  <meyering@lucent.com>
48651
48652         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
48653
48654 2000-11-11  Jim Meyering  <meyering@lucent.com>
48655
48656         * lib/error.c: Add a couple #includes, merging from GNU libc version.
48657
48658 2000-11-10  Jim Meyering  <meyering@lucent.com>
48659
48660         * lib/obstack.h: Update from GNU libc.
48661         * lib/obstack.c: Likewise.
48662
48663 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
48664
48665         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
48666
48667 2000-11-06  Paul Eggert  <eggert@twinsun.com>
48668
48669         * lib/getusershell.c (setusershell): Use rewind rather than
48670         fseek/fseeko, to avoid configuration hassles with fseeko.
48671         Don't bother opening SHELLS_FILE if shellstream is NULL;
48672         it's not necessary.
48673
48674 2000-11-05  Jim Meyering  <meyering@lucent.com>
48675
48676         * lib/makepath.h (make_dir): Declare.
48677         * lib/makepath.c (make_dir): Remove `static' attribute.
48678         Tweak a comment.
48679
48680 2000-11-04  Jim Meyering  <meyering@lucent.com>
48681
48682         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
48683
48684 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
48685
48686         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
48687         last one in a bucket, advance to the next bucket.
48688
48689 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
48690
48691         * lib/fnmatch.c: Do not comment out all the code if we are using
48692         the GNU C library, because in some cases we are replacing buggy
48693         code in the GNU C library itself.
48694
48695 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
48696
48697         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
48698         (regex_compile): Catch bogus \(\1\).
48699
48700 2000-10-30  Paul Eggert  <eggert@twinsun.com>
48701
48702         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
48703         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
48704         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
48705
48706 2000-10-30  Paul Eggert  <eggert@twinsun.com>
48707
48708         * lib/error.h, getline.h, modechange.h:
48709         Remove "2000" from Copyright line, as the file hasn't been
48710         changed this year other than in the copyright notice.
48711
48712         * lib/xalloc.h: Add "2000" to Copyright line, as this file
48713         was changed this year.
48714
48715 2000-10-29  Jim Meyering  <meyering@lucent.com>
48716
48717         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
48718         renaming.
48719         * m4/ls-mntd-fs.m4: Likewise
48720
48721 2000-10-29  Jim Meyering  <meyering@lucent.com>
48722
48723         * lib/xstat.in: Fix grammar in comment.
48724
48725 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
48726
48727         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
48728         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
48729         doesn't define __restrict_arr.
48730
48731 2000-10-28  Jim Meyering  <meyering@lucent.com>
48732
48733         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
48734         (jm_PREREQ_MEMCHR): New function.
48735
48736 2000-10-28  Jim Meyering  <meyering@lucent.com>
48737
48738         * lib/memchr.c: Update from libc.
48739         Adjust for portability:
48740         [HAVE_STDLIB_H]: Include stdlib.h.
48741         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
48742         Undef __memchr, too.
48743         [!weak_alias]: Define __memchr to memchr.
48744
48745         * lib/regex.c: Update from libc.
48746         * lib/regex.h: Likewise.
48747         * lib/getopt1.c: Likewise.
48748         * lib/memcmp.c: Likewise.
48749
48750         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
48751         Avoid using fseek, when possible -- it's broken by design.
48752         Patch by Ulrich Drepper.
48753
48754 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
48755
48756         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
48757         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
48758         Giving in to popular pressure to shut up the compiler with casts.
48759
48760 2000-10-26  Jim Meyering  <meyering@lucent.com>
48761
48762         * lib/strftime.c: Update from libc.
48763
48764 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
48765
48766         * regex.c: More `unsigned char' -> `re_char' changes.
48767         Also change several `int' into `re_wchar_t'.
48768         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
48769         (PUSH_FAILURE_POINTER): Don't cast any more.
48770         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
48771         We want GCC to complain, since this piece of code makes
48772         re_match non-reentrant, which *should* be fixed.
48773         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
48774         (EXTEND_BUFFER): Use RETALLOC.
48775         (SET_LIST_BIT): Don't cast.
48776         (re_wchar_t): New type.
48777         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
48778         that those two functions will always properly return.
48779         (IMMEDIATE_QUIT_CHECK): Cast to void.
48780         (analyse_first): Use recursion rather than an explicit stack.
48781         (re_compile_fastmap): Can't fail anymore.
48782         (re_search_2): Don't check re_compile_fastmap for failure.
48783         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
48784         Now also sets the new value (passed in a new argument).
48785         (re_match_2_internal): Use it.
48786         Also, use a new var `reg' of type size_t when looping through regs
48787         rather than reuse the inappropriate `mcnt'.
48788
48789 2000-10-25  Jim Meyering  <meyering@lucent.com>
48790
48791         * lib/obstack.c: Update from libc.
48792
48793 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
48794
48795         * regex.c (regex_compile): Change the way of handling a range from
48796         a char less than 256 to a char not less than 256.
48797
48798 2000-10-24  Andrew Innes  <andrewi@gnu.org>
48799
48800         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
48801         NT-Emacs only.
48802         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
48803         so that re_search functions only quit when callers expect them to.
48804
48805 2000-10-23  Jim Meyering  <meyering@lucent.com>
48806
48807         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
48808         wrong.  That set_locale call must not have any side effects.
48809         From Paul Eggert.
48810
48811 2000-10-22  Jim Meyering  <meyering@lucent.com>
48812
48813         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
48814         [CYCLIC]: Remove now-unused definition.
48815
48816         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
48817         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
48818         Suggestion from Ulrich Drepper.
48819
48820 2000-10-21  Jim Meyering  <meyering@lucent.com>
48821
48822         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
48823         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
48824         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
48825
48826 2000-10-21  Jim Meyering  <meyering@lucent.com>
48827
48828         * lib/dirname.c (memrchr): Declare if necessary.
48829         (dir_name): Remove the restriction that there be no
48830         trailing slashes.  Now, this code skips past them, effectively
48831         ignoring them.
48832         [TEST_DIRNAME] (main): New unit tests.
48833
48834         * lib/memrchr.c: New file from GNU libc.
48835         Undef __memrchr, too.
48836         [!weak_alias]: Define __memrchr to memrchr.
48837         Guard weak_alias use with `#ifdef weak_alias'.
48838
48839 2000-10-21  Jim Meyering  <meyering@lucent.com>
48840
48841         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
48842         (dir_name): Use dir_name_r.
48843         * lib/dirname.h (dir_name_r): Declare it.
48844
48845 2000-10-17  Jim Meyering  <meyering@lucent.com>
48846
48847         * lib/quote.h (PARAMS): Define and use.
48848         Reported by Akim Demaille.
48849
48850         * lib/getopt.c: Update from libc.
48851
48852 2000-10-16  Jim Meyering  <meyering@lucent.com>
48853
48854         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
48855         setlocale.
48856         From Jan Fedak.
48857
48858 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
48859
48860         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
48861
48862 2000-09-25  Jim Meyering  <meyering@lucent.com>
48863
48864         * lib/md5.h (rol): Define (from GnuPG).
48865
48866         * lib/sha.c: Give credit (GnuPG) where due.
48867         (M): Use rol rather than open-coding it.
48868         Add a FIXME comment.
48869
48870 2000-09-21  Jim Meyering  <meyering@lucent.com>
48871
48872         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
48873         Reported by Michael Stone.
48874
48875 2000-09-20  Jim Meyering  <meyering@lucent.com>
48876
48877         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
48878         (noinst_HEADERS): Add sha.h.
48879         Based on code from Scott G. Miller and from GnuPG.
48880
48881 2000-09-18  Jim Meyering  <meyering@lucent.com>
48882
48883         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
48884         LIBS. Otherwise, everyone ends up linking with -lelf for some
48885         configurations.
48886         Reported by Mike Stone.
48887
48888 2000-09-15  Jim Meyering  <meyering@lucent.com>
48889
48890         * lib/regex.c: Update from libc.
48891
48892 2000-09-10  Jim Meyering  <meyering@lucent.com>
48893
48894         * lib/getopt.c (_getopt_internal): Update from glibc.
48895
48896 2000-09-09  Jim Meyering  <meyering@lucent.com>
48897
48898         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
48899         think it should be used as a general replacement for isascii.
48900         * lib/fnmatch.c: Likewise.
48901         * lib/mbswidth.c: Likewise
48902         * lib/regex.c: Likewise.
48903
48904         Don't use atoi.
48905         * lib/userspec.c: Include sys/param.h and limits.h.
48906         Include xstrtol.h.
48907         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
48908         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
48909         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
48910         UID, GID.  Check range.
48911
48912 2000-09-06  Jim Meyering  <meyering@lucent.com>
48913
48914         * lib/getopt.c (_getopt_internal): Update from glibc.
48915
48916 2000-08-30  Jim Meyering  <meyering@lucent.com>
48917
48918         * lib/strftime.c: Merge in changes from GNU libc.
48919
48920 2000-08-26  Jim Meyering  <meyering@lucent.com>
48921
48922         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
48923         * m4/fpending.m4: New file.
48924
48925 2000-08-26  Jim Meyering  <meyering@lucent.com>
48926
48927         * lib/closeout.c: Include "__fpending.h".
48928         (close_stdout_status): Return right away if there's nothing to flush.
48929
48930         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
48931         * lib/__fpending.c: New file.
48932         * lib/__fpending.h: New file.
48933
48934 2000-08-20  Jim Meyering  <meyering@lucent.com>
48935
48936         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
48937         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
48938         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
48939
48940 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
48941
48942         Improve fileutils installation on systems where running
48943         programs (like install) can't be unlinked.
48944         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
48945         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
48946
48947 2000-08-07  Paul Eggert  <eggert@twinsun.com>
48948
48949         Standardize on "memory exhausted" instead of "Memory exhausted"
48950         or "virtual memory exhausted".
48951         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
48952         "virtual memory exhausted".
48953         * lib/same.c (same_name): Invoke xalloc_die instead of printing
48954         our own message.
48955         * lib/userspec.c (parse_user_spec): Likewise.
48956         * lib/bumpalloc.h: comment fix
48957         * lib/same.c, userspec.c: Include xalloc.h.
48958
48959         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
48960         not char *const and pointing to a constant array.
48961         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
48962         (xrealloc): Comment fix.
48963
48964         * lib/userspec.c (parse_user_spec):
48965         Don't translate a message until just before returning,
48966         to avoid unnecessary translation.
48967
48968 2000-08-07  Jim Meyering  <meyering@lucent.com>
48969
48970         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
48971         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
48972         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
48973         getgroups.c, gethostname.c, getopt.h, group-member.c,
48974         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
48975         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
48976         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
48977         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
48978         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
48979         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
48980         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
48981         yesno.c: Back out Copyright date changes for each file with no change
48982         this year.  This eases coordination with other programs using the same
48983         source code modules.  From Paul Eggert.
48984
48985 2000-08-06  Paul Eggert  <eggert@twinsun.com>
48986
48987         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
48988         not char, for compatibility with glibc 2.1.3 strftime.c.
48989
48990 2000-08-03  Greg McGary  <greg@mcgary.org>
48991
48992         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
48993         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
48994         (EXTEND_BUFFER): Use them.
48995
48996 2000-08-01  Jim Meyering  <meyering@lucent.com>
48997
48998         * lib/dirname.c (ISSLASH): Define.
48999         (BACKSLASH_IS_PATH_SEPARATOR): Define.
49000         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
49001         both `\' and `/' may be use as path separators.
49002         Based on a patch from Prashant TR.
49003
49004 2000-07-31  Paul Eggert  <eggert@twinsun.com>
49005
49006         * lib/quotearg.c (quotearg_n_options): Don't make the initial
49007         slot vector a constant, since it might get modified.
49008
49009 2000-07-31  Jim Meyering  <meyering@lucent.com>
49010
49011         * lib/xmalloc.c: Use `virtual memory exhausted', not
49012         `Memory exhausted'.
49013         * lib/obstack.c (print_and_abort): Likewise.
49014
49015 2000-07-30  Paul Eggert  <eggert@twinsun.com>
49016
49017         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
49018         buffer, so that the caller can always quote one small
49019         component of a "memory exhausted" message in slot 0.
49020         From a suggestion by Jim Meyering.
49021
49022 2000-07-30  Jim Meyering  <meyering@lucent.com>
49023
49024         * lib/makepath.c (make_path): Quote the other instance, too.
49025
49026         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
49027         (STATIC_BUF_SIZE): Define.
49028         (quotearg_n_options): Use only statically allocated storage when
49029         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
49030         than STATIC_BUF_SIZE.
49031
49032 2000-07-29  Jim Meyering  <meyering@lucent.com>
49033
49034         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
49035         * lib/dirname.c (dir_name): Likewise.
49036
49037         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
49038         `/'.
49039
49040         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
49041         (dir_name): Assert that there are no trailing slashes.
49042
49043 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
49044
49045         * lib/mbswidth.h (mbswidth): Add a flags argument.
49046         (mbswidth): New declaration.
49047         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
49048         * lib/mbswidth.c (mbswidth): Add a flags argument.
49049         (mbsnwidth): New function.
49050
49051 2000-07-24  Jim Meyering  <meyering@lucent.com>
49052
49053         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
49054
49055 2000-07-23  Paul Eggert  <eggert@twinsun.com>
49056
49057         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
49058
49059 2000-07-23  Paul Eggert  <eggert@twinsun.com>
49060
49061         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
49062         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
49063         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
49064         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
49065         invoke multibyte primitives.
49066
49067 2000-07-23  Paul Eggert  <eggert@twinsun.com>
49068
49069         * lib/quotearg.c:
49070         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
49071         so that mbstate_t is always defined.
49072
49073         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
49074         be 1 in at least one GCC installation, and this configuration
49075         error is likely to be common.  Ignoring MB_LEN_MAX hurts
49076         performance on hosts that have mbrtowc but have only unibyte
49077         locales, but I assume these hosts are rare.
49078
49079 2000-07-23  Paul Eggert  <eggert@twinsun.com>
49080
49081         * lib/mbswidth.c (_XOPEN_SOURCE):
49082         Don't define; this causes problems on Solaris 7.
49083         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
49084
49085 2000-07-23  Jim Meyering  <meyering@lucent.com>
49086
49087         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
49088         too: getgrgid, getpwuid, getuid.
49089
49090 2000-07-23  Jim Meyering  <meyering@lucent.com>
49091
49092         * lib/basename.c (base_name): Add an assertion.
49093
49094 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
49095
49096         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
49097         shadow its mbsinit function.
49098
49099 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
49100
49101         * lib/mbswidth.h: New file.
49102         * lib/mbswidth.c: New file.
49103         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
49104         (noinst_HEADERS): Add mbswidth.h.
49105
49106 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
49107
49108         * lib/config.charset: Add support for FreeBSD. Improve support for
49109         HP-UX and IRIX 6.
49110
49111 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
49112
49113         * m4/mbswidth.m4: New file.
49114         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
49115
49116 2000-07-15  Jim Meyering  <meyering@lucent.com>
49117
49118         * lib/makepath.c: Include quote.h.
49119         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
49120         corresponding argument in a `quote (...)' call.
49121         Give better diagnostics.
49122
49123         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
49124         (noinst_HEADERS): Add quote.h.
49125
49126         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
49127         from tar's src/misc.c.
49128         * lib/quote.h: New file.  Prototypes for same.
49129
49130 2000-07-14  Paul Eggert  <eggert@twinsun.com>
49131
49132         From a suggestion by Bruno Haible.
49133         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
49134         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
49135         to decide whether to define the BeOS workaround macro;
49136         this adjusts to the change to AC_MBSTATE_T.
49137
49138 2000-07-14  Jim Meyering  <meyering@lucent.com>
49139
49140         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
49141         jm_AC_TYPE_UINTMAX_T.
49142
49143 2000-07-13  Paul Eggert  <eggert@twinsun.com>
49144
49145         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
49146
49147         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
49148         quotearg_buffer_restyled): Add support for
49149         clocale_quoting_style.  Undo previous change to
49150         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
49151         and "{RIGHT QUOTATION MARK}" msgids.
49152
49153 2000-07-10  Paul Eggert  <eggert@twinsun.com>
49154
49155         From a suggestion by Bruno Haible.
49156         * m4/mbstate_t.m4 (AC_MBSTATE_T):
49157         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
49158         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
49159         and mbstate_t, to a single-part test that simply defines mbstate_t.
49160         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
49161         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
49162
49163 2000-07-10  Jim Meyering  <meyering@lucent.com>
49164
49165         * m4/strerror_r.m4: Mirror the correction made in autoconf.
49166
49167         * m4/gnu-source.m4: Output to confdefs.h directly.
49168         Suggestion from Akim Demaille.
49169
49170 2000-07-09  Paul Eggert  <eggert@twinsun.com>
49171
49172         The old behavior of quoting `like this' doesn't look good with
49173         newer, ISO-style fonts.  See:
49174         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
49175
49176         Instead, quote "like this" by default.  Let the translator
49177         tailor the locale-specific quoting behavior by providing
49178         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
49179
49180         * lib/quotearg.c (N_): New macro.
49181         (gettext_default): New function.
49182         (quotearg_buffer_restyled): Use
49183         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
49184         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
49185
49186 2000-07-09  Jim Meyering  <meyering@lucent.com>
49187
49188         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
49189         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
49190
49191         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
49192         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
49193
49194 2000-07-09  Jim Meyering  <meyering@lucent.com>
49195
49196         * lib/Most files: Update copyright dates to include 2000.
49197
49198 2000-07-08  Jim Meyering  <meyering@lucent.com>
49199
49200         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
49201         if not defined.
49202         (xgethostname): Remove now-unnecessary #ifdef.
49203         Move declaration of `err' into loop where it's used.
49204
49205 2000-07-05  Paul Eggert  <eggert@twinsun.com>
49206         and Bruno Haible  <haible@clisp.cons.org>
49207
49208         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
49209         only if the test for an object-type mbstate_t fails.  This
49210         prevents us from mistakenly reporting that mbstate_t is a
49211         system object type after we "#define mbstate_t int" to work
49212         around its lack.
49213
49214 2000-07-05  Paul Eggert  <eggert@twinsun.com>
49215         and Bruno Haible  <haible@clisp.cons.org>
49216
49217         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
49218
49219 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
49220
49221         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
49222         to strerror_r.
49223         Include <ctype.h> for use of isalpha.
49224
49225 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
49226
49227         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
49228         by allocating a larger buffer. Test the gethostname return value for
49229         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
49230         returns an error and ENAMETOOLONG isn't defined.
49231
49232 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
49233
49234         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
49235         dimension.
49236
49237 2000-07-04  Jim Meyering  <meyering@lucent.com>
49238
49239         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
49240         of the deprecated AC_CHECKING.
49241
49242 2000-07-04  Jim Meyering  <meyering@lucent.com>
49243
49244         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
49245         Reported by Bruno Haible.
49246
49247 2000-07-04  Jim Meyering  <meyering@lucent.com>
49248
49249         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
49250         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
49251         lacks mbrtowc.
49252
49253 2000-07-03  Paul Eggert  <eggert@twinsun.com>
49254
49255         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
49256         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
49257
49258 2000-07-03  Paul Eggert  <eggert@twinsun.com>
49259         and Bruno Haible  <haible@clisp.cons.org>
49260
49261         * lib/quotearg.c (mbrtowc):
49262         Assign to *pwc, and return 1 only if result is nonzero.
49263         (iswprint): Use ISPRINT when substituting our own mbrtowc.
49264
49265 2000-07-03  Jim Meyering  <meyering@lucent.com>
49266
49267         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
49268
49269 2000-07-03  Jim Meyering  <meyering@lucent.com>
49270
49271         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
49272         This is necessary to get a definition of e.g., UTMP_FILE on
49273         HP-UX 10.20.
49274         From Bob Proulx.
49275
49276 2000-07-02  Jim Meyering  <meyering@lucent.com>
49277
49278         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
49279
49280         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
49281         AC_LIBOBJ(function_name).
49282         * m4/chown.m4: Likewise.
49283         * m4/fnmatch.m4: Likewise.
49284         * m4/ftruncate.m4: Likewise.
49285         * m4/getgroups.m4: Likewise.
49286         * m4/getline.m4: Likewise.
49287         * m4/group-member.m4: Likewise.
49288         * m4/jm-macros.m4: Likewise.
49289         * m4/lstat.m4: Likewise.
49290         * m4/malloc.m4: Likewise.
49291         * m4/memcmp.m4: Likewise.
49292         * m4/nanosleep.m4: Likewise.
49293         * m4/putenv.m4: Likewise.
49294         * m4/realloc.m4: Likewise.
49295         * m4/regex.m4: Likewise.
49296         * m4/stat.m4: Likewise.
49297         * m4/strftime.m4: Likewise.
49298
49299 2000-07-02  Jim Meyering  <meyering@lucent.com>
49300
49301         * lib/quotearg.c (mbstate_t): Don't define here.
49302
49303 2000-07-02  Jim Meyering  <meyering@lucent.com>
49304
49305         * lib/nanosleep.c (SIGCONT): Define if not already defined.
49306
49307 2000-07-01  Jim Meyering  <meyering@lucent.com>
49308
49309         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
49310
49311 2000-07-01  Jim Meyering  <meyering@lucent.com>
49312
49313         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
49314         problem.
49315
49316 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
49317
49318         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
49319         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
49320
49321 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
49322
49323         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
49324         per change in ../m4/ls-mntd-fs.m4.
49325         (read_filesystem_list): Ignore symbolic links.
49326
49327 2000-06-29  Jim Meyering  <meyering@lucent.com>
49328
49329         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
49330         for declaration of strcmp.
49331
49332         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
49333
49334         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
49335         Avoid warning by casting result to `char *' to remove `const'.
49336
49337 2000-06-28  Jim Meyering  <meyering@lucent.com>
49338
49339         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
49340         included by quotearg.c, for which we perform this test.  From
49341         Bruno Haible.
49342
49343 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
49344
49345         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
49346         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
49347         <utmpx.h> exists, put readutmp.o into LIBOBJS.
49348
49349 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
49350
49351         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
49352
49353 2000-06-26  Paul Eggert  <eggert@twinsun.com>
49354
49355         savedir now sets errno on failure and invokes xmalloc to get memory.
49356         Fix a couple of other minor bugs while we're at it.
49357
49358         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
49359         (NAMLEN): Remove macro.
49360         (malloc, realloc): Remove decls.
49361         (stpcpy): Likewise.
49362         ("xalloc.h"): Include.
49363         (NAME_SIZE_DEFAULT): New macro.
49364         (savedir): Use xmalloc / xrealloc to allocate memory.
49365         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
49366         Skip "" directory entries.
49367         Use strlen to calculate directory entry length, since the old method
49368         is rarely used these days and isn't worth supporting.
49369         Don't use a pointer after freeing it.
49370         Check for integer overflow when calculating allocation size.
49371         Use memcpy to copy entries, instead of stpcpy.
49372         Set errno properly when returning NULL.
49373         Check for readdir error.
49374
49375 2000-06-26  Jim Meyering  <meyering@lucent.com>
49376
49377         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
49378
49379 2000-06-25  Jim Meyering  <meyering@lucent.com>
49380
49381         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
49382         Linux header bug when _XOPEN_SOURCE is defined to 500.
49383
49384 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
49385
49386         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
49387         deficiency.
49388
49389 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
49390
49391         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
49392         Include xalloc.h.
49393         Don't include <stdlib.h>.  Don't declare malloc, realloc.
49394
49395 2000-06-24  Jim Meyering  <meyering@lucent.com>
49396
49397         * m4/strerror_r.m4: Revive this file -- to try out an experimental
49398         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
49399         for which strerror does return char*, but which lacks a conveniently
49400         accessible declaration of the function.  If the compile-test says
49401         strerror_r doesn't work, then resort to a `run'-test that works on
49402         BeOS and segfaults on DEC Unix.
49403
49404 2000-06-24  Jim Meyering  <meyering@lucent.com>
49405
49406         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
49407
49408 2000-06-23  Paul Eggert  <eggert@twinsun.com>
49409
49410         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
49411         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
49412
49413 2000-06-23  Paul Eggert  <eggert@twinsun.com>
49414
49415         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
49416         (mbrtowc, mbstate_t): Define substitutes if
49417         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
49418         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
49419         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
49420
49421 2000-06-23  Jim Meyering  <meyering@lucent.com>
49422
49423         * m4/afs.m4: Add missing AC_MSG_RESULT.
49424         Reported by Bruno Haible.
49425
49426         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
49427         Suggestion from Bruno Haible.
49428
49429 2000-06-23  Jim Meyering  <meyering@lucent.com>
49430
49431         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
49432
49433 2000-06-21  Jim Meyering  <meyering@lucent.com>
49434
49435         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
49436
49437 2000-06-21  Jim Meyering  <meyering@lucent.com>
49438
49439         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
49440         (noinst_HEADERS): Add getstr.h.
49441
49442         * lib/getline.c (getstr): Move into a separate file.
49443         * lib/getstr.c (getstr): New file, extracted from getline.c, with
49444         the following changes: new parameter, delim2; both delim[12]
49445         parameters have type `int', not `char'.  The latter would lose
49446         with 8-bit delimiters.
49447         * lib/getstr.h: New file.
49448
49449 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
49450
49451         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
49452         than 1024, return a memory chunk of least possible size, instead
49453         of size PATH_MAX + 2. In the loop, increment the size proportionally.
49454         Use free/xmalloc instead of xrealloc to avoid copying for very long
49455         paths.
49456
49457 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
49458
49459         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
49460         the empty string.
49461
49462 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
49463
49464         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
49465         address, not strdup.  Include <stdlib.h> and don't declare free().
49466
49467 2000-06-19  Jim Meyering  <meyering@lucent.com>
49468
49469         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
49470
49471 2000-06-18  Jim Meyering  <meyering@lucent.com>
49472
49473         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
49474
49475         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
49476         `checking whether...' message to be consistent with that of the
49477         lstat test.
49478
49479 2000-06-18  Jim Meyering  <meyering@lucent.com>
49480
49481         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
49482         Besides, these days every porting target provides a mkdir function.
49483
49484         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
49485         needed. (this snippet comes from src/system.h).
49486
49487 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
49488
49489         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
49490
49491 2000-06-15  Paul Eggert  <eggert@twinsun.com>
49492
49493         * lib/human.c (adjust_value): New function.
49494         (human_readable_inexact): Apply rounding style even when
49495         printing approximate values.
49496
49497 2000-06-14  Paul Eggert  <eggert@twinsun.com>
49498
49499         * lib/human.c (human_readable_inexact): Allow an input block
49500         size that is not a multiple of the output block size, and vice versa.
49501         Reported by Piergiorgio Sartor.
49502
49503 2000-06-14  Paul Eggert  <eggert@twinsun.com>
49504
49505         * lib/getdate.y (get_date): Apply relative times after time
49506         zone indicator, not before.  Reported by Todd A. Jacobs.
49507
49508 2000-06-13  Jim Meyering  <meyering@lucent.com>
49509
49510         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
49511
49512         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
49513
49514 2000-06-12  Paul Eggert  <eggert@twinsun.com>
49515
49516         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
49517
49518 2000-06-12  Jim Meyering  <meyering@lucent.com>
49519
49520         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
49521         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
49522         optional argument.
49523         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
49524         the optional argument, `lib'.
49525
49526 2000-06-08  Jim Meyering  <meyering@lucent.com>
49527
49528         * m4/largefile.m4: Remove file (now that it's part of autoconf).
49529
49530 2000-06-04  Paul Eggert  <eggert@twinsun.com>
49531
49532         Rewrite largefile configuration so that we don't need to run
49533         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
49534         AC_CANONICAL_HOST in configure.in -- jmm]
49535
49536         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
49537         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
49538         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
49539         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
49540         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
49541         All uses changed.
49542         Instead of inspecting the output of getconf, try to compile the
49543         test program without and with the macro definition.
49544         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
49545         for getconf.  Instead, check for the needed flags by compiling
49546         test programs.
49547
49548 2000-06-04  Paul Eggert  <eggert@twinsun.com>
49549
49550         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
49551
49552 2000-06-04  Jim Meyering  <meyering@lucent.com>
49553
49554         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
49555         SunOS 4.1.4 for which gid_t is an unsigned type.
49556
49557 2000-06-03  Jim Meyering  <meyering@lucent.com>
49558
49559         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
49560         now that autoconf requires that.
49561
49562         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
49563         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
49564         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
49565
49566 2000-06-03  Jim Meyering  <meyering@lucent.com>
49567
49568         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
49569
49570 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
49571
49572         * m4/glibc21.m4: New file.
49573         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
49574
49575 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
49576
49577         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
49578         newer, don't install charset.alias.
49579         * lib/config.charset: Change the Linux/glibc rules so they become empty
49580         on glibc-2.1 or newer.
49581
49582 2000-06-02  Jim Meyering  <meyering@lucent.com>
49583
49584         * lib/mountlist.c: Back out last change.  Instead, do this...
49585         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
49586         me_dummy member using the same `ignore'-testing code.
49587         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
49588         fs_type strings.
49589         From Mark D. Roth.
49590
49591 2000-05-29  Jim Meyering  <meyering@lucent.com>
49592
49593         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
49594         mounts with the `ignore' attribute.  Based on a patch from
49595         Mark D. Roth.
49596
49597 2000-05-28  Jim Meyering  <meyering@lucent.com>
49598
49599         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
49600         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
49601         * m4/stat.m4: Likewise.
49602         * m4/lstat.m4: Likewise.
49603         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
49604
49605         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
49606         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
49607
49608 2000-05-26  Jim Meyering  <meyering@lucent.com>
49609
49610         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
49611
49612 2000-05-24  Jim Meyering  <meyering@lucent.com>
49613
49614         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
49615         autoconf requires that.
49616         * m4/lib-check.m4: Likewise.
49617         * m4/jm-macros.m4: Likewise.
49618         * m4/strftime.m4: Likewise.
49619
49620         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
49621         AC_CHECK_DECLS, now that autoconf requires that.
49622
49623 2000-05-22  Jim Meyering  <meyering@lucent.com>
49624
49625         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
49626         * m4/lstat.m4: Likewise.
49627
49628 2000-05-22  Jim Meyering  <meyering@lucent.com>
49629
49630         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
49631
49632 2000-05-20  Jim Meyering  <meyering@lucent.com>
49633
49634         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
49635         (jm_PREREQ): Use it.
49636
49637 2000-05-18  Jim Meyering  <meyering@lucent.com>
49638
49639         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
49640         back, too, since it may have been modified by allocate_entry.
49641         (hash_delete): Rewrite to use neither the assignment operator
49642         nor the comma operator in an if-expression.
49643
49644 2000-05-15  Paul Eggert  <eggert@twinsun.com>
49645
49646         * lib/closeout.c:
49647         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
49648         Remove; no longer needed.
49649         "quotearg.h": Add include.
49650         (file_name): Do not bother to explicitly initialize to NULL; it's less
49651         efficient on some hosts.
49652         (close_stdout_status): Remove test as to whether stdout was already
49653         closed; it breaks for the case "echo x | sort >&-".
49654         Quote file name colons.
49655         Do not assume that _("write error") lacks format strings.
49656
49657 2000-05-15  Jim Meyering  <meyering@lucent.com>
49658
49659         * lib/version-etc.c (version_etc_copyright): Update the copyright
49660         string used in all --version output.
49661
49662 2000-05-14  Jim Meyering  <meyering@lucent.com>
49663
49664         * lib/closeout.c (close_stdout_set_file_name): New function.
49665         (close_stdout_status): Use new file-scoped global.
49666         Return right away if fstat says the stdout file descriptor is invalid.
49667         * lib/closeout.h (close_stdout_set_file_name): Declare.
49668
49669 2000-05-10  Jim Meyering  <meyering@lucent.com>
49670
49671         * lib/closeout.c [default_exit_status]: New file-scoped variable.
49672         (close_stdout_set_status): New function.
49673         * lib/closeout.h (close_stdout_set_status): Declare.
49674
49675 2000-05-09  Jim Meyering  <meyering@lucent.com>
49676
49677         * m4/gettext.m4: Rename this...
49678         * m4/libintl.m4: ...to this.
49679
49680 2000-05-08  Jim Meyering  <meyering@lucent.com>
49681
49682         * lib/long-options.c: Don't include closeout.h.
49683         (parse_long_options): Don't call close_stdout for --version.
49684
49685 2000-05-06  Paul Eggert  <eggert@twinsun.com>
49686
49687         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
49688         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
49689         2.1.3 bug.  This avoids a clash when files like regex.c define
49690         _GNU_SOURCE.
49691
49692 2000-05-06  Jim Meyering  <meyering@lucent.com>
49693
49694         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
49695         (AC_REPLACE_FUNCS): Add strnlen.
49696
49697         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
49698         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
49699
49700         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
49701         AC_SEARCH_LIBS call for nanosleep.
49702         (LIB_NANOSLEEP): Set and AC_SUBST.
49703
49704 2000-05-06  Jim Meyering  <meyering@lucent.com>
49705
49706         * lib/strnlen.c: Undefine __strnlen and strnlen.
49707         [!weak_alias]: Define __strnlen to strnlen.
49708
49709         * lib/atexit.c: New file, from libiberty.
49710
49711 2000-05-06  Jim Meyering  <meyering@lucent.com>
49712
49713         * lib/closeout.c (close_stdout_status): Also check for errors on the
49714         stderr stream.
49715
49716 2000-05-05  Jim Meyering  <meyering@lucent.com>
49717
49718         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
49719         AC_SEARCH_LIBS call for clock_gettime.
49720         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
49721
49722         * m4/search-libs.m4: Update from autoconf.
49723
49724         su doesn't work on Solaris 2.6.
49725         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
49726         <shadow.h>.  Reported by Dragos Harabor.
49727
49728 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
49729
49730         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
49731         memcpy instead of xmalloc, xrealloc, path_concat.
49732         (locale_charset): Treat empty environment variables as absent.
49733         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
49734
49735 2000-05-04  Jim Meyering  <meyering@lucent.com>
49736
49737         * lib/getopt.c: Update from glibc.
49738         * lib/obstack.c: Likewise.
49739         * lib/obstack.h: Likewise.
49740         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
49741         file
49742
49743         * lib/regex.h: Likewise.
49744         * lib/strndup.c: Likewise.
49745         * lib/strnlen.c: New file, from glibc.
49746
49747 2000-05-03  Jim Meyering  <meyering@lucent.com>
49748
49749         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
49750
49751 2000-05-02  Paul Eggert  <eggert@twinsun.com>
49752
49753         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
49754         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
49755         compile-time test, rather than inspecting host and OS, to
49756         decide whether to define _LARGEFILE_SOURCE.
49757
49758 2000-05-01  Jim Meyering  <meyering@lucent.com>
49759
49760         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
49761
49762         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
49763         Based on a patch from Bruno Haible.
49764
49765 2000-05-01  Jim Meyering  <meyering@lucent.com>
49766
49767         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
49768
49769 2000-04-29  Jim Meyering  <meyering@lucent.com>
49770
49771         * lib/path-concat.c: Declare strdup only if it's not defined.
49772         * lib/canon-host.c: Likewise.
49773
49774 2000-04-28  Jim Meyering  <meyering@lucent.com>
49775
49776         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
49777         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
49778         is included first, then limits.h is included by locale.h by libintl.h.
49779         From John David Anglin.
49780
49781 2000-04-25  Jim Meyering  <meyering@lucent.com>
49782
49783         * lib/makepath.c (S_IRWXUGO): Define.
49784         (make_path): Always perform explicit chmod if MODE specifies any
49785         of the `special' permission bits.  Prompted by a bug report against
49786         install from Mate Wierdl and Joost van Baal.
49787
49788 2000-04-18  Jim Meyering  <meyering@lucent.com>
49789
49790         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
49791         (jm_PREREQ): Use it.
49792
49793 2000-04-18  Jim Meyering  <meyering@lucent.com>
49794
49795         * lib/README: New file.
49796
49797         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
49798         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
49799
49800 2000-04-17  Jim Meyering  <meyering@lucent.com>
49801
49802         Get it right :-)
49803         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
49804         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
49805         Suggestion from Akim Demaille.
49806
49807 2000-04-17  Jim Meyering  <meyering@lucent.com>
49808
49809         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
49810         the definition of it to rpl_strftime also defined-away the system's
49811         declaration.
49812
49813 2000-04-15  Jim Meyering  <meyering@lucent.com>
49814
49815         Use `C' to denote so-called `contiguous' files, the same way
49816         that tar does.
49817         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
49818         (ftypelet): Use S_ISCTG.
49819         From Michael Deutschmann.
49820
49821 2000-04-14  Jim Meyering  <meyering@lucent.com>
49822
49823         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
49824         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
49825         clobbered.
49826
49827 2000-04-14  Jim Meyering  <meyering@lucent.com>
49828
49829         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
49830
49831 2000-04-13  Jim Meyering  <meyering@lucent.com>
49832
49833         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
49834         AH_VERBATIM to insert required #ifndef into config.h.in.
49835         Suggestion from Akim Demaille.
49836
49837 2000-04-12  Jim Meyering  <meyering@lucent.com>
49838
49839         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
49840         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
49841         Christian Krackowizer.
49842
49843         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
49844         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
49845         (AC_SYS_LARGEFILE): Require.
49846         (AM_C_PROTOTYPES): Require.
49847
49848 2000-04-08  Jim Meyering  <meyering@lucent.com>
49849
49850         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
49851         names don't conflict.  Reported by Eli Zaretskii.
49852
49853 2000-04-07  Jim Meyering  <meyering@lucent.com>
49854
49855         * lib/putenv.c: Move inclusion of errno.h so it follows that of
49856         sys/types.h, to work around system header problems on AIX 3.2.5.
49857         From Bruno Haible.
49858
49859 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
49860
49861         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
49862         bug.  Deal with the different error behavior of Irix iconv.
49863
49864 2000-04-05  Paul Eggert  <eggert@twinsun.com>
49865
49866         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
49867         IRIX if the installer said otherwise.
49868
49869 2000-04-05  Jim Meyering  <meyering@lucent.com>
49870
49871         Portability tweaks required for ultrix4.3.
49872         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
49873         (jm_CHECK_DECLS): Add getutent to the list of functions.
49874         (_jm_DECL_HEADERS): Add utmpx.h.
49875         From John David Anglin.
49876
49877         * m4/strftime.m4: Back out the 2000-04-02 change.
49878         Instead of that change, simply undefine putenv in the test program.
49879
49880 2000-04-05  Jim Meyering  <meyering@lucent.com>
49881
49882         Portability tweaks required for ultrix4.3.
49883         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
49884         getutent.
49885         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
49886         * lib/canon-host.c: Declare strdup.
49887         * lib/path-concat.c: Likewise.
49888         From John David Anglin.
49889
49890 2000-04-04  Jim Meyering  <meyering@lucent.com>
49891
49892         Be more DOS 8.3-friendly.
49893         * lib/ref-add.sin: Renamed from ref-add.sed.in.
49894         * lib/ref-del.sin: Renamed from ref-del.sed.in.
49895         * lib/Makefile.am: Reflect renaming.
49896         Reported by Eli Zaretskii.
49897
49898         Use a temporary file name that won't clash with `charset.alias'
49899         in the DOS 8.3 name space.
49900         * lib/Makefile.am (charset_tmp): Define.
49901         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
49902         (uninstall-local): Likewise.
49903         Reported by Eli Zaretskii.
49904
49905 2000-04-03  Jim Meyering  <meyering@lucent.com>
49906
49907         * m4/gettext.m4: Fix typo in comment.
49908
49909         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
49910         textutils/configure.in).  Suggestion from Paul Eggert.
49911         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
49912
49913 2000-04-02  Paul Eggert  <eggert@twinsun.com>
49914
49915         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
49916         variable in the shell rather than using putenv, which isn't
49917         portable.  This avoids the configure-time inter-test dependency
49918         on the potentially-renamed putenv function.
49919
49920 2000-03-30  Paul Eggert  <eggert@twinsun.com>
49921
49922         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
49923         before checking struct stat.st_blksize, so that
49924         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
49925
49926 2000-03-29  Paul Eggert  <eggert@twinsun.com>
49927
49928         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
49929         since strftime.c uses HAVE_STRFTIME to decide whether to use
49930         the underlying strftime.
49931
49932 2000-03-29  Paul Eggert  <eggert@twinsun.com>
49933
49934         * lib/time/strftime.c (my_strftime): Make sure we call the system
49935         strftime, not ourselves, when invoking the underlying strftime.
49936
49937 2000-03-24  Jim Meyering  <meyering@lucent.com>
49938
49939         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
49940         (charset_alias): Define.
49941         (install-exec-local): Factor out common code.
49942         (uninstall-local): Split lines longer than 80.
49943         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
49944         (SUFFIXES): Define.
49945         (.sed.in.sed): New rule.  Don't redirect directly to $@.
49946         (CLEANFILES): Add ref-add.sed and ref-del.sed.
49947
49948 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
49949
49950         * lib/config.charset: Output a line containing "Packages using this
49951         file".
49952         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
49953         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
49954         ref-del.sed): New rules.
49955
49956 2000-03-17  Jim Meyering  <meyering@lucent.com>
49957
49958         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
49959         Otherwise, include <strings.h>
49960
49961 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
49962
49963         * lib/unicodeio.c (utf8_wctomb): New function.
49964         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
49965         format instead of in UCS-4 with platform dependent endianness.
49966
49967 2000-03-10  Jim Meyering  <meyering@lucent.com>
49968
49969         * m4/lib-check.m4: Look for getspnam in -lgen, too.
49970         From Marco Franzen.
49971
49972 2000-03-07  Paul Eggert  <eggert@twinsun.com>
49973
49974         * lib/savedir.c (savedir): Work even if directory size is
49975         negative; this can happen with some screwy NFS configurations.
49976
49977 2000-03-06  Jim Meyering  <meyering@lucent.com>
49978
49979         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
49980         if it's NULL (because we ran out of memory).  From Bruno Haible.
49981
49982 2000-03-05  Jim Meyering  <meyering@lucent.com>
49983
49984         * lib/localcharset.c ("path-concat.h"): Include.
49985         (get_charset_aliases): Use path_concat instead of ANSI string
49986         concatenation.
49987
49988         * lib/unicodeio.h (PARAMS): Define.
49989         Use it to guard prototype.
49990
49991 2000-03-04  Jim Meyering  <meyering@lucent.com>
49992
49993         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
49994         for lib/localcharset.c.
49995
49996 2000-03-04  Jim Meyering  <meyering@lucent.com>
49997
49998         * lib/Makefile.am (install-exec-local): Create $(libdir) before
49999         installing into it.
50000         (uninstall-local): Uncomment this rule so `make distcheck' works
50001         once again.
50002
50003         * lib/unicodeio.c (<errno.h>): Include it.
50004         (errno): Declare if not defined.
50005
50006         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
50007
50008         * lib/config.charset: New version, incorporating remarks from a linux
50009         i18n mailing list.  From Bruno Haible.
50010
50011 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
50012
50013         * m4/codeset.m4: New file.
50014         * m4/iconv.m4: New file.
50015         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
50016
50017 2000-03-03  Jim Meyering  <meyering@lucent.com>
50018
50019         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
50020
50021 2000-03-02  Jim Meyering  <meyering@lucent.com>
50022
50023         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
50024         the messages come out on separate lines.
50025
50026         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
50027         rather than jm_CHECK_DECLARATIONS.
50028         * m4/decl.m4: Remove now-unused file.
50029
50030         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
50031         geteuid.
50032
50033 2000-03-02  Jim Meyering  <meyering@lucent.com>
50034
50035         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
50036
50037 2000-03-01  Jim Meyering  <meyering@lucent.com>
50038
50039         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
50040         * lib/unicodeio.c: Likewise.
50041
50042 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
50043
50044         * lib/config.charset: New file.
50045         * lib/localcharset.c: New file.
50046         * lib/unicodeio.h, lib/unicodeio.c: New files.
50047         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
50048         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
50049         (noinst_HEADERS): Add unicodeio.h.
50050         (all-local, install-exec-local, charset.alias): New targets.
50051
50052 2000-02-28  Paul Eggert  <eggert@twinsun.com>
50053
50054         * lib/quotearg.c (ALERT_CHAR): New macro.
50055         (quotearg_buffer_restyled): Use it.
50056
50057 2000-02-27  Jim Meyering  <meyering@lucent.com>
50058
50059         * m4/check-decl.m4: Add getenv to the list.
50060
50061 2000-02-27  Jim Meyering  <meyering@lucent.com>
50062
50063         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
50064         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
50065
50066         * lib/backupfile.c: Guard inclusion of stdlib.h with
50067         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
50068         Declare malloc if needed.
50069
50070         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
50071         `#ifndef HAVE_DECL..'
50072         now that autoconf always defines the HAVE_DECL_ symbols.
50073         * lib/human.c: Likewise.
50074         * lib/same.c: Likewise.
50075         * lib/strtoumax.c: Likewise.
50076
50077         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
50078         declaration check was not run.
50079         * lib/hash.c: Likewise.
50080         * lib/human.c: Likewise.
50081         * lib/same.c: Likewise.
50082         * lib/strtoumax.c: Likewise.
50083
50084         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
50085         `.', then first look up the entire `.'-containing string as a login
50086         name.
50087
50088 2000-02-23  Jim Meyering  <meyering@lucent.com>
50089
50090         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
50091         in place of my hack.
50092
50093 2000-02-18  Paul Eggert  <eggert@twinsun.com>
50094
50095         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
50096         (textint): New typedef.
50097         (parser_control): Member year changed from int to textint.
50098         All uses changed.
50099         (YYSTYPE): Removed; replaced by %union with int and textint members.
50100         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
50101         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
50102         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
50103         (tSNUMBER, tUNUMBER): Now of type <textintval>.
50104         (date, number, to_year): Use width of number in digits, not its value,
50105         to determine whether it's a 2-digit year, or a 2-digit time.
50106         (yylex): Store number of digits of numeric tokens.
50107         Reported by John Kendall.
50108
50109         (parser_control): Changed from struct parser_control to typedef (for
50110         consistency).  All uses changed.
50111
50112         (tID): Removed; not used.
50113         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
50114
50115 2000-02-14  Paul Eggert  <eggert@twinsun.com>
50116
50117         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
50118         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
50119
50120 2000-02-12  Jim Meyering  <meyering@lucent.com>
50121
50122         * lib/userspec.c (ISDIGIT): Define it.
50123         (isdigit): Remove definition.
50124         (is_number): Use ISDIGIT, not isdigit.
50125         <libintl.h>: Include.
50126         (_ and N_): Define.
50127         (parse_user_spec): Mark translatable strings.
50128
50129 2000-02-10  Jim Meyering  <meyering@lucent.com>
50130
50131         With these changes, nanosleep.[ch] are finally enough like the other
50132         lib/* replacement files to compile on a few more losing systems.
50133
50134         * lib/nanosleep.h: Don't include config.h.
50135         Remove prototype from declaration of nanosleep.
50136         (PARAMS): Remove now-unneeded definition.
50137         * lib/nanosleep.c: #undef nanosleep.
50138         (rpl_nanosleep): Rename from nanosleep.
50139
50140 2000-02-10  Jim Meyering  <meyering@lucent.com>
50141
50142         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
50143         gnu_nanosleep to rpl_nanosleep.
50144
50145 2000-02-09  Jim Meyering  <meyering@lucent.com>
50146
50147         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
50148         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
50149
50150 2000-02-08  Akim Demaille  <akim@epita.fr>
50151
50152         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
50153         `[' and `]' and remove uses of `changequote'.
50154         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
50155         (AC_SYS_LARGEFILE): Likewise.
50156         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
50157         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
50158         of changequote.
50159         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
50160         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
50161         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
50162         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
50163
50164 2000-02-05  Jim Meyering  <meyering@lucent.com>
50165
50166         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
50167         Remove explicit use of AC_HEADER_TIME.  It is required by
50168         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
50169         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
50170         in autoconf whereby the expansion of the latter ended up preceding
50171         the expansion of its prerequisite, AC_HEADER_TIME.
50172         Reported by Volker Borchert.
50173
50174 2000-02-03  Jim Meyering  <meyering@lucent.com>
50175
50176         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
50177
50178 2000-02-03  Jim Meyering  <meyering@lucent.com>
50179
50180         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
50181         rather than with `#if HAVE_UTMPNAME'.
50182
50183 2000-02-02  Jim Meyering  <meyering@lucent.com>
50184
50185         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
50186         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
50187         Reported by Eli Zaretskii.
50188
50189 2000-02-01  Jim Meyering  <meyering@lucent.com>
50190
50191         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
50192
50193 2000-01-31  Jim Meyering  <meyering@lucent.com>
50194
50195         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
50196         functions.  Add the time.h and sys/time.h headers along with the
50197         AC_REQUIRE'ment of AC_HEADER_TIME.
50198
50199 2000-01-31  Jim Meyering  <meyering@lucent.com>
50200
50201         * lib/nanosleep.h (nanosleep): Guard declaration with
50202         `#if ! HAVE_DECL_NANOSLEEP'.
50203         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
50204         the declaration in that vendor's sys/timers.h.
50205         Reported by Christian Krackowizer.
50206
50207         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
50208         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
50209         (ISPRINT): Likewise.
50210         Reported by Tom Tromey.
50211
50212 2000-01-30  Jim Meyering  <meyering@lucent.com>
50213
50214         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
50215
50216         * m4/prereq.m4 (utmp_includes): Define.
50217         Check for ut_user and ut_name members in both struct utmpx
50218         and struct utmp.
50219
50220 2000-01-30  Jim Meyering  <meyering@lucent.com>
50221
50222         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
50223         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
50224         header files where only utmpx.ut_user is declared.
50225
50226         * lib/readutmp.h (UT_USER): Define.
50227
50228 2000-01-29  Jim Meyering  <meyering@lucent.com>
50229
50230         * m4/lib-check.m4: New file containing library-related checks from
50231         fileutils and sh-utils (textutils had none).
50232
50233 2000-01-28  Jim Meyering  <meyering@lucent.com>
50234
50235         * m4/perl.m4: Change format of warning message to look more like that
50236         from the missing script.  Suggestion from François Pinard.
50237
50238 2000-01-25  Jim Meyering  <meyering@lucent.com>
50239
50240         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
50241         well as time.h in the compile check.
50242         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
50243         Fix typo in cross-compiling case: s/yes/no/.
50244
50245 2000-01-23  Jim Meyering  <meyering@lucent.com>
50246
50247         * m4/jm-macros.m4: Move df-related tests here from
50248         fileutils/configure.in
50249
50250         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
50251         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
50252
50253         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
50254         s/space/ac_fsusage_space/.
50255         (jm_FILE_SYSTEM_USAGE): Take two parameters.
50256
50257         * m4/ftruncate.m4: New file (derived from part of
50258         fileutils/configure.in).
50259         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
50260         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
50261
50262         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
50263         AC_SUBST these here, rather than just in sh-util/configure.in, so
50264         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
50265         all the same.
50266         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
50267         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
50268         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
50269         (AC_SUBST(POW_LIBM)): Likewise.
50270         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
50271
50272 2000-01-23  Jim Meyering  <meyering@lucent.com>
50273
50274         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
50275         obstack.c.
50276
50277 2000-01-22  Jim Meyering  <meyering@lucent.com>
50278
50279         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
50280
50281         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
50282
50283         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
50284         configure.in
50285         (AC_CHECK_HEADERS): Likewise for sh-utils.
50286         (AC_CHECK_HEADERS): Likewise for textutils.
50287         Merge the three lists of headers.
50288
50289         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
50290         from fileutils' configure.in.
50291
50292         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
50293         code. Moved tests into their own function (_jm_DECL_HEADERS) in
50294         check-decl.m4.
50295
50296         * m4/check-decl.m4: Use #if rather than #ifdef.
50297         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
50298         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
50299         (_jm_DECL_HEADERS): Define new function.
50300         (jm_CHECK_DECLARATIONS): Require it.
50301
50302 2000-01-22  Jim Meyering  <meyering@lucent.com>
50303
50304         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
50305         [! HAVE_DECL_STRTOULL]: Declare strtoull.
50306         Required for some AIX systems.  Reported by Christian Krackowizer.
50307         [TESTING] (main): New function.
50308
50309         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
50310         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
50311         letters.
50312
50313         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
50314         iswprint.
50315
50316         * lib/strverscmp.c (ISDIGIT): Define.
50317         (strverscmp): Use ISDIGIT, not isdigit.
50318
50319 2000-01-19  Jim Meyering  <meyering@lucent.com>
50320
50321         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
50322         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
50323         defines `struct timespec' in <sys/time.h>
50324
50325         * m4/c-bs-a.m4: Remove uses of changequote altogether.
50326         Thanks to Akim for explaining.
50327
50328 2000-01-17  Paul Eggert  <eggert@twinsun.com>
50329
50330         * lib/nanosleep.c (nanosleep):
50331         Don't use SA_INTERRUPT to decide whether to call sigaction, as
50332         POSIX.1 doesn't require SA_INTERRUPT and some systems
50333         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
50334         it's been part of POSIX.1 since day 1 (in 1988).
50335
50336 2000-01-17  Jim Meyering  <meyering@lucent.com>
50337
50338         * lib/interlock: Remove unused file.  Reported by François Pinard.
50339
50340 2000-01-16  Paul Eggert  <eggert@twinsun.com>
50341
50342         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
50343         alert, backslash, formfeed, and vertical tab unnecessarily in
50344         shell quoting style.
50345
50346 2000-01-16  Jim Meyering  <meyering@lucent.com>
50347
50348         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
50349         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
50350         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
50351         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
50352
50353 2000-01-16  Jim Meyering  <meyering@lucent.com>
50354
50355         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
50356         because the latter didn't work.
50357
50358 2000-01-15  Jim Meyering  <meyering@lucent.com>
50359
50360         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
50361         (AC_REPLACE_FUNCS): Add memcpy and memset.
50362         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
50363         Add strpbrk.
50364         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
50365
50366 2000-01-12  Jim Meyering  <meyering@lucent.com>
50367
50368         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
50369         (jm_PREREQ): Use it.
50370         (jm_PREREQ_READUTMP): New macro.
50371         (jm_PREREQ): Use it.
50372
50373 2000-01-11  Paul Eggert  <eggert@twinsun.com>
50374
50375         Quote multibyte characters correctly.
50376         * m4/c-bs-a.m4: New file.
50377         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
50378         (jm_PREREQ): Use it.
50379
50380 2000-01-11  Paul Eggert  <eggert@twinsun.com>
50381
50382         * m4/uintmax_t.m4: Port to autoconf 2.13.
50383
50384 2000-01-08  Jim Meyering  <meyering@ascend.com>
50385
50386         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
50387         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
50388
50389 2000-01-04  Jim Meyering  <meyering@ascend.com>
50390
50391         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
50392         jm_STRUCT_DIRENT_D_TYPE.
50393         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
50394         jm_STRUCT_DIRENT_D_INO.
50395         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
50396         jm_STRUCT_UTIMBUF.
50397         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
50398         renamings.
50399         * m4/utime.m4: Likewise.
50400
50401         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
50402         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
50403
50404 2000-01-03  Paul Eggert  <eggert@twinsun.com>
50405
50406         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
50407         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
50408
50409 2000-01-02  Jim Meyering  <meyering@ascend.com>
50410
50411         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
50412         remember if this is necessary.
50413
50414 1999-12-26  Jim Meyering  <meyering@ascend.com>
50415
50416         * m4/jm-macros.m4: Use it here.
50417         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
50418
50419 1999-12-23  Jim Meyering  <meyering@ascend.com>
50420
50421         * m4/jm-macros.m4: Check for clock_gettime (moved from
50422         fileutils/configure.in)
50423         Check for gettimeofday.
50424
50425 1999-12-20  Jim Meyering  <meyering@ascend.com>
50426
50427         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
50428         autoconf-2.14a-1999-12-20.
50429
50430 1999-12-19  Jim Meyering  <meyering@ascend.com>
50431
50432         * m4/lstat-slash.m4: New file.
50433         * m4/jm-macros.m4: Use the new macro:
50434         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
50435
50436 1999-12-07  Jim Meyering  <meyering@ascend.com>
50437
50438         * m4/perl.m4: Require that File::Compare be available, too.
50439         Too many systems seem to lack it.
50440
50441         * m4/strftime.m4: Add checks for most of the cpp macros tested in
50442         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
50443
50444 1999-11-18  Paul Eggert  <eggert@twinsun.com>
50445
50446         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
50447         problem with the QNX 4.25 shell, which doesn't propagate exit
50448         status of failed commands inside shell assignments.
50449
50450 1999-11-17  Jim Meyering  <meyering@ascend.com>
50451
50452         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
50453
50454 1999-11-07  Jim Meyering  <meyering@ascend.com>
50455
50456         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
50457
50458 1999-11-06  Jim Meyering  <meyering@ascend.com>
50459
50460         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
50461         * m4/jm-macros.m4 (jm_MACROS): Use it here.
50462
50463 1999-11-05  Jim Meyering  <meyering@ascend.com>
50464
50465         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
50466         configure.in of textutils, fileutils, and sh-utils into this one
50467         (shared between those packages) file.
50468         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
50469         AC_STRUCT_ST_BLKSIZE.
50470
50471 1999-11-03  Jim Meyering  <meyering@ascend.com>
50472
50473         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
50474         of AC_CHECK_TYPE checks includes unistd.h.
50475         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
50476         Suggestion from Akim Demaille.
50477
50478 1999-10-30  Jim Meyering  <meyering@ascend.com>
50479
50480         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
50481         m4-quoted string.
50482         * m4/ls-mntd-fs.m4: Likewise.
50483         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
50484         * m4/jm-winsz1.m4: Likewise.
50485
50486         * m4/const.m4: Remove file, since the fix made it into the experimental
50487         version of autoconf.
50488         * m4/mktime.m4: Likewise.
50489
50490         * m4/check-type.m4: Remove file, now that the latest version of
50491         AC_CHECK_TYPE takes a third arg to specify additional #includes.
50492
50493         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
50494         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
50495         AC_CHECK_TYPE.
50496
50497 1999-10-04  Jim Meyering  <meyering@ascend.com>
50498
50499         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
50500
50501 1999-09-22  Paul Eggert  <eggert@twinsun.com>
50502
50503         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
50504         2.95.1 bug with HP-UX 10.20.
50505
50506 1999-09-17  Jim Meyering  <meyering@ascend.com>
50507
50508         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
50509         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
50510         due to missing strdup (against sh-utils-2.0).
50511
50512 1999-08-29  Jim Meyering  <meyering@ascend.com>
50513
50514         * m4/jm-macros.m4: Require jm_BISON.
50515         * m4/bison.m4: New file.
50516
50517 1999-08-17  Paul Eggert  <eggert@twinsun.com>
50518
50519         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
50520         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
50521
50522 1999-08-05  Jim Meyering  <meyering@ascend.com>
50523
50524         * m4/getline.m4: Rename test file from conftestdata to conftest.data
50525         to avoid conflicts with `conftest' on 8+3 filesystems.
50526         Suggestion from Eli Zaretskii.
50527
50528 1999-08-04  Jim Meyering  <meyering@ascend.com>
50529
50530         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
50531         fileutils and sh-utils (textutils's getline test was inadequate).
50532         (AM_FUNC_GETLINE): Run this test.
50533         (AC_CHECK_FUNCS): Check for getdelim.
50534         Reported by Bob Proulx.
50535
50536 1999-08-02  Jim Meyering  <meyering@ascend.com>
50537
50538         * m4/jm-macros.m4: Add a comment.
50539
50540 1999-08-01  Paul Eggert  <eggert@twinsun.com>
50541
50542         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
50543         <inttypes.h> defines strtoumax as a macro (and not as a
50544         function).
50545
50546 1999-08-01  Paul Eggert  <eggert@twinsun.com>
50547
50548         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
50549         that we can shift, multiply and divide unsigned long long
50550         values; Ultrix cc can't do it.
50551
50552 1999-08-01  Paul Eggert  <eggert@twinsun.com>
50553
50554         * m4/mktime.m4: New file, which is a preview of what should appear
50555         in the next public autoconf release.
50556
50557 1999-08-01  Paul Eggert  <eggert@twinsun.com>
50558
50559         * m4/lfs.m4: Remove this file.
50560         * m4/largefile.m4: New file.  It contains the old contents of
50561         lfs.m4, except that all names with prefix AC_LFS have been
50562         changed to use the prefix AC_SYS_LARGEFILE instead, to be
50563         compatible with future autoconf versions.  Also, some minor m4
50564         quoting problems have been fixed.
50565
50566 1999-08-01  Paul Eggert  <eggert@twinsun.com>
50567
50568         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
50569         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
50570         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
50571         and simplify the shell code.
50572
50573 1999-08-01  Jim Meyering  <meyering@ascend.com>
50574
50575         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
50576         m4.
50577
50578 1999-07-20  Jim Meyering  <meyering@ascend.com>
50579
50580         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
50581
50582 1999-07-15  Jim Meyering  <meyering@ascend.com>
50583
50584         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
50585
50586 1999-05-22  Jim Meyering  <meyering@ascend.com>
50587
50588         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
50589
50590 1999-05-20  Jim Meyering  <meyering@ascend.com>
50591
50592         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
50593         Add a colon after each `then' in case $4 is empty.
50594
50595 1999-05-16  Jim Meyering  <meyering@ascend.com>
50596
50597         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
50598
50599 1999-05-10  Jim Meyering  <meyering@ascend.com>
50600
50601         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
50602
50603         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
50604         AC_FUNC_MKTIME.
50605
50606 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
50607
50608         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
50609
50610 1999-05-04  Paul Eggert  <eggert@twinsun.com>
50611
50612         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
50613         not CPPFLAGS, so that linking works correctly in IRIX.
50614
50615 1999-04-30  Paul Eggert  <eggert@twinsun.com>
50616
50617         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
50618
50619 1999-04-20  Paul Eggert  <eggert@twinsun.com>
50620
50621         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
50622         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
50623         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
50624         jm_AC_TYPE_UNSIGNED_LONG_LONG.
50625         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
50626
50627         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
50628
50629 1999-04-20  Jim Meyering  <meyering@ascend.com>
50630
50631         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
50632         AC_REPLACE xstroull if necessary.  From Paul Eggert.
50633         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
50634
50635 1999-04-18  Jim Meyering  <meyering@ascend.com>
50636
50637         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
50638         * m4/jm-macros.m4: Use it.
50639
50640 1999-04-06  Jim Meyering  <meyering@ascend.com>
50641
50642         * m4/strftime.m4: Remove test for %f.
50643
50644 1999-03-29  Jim Meyering  <meyering@ascend.com>
50645
50646         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
50647         superset of the AC_TYPE_* checks in the textutils, fileutils,
50648         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
50649         AC_TYPE_PID_T.
50650
50651 1999-03-28  Jim Meyering  <meyering@ascend.com>
50652
50653         * m4/jm-macros.m4: Define GNU_PACKAGE here.
50654         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
50655         replaced e.g., in the *.sh files of the sh-utils.
50656
50657 1999-03-20  Jim Meyering  <meyering@ascend.com>
50658
50659         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
50660         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
50661         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
50662
50663 1999-03-19  Jim Meyering  <meyering@ascend.com>
50664
50665         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
50666
50667 1999-03-12  Jim Meyering  <meyering@ascend.com>
50668
50669         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
50670
50671 1999-03-07  Jim Meyering  <meyering@ascend.com>
50672
50673         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
50674         declared.
50675
50676 1999-02-17  Jim Meyering  <meyering@ascend.com>
50677
50678         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
50679         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
50680
50681 1999-02-07  Jim Meyering  <meyering@ascend.com>
50682
50683         * m4/group-member.m4: New file -- extracted from sh-utils'
50684         configure.in.
50685
50686         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
50687         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
50688
50689 1999-02-06  Jim Meyering  <meyering@ascend.com>
50690
50691         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
50692         * m4/fnmatch.m4: Likewise.
50693         * m4/getgroups.m4: Likewise.
50694         * m4/lstat.m4: Likewise.
50695         * m4/malloc.m4: Likewise.
50696         * m4/putenv.m4: Likewise.
50697         * m4/realloc.m4: Likewise.
50698         * m4/regex.m4: Likewise.
50699         * m4/stat.m4: Likewise.
50700         * m4/strftime.m4: Likewise.
50701         Suggestion from Alain Magloire.
50702
50703         * m4/chown.m4: Use `.$ac_objext', not `.o'.
50704         * m4/fnmatch.m4: Likewise.
50705         * m4/getgroups.m4: Likewise.
50706         * m4/getline.m4: Likewise.
50707         * m4/lstat.m4: Likewise.
50708         * m4/malloc.m4: Likewise.
50709         * m4/memcmp.m4: Likewise.
50710         * m4/putenv.m4: Likewise.
50711         * m4/realloc.m4: Likewise.
50712         * m4/regex.m4: Likewise.
50713         * m4/stat.m4: Likewise.
50714         * m4/strftime.m4: Likewise.
50715         Suggestion from Alain Magloire.
50716
50717         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
50718         an argument.
50719
50720         * m4/regex.m4: Add a run-time Test for proper operation of
50721         re_compile_pattern.
50722
50723 1999-01-31  Jim Meyering  <meyering@ascend.com>
50724
50725         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
50726
50727 1999-01-30  Jim Meyering  <meyering@ascend.com>
50728
50729         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
50730
50731         * m4/jm-mktime.m4: Make this a wrapper around the official
50732         AM_FUNC_MKTIME rather than my private copy, now that the official one
50733         is up to date.
50734         * m4/mktime.m4: Remove file.
50735
50736         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
50737         * m4/uptime.m4: Likewise.
50738         * m4/uintmax_t.m4: Likewise.
50739
50740 1999-01-28  Jim Meyering  <meyering@ascend.com>
50741
50742         * m4/jm-macros.m4: Use jm_AFS.
50743         * m4/afs.m4: New file (from fileutils' configure.in).
50744
50745         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
50746         * m4/chown.m4: Likewise.
50747         * m4/d-ino.m4: Likewise.
50748         * m4/d-type.m4: Likewise.
50749         * m4/fnmatch.m4: Likewise.
50750         * m4/getgroups.m4: Likewise.
50751         * m4/gettext.m4: Likewise.
50752         * m4/jm-mktime.m4: Likewise.
50753         * m4/jm-winsz2.m4: Likewise.
50754         * m4/lcmessage.m4: Likewise.
50755         * m4/ls-mntd-fs.m4: Likewise.
50756         * m4/malloc.m4: Likewise.
50757         * m4/memcmp.m4: Likewise.
50758         * m4/putenv.m4: Likewise.
50759         * m4/realloc.m4: Likewise.
50760         * m4/st_mtim.m4: Likewise.
50761         * m4/strftime.m4: Likewise.
50762
50763 1999-01-16  Jim Meyering  <meyering@ascend.com>
50764
50765         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
50766         (ARGMATCH_DIE_DECL): Define.
50767
50768 1999-01-12  Jim Meyering  <meyering@ascend.com>
50769
50770         * m4/Makefile.am.in: Rewrite to avoid using fmt.
50771         Reported by Lars Hecking.
50772
50773 1999-01-10  Jim Meyering  <meyering@ascend.com>
50774
50775         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
50776         gross kludge.
50777         * m4/inttypes_h.m4: Likewise.
50778         * m4/lstat.m4: Likewise.
50779         * m4/malloc.m4: Likewise.
50780         * m4/readdir.m4: Likewise.
50781         * m4/realloc.m4: Likewise.
50782         * m4/st_dm_mode.m4: Likewise.
50783         * m4/stat.m4: Likewise.
50784         * m4/utimbuf.m4: Likewise.
50785         * m4/utimes.m4: Likewise.
50786
50787         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
50788         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
50789         comments in config.h.in are meaningful.
50790
50791         * m4/jm-macros.m4: Require autoconf-2.13 here.
50792
50793         * m4/regex.m4: By default, don't use the included regex.c on systems
50794         with glibc 2.  Suggestion from Uli Drepper.
50795
50796 1999-01-02  Jim Meyering  <meyering@ascend.com>
50797
50798         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
50799
50800 1998-12-18  Jim Meyering  <meyering@ascend.com>
50801
50802         * m4/Makefile.am.in (Makefile.am): Simplify rule.
50803         Based on a suggestion from Lars Hecking.
50804
50805 1998-11-16  Paul Eggert  <eggert@twinsun.com>
50806
50807         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
50808
50809 1998-11-16  Jim Meyering  <meyering@ascend.com>
50810
50811         * m4/lfs.m4: Double-quote the `uname...` expression.
50812
50813 1998-11-14  Jim Meyering  <meyering@ascend.com>
50814
50815         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
50816         * m4/stat.m4: Likewise.
50817
50818 1998-11-03  Jim Meyering  <meyering@ascend.com>
50819
50820         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
50821         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
50822
50823 1998-10-18  Jim Meyering  <meyering@ascend.com>
50824
50825         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
50826
50827 1998-10-17  Jim Meyering  <meyering@ascend.com>
50828
50829         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
50830         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
50831         calls for those previously hard-coded headers.  Instead, take a new
50832         parameter.
50833         (jm_CHECK_DECLARATIONS): Reflect interface change.
50834         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
50835         (jm_CHECK_DECL_LOCALTIME_R): New macro.
50836
50837         * m4/mktime.m4: Test for spring-forward gap before long-running test.
50838
50839 1998-10-14  Jim Meyering  <meyering@ascend.com>
50840
50841         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
50842         instead of "TZ=America/Vancouver".  From Paul Eggert.
50843
50844 1998-10-11  Jim Meyering  <meyering@ascend.com>
50845
50846         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
50847         This adds a test for a recently added compatibility fix for mktime.c.
50848         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
50849
50850 1998-09-27  Jim Meyering  <meyering@ascend.com>
50851
50852         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
50853
50854         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
50855         ../configure.in, including a change from Gordon Matzigkeit to allow
50856         cross-compiling for the Hurd.
50857
50858         * m4/glibc.m4: New file/macro to test for the GNU C Library
50859         versions 1 and 2.  From Gordon Matzigkeit.
50860         Indent.
50861
50862 1998-09-21  Jim Meyering  <meyering@ascend.com>
50863
50864         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
50865
50866 1998-08-18  Paul Eggert  <eggert@twinsun.com>
50867
50868         Port nanosecond-resolution times to UnixWare 2.1.2 and
50869         pedantic Solaris 2.6.
50870
50871         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
50872         AC_STRUCT_ST_MTIM.
50873         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
50874         Generate name of ns member, instead of just 1 or undef.
50875         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
50876
50877 1998-08-15  Jim Meyering  <meyering@ascend.com>
50878
50879         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
50880         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
50881         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
50882         instead of jm_TYPE_SSIZE_T.
50883
50884 1998-08-12  Jim Meyering  <meyering@ascend.com>
50885
50886         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
50887
50888 1998-08-02  Jim Meyering  <meyering@ascend.com>
50889
50890         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
50891         in acconfig.h manually.
50892
50893 1998-07-31  Paul Eggert  <eggert@twinsun.com>
50894
50895         * m4/st_mtim.m4: New file.
50896
50897 1998-07-28  Jim Meyering  <meyering@ascend.com>
50898
50899         * m4/utimes.m4: Undef stat.
50900
50901 1998-07-25  Jim Meyering  <meyering@ascend.com>
50902
50903         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
50904         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
50905
50906 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
50907
50908         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
50909         uid and gid actually remain unchanged.
50910
50911 1998-07-07  Jim Meyering  <meyering@ascend.com>
50912
50913         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
50914
50915 1998-07-04  Jim Meyering  <meyering@ascend.com>
50916
50917         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
50918         to prove that this macro can be used in packages without regex.c.
50919
50920 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
50921
50922         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
50923         is to be used.
50924
50925 1998-07-03  Jim Meyering  <meyering@ascend.com>
50926
50927         * m4/gettext.m4: Add -lintl if it's found to be necessary.
50928
50929         * m4/gettext.m4: New file -- from gettext-0.10.35.
50930         * m4/lcmessage.m4: Likewise.
50931         * m4/progtest.m4: Likewise.
50932
50933         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
50934         * m4/jm-macros.m4: Require the new macro.
50935
50936 1998-06-29  Jim Meyering  <meyering@ascend.com>
50937
50938         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
50939         for the definition of NGROUPS (used in a system header included
50940         by sys/mount.h).
50941
50942 1998-06-28  Jim Meyering  <meyering@ascend.com>
50943
50944         * m4/ls-mntd-fs.m4: New file.
50945         * m4/fstypename.m4: New file.
50946
50947         * m4/jm-macros.m4: Require the new macro.
50948         * m4/jm-glibc-io.m4: New file.
50949
50950 1998-05-19  Jim Meyering  <meyering@ascend.com>
50951
50952         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
50953         * m4/lchown.m4: New file.
50954
50955         * m4/Makefile.am.in: New file.
50956         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
50957
50958 1998-05-14  Jim Meyering  <meyering@ascend.com>
50959
50960         * m4/Makefile.am (EXTRA_DIST): Add them.
50961         * m4/jm-macros.m4: New file.
50962         * m4/utimbuf.m4: New file.
50963
50964 1998-05-12  Jim Meyering  <meyering@ascend.com>
50965
50966         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
50967
50968 1998-05-11  Jim Meyering  <meyering@ascend.com>
50969
50970         * m4/isc-posix.m4: New file.
50971
50972 1998-05-10  Jim Meyering  <meyering@ascend.com>
50973
50974         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
50975
50976 1998-05-09  Jim Meyering  <meyering@ascend.com>
50977
50978         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
50979         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
50980         with automake.
50981
50982         * m4/ssize_t.m4: New file.
50983         * m4/mktime.m4: Remove file -- the new automake has this now.
50984
50985 1998-04-26  Jim Meyering  <meyering@ascend.com>
50986
50987         * m4/assert.m4: New file.
50988         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
50989
50990 1998-04-05  Jim Meyering  <meyering@ascend.com>
50991
50992         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
50993         (jm_PREREQ): Use it here.
50994
50995 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
50996
50997         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
50998         in acconfig.h.
50999
51000 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
51001
51002         * m4/prereq.m4: New file.
51003         * m4/error.m4: New file.
51004         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
51005
51006 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
51007
51008         * m4/getline.m4: Don't set am_cv_func_working_getline before the
51009         cache-check for the same variable -- that defeated the purpose of
51010         the test; the test program was never run.  This was a problem only
51011         on systems with losing getline functions -- HP-UX 10.20 is one.
51012         Reported by Bjorn Helgaas.
51013
51014 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
51015
51016         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
51017
51018 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
51019
51020         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
51021
51022         * m4/const.m4: New file.  Use an initializer in this declaration
51023         typedef int charset[2]; const charset x;
51024         Reported by Bob Glickstein.
51025
51026 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
51027
51028         * m4/chown.m4: Fix reversed types on -1 args to chown.
51029         From Kaveh Ghazi.
51030
51031 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
51032
51033         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
51034         Add lseek and memchr.
51035
51036         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
51037         T.E.Dickey <dickey@clark.net> said that some older preprocessors
51038         have a 20-character limit on names.
51039
51040 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
51041
51042         * m4/inttypes_h.m4: New file.
51043         * m4/uintmax_t.m4: New file.
51044         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
51045
51046
51047         -----
51048
51049         Local Variables:
51050         coding: utf-8
51051         End:
51052
51053         Copyright (C) 1997-2009 Free Software Foundation, Inc.
51054
51055         Copying and distribution of this file, with or without
51056         modification, are permitted provided the copyright notice
51057         and this notice are preserved.