468a04f1504270239f22325d456777216d86df6a
[gnulib.git] / ChangeLog
1 2008-02-16  Eric Blake  <ebb9@byu.net>
2
3         Avoid doubling \ in common case of "c-maybe" quoting style.
4         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
5         eliding outer quotes.
6         * lib/quotearg.h: Document this.
7         * tests/test-quotearg.c (result_strings, inputs, results_g)
8         (flag_results, locale_results): Test it by adding a new string to
9         each test group.
10         (compare_strings): Test new string.
11
12 2008-02-13  Eric Blake  <ebb9@byu.net>
13
14         Avoid trigraph quoting in default output.
15         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
16         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
17         unless explicitly requested.
18         * tests/test-quotearg.c (flag_results, main): Add additional tests.
19
20 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
21
22         Don't rely on signed integer overflowing to negative value.
23         * lib/getugroups.c (getugroups): Include <limits.h>.
24         Instead, compare against INT_MAX, and increment only if the test passes.
25
26 2008-02-13  Jim Meyering  <meyering@redhat.com>
27         and Eric Blake  <ebb9@byu.net>
28
29         Avoid shadowing warning and compile errors on Linux.
30         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
31         forwarding macros on Linux.
32         (dcgettext): Define a stub, for Linux.
33         (results_g, main): Avoid warnings.
34
35 2008-02-12  Eric Blake  <ebb9@byu.net>
36
37         Silence warning in last patch.
38         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
39
40         Quotearg part 4: add tests, fix c-maybe colon quoting.
41         * lib/quotearg.h: Improve documentation.
42         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
43         escapes when adding outer quotes.  When quoting trigraphs, use
44         valid C notation.  When quoting NUL, omit extra characters if next
45         character is not digit.  Alter prototype.
46         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
47         callers.
48         * modules/quotearg-tests: New module.
49         * tests/test-quotearg.c: New test.
50
51 2008-02-07  Eric Blake  <ebb9@byu.net>
52
53         Quotearg part 3: add flag to control outer quote elision.
54         * lib/quotearg.h (c_maybe_quoting_style): New style.
55         (enum quoting_flags): Better documentation of flags.
56         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
57         c-maybe style.
58         (quotearg_buffer_restyled): Handle new flag to elide outer
59         quotes.
60
61         Quotearg part 2: add flag that can control NUL elision.
62         * lib/quotearg.h (set_quoting_flags): New prototype.
63         * lib/quotearg.c (struct quoting_options): Add flag field.
64         (set_quoting_flags): New function.
65         (quotearg_buffer_restyled): Add flags parameter.
66         (quotearg_alloc_mem): Set the flag if length cannot be returned.
67         (quotearg_n_options): Set the flag, since length cannot be
68         returned.
69         (quoting_options_from_style): Default flags correctly.
70
71         Quotearg part 1: more wrappers, restore quotearg_char state.
72         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
73         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
74         (quotearg_colon_mem): New wrappers.
75         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
76         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
77         functions.
78         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
79         (quotearg_colon_mem): New functions.
80
81 2008-02-11  Bruno Haible  <bruno@clisp.org>
82
83         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
84         library in the current directory: it does not work with parallel make.
85         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
86
87 2008-02-11  Bruno Haible  <bruno@clisp.org>
88
89         * .gitattributes: New file.
90
91 2008-02-11  Jim Meyering  <meyering@redhat.com>
92
93         useless-if-before-free: Fix reversed exit values.
94         * build-aux/useless-if-before-free: Use correct values
95         for EXIT_MATCH and EXIT_NO_MATCH.
96
97         * build-aux/useless-if-before-free: Close stdout carefully.
98
99 2008-02-10  Bruno Haible  <bruno@clisp.org>
100
101         New module 'git-merge-changelog'.
102         * modules/git-merge-changelog: New file.
103         * lib/git-merge-changelog.c: New file.
104
105 2008-02-10  Jim Meyering  <meyering@redhat.com>
106
107         useless-if-before-free: New option: --list (-l).
108
109         useless-if-before-free: Don't exit immediately upon open failure.
110         * build-aux/useless-if-before-free: Exit 2 for errors.
111         Upon failure to open a file, don't exit immediately.
112         Rather, just warn and continue with any remaining files.
113
114 2008-02-10  Bruno Haible  <bruno@clisp.org>
115
116         New abstract list operation 'node_set_value'.
117         * lib/gl_list.h (gl_list_node_set_value): New function.
118         (struct gl_list_implementation): New field node_set_value.
119         * lib/gl_list.c (gl_list_node_set_value): New function.
120         * lib/gl_array_list.c (gl_array_node_set_value): New function.
121         (gl_array_list_implementation): Update.
122         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
123         (gl_carray_list_implementation): Update.
124         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
125         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
126         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
127         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
128         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
129         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
130         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
131         Update.
132         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
133         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
134         (gl_sublist_list_implementation): Update.
135
136 2008-02-10  Bruno Haible  <bruno@clisp.org>
137
138         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
139         Needed when ELEMENT is #defined to 'some_type *'.
140
141 2008-02-10  Jim Meyering  <meyering@redhat.com>
142
143         New script and module: useless-if-before-free
144         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
145         * build-aux/useless-if-before-free: New file.
146         * modules/useless-if-before-free: New file.
147
148         * build-aux/gitlog-to-changelog: Use committer date, not author date.
149
150         xstrtol_error: Fix typo.
151         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
152         s/exit_failure/exit_status/.
153
154 2008-02-09  Jim Meyering  <meyering@redhat.com>
155
156         New script and module: gitlog-to-changelog
157         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
158         * modules/gitlog-to-changelog: New file.
159         * build-aux/gitlog-to-changelog: New file.
160
161 2008-02-08  Jim Meyering  <meyering@redhat.com>
162
163         Avoid two "parameter unused" warnings.
164         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
165         Mark "st" as used.
166
167         Use "git COMMAND", not "git-COMMAND".
168         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
169         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
170         * build-aux/git-version-gen: Use "git status", not "git-status".
171
172 2008-02-07  Bruno Haible  <bruno@clisp.org>
173
174         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
175         Avoids a crash on Windows Vista.
176         Reported by Adam Strzelecki <ono@java.pl> via
177         Simon Josefsson <simon@josefsson.org>.
178
179 2008-02-06  Bruno Haible  <bruno@clisp.org>
180
181         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
182         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
183         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
184         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
185         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
186         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
187         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
188         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
189         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
190         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
191         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
192         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
193         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
194         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
195         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
196         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
197         left-adjust flag.
198         * tests/test-snprintf-posix.h (test_function): Likewise.
199         * tests/test-sprintf-posix.h (test_function): Likewise.
200         * tests/test-vasprintf-posix.c (test_function): Likewise.
201         * doc/posix-functions/fprintf.texi: Update.
202         * doc/posix-functions/printf.texi: Update.
203         * doc/posix-functions/snprintf.texi: Update.
204         * doc/posix-functions/sprintf.texi: Update.
205         * doc/posix-functions/vfprintf.texi: Update.
206         * doc/posix-functions/vprintf.texi: Update.
207         * doc/posix-functions/vsnprintf.texi: Update.
208         * doc/posix-functions/vsprintf.texi: Update.
209         Reported by Peter Fales <psfales@alcatel-lucent.com>.
210
211 2008-02-06  Bruno Haible  <bruno@clisp.org>
212
213         Fix bug introduced on 2008-01-26.
214         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
215
216 2008-02-06  Bruno Haible  <bruno@clisp.org>
217
218         Fix bug introduced on 2007-06-10.
219         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
220         !NEED_PRINTF_FLAG_ZERO.
221
222 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
223
224         getloadavg: use libperfstat on AIX5
225         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
226
227 2008-02-03  Bruno Haible  <bruno@clisp.org>
228
229         * lib/diffseq.h: Add comments about required #includes.
230         Reported by Michael Biggs <gnulib@doubleplum.net>.
231
232 2008-02-01  Bruno Haible  <bruno@clisp.org>
233
234         * users.txt: Add gnuit.
235
236 2008-01-31  Bruno Haible  <bruno@clisp.org>
237
238         * lib/md4.c (set_uint32): Mark as inline.
239         * lib/md5.c (set_uint32): Likewise.
240         * lib/sha1.c (set_uint32): Likewise.
241         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
242         * m4/md5.m4 (gl_MD5): Likewise.
243         * m4/sha1.m4 (gl_SHA1): Likewise.
244
245 2008-01-31  Jim Meyering  <meyering@redhat.com>
246
247         Use "sizeof VAR", rather than a literal "4".
248         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
249         * lib/md4.c (md4_read_ctx): Likewise.
250         * lib/sha1.c (sha1_read_ctx): Likewise.
251
252 2008-01-31  Simon Josefsson  <simon@josefsson.org>
253
254         * tests/test-sha1.c: New file, based on test-md5.c.
255
256         * modules/crypto/sha1-tests: New file.
257
258 2008-01-31  Simon Josefsson  <simon@josefsson.org>
259
260         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
261
262 2008-01-31  Jim Meyering  <meyering@redhat.com>
263
264         Prefer "sizeof v" over the equivalent "4".
265         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
266         * lib/md5.c (set_uint32): Likewise.
267         * lib/sha1.c (set_uint32): Likewise.
268
269 2008-01-31  Simon Josefsson  <simon@josefsson.org>
270
271         * lib/sha1.c (set_uint32): Mark function as static.
272
273 2008-01-31  Simon Josefsson  <simon@josefsson.org>
274
275         md2: clarify comments to say that alignment is not required.
276         * lib/md2.h: Remove warning about alignment in comment.
277         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
278         never been required.
279
280 2008-01-31  Simon Josefsson  <simon@josefsson.org>
281
282         md4: adapt alignment constraint fix from sha1.
283         * lib/md4.c (set_uint32): New function, from sha1.c
284         (md4_read_ctx): Use it.
285         (md4_finish_ctx): Doc fix.
286         * lib/md4.h: Doc fix.
287
288 2008-01-31  Simon Josefsson  <simon@josefsson.org>
289
290         md5: adapt alignment constraint fix from sha1.
291         * lib/md5.c (set_uint32): New function, from sha1.c
292         (md5_read_ctx): Use it.
293         (md5_finish_ctx): Doc fix.
294         * lib/md5.h: Doc fix.
295
296 2008-01-30  Peter Palfrader  <weasel@debian.org>
297
298         sha1: remove the result buffer alignment constraint
299         * lib/sha1.c (set_uint32): New function.
300         (sha1_read_ctx): Rewrite to remove the result buffer alignment
301         constraint.
302         (sha1_finish_ctx): Remove comment warning about alignment constraint.
303         * lib/sha1.h: Likewise.
304
305 2008-01-30  Andreas Schwab  <schwab@suse.de>
306             Bruno Haible  <bruno@clisp.org>
307
308         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
309         correct definition of LDBL_MIN_EXP.
310
311 2008-01-30  Karl Berry  <karl@gnu.org>
312
313         * config/srclist-update: try to preserve x bit on updates.
314         * config/srclistvars.sh: update for karl.
315
316 2008-01-29  Jim Meyering  <meyering@redhat.com>
317
318         vasnprintf.c: Avoid warning about unused label
319         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
320         "overflow" label definition and associated code with the
321         same cpp condition that guards the sole use of that label.
322
323 2008-01-26  Bruno Haible  <bruno@clisp.org>
324
325         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
326         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
327         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
328         * lib/isnanl-nolibm.h (isnanl): Likewise.
329         Reported by Paul Eggert <eggert@cs.ucla.edu>.
330
331 2008-01-26  Bruno Haible  <bruno@clisp.org>
332
333         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
334         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
335
336 2008-01-26  Bruno Haible  <bruno@clisp.org>
337
338         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
339         GCC >= 4.0 built-in.
340         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
341
342 2008-01-26  Bruno Haible  <bruno@clisp.org>
343
344         Rename isnan, applicable to 'double' only, to isnand.
345         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
346         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
347         (configure.ac): Update.
348         (Include): Replace "isnan.h" with "isnand.h".
349         * m4/isnand.m4: Renamed from m4/isnan.m4.
350         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
351         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
352         instead of isnan.c.
353         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
354         instead of HAVE_ISNAN_IN_LIBC.
355         (isnand): Renamed from isnan.
356         * lib/isnand.c: New file.
357         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
358         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
359         (Makefile.am): Update.
360         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
361         Include isnand.h instead of isnan.h.
362         (main): Test isnand instead of isnan.
363         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
364         isnan-nolibm.
365         * modules/frexp (Depends-on): Likewise.
366         * modules/frexp-tests (Depends-on): Likewise.
367         * modules/frexp-nolibm (Depends-on): Likewise.
368         * modules/frexp-nolibm-tests (Depends-on): Likewise.
369         * modules/isfinite (Depends-on): Likewise.
370         * modules/round-tests (Depends-on): Likewise.
371         * modules/signbit (Depends-on): Likewise.
372         * modules/signbit-tests (Depends-on): Likewise.
373         * modules/snprintf-posix (Depends-on): Likewise.
374         * modules/sprintf-posix (Depends-on): Likewise.
375         * modules/trunc-tests (Depends-on): Likewise.
376         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
377         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
378         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
379         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
380         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
381         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
382         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
383         * modules/vasnprintf-posix (Depends-on): Likewise.
384         * modules/vasprintf-posix (Depends-on): Likewise.
385         * modules/vfprintf-posix (Depends-on): Likewise.
386         * modules/vsnprintf-posix (Depends-on): Likewise.
387         * modules/vsprintf-posix (Depends-on): Likewise.
388         * lib/frexp.c: Include isnand.h instead of isnan.h.
389         (ISNAN): Set to isnand instead of isnan.
390         * lib/isfinite.c: Include isnand.h instead of isnan.h.
391         (gl_isfinited): Use isnand instead of isnan.
392         * lib/signbitd.c: Include isnand.h instead of isnan.h.
393         (gl_signbitd): Use isnand instead of isnan.
394         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
395         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
396         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
397         (main): Use isnand instead of isnan.
398         * tests/test-round1.c: Include isnand.h.
399         (main): Use isnand instead of isnan.
400         * tests/test-round2.c: Include isnand.h instead of isnan.h.
401         (ISNAN): Set to isnand instead of isnan.
402         * tests/test-trunc1.c: Include isnand.h.
403         (main): Use isnand instead of isnan.
404         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
405         (equal): Use isnand instead of isnan.
406         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
407         isnand-nolibm.
408         * NEWS: Mention the change.
409
410 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
411             Bruno Haible  <bruno@clisp.org>
412
413         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
414         the GCC builtins for signbits are present and set
415         REPLACE_SIGNBIT_USING_GCC if so.
416         * lib/math.in.h (signbit): Define using GCC builtins if
417         REPLACE_SIGNBIT_USING_GCC is set.
418         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
419         REPLACE_SIGNBIT_USING_GCC.
420         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
421
422 2008-01-25  Jim Meyering  <meyering@redhat.com>
423
424         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
425         * lib/poll.c: Include <config.h>, not "config.h".
426         * tests/test-getaddrinfo.c: Likewise.
427
428 2008-01-25  Simon Josefsson  <simon@josefsson.org>
429
430         * modules/sockets-tests: New file.
431
432 2008-01-24  Simon Josefsson  <simon@josefsson.org>
433
434         * modules/sockets: New module, can be used to call WSA_Startup and
435         WSA_Cleanup when needed.
436
437         * lib/sockets.h, lib/sockets.c: New files.
438
439         * m4/sockets.m4: New file.
440
441         * tests/test-sockets.c: New file.
442
443 2008-01-19  Bruno Haible  <bruno@clisp.org>
444
445         * doc/posix-headers: Renamed from doc/headers.
446         * doc/posix-functions: Renamed from doc/functions.
447         * doc/gnulib.texi: Update.
448
449 2008-01-19  Bruno Haible  <bruno@clisp.org>
450
451         * doc/glibc-functions/strcasestr.texi: Include contents of
452         doc/functions/strcasestr.texi, fixing the list of platforms.
453         * doc/functions/strcasestr.texi: Remove file.
454
455 2008-01-19  Bruno Haible  <bruno@clisp.org>
456
457         * doc/glibc-functions/memmem.texi: Include contents of
458         doc/functions/memmem.texi.
459         * doc/functions/memmem.texi: Remove file.
460
461 2008-01-18  Bruno Haible  <bruno@clisp.org>
462
463         * doc/glibc-functions/*.texi: New files.
464         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
465         to use the new files.
466
467 2008-01-17  Bruno Haible  <bruno@clisp.org>
468
469         * tests/test-gethostname.c (main): Fix printf statement.
470
471 2008-01-17  Simon Josefsson  <simon@josefsson.org>
472
473         * modules/gethostname-tests: New file.
474
475         * tests/test-gethostname.c: New file.
476
477 2008-01-17  Simon Josefsson  <simon@josefsson.org>
478
479         * lib/gethostname.c: Include string.h unconditionally, strncpy is
480         used by the UNAME case.  Reported by Bruno Haible
481         <bruno@clisp.org>.
482
483 2008-01-17  Eric Blake  <ebb9@byu.net>
484
485         Convert c-strcasestr to be more efficient.
486         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
487         (Depends-on): Add c-strcase, remove malloca, strnlen.
488         * tests/test-c-strcasestr.c (main): Enhance test.
489         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
490
491 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
492
493         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
494         Use it in creating po/Makevars.
495
496 2008-01-15  Simon Josefsson  <simon@josefsson.org>
497
498         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
499         Applications that requires it should initialize libgcrypt
500         manually.
501
502 2008-01-16  Simon Josefsson  <simon@josefsson.org>
503
504         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
505
506 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
507
508         Fix problem with getdate on mingw32 reported by Simon Josefsson
509         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
510         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
511         tzname", when deciding whether to declare tzname.
512         * lib/strftime.c (tzname): Likewise.
513
514 2008-01-15  Bruno Haible  <bruno@clisp.org>
515
516         Work around a MacOS X 10.5 bug in frexpl().
517         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
518         * doc/functions/frexpl.texi: Document the bug.
519         Reported by Elias Pipping <pipping@gentoo.org>.
520
521 2008-01-14  Eric Blake  <ebb9@byu.net>
522
523         Touch up previous patch.
524         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
525         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
526
527         Convert strcasestr module to use Two-Way algorithm.
528         * modules/strcasestr-simple: New module, based on the old
529         strcasestr, but with Two-Way rather than KMP.
530         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
531         * lib/string.in.h (rpl_strcasestr): Declare.
532         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
533         performance.
534         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
535         * modules/string (Makefile.am): Support strcasestr.
536         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
537         * modules/strcasestr-tests (Depends-on): Check for alarm.
538         * tests/test-strcasestr.c: Augment test.
539         * lib/str-two-way.h: Clean up stray macro.
540         * NEWS: Document new module.
541         * MODULES.html.sh (string handling): Likewise.
542         * doc/functions/strcasestr.texi: New file.
543         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
544         here, since it is not a POSIX function.
545
546 2008-01-14  Colin Watson  <cjwatson@debian.org>
547             Bruno Haible  <bruno@clisp.org>
548
549         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
550         works fine; if not, set REPLACE_STRSIGNAL.
551         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
552         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
553         REPLACE_STRSIGNAL.
554         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
555         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
556         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
557
558 2008-01-14  Bruno Haible  <bruno@clisp.org>
559
560         * modules/strsignal (Include): Change to <string.h>.
561
562 2008-01-14  Colin Watson  <cjwatson@debian.org>
563
564         * modules/argp (Notice): Add a notice recommending to change
565         XGETTEXT_OPTIONS.
566         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
567
568 2008-01-13  Colin Watson  <cjwatson@debian.org>
569
570         * modules/strsignal-tests: New file.
571         * tests/test-strsignal.c: New file.
572
573         * lib/strsignal.c: New file, from glibc with modifications.
574         * lib/siglist.h: New file, from glibc with modifications.
575         * lib/string.in.h (strsignal): New declaration.
576         * m4/strsignal.m4: New file.
577         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
578         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
579         * modules/strsignal: New file.
580         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
581         HAVE_DECL_STRSIGNAL.
582
583 2008-01-13  Bruno Haible  <bruno@clisp.org>
584
585         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
586         locale encoding is not ASCII. Needed for OpenBSD 4.0.
587         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
588         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
589
590 2008-01-13  Bruno Haible  <bruno@clisp.org>
591
592         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
593         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
594         * lib/argp.h (__attribute__): Likewise.
595         * lib/c-stack.c (__attribute__): Likewise.
596         * lib/error.h (__attribute__): Likewise.
597         * lib/fts.c (__attribute__): Likewise.
598         * lib/openat.h (__attribute__): Likewise.
599         * lib/stdio.in.h (__attribute__): Likewise.
600         * lib/string.in.h (__attribute__): Likewise.
601         * lib/utimens.c (__attribute__): Likewise.
602         * lib/vasnprintf.h (__attribute__): Likewise.
603         * lib/xalloc.h (__attribute__): Likewise.
604         * lib/xprintf.h (__attribute__): Likewise.
605         * lib/xstrtol.h (__attribute__): Likewise.
606         * lib/xvasprintf.h (__attribute__): Likewise.
607
608 2008-01-12  Bruno Haible  <bruno@clisp.org>
609
610         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
611         * doc/glibc-headers/a.out.texi: New file.
612         * doc/glibc-headers/aliases.texi: New file.
613         * doc/glibc-headers/alloca.texi: New file.
614         * doc/glibc-headers/ar.texi: New file.
615         * doc/glibc-headers/argp.texi: New file.
616         * doc/glibc-headers/argz.texi: New file.
617         * doc/glibc-headers/byteswap.texi: New file.
618         * doc/glibc-headers/crypt.texi: New file.
619         * doc/glibc-headers/endian.texi: New file.
620         * doc/glibc-headers/envz.texi: New file.
621         * doc/glibc-headers/err.texi: New file.
622         * doc/glibc-headers/error.texi: New file.
623         * doc/glibc-headers/execinfo.texi: New file.
624         * doc/glibc-headers/fpu_control.texi: New file.
625         * doc/glibc-headers/fstab.texi: New file.
626         * doc/glibc-headers/fts.texi: New file.
627         * doc/glibc-headers/getopt.texi: New file.
628         * doc/glibc-headers/ieee754.texi: New file.
629         * doc/glibc-headers/ifaddrs.texi: New file.
630         * doc/glibc-headers/libintl.texi: New file.
631         * doc/glibc-headers/mcheck.texi: New file.
632         * doc/glibc-headers/mntent.texi: New file.
633         * doc/glibc-headers/obstack.texi: New file.
634         * doc/glibc-headers/paths.texi: New file.
635         * doc/glibc-headers/printf.texi: New file.
636         * doc/glibc-headers/pty.texi: New file.
637         * doc/glibc-headers/resolv.texi: New file.
638         * doc/glibc-headers/shadow.texi: New file.
639         * doc/glibc-headers/sysexits.texi: New file.
640         * doc/glibc-headers/ttyent.texi: New file.
641
642 2008-01-12  Jim Meyering  <meyering@redhat.com>
643
644         announce-gen: emit Gnulib's git-based version string.
645         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
646         New option --gnulib-version=V, where V is expected to be
647         the output of running git describe in the gnulib directory.
648         (get_tool_versions): Request feedback on xdelta.  I suspect it's
649         not useful, and plan to stop publishing an xdelta file with each
650         coreutils release.
651
652         * build-aux/announce-gen: Also check for lzma-compressed files.
653
654 2008-01-11  Bruno Haible  <bruno@clisp.org>
655
656         * tests/test-memmem.c (main): Increase maximum allowed time.
657         * tests/test-strstr.c (main): Likewise.
658
659 2008-01-11  Bruno Haible  <bruno@clisp.org>
660
661         * doc/functions/memmem.texi: Add more precisions about platforms.
662         * doc/functions/strstr.texi: Likewise.
663
664 2008-01-10  Eric Blake  <ebb9@byu.net>
665
666         * m4/strstr.m4: Delete cruft from copy-n-paste.
667         Reported by Bruno Haible.
668
669 2008-01-10  Bruno Haible  <bruno@clisp.org>
670
671         Make c-strstr rely on strstr.
672         * lib/c-strstr.c: Don't include str-kmp.h.
673         (c_strstr): Define in terms of strstr.
674         * modules/c-strstr (Files): Remove lib/str-kmp.h.
675         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
676
677 2008-01-10  Bruno Haible  <bruno@clisp.org>
678
679         * doc/gnulib.texi (String Functions in C Locale): New section.
680         * doc/c-ctype.texi: New file.
681         * doc/c-strcase.texi: New file.
682         * doc/c-strcaseeq.texi: New file.
683         * doc/c-strcasestr.texi: New file.
684         * doc/c-strstr.texi: New file.
685         * doc/c-strtod.texi: New file.
686         * doc/c-strtold.texi: New file.
687
688 2008-01-10  Eric Blake  <ebb9@byu.net>
689
690         * lib/relocatable.h: Fix a comment.
691
692 2008-01-10  Eric Blake  <ebb9@byu.net>
693
694         Share two-way algorithm.
695         * lib/str-two-way.h: New file, merged from...
696         * lib/memmem.c: ...here...
697         * lib/strstr.c: ...and here.
698         * modules/memmem (Files): Use it.
699         * modules/strstr (Files): Likewise.
700
701         Avoid quadratic strstr implementations.
702         * lib/strstr.c: New file.
703         * m4/strstr.m4: Likewise.
704         * modules/strstr: Likewise.
705         * modules/strstr-tests: Likewise.
706         * tests/test-strstr.c: Likewise.
707         * lib/string.in.h (rpl_strstr): Declare.
708         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
709         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
710         * modules/string (Makefile.am): Likewise.
711         * MODULES.html.sh (string handling): Mention new module.
712         * doc/functions/strstr.texi (strstr): Document the bug.
713
714 2008-01-10  Bruno Haible  <bruno@clisp.org>
715
716         * lib/relocatable.h (relocate): State whether result is freshly
717         allocated or not.
718         * lib/relocatable.c (relocate): Return a freshly allocated string
719         instead of a pointer to a privately held string.
720         Reported by Sylvain Beucler <beuc@gnu.org>.
721
722 2008-01-10  Colin Watson  <cjwatson@debian.org>
723
724         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
725         s/S_ISNLK/S_ISLNK/.
726
727 2008-01-09  Bruno Haible  <bruno@clisp.org>
728
729         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
730         and other files.
731         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
732         if it's only a guess.
733         * modules/memmem: Simplify by depending on memmem-simple.
734
735 2008-01-09  Bruno Haible  <bruno@clisp.org>
736
737         Work around OpenBSD 4.0 tdelete() bug.
738         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
739         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
740         macros and don't redefine the enum values.
741         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
742         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
743         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
744
745 2008-01-09  Bruno Haible  <bruno@clisp.org>
746
747         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
748         (main): Don't perform the tests if setlocale did not install a UTF-8
749         locale. Needed on OpenBSD 4.0.
750         * modules/wcwidth-tests (Depends-on): Add localcharset.
751
752 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
753
754         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
755         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
756         * NEWS: announce this.
757         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
758
759 2008-01-09  Simon Josefsson  <simon@josefsson.org>
760         and Eric Blake  <ebb9@byu.net>
761
762         Add memmem-simple module.
763         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
764         (gl_FUNC_MEMMEM): Separate performance from presence checks.
765         * modules/memmem-simple: New file.
766         * modules/memmem (Description): Tweak.
767         * MODULES.html.sh (string handling): Mention new module.
768         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
769         addressed by memmem-simple.
770         * NEWS: Document the difference.
771
772 2008-01-09  Eric Blake  <ebb9@byu.net>
773
774         Give gcc some memmem optimization hints.
775         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
776         (strcasestr): Declare as pure.
777         * modules/memmem (Maintainer): Claim my implementation.
778
779 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
780
781         Support AIX 6.1 and higher.
782         * build-aux/config.libpath: Likewise.
783         * build-aux/config.rpath: Likewise.
784
785 2008-01-08  Jim Meyering  <meyering@redhat.com>
786             Bruno Haible  <bruno@clisp.org>
787
788         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
789         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
790         Reported by Peter Fales in
791         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
792
793 2008-01-08  Bruno Haible  <bruno@clisp.org>
794
795         * modules/unictype/category-of (Depends-on): Add
796         unictype/category-none.
797         * modules/unictype/category-and-tests (Depends-on): Add
798         unictype/category-{L,N,Lu,Nd}.
799         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
800         * modules/unictype/category-or-tests (Depends-on): Add
801         unictype/category-{L,N}.
802         * modules/unictype/category-name-tests (Depends-on): Add
803         unictype/category-{Z,Nl}.
804         Reported by Simon Josefsson.
805
806 2008-01-08  Bruno Haible  <bruno@clisp.org>
807
808         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
809         convention better.
810         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
811         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
812         Reported by Peter Miller <millerp@canb.auug.org.au>.
813
814 2008-01-08  Eric Blake  <ebb9@byu.net>
815
816         Rewrite memmem to guarantee linear complexity without malloc.
817         * lib/memmem.c (memmem): Use Two-Way rather than
818         Knuth-Morris-Pratt, to allow O(1) space usage.
819         (critical_factorization, two_way_short_needle)
820         (two_way_long_needle): New functions.
821         (knuth_morris_pratt): Delete.
822         * modules/memmem (Depends-on): No longer need malloca or stdbool.
823         Add stdint.
824         * tests/test-memmem.c (main): Add tests for periodic needle and
825         sublinear performance.
826         * doc/functions/memmem.texi (memmem): Document other deficiencies
827         in cygwin and older glibc.
828
829 2008-01-08  Bruno Haible  <bruno@clisp.org>
830
831         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
832         augmentation.
833
834 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
835
836         Add a configure time option: --disable-acl.
837         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
838         AC_ARG_ENABLE(acl).
839
840 2008-01-06  Simon Josefsson  <simon@josefsson.org>
841
842         * tests/test-localename.c: Don't include obsolete "setenv.h".
843
844         * modules/localename-tests (Depends-on): Need unsetenv.
845
846 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
847
848         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
849
850 2008-01-06  Colin Watson  <cjwatson@debian.org>
851
852         * users.txt: Add man-db.
853
854 2008-01-07  Bruno Haible  <bruno@clisp.org>
855
856         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
857         previous section name.
858
859 2008-01-07  Bruno Haible  <bruno@clisp.org>
860
861         * lib/progname.c (set_program_name): Don't strip off a leading
862         "lt-" prefix outside a .libs directory.
863         Suggested by Paul Eggert.
864
865 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
866             Bruno Haible  <bruno@clisp.org>
867
868         Improve memory cleanup in 'relocatable' module.
869         * lib/relocatable.h (compute_curr_prefix): Change return type to
870         'char *'.
871         * lib/relocatable.c (compute_curr_prefix): Change return type to
872         'char *'. Free curr_installdir after use.
873         (relocate): Free curr_prefix_better after use.
874         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
875
876 2008-01-01  Bruno Haible  <bruno@clisp.org>
877
878         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
879         failure on older glibc systems.
880         Reported by Peter Fales <psfales@alcatel-lucent.com>.
881
882 2008-01-05  Eric Blake  <ebb9@byu.net>
883
884         Avoid quadratic system memmem.
885         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
886         Reported by Ralf Wildenhues.
887
888         Fix memmem test for mingw.
889         * modules/memmem-tests (configure.ac): Check for alarm.
890         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
891         it.
892         * doc/functions/memmem.texi: New file.
893         * doc/gnulib.texi (Function Substitutes): Add memmem.
894         Reported by Bruno Haible.
895
896 2008-01-04  Bruno Haible  <bruno@clisp.org>
897
898         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
899         Require gl_HEADER_STRINGS_H_DEFAULTS, not
900         gl_HEADER_STRING_H_DEFAULTS.
901
902 2008-01-04  Eric Blake  <ebb9@byu.net>
903
904         Shorten duration of memmem test.
905         * tests/test-memmem.c (main): Use alarm to declare failure if test
906         is taking too long.
907         Reported by Ralf Wildenhues.
908
909 2007-12-21  Simon Josefsson  <simon@josefsson.org>
910
911         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
912         string, needed by strerror.
913
914 2008-01-03  Colin Watson  <cjwatson@debian.org>
915             Bruno Haible  <bruno@clisp.org>
916
917         * doc/gnulib-tool.texi (Localization): New section.
918
919 2008-01-02  Bruno Haible  <bruno@clisp.org>
920
921         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
922         variables to 'unsigned char *' type.
923         Reported by Paul Eggert.
924
925 2008-01-02  Jim Meyering  <jim@meyering.net>
926
927         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
928
929 2007-12-31  Jim Meyering  <jim@meyering.net>
930
931         Avoid use of private FTS type name.
932         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
933
934 2007-12-30  Karl Berry  <karl@gnu.org>
935
936         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
937         work around defect in Texinfo and/or the standalone Info browser.
938
939 2007-12-30  Bruno Haible  <bruno@clisp.org>
940
941         Unify 5 copies of the KMP code.
942         * lib/str-kmp.h: New file.
943         * lib/c-strcasestr.c: Include str-kmp.h.
944         (knuth_morris_pratt): Remove function.
945         (c_strcasestr): Update.
946         * lib/c-strstr.c: Include str-kmp.h.
947         (knuth_morris_pratt): Remove function.
948         (c_strcasestr): Update.
949         * lib/mbscasestr.c: Include str-kmp.h.
950         (knuth_morris_pratt_unibyte): Remove function.
951         * lib/mbsstr.c: Include str-kmp.h.
952         (knuth_morris_pratt_unibyte): Remove function.
953         * lib/strcasestr.c: Include str-kmp.h.
954         (knuth_morris_pratt): Remove function.
955         (strcasestr): Update.
956         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
957         * modules/c-strstr (Files): Likewise.
958         * modules/mbscasestr (Files): Likewise.
959         * modules/mbsstr (Files): Likewise.
960         * modules/strcasestr (Files): Likewise.
961         Suggested by Paul Eggert.
962
963 2007-12-30  Bruno Haible  <bruno@clisp.org>
964
965         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
966         defined.
967
968 2007-12-30  Bruno Haible  <bruno@clisp.org>
969
970         * lib/xmalloca.h: Include xalloc.h.
971         (xnmalloca): New macro.
972
973 2007-12-30  Bruno Haible  <bruno@clisp.org>
974
975         * lib/malloca.h (nmalloca): New macro.
976         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
977         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
978         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
979         knuth_morris_pratt_multibyte): Likewise.
980         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
981         knuth_morris_pratt_multibyte): Likewise.
982         * lib/memmem.c (knuth_morris_pratt): Likewise.
983         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
984
985 2007-12-25  Bruno Haible  <bruno@clisp.org>
986
987         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
988         * lib/glob.c: Don't include openat.h.
989         (link_exists2_p): Add back the code that deals with the
990         !GLOB_ALTDIRFUNC case.
991         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
992         let it do the filename concatenation.
993         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
994         * modules/glob (Depends-on): Remove openat.
995
996 2007-12-31  Bruno Haible  <bruno@clisp.org>
997
998         * modules/dirfd (License): Change to LGPLv2+.
999         Approved by Jim Meyering.
1000
1001 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
1002
1003         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
1004         when multiplying M by sizeof (size_t).
1005
1006 2007-12-10  Martin Lambers  <marlam@marlam.de>
1007
1008         Override getpagesize on mingw.
1009         * lib/getpagesize.c: New file.
1010         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
1011         * modules/getpagesize (Files): Add lib/getpagesize.c.
1012         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
1013         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
1014         REPLACE_GETPAGESIZE.
1015         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
1016
1017 2007-12-25  Bruno Haible  <bruno@clisp.org>
1018
1019         * modules/localcharset (Notice): New field.
1020         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
1021         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
1022
1023 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
1024             Bruno Haible  <bruno@clisp.org>
1025
1026         Avoid using the syntax symbol() in formatted documentation.
1027         * MODULES.html.sh (func_module): When replacing symbol() with a
1028         hyperlink, remove the parentheses. Show an error if some remain.
1029         Recognize and render the '...' syntax.
1030         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
1031         Rework. Add paragraph about GCC's inlining.
1032         * doc/alloca.texi: Likewise.
1033         * doc/error.texi: Remove parentheses from symbol reference.
1034         * doc/gnulib-intro.texi: Likewise.
1035         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
1036         * modules/fnmatch (Description): Reword to say "the ... function".
1037         * modules/full-read (Description): Likewise.
1038         * modules/full-write (Description): Likewise.
1039         * modules/safe-read (Description): Likewise.
1040         * modules/safe-write (Description): Likewise.
1041         * modules/strchrnul (Description): Likewise.
1042         * modules/trim (Description): Likewise.
1043         * modules/error (Description): Remove parentheses from symbol
1044         references.
1045         * modules/verror (Description): Likewise.
1046         Reported by Karl Berry.
1047
1048 2007-12-25  Bruno Haible  <bruno@clisp.org>
1049
1050         Fixup after 2007-10-16 commit.
1051         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
1052
1053 2007-12-24  Bruno Haible  <bruno@clisp.org>
1054
1055         Make --enable-relocatable work with DESTDIR.
1056         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
1057         to compute installdir from destprog.
1058         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
1059         also set the RELOC_DESTDIR variable.
1060         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
1061
1062 2007-12-24  Bruno Haible  <bruno@clisp.org>
1063
1064         Fix link error due to xalloc_die().
1065         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
1066         of xreadlink.
1067         * lib/relocwrapper.c: Update comments.
1068         * build-aux/install-reloc: Remove xreadlink.c from file list.
1069         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
1070         xreadlink.c.
1071         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
1072
1073 2007-12-24  Bruno Haible  <bruno@clisp.org>
1074
1075         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
1076         * lib/setenv.h: Remove file.
1077         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
1078         lib/setenv.h.
1079         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
1080         (Depends-on): Add stdlib.
1081         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
1082         gl_FUNC_UNSETENV.
1083         (Include): Replace setenv.h with <stdlib.h>.
1084         * modules/unsetenv: New file.
1085         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
1086         * lib/unsetenv.c: Include <stdlib.h> first.
1087         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
1088         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
1089         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
1090         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
1091         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
1092         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
1093         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
1094         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
1095         * doc/functions/unsetenv.texi: Update.
1096         * modules/xsetenv (Depends-on): Add unsetenv.
1097         * modules/getdate (Depends-on): Likewise.
1098         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
1099         * lib/xsetenv.c: Don't include setenv.h.
1100         * lib/getdate.y: Likewise.
1101         * lib/relocwrapper.c: Likewise.
1102         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
1103         (Depends-on): Add stdlib.
1104         * NEWS: Mention the changes.
1105         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
1106
1107 2007-12-23  Bruno Haible  <bruno@clisp.org>
1108
1109         * lib/memmem.c (memmem): Use lowercase variable names. Tab
1110         indentation.
1111
1112 2007-12-23  Bruno Haible  <bruno@clisp.org>
1113
1114         * lib/c-strcasestr.c: Add more comments.
1115         * lib/c-strstr.c: Likewise.
1116         * lib/mbscasestr.c: Likewise.
1117         * lib/mbsstr.c: Likewise.
1118         * lib/strcasestr.c: Likewise.
1119         * lib/memmem.c: Likewise.
1120
1121 2007-12-23  Bruno Haible  <bruno@clisp.org>
1122
1123         * tests/test-memmem.c: Include <string.h> first.
1124
1125 2007-12-22  Bruno Haible  <bruno@clisp.org>
1126
1127         * gnulib-tool (func_create_testdir): Change $auxdir while generating
1128         the contents of $testsbase.
1129         Reported by Ralf Wildenhues.
1130
1131 2007-12-22  Bruno Haible  <bruno@clisp.org>
1132
1133         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
1134         two variables local_ldadd_before, local_ldadd_last.
1135
1136 2007-12-20  Eric Blake  <ebb9@byu.net>
1137
1138         Work around circular library issue when cross-compiling.
1139         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
1140         that progname.o does not need to pull in rpl_memcmp.
1141
1142 2007-12-19  Eric Blake  <ebb9@byu.net>
1143
1144         Fix memmem to avoid O(n^2) worst-case complexity.
1145         * lib/memmem.c (knuth_morris_pratt): New function.
1146         (memmem): Use it if first few naive iterations fail.
1147         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
1148         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
1149         * modules/memchr (License): Likewise.
1150         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
1151         malloca.
1152         * tests/test-memmem.c: Rewrite, borrowing ideas from
1153         test-mbsstr1.c; the old version wouldn't even compile!
1154         * modules/memmem-tests: New file.
1155         * lib/string.in.h (rpl_memmem): Add declaration.
1156         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
1157         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
1158         REPLACE_MEMMEM.
1159
1160 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1161
1162         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
1163         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
1164         before any system include files, and undef after them all.  This
1165         should fix a problem on VMS reported by John E. Malmberg in
1166         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
1167
1168 2007-12-17  Eric Blake  <ebb9@byu.net>
1169
1170         Revert addition of verify, for BSD/OS.
1171         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
1172         can't handle large files, for the sake of obsolete platforms.
1173         * modules/fseeko (Depends-on): Remove verify.
1174         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
1175         * doc/functions/ftello.texi (ftello): Likewise.
1176         * doc/functions/fgetpos.texi (fgetpos): Likewise.
1177         Reported by Larry Jones.
1178
1179 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
1180
1181         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
1182         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
1183
1184 2007-12-17  Jim Meyering  <meyering@redhat.com>
1185
1186         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
1187         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
1188         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
1189         * modules/getcwd (Depends-on): Add openat.
1190         Reported by Petr Salinger.
1191
1192 2007-12-17  Bruno Haible  <bruno@clisp.org>
1193
1194         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
1195         avoid a segmentation fault of the configure test on x86_64 systems.
1196
1197 2007-12-15  Jim Meyering  <meyering@redhat.com>
1198
1199         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
1200
1201 2007-12-13  Eric Blake  <ebb9@byu.net>
1202
1203         Another fseek test.
1204         * tests/test-fseek.c (main): Also test ungetc handling.
1205         * tests/test-fseeko.c (main): Likewise.
1206         * modules/fseeko (Depends-on): Add verify.
1207         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
1208         large.
1209         Reported by Larry Jones.
1210
1211         Fix fseeko on mingw.
1212         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
1213         seek.
1214
1215         Beef up fseek tests.
1216         * tests/test-fseek.c (main): Also test eof handling.
1217         * tests/test-fseeko.c (main): Likewise.
1218         Reported by Larry Jones.
1219
1220 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
1221
1222         Fix fseeko on BSD-based platforms.
1223         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
1224         successful seek.
1225
1226 2007-12-12  Eric Blake  <ebb9@byu.net>
1227
1228         Allow circular dependency of separate libtests.a
1229         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
1230         when use_libtests.
1231
1232 2007-12-11  Eric Blake  <ebb9@byu.net>
1233
1234         Fix bug with -0.0L in previous patch.
1235         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
1236         * tests/test-isnan.c (main): Also test on zeroes.
1237         * tests/test-isnanf.c (main): Likewise.
1238         * tests/test-isnanl.h (main): Likewise.
1239
1240         Detect pseudo-denormals on x86 even when cross-compiling.
1241         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
1242         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
1243         invalid bit patterns that happen to satisfy ==.
1244
1245         Avoid link failures with separate libtests.a.
1246         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
1247         last, to satisfy circular dependencies.
1248
1249 2007-12-11  Eric Blake  <ebb9@byu.net>
1250         and Bruno Haible  <bruno@clisp.org>
1251
1252         Fix OpenBSD 4.0 <float.h> handling of long double.
1253         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
1254         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
1255         * doc/headers/float.texi (float.h): Document OpenBSD bug.
1256
1257 2007-12-11  Jim Meyering  <meyering@redhat.com>
1258
1259         * users.txt: Add libvirt.
1260
1261         Support versions of autoconf prior to 2.59c.
1262         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
1263         if it is not already defined.
1264
1265 2007-12-09  Bruno Haible  <bruno@clisp.org>
1266
1267         Let 'gnulib-tool --import' collect sources needed for the tests in
1268         tests/ rather than in lib/.
1269         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
1270         argument. If true, add rules to generate libtests.a, and put libtests.a
1271         into $(LDADD). Consider source files in subdirectories and set
1272         uses_subdirs.
1273         (func_emit_initmacro_start, func_emit_initmacro_end,
1274         func_emit_initmacro_done): Pass all arguments explicitly.
1275         (func_import): Determine two module lists main_modules,
1276         testsrelated_modules. Determine use_libtests. Determine two variables
1277         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
1278         instead of just sed_transform_lib_file. Determine two variables
1279         main_files and testsrelated_files. Compute 'files' as the union of
1280         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
1281         func_add_or_update. In the generated gnulib-comp.m4, collect the
1282         object files for tests/ in different variables than those for lib/.
1283         Substitute LIBTESTS_LIBDEPS.
1284         (func_create_testdir): Combine the uses_subdirs results from
1285         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
1286
1287 2007-12-09  Bruno Haible  <bruno@clisp.org>
1288
1289         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
1290         the build-aux directory.
1291
1292 2007-12-09  Bruno Haible  <bruno@clisp.org>
1293
1294         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
1295         introduced on 2006-09-09.
1296
1297 2007-12-07  Jim Meyering  <meyering@redhat.com>
1298
1299         Let these macros work also with autoconf-2.59.
1300         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
1301         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
1302         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
1303
1304 2007-12-06  Jim Meyering  <meyering@redhat.com>
1305
1306         Avoid a configure-time syntax error in gl_FUNC_ACL.
1307         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
1308         function in each branch, before testing the cache variable.
1309
1310 2007-12-04  Eric Blake  <ebb9@byu.net>
1311
1312         Make scripts executable.
1313         * build-aux/config.guess: Add execute permissions.
1314         * build-aux/config.sub: Likewise.
1315         * build-aux/gendocs.sh: Likewise.
1316
1317         Fix frexp on mingw.
1318         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
1319         cross-compiling.
1320         * doc/functions/frexp.texi (frexp): Document the bug.
1321
1322         Make cygwin fseeko check more reliable.
1323         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
1324         version numbers, rather than unrelated feature check.
1325         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
1326         * doc/functions/ftello.texi (ftello): Likewise.
1327         Reported by Bruno Haible.
1328
1329         * m4/strerror.m4: Bump version number.
1330
1331 2007-12-03  Bruno Haible  <bruno@clisp.org>
1332
1333         * doc/functions/mprotect.texi: Mention the mingw problem.
1334
1335 2007-12-03  Eric Blake  <ebb9@byu.net>
1336
1337         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
1338         REPLACE_STRERROR is initialized before this macro.
1339
1340 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
1341
1342         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
1343         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
1344         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
1345         put -lsec in even for programs other than 'ls'.  This fixes a problem
1346         for gettext reported by Bruno Haible in
1347         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
1348         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
1349         Add support for Solaris 10.  This isn't efficient, but should get the
1350         job done for now.
1351
1352 2007-12-03  James Youngman  <jay@gnu.org>
1353
1354         * doc/regexprops-generic.texi: change "an close-group" to "a
1355         close-group" and "illegal" to "not allowed".
1356
1357 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1358
1359         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
1360         pr_byname.h. Needed for the rare case when the maintainer has done
1361         "make maintainer-clean" in the source directory and then attempts a
1362         build outside the source directory.
1363         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
1364         scripts_byname.h.
1365
1366 2007-12-02  Martin Lambers <marlam@marlam.de>
1367             Bruno Haible  <bruno@clisp.org>
1368
1369         * lib/getpagesize.h: Remove file.
1370         * lib/unistd.in.h: Include declaration of getpagesize here.
1371         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
1372         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
1373         HAVE_SYS_PARAM_H.
1374         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
1375         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
1376         * modules/getpagesize (Files): Remove lib/getpagesize.h.
1377         (Depends-on): Add unistd.
1378         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
1379         (Include): Use <unistd.h> instead of getpagesize.h.
1380         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
1381         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
1382         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
1383         gl_GETPAGESIZE invocation, already handled by module dependency.
1384         * lib/pagealign_alloc.c: Don't include getpagesize.h.
1385
1386 2007-12-02  Bruno Haible  <bruno@clisp.org>
1387
1388         * modules/strings-tests: New file.
1389         * tests/test-strings.c: New file.
1390
1391         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
1392         * lib/strings.in.h: New file.
1393         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
1394         * m4/strings_h.m4: New file.
1395         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
1396         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
1397         * modules/strings: New file.
1398         * modules/string (Makefile.am): Update.
1399         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
1400         Reported by Karl Berry.
1401
1402 2007-12-01  Eric Blake  <ebb9@byu.net>
1403
1404         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
1405         accomodate fix in cygwin 1.5.25.
1406
1407 2007-12-01  Jim Meyering  <meyering@redhat.com>
1408
1409         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
1410         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
1411         that would inhibit utf8-optimization of a regexp containing line-
1412         or buffer-anchors, e.g., `^', `$'.
1413
1414 2007-11-30  Bruno Haible  <bruno@clisp.org>
1415
1416         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
1417         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
1418         glthread_recursive_lock_init.
1419         * lib/lock.c (glthread_recursive_lock_init)
1420         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
1421         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
1422
1423 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
1424
1425         New function qset_acl, like set_acl but with syscall semantics.
1426         * lib/acl.h (qset_acl): New decl.
1427         * lib/acl.c (qset_acl): New function.
1428         (set_acl): Use new function.  Use more-consistent diagnostics.
1429
1430 2007-11-28  Jim Meyering  <meyering@redhat.com>
1431
1432         * modules/physmem (License): Change from GPL to LGPLv2+.
1433
1434 2007-11-26  Bruno Haible  <bruno@clisp.org>
1435
1436         * lib/vasnprintf.c (decode_long_double): Don't abort if the
1437         'long double' type has excess precision.
1438         Reported by Jim Meyering in
1439         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
1440
1441 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1442
1443         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
1444         Sync from <http://gnu.org/licenses>.
1445         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
1446         with license text from same location.
1447         * doc/maintain.texi, doc/standards.texi:  Sync from
1448         <http://savannah.gnu.org/projects/gnustandards>.
1449
1450 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
1451         and Jim Meyering  <meyering@redhat.com>
1452
1453         Adjust getdate' grammar to accept a slightly more regular language.
1454         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
1455         Before, the former was rejected.
1456         * lib/getdate.y (digits_to_date_time): New function, factored
1457         out of ...
1458         (number): ...here.  Just call digits_to_date_time.
1459         (hybrid): New non-terminal to handle an <unsigned number,
1460         signed relative offset> sequence consistently.
1461
1462 2007-11-18  Jim Meyering  <meyering@redhat.com>
1463
1464         Pull my changes from coreutils:
1465         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
1466         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
1467         use of $gnulib_tool_option_extras, so that it's separated from the
1468         preceding argument.
1469
1470         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
1471         * build-aux/bootstrap (cp_mark_as_generated): Create any required
1472         parent destination directories before copying a file into place.
1473
1474 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
1475
1476         bootstrap: work also with 4-argument variant of AC_INIT
1477         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
1478
1479 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
1480
1481         Port test-getaddrinfo to Solaris.
1482         Problem reported by Bruno Haible in
1483         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
1484         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
1485         explanation of setting 'hints'.
1486         Don't reject an implementation merely because it returns EAI_SERVICE.
1487         (EAI_SERVICE): Define to 0 if not defined.
1488
1489 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
1490
1491         The license of gnu-make and posix-shell is now "GPLed build tool".
1492         * modules/gnu-make (License): Likewise.
1493         * modules/posix-shell (License): Likewise.
1494
1495         New module posix-shell, for determining a POSIX shell
1496         or perhaps something that is close enough to a POSIX shell.
1497         * m4/posix-shell.m4: New file.
1498         * modules/posix-shell: New file.
1499
1500         * MODULES.html.sh: Mention new module.
1501
1502         New module gnu-make, for determining whether we're using GNU Make.
1503         * m4/gnu-make.m4: New file.
1504         * modules/gnu-make: New file.
1505         * MODULES.html.sh: Mention new module.
1506
1507 2007-11-14  Jim Meyering  <meyering@redhat.com>
1508
1509         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
1510         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
1511         use this macro to create a function _definition_.
1512         Remove useless "#undef ARGMATCH_DIE".
1513
1514 2007-11-14  Bruno Haible  <bruno@clisp.org>
1515
1516         * lib/config.charset: Update for OpenBSD 4.1.
1517         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
1518
1519 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
1520
1521         Document 64-bit #if problems in stdint.texi.
1522         * doc/headers/stdint.texi (stdint.h): Mention problems with
1523         64-bit-#if, and how to work around them.
1524
1525         Don't insist on 'long long int' support in the preprocessor.  It
1526         breaks too many things.  For example, PRIdMAX still uses a 'long
1527         long int' format with the latest Sun compiler, even though
1528         HAVE_LONG_LONG_INT isn't defined due to that compiler's
1529         preprocessor problem.  This causes the latest coreutils to dump
1530         core on Solaris 10 sparc with the Sun C compiler.
1531         Instead, fix the 2007-10-16 problem in a different way, by evaluating
1532         the troublesome expressions at configure-time, not at #if-time.
1533         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
1534         preprocessor.
1535         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
1536         compile-time C checks, done at 'configure'-time.
1537         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
1538         * modules/inttypes (Makefile): Substitute the new symbols that
1539         gl_INTTYPES_H now generates.
1540         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
1541
1542 2007-11-12  Bruno Haible  <bruno@clisp.org>
1543
1544         Tests for Unicode character classification functions.
1545
1546         * modules/unictype/bidicategory-byname-tests: New file.
1547         * modules/unictype/bidicategory-name-tests: New file.
1548         * modules/unictype/bidicategory-of-tests: New file.
1549         * modules/unictype/bidicategory-test-tests: New file.
1550         * modules/unictype/block-list-tests: New file.
1551         * modules/unictype/block-of-tests: New file.
1552         * modules/unictype/block-test-tests: New file.
1553         * modules/unictype/category-C-tests: New file.
1554         * modules/unictype/category-Cc-tests: New file.
1555         * modules/unictype/category-Cf-tests: New file.
1556         * modules/unictype/category-Cn-tests: New file.
1557         * modules/unictype/category-Co-tests: New file.
1558         * modules/unictype/category-Cs-tests: New file.
1559         * modules/unictype/category-L-tests: New file.
1560         * modules/unictype/category-Ll-tests: New file.
1561         * modules/unictype/category-Lm-tests: New file.
1562         * modules/unictype/category-Lo-tests: New file.
1563         * modules/unictype/category-Lt-tests: New file.
1564         * modules/unictype/category-Lu-tests: New file.
1565         * modules/unictype/category-M-tests: New file.
1566         * modules/unictype/category-Mc-tests: New file.
1567         * modules/unictype/category-Me-tests: New file.
1568         * modules/unictype/category-Mn-tests: New file.
1569         * modules/unictype/category-N-tests: New file.
1570         * modules/unictype/category-Nd-tests: New file.
1571         * modules/unictype/category-Nl-tests: New file.
1572         * modules/unictype/category-No-tests: New file.
1573         * modules/unictype/category-P-tests: New file.
1574         * modules/unictype/category-Pc-tests: New file.
1575         * modules/unictype/category-Pd-tests: New file.
1576         * modules/unictype/category-Pe-tests: New file.
1577         * modules/unictype/category-Pf-tests: New file.
1578         * modules/unictype/category-Pi-tests: New file.
1579         * modules/unictype/category-Po-tests: New file.
1580         * modules/unictype/category-Ps-tests: New file.
1581         * modules/unictype/category-S-tests: New file.
1582         * modules/unictype/category-Sc-tests: New file.
1583         * modules/unictype/category-Sk-tests: New file.
1584         * modules/unictype/category-Sm-tests: New file.
1585         * modules/unictype/category-So-tests: New file.
1586         * modules/unictype/category-Z-tests: New file.
1587         * modules/unictype/category-Zl-tests: New file.
1588         * modules/unictype/category-Zp-tests: New file.
1589         * modules/unictype/category-Zs-tests: New file.
1590         * modules/unictype/category-and-not-tests: New file.
1591         * modules/unictype/category-and-tests: New file.
1592         * modules/unictype/category-byname-tests: New file.
1593         * modules/unictype/category-name-tests: New file.
1594         * modules/unictype/category-none-tests: New file.
1595         * modules/unictype/category-of-tests: New file.
1596         * modules/unictype/category-or-tests: New file.
1597         * modules/unictype/category-test-withtable-tests: New file.
1598         * modules/unictype/combining-class-tests: New file.
1599         * modules/unictype/ctype-alnum-tests: New file.
1600         * modules/unictype/ctype-alpha-tests: New file.
1601         * modules/unictype/ctype-blank-tests: New file.
1602         * modules/unictype/ctype-cntrl-tests: New file.
1603         * modules/unictype/ctype-digit-tests: New file.
1604         * modules/unictype/ctype-graph-tests: New file.
1605         * modules/unictype/ctype-lower-tests: New file.
1606         * modules/unictype/ctype-print-tests: New file.
1607         * modules/unictype/ctype-punct-tests: New file.
1608         * modules/unictype/ctype-space-tests: New file.
1609         * modules/unictype/ctype-upper-tests: New file.
1610         * modules/unictype/ctype-xdigit-tests: New file.
1611         * modules/unictype/decimal-digit-tests: New file.
1612         * modules/unictype/digit-tests: New file.
1613         * modules/unictype/mirror-tests: New file.
1614         * modules/unictype/numeric-tests: New file.
1615         * modules/unictype/property-alphabetic-tests: New file.
1616         * modules/unictype/property-ascii-hex-digit-tests: New file.
1617         * modules/unictype/property-bidi-arabic-digit-tests: New file.
1618         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
1619         * modules/unictype/property-bidi-block-separator-tests: New file.
1620         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
1621         * modules/unictype/property-bidi-common-separator-tests: New file.
1622         * modules/unictype/property-bidi-control-tests: New file.
1623         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
1624         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
1625         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
1626         * modules/unictype/property-bidi-european-digit-tests: New file.
1627         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
1628         * modules/unictype/property-bidi-left-to-right-tests: New file.
1629         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
1630         * modules/unictype/property-bidi-other-neutral-tests: New file.
1631         * modules/unictype/property-bidi-pdf-tests: New file.
1632         * modules/unictype/property-bidi-segment-separator-tests: New file.
1633         * modules/unictype/property-bidi-whitespace-tests: New file.
1634         * modules/unictype/property-byname-tests: New file.
1635         * modules/unictype/property-combining-tests: New file.
1636         * modules/unictype/property-composite-tests: New file.
1637         * modules/unictype/property-currency-symbol-tests: New file.
1638         * modules/unictype/property-dash-tests: New file.
1639         * modules/unictype/property-decimal-digit-tests: New file.
1640         * modules/unictype/property-default-ignorable-code-point-tests: New file.
1641         * modules/unictype/property-deprecated-tests: New file.
1642         * modules/unictype/property-diacritic-tests: New file.
1643         * modules/unictype/property-extender-tests: New file.
1644         * modules/unictype/property-format-control-tests: New file.
1645         * modules/unictype/property-grapheme-base-tests: New file.
1646         * modules/unictype/property-grapheme-extend-tests: New file.
1647         * modules/unictype/property-grapheme-link-tests: New file.
1648         * modules/unictype/property-hex-digit-tests: New file.
1649         * modules/unictype/property-hyphen-tests: New file.
1650         * modules/unictype/property-id-continue-tests: New file.
1651         * modules/unictype/property-id-start-tests: New file.
1652         * modules/unictype/property-ideographic-tests: New file.
1653         * modules/unictype/property-ids-binary-operator-tests: New file.
1654         * modules/unictype/property-ids-trinary-operator-tests: New file.
1655         * modules/unictype/property-ignorable-control-tests: New file.
1656         * modules/unictype/property-iso-control-tests: New file.
1657         * modules/unictype/property-join-control-tests: New file.
1658         * modules/unictype/property-left-of-pair-tests: New file.
1659         * modules/unictype/property-line-separator-tests: New file.
1660         * modules/unictype/property-logical-order-exception-tests: New file.
1661         * modules/unictype/property-lowercase-tests: New file.
1662         * modules/unictype/property-math-tests: New file.
1663         * modules/unictype/property-non-break-tests: New file.
1664         * modules/unictype/property-not-a-character-tests: New file.
1665         * modules/unictype/property-numeric-tests: New file.
1666         * modules/unictype/property-other-alphabetic-tests: New file.
1667         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
1668         * modules/unictype/property-other-grapheme-extend-tests: New file.
1669         * modules/unictype/property-other-id-continue-tests: New file.
1670         * modules/unictype/property-other-id-start-tests: New file.
1671         * modules/unictype/property-other-lowercase-tests: New file.
1672         * modules/unictype/property-other-math-tests: New file.
1673         * modules/unictype/property-other-uppercase-tests: New file.
1674         * modules/unictype/property-paired-punctuation-tests: New file.
1675         * modules/unictype/property-paragraph-separator-tests: New file.
1676         * modules/unictype/property-pattern-syntax-tests: New file.
1677         * modules/unictype/property-pattern-white-space-tests: New file.
1678         * modules/unictype/property-private-use-tests: New file.
1679         * modules/unictype/property-punctuation-tests: New file.
1680         * modules/unictype/property-quotation-mark-tests: New file.
1681         * modules/unictype/property-radical-tests: New file.
1682         * modules/unictype/property-sentence-terminal-tests: New file.
1683         * modules/unictype/property-soft-dotted-tests: New file.
1684         * modules/unictype/property-space-tests: New file.
1685         * modules/unictype/property-terminal-punctuation-tests: New file.
1686         * modules/unictype/property-test-tests: New file.
1687         * modules/unictype/property-titlecase-tests: New file.
1688         * modules/unictype/property-unassigned-code-value-tests: New file.
1689         * modules/unictype/property-unified-ideograph-tests: New file.
1690         * modules/unictype/property-uppercase-tests: New file.
1691         * modules/unictype/property-variation-selector-tests: New file.
1692         * modules/unictype/property-white-space-tests: New file.
1693         * modules/unictype/property-xid-continue-tests: New file.
1694         * modules/unictype/property-xid-start-tests: New file.
1695         * modules/unictype/property-zero-width-tests: New file.
1696         * modules/unictype/scripts-tests: New file.
1697         * modules/unictype/syntax-c-ident-tests: New file.
1698         * modules/unictype/syntax-c-whitespace-tests: New file.
1699         * modules/unictype/syntax-java-ident-tests: New file.
1700         * modules/unictype/syntax-java-whitespace-tests: New file.
1701         * tests/unictype/test-bidi_byname.c: New file.
1702         * tests/unictype/test-bidi_name.c: New file.
1703         * tests/unictype/test-bidi_of.c: New file.
1704         * tests/unictype/test-bidi_test.c: New file.
1705         * tests/unictype/test-block_list.c: New file.
1706         * tests/unictype/test-block_of.c: New file.
1707         * tests/unictype/test-block_test.c: New file.
1708         * tests/unictype/test-categ_and.c: New file.
1709         * tests/unictype/test-categ_and_not.c: New file.
1710         * tests/unictype/test-categ_byname.c: New file.
1711         * tests/unictype/test-categ_name.c: New file.
1712         * tests/unictype/test-categ_none.c: New file.
1713         * tests/unictype/test-categ_of.c: New file.
1714         * tests/unictype/test-categ_or.c: New file.
1715         * tests/unictype/test-categ_test_withtable.c: New file.
1716         * tests/unictype/test-combining.c: New file.
1717         * tests/unictype/test-decdigit.c: New file.
1718         * tests/unictype/test-digit.c: New file.
1719         * tests/unictype/test-mirror.c: New file.
1720         * tests/unictype/test-numeric.c: New file.
1721         * tests/unictype/test-pr_byname.c: New file.
1722         * tests/unictype/test-pr_test.c: New file.
1723         * tests/unictype/test-predicate-part1.h: New file.
1724         * tests/unictype/test-predicate-part2.h: New file.
1725         * tests/unictype/test-scripts.c: New file.
1726         * tests/unictype/test-sy_c_ident.c: New file.
1727         * tests/unictype/test-sy_java_ident.c: New file.
1728
1729         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
1730         for Unicode 5.0.0.
1731         * tests/unictype/test-categ_Cc.c: Likewise.
1732         * tests/unictype/test-categ_Cf.c: Likewise.
1733         * tests/unictype/test-categ_Cn.c: Likewise.
1734         * tests/unictype/test-categ_Co.c: Likewise.
1735         * tests/unictype/test-categ_Cs.c: Likewise.
1736         * tests/unictype/test-categ_L.c: Likewise.
1737         * tests/unictype/test-categ_Ll.c: Likewise.
1738         * tests/unictype/test-categ_Lm.c: Likewise.
1739         * tests/unictype/test-categ_Lo.c: Likewise.
1740         * tests/unictype/test-categ_Lt.c: Likewise.
1741         * tests/unictype/test-categ_Lu.c: Likewise.
1742         * tests/unictype/test-categ_M.c: Likewise.
1743         * tests/unictype/test-categ_Mc.c: Likewise.
1744         * tests/unictype/test-categ_Me.c: Likewise.
1745         * tests/unictype/test-categ_Mn.c: Likewise.
1746         * tests/unictype/test-categ_N.c: Likewise.
1747         * tests/unictype/test-categ_Nd.c: Likewise.
1748         * tests/unictype/test-categ_Nl.c: Likewise.
1749         * tests/unictype/test-categ_No.c: Likewise.
1750         * tests/unictype/test-categ_P.c: Likewise.
1751         * tests/unictype/test-categ_Pc.c: Likewise.
1752         * tests/unictype/test-categ_Pd.c: Likewise.
1753         * tests/unictype/test-categ_Pe.c: Likewise.
1754         * tests/unictype/test-categ_Pf.c: Likewise.
1755         * tests/unictype/test-categ_Pi.c: Likewise.
1756         * tests/unictype/test-categ_Po.c: Likewise.
1757         * tests/unictype/test-categ_Ps.c: Likewise.
1758         * tests/unictype/test-categ_S.c: Likewise.
1759         * tests/unictype/test-categ_Sc.c: Likewise.
1760         * tests/unictype/test-categ_Sk.c: Likewise.
1761         * tests/unictype/test-categ_Sm.c: Likewise.
1762         * tests/unictype/test-categ_So.c: Likewise.
1763         * tests/unictype/test-categ_Z.c: Likewise.
1764         * tests/unictype/test-categ_Zl.c: Likewise.
1765         * tests/unictype/test-categ_Zp.c: Likewise.
1766         * tests/unictype/test-categ_Zs.c: Likewise.
1767         * tests/unictype/test-ctype_alnum.c: Likewise.
1768         * tests/unictype/test-ctype_alpha.c: Likewise.
1769         * tests/unictype/test-ctype_blank.c: Likewise.
1770         * tests/unictype/test-ctype_cntrl.c: Likewise.
1771         * tests/unictype/test-ctype_digit.c: Likewise.
1772         * tests/unictype/test-ctype_graph.c: Likewise.
1773         * tests/unictype/test-ctype_lower.c: Likewise.
1774         * tests/unictype/test-ctype_print.c: Likewise.
1775         * tests/unictype/test-ctype_punct.c: Likewise.
1776         * tests/unictype/test-ctype_space.c: Likewise.
1777         * tests/unictype/test-ctype_upper.c: Likewise.
1778         * tests/unictype/test-ctype_xdigit.c: Likewise.
1779         * tests/unictype/test-decdigit.h: Likewise.
1780         * tests/unictype/test-digit.h: Likewise.
1781         * tests/unictype/test-numeric.h: Likewise.
1782         * tests/unictype/test-pr_alphabetic.c: Likewise.
1783         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
1784         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
1785         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
1786         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
1787         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
1788         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
1789         * tests/unictype/test-pr_bidi_control.c: Likewise.
1790         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
1791         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
1792         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
1793         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
1794         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
1795         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
1796         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
1797         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
1798         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
1799         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
1800         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
1801         * tests/unictype/test-pr_combining.c: Likewise.
1802         * tests/unictype/test-pr_composite.c: Likewise.
1803         * tests/unictype/test-pr_currency_symbol.c: Likewise.
1804         * tests/unictype/test-pr_dash.c: Likewise.
1805         * tests/unictype/test-pr_decimal_digit.c: Likewise.
1806         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
1807         * tests/unictype/test-pr_deprecated.c: Likewise.
1808         * tests/unictype/test-pr_diacritic.c: Likewise.
1809         * tests/unictype/test-pr_extender.c: Likewise.
1810         * tests/unictype/test-pr_format_control.c: Likewise.
1811         * tests/unictype/test-pr_grapheme_base.c: Likewise.
1812         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
1813         * tests/unictype/test-pr_grapheme_link.c: Likewise.
1814         * tests/unictype/test-pr_hex_digit.c: Likewise.
1815         * tests/unictype/test-pr_hyphen.c: Likewise.
1816         * tests/unictype/test-pr_id_continue.c: Likewise.
1817         * tests/unictype/test-pr_id_start.c: Likewise.
1818         * tests/unictype/test-pr_ideographic.c: Likewise.
1819         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
1820         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
1821         * tests/unictype/test-pr_ignorable_control.c: Likewise.
1822         * tests/unictype/test-pr_iso_control.c: Likewise.
1823         * tests/unictype/test-pr_join_control.c: Likewise.
1824         * tests/unictype/test-pr_left_of_pair.c: Likewise.
1825         * tests/unictype/test-pr_line_separator.c: Likewise.
1826         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
1827         * tests/unictype/test-pr_lowercase.c: Likewise.
1828         * tests/unictype/test-pr_math.c: Likewise.
1829         * tests/unictype/test-pr_non_break.c: Likewise.
1830         * tests/unictype/test-pr_not_a_character.c: Likewise.
1831         * tests/unictype/test-pr_numeric.c: Likewise.
1832         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
1833         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
1834         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
1835         * tests/unictype/test-pr_other_id_continue.c: Likewise.
1836         * tests/unictype/test-pr_other_id_start.c: Likewise.
1837         * tests/unictype/test-pr_other_lowercase.c: Likewise.
1838         * tests/unictype/test-pr_other_math.c: Likewise.
1839         * tests/unictype/test-pr_other_uppercase.c: Likewise.
1840         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
1841         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
1842         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
1843         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
1844         * tests/unictype/test-pr_private_use.c: Likewise.
1845         * tests/unictype/test-pr_punctuation.c: Likewise.
1846         * tests/unictype/test-pr_quotation_mark.c: Likewise.
1847         * tests/unictype/test-pr_radical.c: Likewise.
1848         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
1849         * tests/unictype/test-pr_soft_dotted.c: Likewise.
1850         * tests/unictype/test-pr_space.c: Likewise.
1851         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
1852         * tests/unictype/test-pr_titlecase.c: Likewise.
1853         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
1854         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
1855         * tests/unictype/test-pr_uppercase.c: Likewise.
1856         * tests/unictype/test-pr_variation_selector.c: Likewise.
1857         * tests/unictype/test-pr_white_space.c: Likewise.
1858         * tests/unictype/test-pr_xid_continue.c: Likewise.
1859         * tests/unictype/test-pr_xid_start.c: Likewise.
1860         * tests/unictype/test-pr_zero_width.c: Likewise.
1861         * tests/unictype/test-sy_c_whitespace.c: Likewise.
1862         * tests/unictype/test-sy_java_whitespace.c: Likewise.
1863
1864 2007-11-12  Bruno Haible  <bruno@clisp.org>
1865
1866         Unicode character classification functions.
1867         * lib/unictype.h: New file.
1868         * modules/unictype/base: New file.
1869         * modules/unictype/category-L: New file.
1870         * modules/unictype/category-Lu: New file.
1871         * modules/unictype/category-Ll: New file.
1872         * modules/unictype/category-Lt: New file.
1873         * modules/unictype/category-Lm: New file.
1874         * modules/unictype/category-Lo: New file.
1875         * modules/unictype/category-M: New file.
1876         * modules/unictype/category-Mn: New file.
1877         * modules/unictype/category-Mc: New file.
1878         * modules/unictype/category-Me: New file.
1879         * modules/unictype/category-N: New file.
1880         * modules/unictype/category-Nd: New file.
1881         * modules/unictype/category-Nl: New file.
1882         * modules/unictype/category-No: New file.
1883         * modules/unictype/category-P: New file.
1884         * modules/unictype/category-Pc: New file.
1885         * modules/unictype/category-Pd: New file.
1886         * modules/unictype/category-Ps: New file.
1887         * modules/unictype/category-Pe: New file.
1888         * modules/unictype/category-Pi: New file.
1889         * modules/unictype/category-Pf: New file.
1890         * modules/unictype/category-Po: New file.
1891         * modules/unictype/category-S: New file.
1892         * modules/unictype/category-Sm: New file.
1893         * modules/unictype/category-Sc: New file.
1894         * modules/unictype/category-Sk: New file.
1895         * modules/unictype/category-So: New file.
1896         * modules/unictype/category-Z: New file.
1897         * modules/unictype/category-Zs: New file.
1898         * modules/unictype/category-Zl: New file.
1899         * modules/unictype/category-Zp: New file.
1900         * modules/unictype/category-C: New file.
1901         * modules/unictype/category-Cc: New file.
1902         * modules/unictype/category-Cf: New file.
1903         * modules/unictype/category-Cs: New file.
1904         * modules/unictype/category-Co: New file.
1905         * modules/unictype/category-Cn: New file.
1906         * modules/unictype/category-or: New file.
1907         * modules/unictype/category-of: New file.
1908         * modules/unictype/category-test: New file.
1909         * modules/unictype/category-test-withtable: New file.
1910         * modules/unictype/category-byname: New file.
1911         * modules/unictype/category-none: New file.
1912         * modules/unictype/category-and: New file.
1913         * modules/unictype/category-and-not: New file.
1914         * modules/unictype/category-name: New file.
1915         * modules/unictype/combining-class: New file.
1916         * modules/unictype/category-all: New file.
1917         * modules/unictype/bidicategory-all: New file.
1918         * modules/unictype/bidicategory-byname: New file.
1919         * modules/unictype/bidicategory-name: New file.
1920         * modules/unictype/bidicategory-of: New file.
1921         * modules/unictype/bidicategory-test: New file.
1922         * modules/unictype/decimal-digit: New file.
1923         * modules/unictype/digit: New file.
1924         * modules/unictype/numeric: New file.
1925         * modules/unictype/mirror: New file.
1926         * modules/unictype/property-white-space: New file.
1927         * modules/unictype/property-alphabetic: New file.
1928         * modules/unictype/property-other-alphabetic: New file.
1929         * modules/unictype/property-not-a-character: New file.
1930         * modules/unictype/property-default-ignorable-code-point: New file.
1931         * modules/unictype/property-other-default-ignorable-code-point: New
1932         file.
1933         * modules/unictype/property-deprecated: New file.
1934         * modules/unictype/property-logical-order-exception: New file.
1935         * modules/unictype/property-variation-selector: New file.
1936         * modules/unictype/property-private-use: New file.
1937         * modules/unictype/property-unassigned-code-value: New file.
1938         * modules/unictype/property-uppercase: New file.
1939         * modules/unictype/property-other-uppercase: New file.
1940         * modules/unictype/property-lowercase: New file.
1941         * modules/unictype/property-other-lowercase: New file.
1942         * modules/unictype/property-titlecase: New file.
1943         * modules/unictype/property-soft-dotted: New file.
1944         * modules/unictype/property-id-start: New file.
1945         * modules/unictype/property-other-id-start: New file.
1946         * modules/unictype/property-id-continue: New file.
1947         * modules/unictype/property-other-id-continue: New file.
1948         * modules/unictype/property-xid-start: New file.
1949         * modules/unictype/property-xid-continue: New file.
1950         * modules/unictype/property-pattern-white-space: New file.
1951         * modules/unictype/property-pattern-syntax: New file.
1952         * modules/unictype/property-join-control: New file.
1953         * modules/unictype/property-grapheme-base: New file.
1954         * modules/unictype/property-grapheme-extend: New file.
1955         * modules/unictype/property-other-grapheme-extend: New file.
1956         * modules/unictype/property-grapheme-link: New file.
1957         * modules/unictype/property-bidi-control: New file.
1958         * modules/unictype/property-bidi-left-to-right: New file.
1959         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
1960         * modules/unictype/property-bidi-arabic-right-to-left: New file.
1961         * modules/unictype/property-bidi-european-digit: New file.
1962         * modules/unictype/property-bidi-eur-num-separator: New file.
1963         * modules/unictype/property-bidi-eur-num-terminator: New file.
1964         * modules/unictype/property-bidi-arabic-digit: New file.
1965         * modules/unictype/property-bidi-common-separator: New file.
1966         * modules/unictype/property-bidi-block-separator: New file.
1967         * modules/unictype/property-bidi-segment-separator: New file.
1968         * modules/unictype/property-bidi-whitespace: New file.
1969         * modules/unictype/property-bidi-non-spacing-mark: New file.
1970         * modules/unictype/property-bidi-boundary-neutral: New file.
1971         * modules/unictype/property-bidi-pdf: New file.
1972         * modules/unictype/property-bidi-embedding-or-override: New file.
1973         * modules/unictype/property-bidi-other-neutral: New file.
1974         * modules/unictype/property-hex-digit: New file.
1975         * modules/unictype/property-ascii-hex-digit: New file.
1976         * modules/unictype/property-ideographic: New file.
1977         * modules/unictype/property-unified-ideograph: New file.
1978         * modules/unictype/property-radical: New file.
1979         * modules/unictype/property-ids-binary-operator: New file.
1980         * modules/unictype/property-ids-trinary-operator: New file.
1981         * modules/unictype/property-zero-width: New file.
1982         * modules/unictype/property-space: New file.
1983         * modules/unictype/property-non-break: New file.
1984         * modules/unictype/property-iso-control: New file.
1985         * modules/unictype/property-format-control: New file.
1986         * modules/unictype/property-dash: New file.
1987         * modules/unictype/property-hyphen: New file.
1988         * modules/unictype/property-punctuation: New file.
1989         * modules/unictype/property-line-separator: New file.
1990         * modules/unictype/property-paragraph-separator: New file.
1991         * modules/unictype/property-quotation-mark: New file.
1992         * modules/unictype/property-sentence-terminal: New file.
1993         * modules/unictype/property-terminal-punctuation: New file.
1994         * modules/unictype/property-currency-symbol: New file.
1995         * modules/unictype/property-math: New file.
1996         * modules/unictype/property-other-math: New file.
1997         * modules/unictype/property-paired-punctuation: New file.
1998         * modules/unictype/property-left-of-pair: New file.
1999         * modules/unictype/property-combining: New file.
2000         * modules/unictype/property-composite: New file.
2001         * modules/unictype/property-decimal-digit: New file.
2002         * modules/unictype/property-numeric: New file.
2003         * modules/unictype/property-diacritic: New file.
2004         * modules/unictype/property-extender: New file.
2005         * modules/unictype/property-ignorable-control: New file.
2006         * modules/unictype/property-test: New file.
2007         * modules/unictype/property-byname: New file.
2008         * modules/unictype/property-all: New file.
2009         * modules/unictype/scripts: New file.
2010         * modules/unictype/scripts-all: New file.
2011         * modules/unictype/block-of: New file.
2012         * modules/unictype/block-test: New file.
2013         * modules/unictype/block-list: New file.
2014         * modules/unictype/block-all: New file.
2015         * modules/unictype/syntax-c-whitespace: New file.
2016         * modules/unictype/syntax-java-whitespace: New file.
2017         * modules/unictype/syntax-c-ident: New file.
2018         * modules/unictype/syntax-java-ident: New file.
2019         * modules/unictype/ctype-alnum: New file.
2020         * modules/unictype/ctype-alpha: New file.
2021         * modules/unictype/ctype-cntrl: New file.
2022         * modules/unictype/ctype-digit: New file.
2023         * modules/unictype/ctype-graph: New file.
2024         * modules/unictype/ctype-lower: New file.
2025         * modules/unictype/ctype-print: New file.
2026         * modules/unictype/ctype-punct: New file.
2027         * modules/unictype/ctype-space: New file.
2028         * modules/unictype/ctype-upper: New file.
2029         * modules/unictype/ctype-xdigit: New file.
2030         * modules/unictype/ctype-blank: New file.
2031         * lib/unictype/bidi_byname.c: New file.
2032         * lib/unictype/bidi_name.c: New file.
2033         * lib/unictype/bidi_of.c: New file.
2034         * lib/unictype/bidi_test.c: New file.
2035         * lib/unictype/bitmap.h: New file.
2036         * lib/unictype/block_test.c: New file.
2037         * lib/unictype/blocks.c: New file.
2038         * lib/unictype/categ_C.c: New file.
2039         * lib/unictype/categ_Cc.c: New file.
2040         * lib/unictype/categ_Cf.c: New file.
2041         * lib/unictype/categ_Cn.c: New file.
2042         * lib/unictype/categ_Co.c: New file.
2043         * lib/unictype/categ_Cs.c: New file.
2044         * lib/unictype/categ_L.c: New file.
2045         * lib/unictype/categ_Ll.c: New file.
2046         * lib/unictype/categ_Lm.c: New file.
2047         * lib/unictype/categ_Lo.c: New file.
2048         * lib/unictype/categ_Lt.c: New file.
2049         * lib/unictype/categ_Lu.c: New file.
2050         * lib/unictype/categ_M.c: New file.
2051         * lib/unictype/categ_Mc.c: New file.
2052         * lib/unictype/categ_Me.c: New file.
2053         * lib/unictype/categ_Mn.c: New file.
2054         * lib/unictype/categ_N.c: New file.
2055         * lib/unictype/categ_Nd.c: New file.
2056         * lib/unictype/categ_Nl.c: New file.
2057         * lib/unictype/categ_No.c: New file.
2058         * lib/unictype/categ_P.c: New file.
2059         * lib/unictype/categ_Pc.c: New file.
2060         * lib/unictype/categ_Pd.c: New file.
2061         * lib/unictype/categ_Pe.c: New file.
2062         * lib/unictype/categ_Pf.c: New file.
2063         * lib/unictype/categ_Pi.c: New file.
2064         * lib/unictype/categ_Po.c: New file.
2065         * lib/unictype/categ_Ps.c: New file.
2066         * lib/unictype/categ_S.c: New file.
2067         * lib/unictype/categ_Sc.c: New file.
2068         * lib/unictype/categ_Sk.c: New file.
2069         * lib/unictype/categ_Sm.c: New file.
2070         * lib/unictype/categ_So.c: New file.
2071         * lib/unictype/categ_Z.c: New file.
2072         * lib/unictype/categ_Zl.c: New file.
2073         * lib/unictype/categ_Zp.c: New file.
2074         * lib/unictype/categ_Zs.c: New file.
2075         * lib/unictype/categ_and.c: New file.
2076         * lib/unictype/categ_and_not.c: New file.
2077         * lib/unictype/categ_byname.c: New file.
2078         * lib/unictype/categ_name.c: New file.
2079         * lib/unictype/categ_none.c: New file.
2080         * lib/unictype/categ_of.c: New file.
2081         * lib/unictype/categ_or.c: New file.
2082         * lib/unictype/categ_test.c: New file.
2083         * lib/unictype/combining.c: New file.
2084         * lib/unictype/ctype_alnum.c: New file.
2085         * lib/unictype/ctype_alpha.c: New file.
2086         * lib/unictype/ctype_blank.c: New file.
2087         * lib/unictype/ctype_cntrl.c: New file.
2088         * lib/unictype/ctype_digit.c: New file.
2089         * lib/unictype/ctype_graph.c: New file.
2090         * lib/unictype/ctype_lower.c: New file.
2091         * lib/unictype/ctype_print.c: New file.
2092         * lib/unictype/ctype_punct.c: New file.
2093         * lib/unictype/ctype_space.c: New file.
2094         * lib/unictype/ctype_upper.c: New file.
2095         * lib/unictype/ctype_xdigit.c: New file.
2096         * lib/unictype/decdigit.c: New file.
2097         * lib/unictype/digit.c: New file.
2098         * lib/unictype/identsyntaxmap.h: New file.
2099         * lib/unictype/mirror.c: New file.
2100         * lib/unictype/numeric.c: New file.
2101         * lib/unictype/pr_alphabetic.c: New file.
2102         * lib/unictype/pr_ascii_hex_digit.c: New file.
2103         * lib/unictype/pr_bidi_arabic_digit.c: New file.
2104         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
2105         * lib/unictype/pr_bidi_block_separator.c: New file.
2106         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
2107         * lib/unictype/pr_bidi_common_separator.c: New file.
2108         * lib/unictype/pr_bidi_control.c: New file.
2109         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
2110         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
2111         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
2112         * lib/unictype/pr_bidi_european_digit.c: New file.
2113         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
2114         * lib/unictype/pr_bidi_left_to_right.c: New file.
2115         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
2116         * lib/unictype/pr_bidi_other_neutral.c: New file.
2117         * lib/unictype/pr_bidi_pdf.c: New file.
2118         * lib/unictype/pr_bidi_segment_separator.c: New file.
2119         * lib/unictype/pr_bidi_whitespace.c: New file.
2120         * lib/unictype/pr_byname.c: New file.
2121         * lib/unictype/pr_byname.gperf: New file.
2122         * lib/unictype/pr_combining.c: New file.
2123         * lib/unictype/pr_composite.c: New file.
2124         * lib/unictype/pr_currency_symbol.c: New file.
2125         * lib/unictype/pr_dash.c: New file.
2126         * lib/unictype/pr_decimal_digit.c: New file.
2127         * lib/unictype/pr_default_ignorable_code_point.c: New file.
2128         * lib/unictype/pr_deprecated.c: New file.
2129         * lib/unictype/pr_diacritic.c: New file.
2130         * lib/unictype/pr_extender.c: New file.
2131         * lib/unictype/pr_format_control.c: New file.
2132         * lib/unictype/pr_grapheme_base.c: New file.
2133         * lib/unictype/pr_grapheme_extend.c: New file.
2134         * lib/unictype/pr_grapheme_link.c: New file.
2135         * lib/unictype/pr_hex_digit.c: New file.
2136         * lib/unictype/pr_hyphen.c: New file.
2137         * lib/unictype/pr_id_continue.c: New file.
2138         * lib/unictype/pr_id_start.c: New file.
2139         * lib/unictype/pr_ideographic.c: New file.
2140         * lib/unictype/pr_ids_binary_operator.c: New file.
2141         * lib/unictype/pr_ids_trinary_operator.c: New file.
2142         * lib/unictype/pr_ignorable_control.c: New file.
2143         * lib/unictype/pr_iso_control.c: New file.
2144         * lib/unictype/pr_join_control.c: New file.
2145         * lib/unictype/pr_left_of_pair.c: New file.
2146         * lib/unictype/pr_line_separator.c: New file.
2147         * lib/unictype/pr_logical_order_exception.c: New file.
2148         * lib/unictype/pr_lowercase.c: New file.
2149         * lib/unictype/pr_math.c: New file.
2150         * lib/unictype/pr_non_break.c: New file.
2151         * lib/unictype/pr_not_a_character.c: New file.
2152         * lib/unictype/pr_numeric.c: New file.
2153         * lib/unictype/pr_other_alphabetic.c: New file.
2154         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
2155         * lib/unictype/pr_other_grapheme_extend.c: New file.
2156         * lib/unictype/pr_other_id_continue.c: New file.
2157         * lib/unictype/pr_other_id_start.c: New file.
2158         * lib/unictype/pr_other_lowercase.c: New file.
2159         * lib/unictype/pr_other_math.c: New file.
2160         * lib/unictype/pr_other_uppercase.c: New file.
2161         * lib/unictype/pr_paired_punctuation.c: New file.
2162         * lib/unictype/pr_paragraph_separator.c: New file.
2163         * lib/unictype/pr_pattern_syntax.c: New file.
2164         * lib/unictype/pr_pattern_white_space.c: New file.
2165         * lib/unictype/pr_private_use.c: New file.
2166         * lib/unictype/pr_punctuation.c: New file.
2167         * lib/unictype/pr_quotation_mark.c: New file.
2168         * lib/unictype/pr_radical.c: New file.
2169         * lib/unictype/pr_sentence_terminal.c: New file.
2170         * lib/unictype/pr_soft_dotted.c: New file.
2171         * lib/unictype/pr_space.c: New file.
2172         * lib/unictype/pr_terminal_punctuation.c: New file.
2173         * lib/unictype/pr_test.c: New file.
2174         * lib/unictype/pr_titlecase.c: New file.
2175         * lib/unictype/pr_unassigned_code_value.c: New file.
2176         * lib/unictype/pr_unified_ideograph.c: New file.
2177         * lib/unictype/pr_uppercase.c: New file.
2178         * lib/unictype/pr_variation_selector.c: New file.
2179         * lib/unictype/pr_white_space.c: New file.
2180         * lib/unictype/pr_xid_continue.c: New file.
2181         * lib/unictype/pr_xid_start.c: New file.
2182         * lib/unictype/pr_zero_width.c: New file.
2183         * lib/unictype/scripts.c: New file.
2184         * lib/unictype/sy_c_ident.c: New file.
2185         * lib/unictype/sy_c_whitespace.c: New file.
2186         * lib/unictype/sy_java_ident.c: New file.
2187         * lib/unictype/sy_java_whitespace.c: New file.
2188
2189         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
2190         Unicode 5.0.0.
2191         * lib/unictype/blocks.h: Likewise.
2192         * lib/unictype/categ_C.h: Likewise.
2193         * lib/unictype/categ_Cc.h: Likewise.
2194         * lib/unictype/categ_Cf.h: Likewise.
2195         * lib/unictype/categ_Cn.h: Likewise.
2196         * lib/unictype/categ_Co.h: Likewise.
2197         * lib/unictype/categ_Cs.h: Likewise.
2198         * lib/unictype/categ_L.h: Likewise.
2199         * lib/unictype/categ_Ll.h: Likewise.
2200         * lib/unictype/categ_Lm.h: Likewise.
2201         * lib/unictype/categ_Lo.h: Likewise.
2202         * lib/unictype/categ_Lt.h: Likewise.
2203         * lib/unictype/categ_Lu.h: Likewise.
2204         * lib/unictype/categ_M.h: Likewise.
2205         * lib/unictype/categ_Mc.h: Likewise.
2206         * lib/unictype/categ_Me.h: Likewise.
2207         * lib/unictype/categ_Mn.h: Likewise.
2208         * lib/unictype/categ_N.h: Likewise.
2209         * lib/unictype/categ_Nd.h: Likewise.
2210         * lib/unictype/categ_Nl.h: Likewise.
2211         * lib/unictype/categ_No.h: Likewise.
2212         * lib/unictype/categ_P.h: Likewise.
2213         * lib/unictype/categ_Pc.h: Likewise.
2214         * lib/unictype/categ_Pd.h: Likewise.
2215         * lib/unictype/categ_Pe.h: Likewise.
2216         * lib/unictype/categ_Pf.h: Likewise.
2217         * lib/unictype/categ_Pi.h: Likewise.
2218         * lib/unictype/categ_Po.h: Likewise.
2219         * lib/unictype/categ_Ps.h: Likewise.
2220         * lib/unictype/categ_S.h: Likewise.
2221         * lib/unictype/categ_Sc.h: Likewise.
2222         * lib/unictype/categ_Sk.h: Likewise.
2223         * lib/unictype/categ_Sm.h: Likewise.
2224         * lib/unictype/categ_So.h: Likewise.
2225         * lib/unictype/categ_Z.h: Likewise.
2226         * lib/unictype/categ_Zl.h: Likewise.
2227         * lib/unictype/categ_Zp.h: Likewise.
2228         * lib/unictype/categ_Zs.h: Likewise.
2229         * lib/unictype/categ_of.h: Likewise.
2230         * lib/unictype/combining.h: Likewise.
2231         * lib/unictype/ctype_alnum.h: Likewise.
2232         * lib/unictype/ctype_alpha.h: Likewise.
2233         * lib/unictype/ctype_blank.h: Likewise.
2234         * lib/unictype/ctype_cntrl.h: Likewise.
2235         * lib/unictype/ctype_digit.h: Likewise.
2236         * lib/unictype/ctype_graph.h: Likewise.
2237         * lib/unictype/ctype_lower.h: Likewise.
2238         * lib/unictype/ctype_print.h: Likewise.
2239         * lib/unictype/ctype_punct.h: Likewise.
2240         * lib/unictype/ctype_space.h: Likewise.
2241         * lib/unictype/ctype_upper.h: Likewise.
2242         * lib/unictype/ctype_xdigit.h: Likewise.
2243         * lib/unictype/decdigit.h: Likewise.
2244         * lib/unictype/digit.h: Likewise.
2245         * lib/unictype/mirror.h: Likewise.
2246         * lib/unictype/numeric.h: Likewise.
2247         * lib/unictype/pr_alphabetic.h: Likewise.
2248         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
2249         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
2250         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
2251         * lib/unictype/pr_bidi_block_separator.h: Likewise.
2252         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
2253         * lib/unictype/pr_bidi_common_separator.h: Likewise.
2254         * lib/unictype/pr_bidi_control.h: Likewise.
2255         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
2256         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
2257         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
2258         * lib/unictype/pr_bidi_european_digit.h: Likewise.
2259         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
2260         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
2261         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
2262         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
2263         * lib/unictype/pr_bidi_pdf.h: Likewise.
2264         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
2265         * lib/unictype/pr_bidi_whitespace.h: Likewise.
2266         * lib/unictype/pr_combining.h: Likewise.
2267         * lib/unictype/pr_composite.h: Likewise.
2268         * lib/unictype/pr_currency_symbol.h: Likewise.
2269         * lib/unictype/pr_dash.h: Likewise.
2270         * lib/unictype/pr_decimal_digit.h: Likewise.
2271         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
2272         * lib/unictype/pr_deprecated.h: Likewise.
2273         * lib/unictype/pr_diacritic.h: Likewise.
2274         * lib/unictype/pr_extender.h: Likewise.
2275         * lib/unictype/pr_format_control.h: Likewise.
2276         * lib/unictype/pr_grapheme_base.h: Likewise.
2277         * lib/unictype/pr_grapheme_extend.h: Likewise.
2278         * lib/unictype/pr_grapheme_link.h: Likewise.
2279         * lib/unictype/pr_hex_digit.h: Likewise.
2280         * lib/unictype/pr_hyphen.h: Likewise.
2281         * lib/unictype/pr_id_continue.h: Likewise.
2282         * lib/unictype/pr_id_start.h: Likewise.
2283         * lib/unictype/pr_ideographic.h: Likewise.
2284         * lib/unictype/pr_ids_binary_operator.h: Likewise.
2285         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
2286         * lib/unictype/pr_ignorable_control.h: Likewise.
2287         * lib/unictype/pr_iso_control.h: Likewise.
2288         * lib/unictype/pr_join_control.h: Likewise.
2289         * lib/unictype/pr_left_of_pair.h: Likewise.
2290         * lib/unictype/pr_line_separator.h: Likewise.
2291         * lib/unictype/pr_logical_order_exception.h: Likewise.
2292         * lib/unictype/pr_lowercase.h: Likewise.
2293         * lib/unictype/pr_math.h: Likewise.
2294         * lib/unictype/pr_non_break.h: Likewise.
2295         * lib/unictype/pr_not_a_character.h: Likewise.
2296         * lib/unictype/pr_numeric.h: Likewise.
2297         * lib/unictype/pr_other_alphabetic.h: Likewise.
2298         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
2299         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
2300         * lib/unictype/pr_other_id_continue.h: Likewise.
2301         * lib/unictype/pr_other_id_start.h: Likewise.
2302         * lib/unictype/pr_other_lowercase.h: Likewise.
2303         * lib/unictype/pr_other_math.h: Likewise.
2304         * lib/unictype/pr_other_uppercase.h: Likewise.
2305         * lib/unictype/pr_paired_punctuation.h: Likewise.
2306         * lib/unictype/pr_paragraph_separator.h: Likewise.
2307         * lib/unictype/pr_pattern_syntax.h: Likewise.
2308         * lib/unictype/pr_pattern_white_space.h: Likewise.
2309         * lib/unictype/pr_private_use.h: Likewise.
2310         * lib/unictype/pr_punctuation.h: Likewise.
2311         * lib/unictype/pr_quotation_mark.h: Likewise.
2312         * lib/unictype/pr_radical.h: Likewise.
2313         * lib/unictype/pr_sentence_terminal.h: Likewise.
2314         * lib/unictype/pr_soft_dotted.h: Likewise.
2315         * lib/unictype/pr_space.h: Likewise.
2316         * lib/unictype/pr_terminal_punctuation.h: Likewise.
2317         * lib/unictype/pr_titlecase.h: Likewise.
2318         * lib/unictype/pr_unassigned_code_value.h: Likewise.
2319         * lib/unictype/pr_unified_ideograph.h: Likewise.
2320         * lib/unictype/pr_uppercase.h: Likewise.
2321         * lib/unictype/pr_variation_selector.h: Likewise.
2322         * lib/unictype/pr_white_space.h: Likewise.
2323         * lib/unictype/pr_xid_continue.h: Likewise.
2324         * lib/unictype/pr_xid_start.h: Likewise.
2325         * lib/unictype/pr_zero_width.h: Likewise.
2326         * lib/unictype/scripts.h: Likewise.
2327         * lib/unictype/scripts_byname.gperf: Likewise.
2328         * lib/unictype/sy_c_ident.h: Likewise.
2329         * lib/unictype/sy_c_whitespace.h: Likewise.
2330         * lib/unictype/sy_java_ident.h: Likewise.
2331         * lib/unictype/sy_java_whitespace.h: Likewise.
2332
2333         * lib/unictype/Makefile: New file.
2334         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
2335         glibc.
2336         * lib/unictype/3level.h: New file, copied from glibc.
2337         * lib/unictype/3levelbit.h: New file.
2338
2339 2007-11-11  Bruno Haible  <bruno@clisp.org>
2340
2341         * modules/gperf: New file.
2342         * modules/iconv_open (Depends-on): Add it.
2343         (Makefile.am): Remove the GPERF definition.
2344
2345 2007-11-11  Bruno Haible  <bruno@clisp.org>
2346
2347         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
2348         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
2349
2350 2007-11-11  Bruno Haible  <bruno@clisp.org>
2351
2352         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
2353         (usage): Remove function.
2354
2355 2007-11-11  Bruno Haible  <bruno@clisp.org>
2356
2357         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
2358         gl_FUNC_CEILF_LIBS.
2359         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
2360         gl_FUNC_CEIL_LIBS.
2361         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
2362         gl_FUNC_CEILL_LIBS.
2363         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
2364         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
2365         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
2366
2367 2007-11-11  Bruno Haible  <bruno@clisp.org>
2368
2369         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
2370         roundf were declared but do not exist on functions.
2371         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
2372         roundl were declared but do not exist on functions.
2373         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
2374         HAVE_FLOORL_AND_CEILL, respectively.
2375         Needed for Sun C on Solaris 10.
2376
2377 2007-11-11  Bruno Haible  <bruno@clisp.org>
2378
2379         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
2380         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
2381         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
2382         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
2383         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
2384         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
2385         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
2386         HAVE_DECL_ROUNDF.
2387         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
2388         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
2389         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
2390         of HAVE_DECL_ROUND*.
2391         * modules/math (Makefile.am): Update.
2392
2393 2007-11-10  Bruno Haible  <bruno@clisp.org>
2394
2395         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
2396         ptrdiff_t as m4/intl.m4.
2397
2398 2007-11-10  Jim Meyering  <meyering@redhat.com>
2399
2400         Avoid link failure for the argmatch test.
2401         * tests/test-argmatch.c (usage): Define function to avoid a link
2402         failure: argmatch_die requires a usage function.
2403
2404 2007-11-09  Bruno Haible  <bruno@clisp.org>
2405
2406         * doc/functions/snprintf.texi: Mention BeOS deficiency.
2407         * doc/functions/vsnprintf.texi: Likewise.
2408         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
2409         with a size argument < 2.
2410
2411 2007-11-09  Bruno Haible  <bruno@clisp.org>
2412
2413         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
2414         buffer. Fixes an inefficiency introduced on 2007-11-03.
2415
2416 2007-11-09  Bruno Haible  <bruno@clisp.org>
2417
2418         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
2419         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
2420
2421 2007-11-08  Jim Meyering  <meyering@redhat.com>
2422
2423         Change cache variable name prefix "jm_" to "gl_" everywhere.
2424         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
2425         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
2426         * m4/uptime.m4: s/gl_/jm_/
2427
2428 2007-11-07  Bruno Haible  <bruno@clisp.org>
2429
2430         Update to GNU gettext 0.17.
2431         * m4/intl.m4: Update to GNU gettext 0.17.
2432         * m4/po.m4: Likewise.
2433         * modules/gettext (Files): Remove m4/ulonglong.m4.
2434         (configure.ac): Require gettext infrastructure from version 0.17.
2435
2436 2007-11-06  Bruno Haible  <bruno@clisp.org>
2437
2438         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
2439         symbolic values are not defined in a public header.
2440         * lib/freadable.c (freadable) [QNX]: Likewise.
2441         * lib/freadahead.c (freadahead) [QNX]: Likewise.
2442         * lib/freading.c (freading) [QNX]: Likewise.
2443         * lib/fseterr.c (fseterr) [QNX]: Likewise.
2444         * lib/fwritable.c (fwritable) [QNX]: Likewise.
2445         * lib/fwriting.c (fwriting) [QNX]: Likewise.
2446         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
2447         Reported by Alain Magloire.
2448
2449         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
2450
2451 2007-11-05  Bruno Haible  <bruno@clisp.org>
2452
2453         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
2454         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
2455         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
2456         Reported by Eric Blake.
2457
2458 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2459             Bruno Haible  <bruno@clisp.org>
2460
2461         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
2462         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
2463         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
2464         (malloc): Undefine also before including <stdlib.h>.
2465         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
2466         Needed on OSF/1 4.0.
2467
2468 2007-11-05  Jim Meyering  <meyering@redhat.com>
2469
2470         git-version-gen: sync from coreutils.
2471         * build-aux/git-version-gen: Add comments.
2472         Change the first '-' to '.' in the snapshot version string,
2473         e.g., 6.9-377-08144 -> 6.9.377-08144
2474         Remove first parameter.
2475         Don't declare a version "-dirty" merely because a time
2476         stamp has changed.
2477
2478 2007-11-04  Bruno Haible  <bruno@clisp.org>
2479
2480         * lib/lock.h: Protect all macro definitions containing an 'if'
2481         statement through a "do { ... } while (0)".
2482         * lib/tls.h: Likewise.
2483
2484 2007-11-04  Bruno Haible  <bruno@clisp.org>
2485
2486         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
2487
2488 2007-11-04  Bruno Haible  <bruno@clisp.org>
2489
2490         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
2491         * modules/fprintf-posix (Depends-on): Add nocrash.
2492         * modules/snprintf-posix (Depends-on): Likewise.
2493         * modules/sprintf-posix (Depends-on): Likewise.
2494         * modules/vasnprintf-posix (Depends-on): Likewise.
2495         * modules/vasprintf-posix (Depends-on): Likewise.
2496         * modules/vfprintf-posix (Depends-on): Likewise.
2497         * modules/vsnprintf-posix (Depends-on): Likewise.
2498         * modules/vsprintf-posix (Depends-on): Likewise.
2499         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
2500         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
2501         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
2502         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
2503         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
2504         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
2505         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
2506
2507 2007-11-04  Bruno Haible  <bruno@clisp.org>
2508
2509         * modules/nocrash: New file.
2510         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
2511         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
2512
2513 2007-11-04  Bruno Haible  <bruno@clisp.org>
2514
2515         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
2516         precision handling.
2517         * tests/test-vasprintf-posix.c (test_function): Likewise.
2518         * tests/test-snprintf-posix.h (test_function): Likewise.
2519         * tests/test-sprintf-posix.h (test_function): Likewise.
2520
2521         Fix *printf behaviour for large precisions on mingw and BeOS.
2522         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
2523         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
2524         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
2525         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
2526         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
2527         gl_PRINTF_PRECISION and test its result. Invoke
2528         gl_PREREQ_VASNPRINTF_PRECISION.
2529         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
2530         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
2531         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
2532         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
2533         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
2534         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
2535         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
2536         * doc/functions/fprintf.texi: Update.
2537         * doc/functions/printf.texi: Update.
2538         * doc/functions/snprintf.texi: Update.
2539         * doc/functions/sprintf.texi: Update.
2540         * doc/functions/vfprintf.texi: Update.
2541         * doc/functions/vprintf.texi: Update.
2542         * doc/functions/vsnprintf.texi: Update.
2543         * doc/functions/vsprintf.texi: Update.
2544
2545 2007-11-04  Bruno Haible  <bruno@clisp.org>
2546
2547         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
2548
2549 2007-11-04  Bruno Haible  <bruno@clisp.org>
2550
2551         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
2552         Reported by Sylvain Beucler <beuc@gnu.org>.
2553
2554 2007-11-03  Bruno Haible  <bruno@clisp.org>
2555
2556         * tests/test-fprintf-posix2.sh: New file.
2557         * tests/test-fprintf-posix2.c: New file.
2558         * modules/fprintf-posix-tests (Files): Add them.
2559         (TESTS): Add test-fprintf-posix2.sh.
2560         (configure.ac): Check for getrlimit and setrlimit.
2561         (check_PROGRAMS): Add test-fprintf-posix2.
2562
2563         * tests/test-printf-posix2.sh: New file.
2564         * tests/test-printf-posix2.c: New file.
2565         * modules/printf-posix-tests (Files): Add them.
2566         (TESTS): Add test-printf-posix2.sh.
2567         (configure.ac): Check for getrlimit and setrlimit.
2568         (check_PROGRAMS): Add test-printf-posix2.
2569
2570         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
2571         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
2572         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
2573         (decode_double): New function, copied from decode_long_double.
2574         (scale10_round_decimal_decoded): New function, extracted from
2575         scale10_round_decimal_long_double.
2576         (scale10_round_decimal_long_double): Use it.
2577         (scale10_round_decimal_double): New function.
2578         (floorlog10): New function.
2579         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
2580         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
2581         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
2582         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
2583         gl_PRINTF_ENOMEM and test its result. Invoke
2584         gl_PREREQ_VASNPRINTF_ENOMEM.
2585         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
2586         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
2587         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
2588         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
2589         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
2590         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
2591         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
2592         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
2593         * modules/snprintf-posix (Depends-on): Likewise.
2594         * modules/sprintf-posix (Depends-on): Likewise.
2595         * modules/vasnprintf-posix (Depends-on): Likewise.
2596         * modules/vasprintf-posix (Depends-on): Likewise.
2597         * modules/vfprintf-posix (Depends-on): Likewise.
2598         * modules/vsnprintf-posix (Depends-on): Likewise.
2599         * modules/vsprintf-posix (Depends-on): Likewise.
2600         * doc/functions/fprintf.texi: Update.
2601         * doc/functions/printf.texi: Update.
2602         * doc/functions/snprintf.texi: Update.
2603         * doc/functions/sprintf.texi: Update.
2604         * doc/functions/vfprintf.texi: Update.
2605         * doc/functions/vprintf.texi: Update.
2606         * doc/functions/vsnprintf.texi: Update.
2607         * doc/functions/vsprintf.texi: Update.
2608
2609 2007-11-03  Bruno Haible  <bruno@clisp.org>
2610
2611         * modules/frexp-nolibm-tests: New file.
2612
2613         * modules/frexp-nolibm: New file.
2614         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
2615
2616 2007-11-03  Bruno Haible  <bruno@clisp.org>
2617
2618         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
2619         value is C99 compliant.
2620         Needed for OSF/1 5.1.
2621
2622 2007-11-03  Bruno Haible  <bruno@clisp.org>
2623
2624         Fix out-of-memory handling of vasnprintf.
2625         * lib/printf-parse.c: Include <errno.h>.
2626         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
2627         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
2628         is already set.
2629
2630 2007-11-02  Eric Blake  <ebb9@byu.net>
2631
2632         Fix tests on cygwin.
2633         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
2634
2635 2007-11-01  Bruno Haible  <bruno@clisp.org>
2636
2637         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
2638         warning.
2639         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
2640         needed for POSIX compatibility.
2641
2642 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
2643
2644         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
2645         for compatibility with GNU.
2646
2647 2007-11-01  Bruno Haible  <bruno@clisp.org>
2648
2649         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
2650         (putenv): Renamed from rpl_putenv. Change argument type from
2651         'const char *' to 'char *'.
2652         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
2653         of defining putenv in config.h, just set REPLACE_PUTENV.
2654         * modules/putenv (Depends-on): Add stdlib.
2655         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
2656         (Include): Use <stdlib.h>.
2657         * lib/stdlib.in.h (putenv): New declaration.
2658         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
2659         REPLACE_PUTENV.
2660         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
2661         REPLACE_PUTENV.
2662         Needed for MacOS X 10.5.0.
2663         Reported by Peter O'Gorman <peter@pogma.com>.
2664
2665 2007-11-01  Jim Meyering  <meyering@redhat.com>
2666
2667         Treat an empty date string exactly like "0".
2668         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
2669         if the remaining date string (to be parsed) is empty, use "0".
2670         Reported by Mischa Molhoek and discussed in this thread:
2671         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
2672
2673 2007-10-31  Bruno Haible  <bruno@clisp.org>
2674
2675         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
2676         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
2677         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
2678         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
2679         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
2680         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
2681
2682 2007-10-31  Bruno Haible  <bruno@clisp.org>
2683
2684         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
2685         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
2686         (AC_TYPE_LONG_LONG_INT): Use it.
2687         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
2688         it as well.
2689         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
2690         to m4/longlong.m4.
2691         * modules/stdint (Files): Remove m4/ulonglong.m4.
2692         * modules/strtoull (Files): Use m4/longlong.m4 instead of
2693         m4/ulonglong.m4.
2694         * modules/strtoumax (Files): Likewise.
2695
2696 2007-10-30  Bruno Haible  <bruno@clisp.org>
2697
2698         * modules/xvasprintf-posix: New file.
2699         Suggested by Eric Blake.
2700
2701 2007-10-30  Bruno Haible  <bruno@clisp.org>
2702
2703         * modules/xprintf-posix-tests: New file.
2704         * tests/test-xprintf-posix.sh: New file.
2705         * tests/test-xprintf-posix.c: New file.
2706         * tests/test-xfprintf-posix.c: New file.
2707
2708         * modules/xprintf-posix: New file.
2709
2710 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2711
2712         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
2713         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
2714         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
2715
2716 2007-10-29  Bruno Haible  <bruno@clisp.org>
2717
2718         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
2719         contain the special marker '_cv_'.
2720         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
2721         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
2722         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
2723         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
2724         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
2725         Reported by Ralf Wildenhues.
2726
2727 2007-10-29  Bruno Haible  <bruno@clisp.org>
2728
2729         * gnulib-tool (func_import): When --lgpl is not specified, set
2730         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
2731         GPLv3.
2732         Reported by Simon Josefsson.
2733
2734 2007-10-28  Bruno Haible  <bruno@clisp.org>
2735
2736         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
2737         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
2738         HAVE_DECL_ISFINITE.
2739         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
2740         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
2741         HAVE_DECL_ISFINITE.
2742
2743 2007-10-28  Bruno Haible  <bruno@clisp.org>
2744
2745         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
2746         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
2747
2748 2007-10-28  Bruno Haible  <bruno@clisp.org>
2749
2750         Fix link errors with Sun C 5.0 on Solaris 10.
2751         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
2752         function is declared but not present in the compiler's libm.
2753         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
2754         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
2755         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
2756         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
2757         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
2758         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
2759         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
2760         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
2761         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
2762         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
2763         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
2764         HAVE_DECL_FLOORL.
2765
2766 2007-10-28  Bruno Haible  <bruno@clisp.org>
2767
2768         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
2769         gl_FUNC_FLOORL. Cache the result.
2770         (gl_FUNC_FLOORL): Use it.
2771         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
2772         gl_FUNC_CEILL. Cache the result.
2773         (gl_FUNC_CEILL): Use it.
2774
2775         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
2776         gl_FUNC_FLOOR. Cache the result.
2777         (gl_FUNC_FLOOR): Use it.
2778         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
2779         gl_FUNC_CEIL. Cache the result.
2780         (gl_FUNC_CEIL): Use it.
2781
2782         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
2783         gl_FUNC_FLOORF. Cache the result.
2784         (gl_FUNC_FLOORF): Use it.
2785         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
2786         gl_FUNC_CEILF. Cache the result.
2787         (gl_FUNC_CEILF): Use it.
2788
2789 2007-10-28  Bruno Haible  <bruno@clisp.org>
2790
2791         * gnulib-tool: Allow specifying the LGPL version number through
2792         --lgpl=2 or --lgpl=3.
2793         (func_usage): Document --lgpl with argument.
2794         Handle --lgpl=... arguments.
2795         (func_import): Recognize also gl_LGPL calls with an argument. When
2796         --lgpl=2 is used and the module's license is just LGPL, report an
2797         error. Set sed_transform_lib_file according to the lgpl variable. In
2798         the generated files, use --lgpl or gl_LGPL invocations with argument,
2799         if necessary.
2800         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
2801         an LGPv2+ license.
2802         * doc/gnulib-tool.texi (Modified imports): Update explanation of
2803         gl_LGPL macro.
2804
2805 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2806             Bruno Haible  <bruno@clisp.org>
2807
2808         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
2809         (u16_uctomb_aux): Likewise.
2810         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
2811         !HAVE_INLINE.
2812         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
2813
2814 2007-10-28  Bruno Haible  <bruno@clisp.org>
2815
2816         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
2817         Invoke AM_GETTEXT_OPTION if it exists.
2818         * modules/vasprintf: Likewise.
2819         * modules/verror: Likewise.
2820         * modules/xprintf: Likewise.
2821         * modules/xvasprintf: Likewise.
2822
2823 2007-10-27  Ben Pfaff  <blp@gnu.org>
2824
2825         * lib/math.in.h: Define isfinite macro and prototypes for
2826         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
2827         implementations.
2828         * m4/math_h.m4: New substitutions for isfinite module.
2829         * lib/isfinite.c: New file.
2830         * m4/isfinite.m4: New file.
2831         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
2832         * modules/isfinite: New file.
2833         * modules/isfinite-tests: New file.
2834         * tests/tests-isfinite.c: New file.
2835         * doc/functions/isfinite.texi: Mention isfinite module.
2836         * MODULES.html.sh: Mention new module.
2837
2838 2007-10-27  Ben Pfaff  <blp@gnu.org>
2839
2840         Ralf Wildenhues reported that Tru64 4.0D declares the round
2841         functions but does not have definitions.
2842         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
2843         cannot be found in any library, set the output variable to
2844         "missing" instead of "".
2845         * m4/round.m4: Also use our substitute if we cannot find round in
2846         any library, even if it is declared.
2847         * m4/roundf.m4: Likewise for roundf.
2848         * m4/roundl.m4: Likewise for roundl.
2849         * lib/math.in.h: Undefine roundf, round, roundl before defining
2850         their replacements, to allow for hypothetical systems where these
2851         may be defined as macros but not available in libraries.
2852
2853 2007-10-27  Bruno Haible  <bruno@clisp.org>
2854
2855         * doc/gnulib.texi: Invoke @firstparagraphindent.
2856         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
2857         changes in gnulib.
2858         (Source changes): New section.
2859
2860 2007-10-26  Bruno Haible  <bruno@clisp.org>
2861
2862         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
2863         borrowed from autoconf.
2864
2865 2007-10-26  Bruno Haible  <bruno@clisp.org>
2866
2867         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
2868         strerror returned the empty string. Needed on HP-UX 11.00.
2869
2870 2007-10-24  Micah Cowan  <micah@cowan.name>
2871
2872         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
2873         * build-aux/bootstrap: Remove support for now-unnecessary option,
2874         --cvs-user, and envvars CVS_USER, CVS_RSH.
2875
2876 2007-10-24  Jim Meyering  <meyering@redhat.com>
2877
2878         Avoid diagnostics from sha1sum when there is no cached checksum.
2879         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
2880         if the po.s1 file hasn't been created yet.
2881
2882         * build-aux/bootstrap: Sync from coreutils:
2883         2007-10-24  Jim Meyering  <meyering@redhat.com>
2884         Get gnulib from the git repository, not from an obsolete cvs one.
2885         * build-aux/bootstrap: Suggestion from Micah Cowan.
2886         2007-10-04  Jim Meyering  <jim@meyering.net>
2887         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
2888         (update_po_files): Work also when there are no .po files in po/.
2889
2890 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2891
2892         * README: Append ".git" to git and cg examples.
2893         Problem reported by Benoit Sigoure.
2894
2895 2007-10-23  Micah Cowan  <micah@cowan.name>
2896
2897         * users.txt: Add wget.
2898
2899 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2900
2901         Fix linking of some unistdio tests on FreeBSD.
2902         * modules/unistdio/u16-vsnprintf-tests
2903         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
2904         * modules/unistdio/u16-vsprintf-tests
2905         (test_u16_vsnprintf1_LDADD): Likewise.
2906         * modules/unistdio/u32-vsnprintf-tests
2907         (test_u32_vsnprintf1_LDADD): Likewise.
2908         * modules/unistdio/u32-vsprintf-tests
2909         (test_u32_vsprintf1_LDADD): Likewise.
2910         * modules/unistdio/u8-vsnprintf-tests
2911         (test_u8_vsnprintf1_LDADD): Likewise.
2912         * modules/unistdio/u8-vsprintf-tests
2913         (test_u8_vsprintf1_LDADD): Likewise.
2914         * modules/unistdio/ulc-vsnprintf-tests
2915         (test_ulc_vsnprintf1_LDADD): Likewise.
2916         * modules/unistdio/ulc-vsprintf-tests
2917         (test_ulc_vsprintf1_LDADD): Likewise.
2918
2919         Fix linking of some uniconv tests on FreeBSD.
2920         * modules/uniconv/u16-conv-from-enc-tests
2921         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
2922         * modules/uniconv/u16-conv-to-enc-tests
2923         (test_u16_conv_to_enc_LDADD): Likewise.
2924         * modules/uniconv/u16-strconv-from-enc-tests
2925         (test_u16_strconv_from_enc_LDADD): Likewise.
2926         * modules/uniconv/u16-strconv-to-enc-tests
2927         (test_u16_strconv_to_enc_LDADD): Likewise.
2928         * modules/uniconv/u32-conv-from-enc-tests
2929         (test_u32_conv_from_enc_LDADD): Likewise.
2930         * modules/uniconv/u32-conv-to-enc-tests
2931         (test_u32_conv_to_enc_LDADD): Likewise.
2932         * modules/uniconv/u32-strconv-from-enc-tests
2933         (test_u32_strconv_from_enc_LDADD): Likewise.
2934         * modules/uniconv/u32-strconv-to-enc-tests
2935         (test_u32_strconv_to_enc_LDADD): Likewise.
2936         * modules/uniconv/u8-conv-from-enc-tests
2937         (test_u8_conv_from_enc_LDADD): Likewise.
2938         * modules/uniconv/u8-conv-to-enc-tests
2939         (test_u8_conv_to_enc_LDADD): Likewise.
2940         * modules/uniconv/u8-strconv-from-enc-tests
2941         (test_u8_strconv_from_enc_LDADD): Likewise.
2942         * modules/uniconv/u8-strconv-to-enc-tests
2943         (test_u8_strconv_to_enc_LDADD): Likewise.
2944
2945 2007-10-22  Bruno Haible  <bruno@clisp.org>
2946
2947         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
2948         size.
2949
2950 2007-10-22  Eric Blake  <ebb9@byu.net>
2951
2952         Tweak x*printf documentation.
2953         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
2954         variable name and comments.
2955         Suggested by Bruno Haible.
2956
2957 2007-10-22  Bruno Haible  <bruno@clisp.org>
2958
2959         * lib/acl.c (copy_acl): Fix file name in comment.
2960
2961 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
2962
2963         Fix Tru64 problem with stdbool.h.
2964         * lib/stdbool.in.h (false, true):
2965         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
2966         Don't declare as an enum in this situation; it runs afoul of Tru64.
2967         Problem reported by Steven M. Schweda in
2968         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
2969
2970 2007-10-22  Eric Blake  <ebb9@byu.net>
2971
2972         Also wrap vf?printf.
2973         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
2974         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
2975         (xvprintf, xvfprintf): New functions.
2976
2977 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2978
2979         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
2980         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
2981
2982         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
2983         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
2984
2985 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
2986
2987         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
2988         by Bruno Haible.
2989
2990 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2991
2992         * lib/getloadavg.c
2993         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
2994         Undef `sys' after including sys/table.h, for Tru64 4.0D.
2995
2996         * tests/test-i-ring.c: Work for C89.
2997
2998 2007-10-22  Bruno Haible  <bruno@clisp.org>
2999
3000         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
3001         -1u, in preprocessor expression, so that we don't test for the bug
3002         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
3003         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
3004
3005 2007-10-22  Eric Blake  <ebb9@byu.net>
3006
3007         * tests/test-yesno.sh: Silence stderr during test.
3008
3009 2007-10-22  Simon Josefsson  <simon@josefsson.org>
3010
3011         * modules/crypto/gc-camellia: New file.
3012
3013         * m4/gc-camellia.m4: New file.
3014
3015         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
3016
3017         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
3018
3019 2007-10-22  Simon Josefsson  <simon@josefsson.org>
3020
3021         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
3022         --help to stdout.  Reported by sms@antinode.org (Steven
3023         M. Schweda).
3024
3025 2007-10-22  Simon Josefsson  <simon@josefsson.org>
3026
3027         * users.txt: Fix link to libksba.
3028
3029 2007-10-21  Ben Pfaff  <blp@gnu.org>
3030
3031         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
3032         round.c roundf implementation that depends on floorf and ceilf to
3033         be tested unconditionally.
3034
3035 2007-10-21  Ben Pfaff  <blp@gnu.org>
3036
3037         * m4/check-libm-func.m4: Removed.
3038         * m4/check-math-lib.m4: New file.
3039         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
3040         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
3041         definition and lack of AC_LIBOBJ([roundf]).
3042         * m4/roundl.m4: Ditto, and similarly for roundl.
3043         * modules/round: Reference new m4 file.
3044         * modules/roundf: Ditto.
3045         * modules/roundl: Ditto.
3046         * tests/test-round2.c (main): Use ROUND instead of round.
3047         Bug report from Bruno Haible.
3048
3049 2007-10-21  Bruno Haible  <bruno@clisp.org>
3050
3051         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
3052         context.
3053
3054 2007-10-21  Bruno Haible  <bruno@clisp.org>
3055
3056         * tests/test-wcwidth.c (main): Allow negative result for some control
3057         characters.
3058
3059         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
3060         Needed on OSF/1 5.1.
3061
3062 2007-10-21  Bruno Haible  <bruno@clisp.org>
3063
3064         * tests/test-floorf1.c: Include isnanf.h.
3065         (main): Use isnanf() instead of isnan().
3066         * tests/test-ceilf1.c: Include isnanf.h.
3067         (main): Use isnanf() instead of isnan().
3068         * tests/test-truncf1.c: Include isnanf.h.
3069         (main): Use isnanf() instead of isnan().
3070         * tests/test-roundf1.c: Include isnanf.h.
3071         (main): Use isnanf() instead of isnan().
3072
3073 2007-10-21  Eric Blake  <ebb9@byu.net>
3074
3075         * users.txt: Update URL for m4.
3076
3077 2007-10-21  Bruno Haible  <bruno@clisp.org>
3078
3079         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
3080
3081 2007-10-21  Bruno Haible  <bruno@clisp.org>
3082
3083         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
3084         Git's management files if the CVS files are not present.
3085
3086 2007-10-20  Bruno Haible  <bruno@clisp.org>
3087
3088         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
3089         gcc-3.4.x.
3090
3091 2007-10-20  Ben Pfaff  <blp@gnu.org>
3092
3093         * lib/math.in.h: Declare round, roundf, roundl if we are providing
3094         implementations.
3095         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
3096         * lib/round.c: New file.
3097         * lib/roundf.c: New file.
3098         * lib/roundl.c: New file.
3099         * m4/round.m4: New file.
3100         * m4/roundf.m4: New file.
3101         * m4/roundl.m4: New file.
3102         * m4/check-libm-func-m4: New file.
3103         * modules/math: Replace round, roundf, roundl related @VARS@ in
3104         math.in.h.
3105         * modules/round: New file.
3106         * modules/round-tests: New file.
3107         * modules/roundf: New file.
3108         * modules/roundf-tests: New file.
3109         * modules/roundl: New file.
3110         * modules/roundl-tests: New file.
3111         * tests/test-round1.c: New file.
3112         * tests/test-round2.c: New file.
3113         * tests/test-roundf1.c: New file.
3114         * tests/test-roundf2.c: New file.
3115         * tests/test-roundl.c: New file.
3116         * doc/functions/round.texi: Mention round module.
3117         * doc/functions/roundf.texi: Mention roundf module.
3118         * doc/functions/roundl.texi: Mention roundl module.
3119         * MODULES.html.sh: Mention new modules.
3120         Thanks to Bruno Haible for suggestions.
3121
3122 2007-10-20  Jim Meyering  <meyering@redhat.com>
3123
3124         * lib/xprintf.c: Include <config.h> unconditionally.
3125
3126         Change xprintf's license to GPL.
3127         * modules/xprintf (License): s/LGPL/GPL/, since this module
3128         depends on modules (exit and exitfail) which are GPL.
3129         Suggestion from Bruno Haible.
3130
3131         xprintf fixes.
3132         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
3133         Use a clearer diagnostic.
3134         Patch from Bruno Haible.
3135
3136 2007-10-20  Bruno Haible  <bruno@clisp.org>
3137
3138         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
3139         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
3140         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
3141
3142 2007-10-20  Bruno Haible  <bruno@clisp.org>
3143
3144         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
3145         precision in the comparison result > x - 1 or similar.
3146         * tests/test-ceilf2.c (correct_result_p): Likewise.
3147         * tests/test-truncf2.c (correct_result_p): Likewise.
3148         * tests/test-trunc2.c (correct_result_p): Likewise.
3149         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
3150
3151 2007-10-20  Bruno Haible  <bruno@clisp.org>
3152
3153         * modules/ceil: New file.
3154         * m4/ceil.m4: New file.
3155         * doc/functions/ceil.texi: Mention the 'ceil' module.
3156
3157 2007-10-20  Bruno Haible  <bruno@clisp.org>
3158
3159         * modules/floor: New file.
3160         * m4/floor.m4: New file.
3161         * doc/functions/floor.texi: Mention the 'floor' module.
3162
3163 2007-10-20  Bruno Haible  <bruno@clisp.org>
3164
3165         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
3166         of %a.
3167         * modules/floorf-tests (Depends-on): Likewise.
3168         * modules/truncf-tests (Depends-on): Likewise.
3169         * modules/trunc-tests (Depends-on): Likewise.
3170         Reported by Ben Pfaff.
3171
3172 2007-10-19  Jim Meyering  <meyering@redhat.com>
3173
3174         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
3175         Don't bother testing specific errno values.  Just test ferror.
3176
3177         New module: xprintf
3178         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
3179
3180 2007-10-19  Bruno Haible  <bruno@clisp.org>
3181
3182         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
3183         syntax.
3184         * modules/javaexec (Makefile.am): Likewise.
3185         * modules/relocatable-prog (Makefile.am): Likewise.
3186         Suggested by Jim Meyering.
3187
3188 2007-10-18  Bruno Haible  <bruno@clisp.org>
3189
3190         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
3191         Reported by Jim Meyering.
3192
3193 2007-10-18  Eric Blake  <ebb9@byu.net>
3194
3195         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
3196
3197 2007-10-18  Bruno Haible  <bruno@clisp.org>
3198
3199         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
3200         the format string into writable memory. Needed in Fortify conditions.
3201
3202 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
3203             Bruno Haible  <bruno@clisp.org>
3204
3205         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
3206         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
3207         * modules/trim (Depends-on): Add mbchar.
3208         (configure.ac): Add gl_FUNC_MBRTOWC.
3209         (Makefile.am): Augment lib_SOURCES.
3210
3211 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
3212
3213         Modify glob.c to use fstatat and dirfd, to simplify it.
3214         Suggested by Eric Blake.
3215         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
3216         Don't include <stdbool.h>; not used.
3217         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
3218         (link_exists_p): Simplify implementation, since we can now assume
3219         dirfd and fstatat.
3220         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
3221
3222 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3223
3224         * gnulib-tool (func_get_dependencies): Fix sed script to
3225         match only tests.
3226
3227 2007-10-17  Bruno Haible  <bruno@clisp.org>
3228
3229         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
3230         allow locale names without encoding suffix.
3231         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
3232         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
3233
3234 2007-10-16  Bruno Haible  <bruno@clisp.org>
3235
3236         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
3237         * lib/getgroups.c (getgroups): Likewise.
3238         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
3239
3240 2007-10-16  Bruno Haible  <bruno@clisp.org>
3241
3242         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
3243         * modules/malloc-posix (License): Likewise.
3244         * modules/realloc-posix (License): Likewise.
3245         * modules/calloc-posix (License): Likewise.
3246         * modules/intprops (License): Change from GPL to LGPL, with
3247         Paul Eggert's approval.
3248
3249 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
3250
3251         Merge glibc changes into lib/glob.c.
3252
3253         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
3254         2007-10-15 04:59:03 UTC.  Here are the changes:
3255
3256         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
3257
3258         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
3259
3260         * lib/glob.c: Add some branch prediction throughout.
3261
3262         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
3263
3264         [BZ #5103]
3265         * lib/glob.c (glob): Recognize patterns starting \/.
3266
3267         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
3268
3269         [BZ #3996]
3270         * lib/glob.c (attribute_hidden): Define if not defined.
3271         (glob): Unescape dirname, filename or username when needed and not
3272         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
3273         is NULL.  Handle unescaped [ in pattern without closing ].
3274         Don't pass GLOB_CHECK down to recursive glob for directories.
3275         (__glob_pattern_type): New function.
3276         (__glob_pattern_p): Implement using __glob_pattern_type.
3277         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
3278         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
3279         Remove unreachable code.
3280
3281         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
3282
3283         * lib/glob.c (glob_in_dir): Add some comments and asserts to
3284         explain why there are no leaks.
3285
3286         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
3287
3288         [BZ #3253]
3289         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
3290         time, rather allocate increasingly bigger arrays of pointers, if
3291         possible with alloca, if too large with malloc.
3292
3293 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
3294
3295         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
3296         Problem reported by H.Merijn Brand in
3297         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
3298         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
3299         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
3300
3301 2007-10-15  Bruno Haible  <bruno@clisp.org>
3302
3303         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
3304         with explicit rpl_ prefix.
3305         * lib/fopen.c (fopen): Likewise.
3306         * lib/freopen.c (freopen): Likewise.
3307         * lib/iconv.c (iconv): Likewise.
3308         * lib/iconv_close.c (iconv_close): Likewise.
3309
3310 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3311
3312         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
3313
3314 2007-10-15  Bruno Haible  <bruno@clisp.org>
3315
3316         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
3317         <stddef.h> instead of <stdlib.h> since we only need NULL.
3318         Reported by Ben Pfaff <blp@cs.stanford.edu>.
3319
3320 2007-10-15  Bruno Haible  <bruno@clisp.org>
3321
3322         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
3323         Replace paragraph talking about LIBOBJS.
3324         Reported by Colin Watson <cjwatson@debian.org>.
3325
3326 2007-10-15  Bruno Haible  <bruno@clisp.org>
3327
3328         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
3329         <stdlib.h> before using NULL.
3330
3331 2007-10-15  Simon Josefsson  <simon@josefsson.org>
3332
3333         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
3334         Reported by Albert Chin <china@thewrittenword.com>.
3335
3336 2007-10-14  Bruno Haible  <bruno@clisp.org>
3337
3338         * modules/iconv_open-utf-tests: New file.
3339         * tests/test-iconv-utf.c: New file.
3340
3341         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
3342         * modules/iconv_open-utf: New file.
3343         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
3344         (iconv, iconv_close): New declarations.
3345         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
3346         be defined.
3347         (iconv_open): Add special handling of conversion between UTF-8 and
3348         UTF-{16,32}{BE,LE}.
3349         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
3350         * lib/iconv_close.c: New file.
3351         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
3352         gl_FUNC_ICONV_OPEN.
3353         (gl_FUNC_ICONV_OPEN): Use it.
3354         (gl_FUNC_ICONV_OPEN_UTF): New macro.
3355         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
3356         and REPLACE_ICONV_UTF.
3357         * modules/iconv_open (Depends-on): Add c-strcase.
3358         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
3359         ICONV_CONST.
3360         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
3361
3362 2007-10-13  Albert Chin  <china@thewrittenword.com>
3363             Bruno Haible  <bruno@clisp.org>
3364
3365         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
3366         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
3367
3368 2007-10-13  Bruno Haible  <bruno@clisp.org>
3369
3370         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
3371         defined, use the ISO C99 inline semantics.
3372         * lib/argp.h (ARGP_EI): Likewise.
3373
3374 2007-10-13  Bruno Haible  <bruno@clisp.org>
3375
3376         Handle 'inline' change in gcc 4.3.0.
3377         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
3378         argp_fmtstream_write, argp_fmtstream_set_lmargin,
3379         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
3380         argp_fmtstream_point): Disable 'extern' declaration if the function
3381         definition is going to be provided inline.
3382         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
3383         semantics, not the ISO C99 inline semantics.
3384         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
3385         'extern' declaration if the function definition is going to be provided
3386         inline.
3387         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
3388         the GNU C inline semantics, not the ISO C99 inline semantics. With
3389         GCC 4.2, avoid a warning.
3390
3391 2007-10-13  Bruno Haible  <bruno@clisp.org>
3392
3393         * lib/freading.h (freading): Enable the use of __freading for
3394         glibc >= 2.7.
3395         * lib/freading.c (freading): Likewise.
3396
3397 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
3398
3399         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
3400         "warning: C99 inline functions are not supported; using GNU89".
3401
3402 2007-10-12  Bruno Haible  <bruno@clisp.org>
3403
3404         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
3405         of 2.
3406         * tests/test-ceilf2.c: New file.
3407         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
3408
3409         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
3410         * modules/ceilf-tests: Update.
3411
3412 2007-10-12  Bruno Haible  <bruno@clisp.org>
3413
3414         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
3415         of 2.
3416         * tests/test-floorf2.c: New file.
3417         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
3418
3419         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
3420         * modules/floorf-tests: Update.
3421
3422 2007-10-12  Bruno Haible  <bruno@clisp.org>
3423
3424         * tests/test-trunc2.c: New file.
3425         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
3426
3427         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
3428         * modules/trunc-tests: Update.
3429
3430 2007-10-12  Bruno Haible  <bruno@clisp.org>
3431
3432         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
3433         of 2.
3434         * tests/test-truncf2.c: New file.
3435         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
3436
3437         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
3438         * modules/truncf-tests: Update.
3439
3440 2007-10-11  Eric Blake  <ebb9@byu.net>
3441
3442         Don't claim strerror is broken on Interix.
3443         * doc/functions/strerror.texi (strerror): Known broken systems are
3444         now Solaris 8, and not Interix.
3445         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
3446         Interix on cross-compile.
3447         Reported by Martin Koeppe in
3448         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
3449
3450 2007-10-11  Bruno Haible  <bruno@clisp.org>
3451
3452         * modules/i-ring-tests: New file.
3453         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
3454         instead of assert.
3455
3456 2007-10-11  Bruno Haible  <bruno@clisp.org>
3457
3458         * modules/filenamecat-tests: New file.
3459         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
3460         * lib/filenamecat.c: Remove test code.
3461
3462 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
3463
3464         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
3465
3466         * lib/strerror.c: Include <string.h> always, to test interface,
3467         and to remove the need for the dummy.
3468         Include intprops.h to compute width instead of doing it ourselves
3469         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
3470         (strerror): Define it to return NULL if there's no system strerror.
3471         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
3472         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
3473         ancient pre-strerror Unix systems well any more.  Saying "unknown
3474         system error" is enough.
3475         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
3476         simpler strerror.c implementation.
3477         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
3478         Simplify the tests to reflect the simpler strerror implementation.
3479         * modules/strerror (Depends-on): Add intprops.
3480
3481 2007-10-09  Eric Blake  <ebb9@byu.net>
3482
3483         Silence test-fpending.
3484         * modules/fpending-tests (Files): Add wrapper script.
3485         * tests/test-fpending.sh: New file.
3486
3487 2007-10-09  Bruno Haible  <bruno@clisp.org>
3488
3489         * MODULES.html.sh (func_module): Don't create a hyperlink for
3490         function names like 'printf_frexp'.
3491         (Misc): Add crc, memxor.
3492         (Characteristics of floating types): New section.
3493         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
3494         isnanf-nolibm, signbit, trunc, truncf, truncl.
3495         (Enhancements for ISO C 99 functions): New subsection Input/output.
3496         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
3497         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
3498         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
3499         (Compatibility checks for POSIX:2001 functions): Add clock-time.
3500         (Enhancements for POSIX:2001 functions): Add chdir-long.
3501         (File system functions): Add areadlink, chdir-safer, read-file.
3502         Remove cycle-check.
3503         (File system as inode set): New section.
3504         (Date and time): Add gethrxtime.
3505         (Multithreading): Add openmp.
3506         (Internationalization functions): Add localename.
3507         (Unicode string functions): Add unistr/u*-mbsnlen.
3508         (Support for maintaining and releasing projects): Add git-version-gen.
3509         (Lone files): Remove directories.
3510
3511 2007-10-08  Ben Pfaff  <blp@gnu.org>
3512
3513         * lib/xmalloca.h: Fix typo in comment.
3514
3515 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
3516
3517         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
3518         when avoiding problems with integer overflow.  Use a portable test
3519         instead.
3520
3521 2007-10-08  Simon Josefsson  <simon@josefsson.org>
3522
3523         * modules/dummy (License): Change to LGPLv2+.
3524         * modules/float (License): Likewise
3525         * modules/realloc (License): Likewise
3526         * modules/stdlib (License): Likewise
3527
3528 2007-10-07  Bruno Haible  <bruno@clisp.org>
3529
3530         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
3531         * floor.c (TWO_MANT_DIG): Likewise.
3532         * ceil.c (TWO_MANT_DIG): Likewise.
3533         Reported by Ben Pfaff.
3534
3535 2007-10-07  Bruno Haible  <bruno@clisp.org>
3536
3537         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
3538         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
3539         * lib/frexp.c (FUNC): Likewise.
3540         * lib/printf-frexp.h (printf_frexp): Likewise.
3541         * lib/printf-frexpl.h (printf_frexpl): Likewise.
3542         * lib/printf-frexp.c (FUNC): Likewise.
3543         Suggested by Jim Meyering.
3544
3545 2007-10-07  Jim Meyering  <meyering@redhat.com>
3546
3547         Make xnanosleep's integer overflow test more robust.
3548         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
3549         so that gcc-4.3.0 doesn't optimize away this test for overflow.
3550
3551 2007-10-07  Bruno Haible  <bruno@clisp.org>
3552
3553         * NEWS: Mention the license change.
3554
3555         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
3556         abbreviations in the modules files.
3557
3558         Change copyright notice from GPLv2+ to GPLv3+.
3559         * README: Change copyright notice.
3560         * MODULES.html.sh: Likewise.
3561         * build-aux/bootstrap.conf: Likewise.
3562         * build-aux/config.libpath: Likewise.
3563         * build-aux/csharpcomp.sh.in: Likewise.
3564         * build-aux/csharpexec.sh.in: Likewise.
3565         * build-aux/install-reloc: Likewise.
3566         * build-aux/javacomp.sh.in: Likewise.
3567         * build-aux/javaexec.sh.in: Likewise.
3568         * build-aux/ldd.sh.in: Likewise.
3569         * build-aux/reloc-ldflags: Likewise.
3570         * build-aux/relocatable.sh.in: Likewise.
3571         * build-aux/x-to-1.in: Likewise.
3572         * check-module: Likewise.
3573         * config/srclistvars.sh: Likewise.
3574         * gnulib-tool: Likewise.
3575         * lib/acl-internal.h: Likewise.
3576         * lib/acl.c: Likewise.
3577         * lib/acl.h: Likewise.
3578         * lib/acl_entries.c: Likewise.
3579         * lib/areadlink-with-size.c: Likewise.
3580         * lib/areadlink.c: Likewise.
3581         * lib/areadlink.h: Likewise.
3582         * lib/argmatch.c: Likewise.
3583         * lib/argmatch.h: Likewise.
3584         * lib/argp-ba.c: Likewise.
3585         * lib/argp-eexst.c: Likewise.
3586         * lib/argp-fmtstream.c: Likewise.
3587         * lib/argp-fmtstream.h: Likewise.
3588         * lib/argp-fs-xinl.c: Likewise.
3589         * lib/argp-help.c: Likewise.
3590         * lib/argp-namefrob.h: Likewise.
3591         * lib/argp-parse.c: Likewise.
3592         * lib/argp-pin.c: Likewise.
3593         * lib/argp-pv.c: Likewise.
3594         * lib/argp-pvh.c: Likewise.
3595         * lib/argp-xinl.c: Likewise.
3596         * lib/argp.h: Likewise.
3597         * lib/at-func.c: Likewise.
3598         * lib/atanl.c: Likewise.
3599         * lib/backupfile.c: Likewise.
3600         * lib/backupfile.h: Likewise.
3601         * lib/basename.c: Likewise.
3602         * lib/binary-io.h: Likewise.
3603         * lib/byteswap.in.h: Likewise.
3604         * lib/c-stack.c: Likewise.
3605         * lib/c-stack.h: Likewise.
3606         * lib/c-strcasestr.c: Likewise.
3607         * lib/c-strcasestr.h: Likewise.
3608         * lib/c-strstr.c: Likewise.
3609         * lib/c-strstr.h: Likewise.
3610         * lib/c-strtod.c: Likewise.
3611         * lib/calloc.c: Likewise.
3612         * lib/canon-host.c: Likewise.
3613         * lib/canon-host.h: Likewise.
3614         * lib/canonicalize-lgpl.c: Likewise.
3615         * lib/canonicalize.c: Likewise.
3616         * lib/canonicalize.h: Likewise.
3617         * lib/ceil.c: Likewise.
3618         * lib/ceilf.c: Likewise.
3619         * lib/ceill.c: Likewise.
3620         * lib/chdir-long.c: Likewise.
3621         * lib/chdir-long.h: Likewise.
3622         * lib/chdir-safer.c: Likewise.
3623         * lib/chdir-safer.h: Likewise.
3624         * lib/chown.c: Likewise.
3625         * lib/classpath.c: Likewise.
3626         * lib/classpath.h: Likewise.
3627         * lib/clean-temp.c: Likewise.
3628         * lib/clean-temp.h: Likewise.
3629         * lib/cloexec.c: Likewise.
3630         * lib/close-stream.c: Likewise.
3631         * lib/closein.c: Likewise.
3632         * lib/closein.h: Likewise.
3633         * lib/closeout.c: Likewise.
3634         * lib/closeout.h: Likewise.
3635         * lib/concat-filename.c: Likewise.
3636         * lib/copy-file.c: Likewise.
3637         * lib/copy-file.h: Likewise.
3638         * lib/count-one-bits.h: Likewise.
3639         * lib/crc.c: Likewise.
3640         * lib/crc.h: Likewise.
3641         * lib/creat-safer.c: Likewise.
3642         * lib/csharpcomp.c: Likewise.
3643         * lib/csharpcomp.h: Likewise.
3644         * lib/csharpexec.c: Likewise.
3645         * lib/csharpexec.h: Likewise.
3646         * lib/cycle-check.c: Likewise.
3647         * lib/cycle-check.h: Likewise.
3648         * lib/diacrit.c: Likewise.
3649         * lib/diacrit.h: Likewise.
3650         * lib/diffseq.h: Likewise.
3651         * lib/dirchownmod.c: Likewise.
3652         * lib/dirent.in.h: Likewise.
3653         * lib/dirfd.c: Likewise.
3654         * lib/dirfd.h: Likewise.
3655         * lib/dirname.c: Likewise.
3656         * lib/dirname.h: Likewise.
3657         * lib/dummy.c: Likewise.
3658         * lib/dup-safer.c: Likewise.
3659         * lib/dup2.c: Likewise.
3660         * lib/eealloc.h: Likewise.
3661         * lib/error.c: Likewise.
3662         * lib/error.h: Likewise.
3663         * lib/euidaccess.c: Likewise.
3664         * lib/exclude.c: Likewise.
3665         * lib/exclude.h: Likewise.
3666         * lib/execute.c: Likewise.
3667         * lib/execute.h: Likewise.
3668         * lib/exitfail.c: Likewise.
3669         * lib/exitfail.h: Likewise.
3670         * lib/expl.c: Likewise.
3671         * lib/fatal-signal.c: Likewise.
3672         * lib/fatal-signal.h: Likewise.
3673         * lib/fbufmode.c: Likewise.
3674         * lib/fbufmode.h: Likewise.
3675         * lib/fchdir.c: Likewise.
3676         * lib/fchmodat.c: Likewise.
3677         * lib/fchownat.c: Likewise.
3678         * lib/fcntl--.h: Likewise.
3679         * lib/fcntl-safer.h: Likewise.
3680         * lib/fcntl.in.h: Likewise.
3681         * lib/fd-safer.c: Likewise.
3682         * lib/fflush.c: Likewise.
3683         * lib/file-has-acl.c: Likewise.
3684         * lib/file-set.c: Likewise.
3685         * lib/file-type.c: Likewise.
3686         * lib/file-type.h: Likewise.
3687         * lib/fileblocks.c: Likewise.
3688         * lib/filemode.c: Likewise.
3689         * lib/filemode.h: Likewise.
3690         * lib/filename.h: Likewise.
3691         * lib/filenamecat.c: Likewise.
3692         * lib/filenamecat.h: Likewise.
3693         * lib/findprog.c: Likewise.
3694         * lib/findprog.h: Likewise.
3695         * lib/float.in.h: Likewise.
3696         * lib/floor.c: Likewise.
3697         * lib/floorf.c: Likewise.
3698         * lib/floorl.c: Likewise.
3699         * lib/fopen-safer.c: Likewise.
3700         * lib/fopen.c: Likewise.
3701         * lib/fpending.c: Likewise.
3702         * lib/fpending.h: Likewise.
3703         * lib/fprintf.c: Likewise.
3704         * lib/fprintftime.h: Likewise.
3705         * lib/fpucw.h: Likewise.
3706         * lib/fpurge.c: Likewise.
3707         * lib/fpurge.h: Likewise.
3708         * lib/freadable.c: Likewise.
3709         * lib/freadable.h: Likewise.
3710         * lib/freadahead.c: Likewise.
3711         * lib/freadahead.h: Likewise.
3712         * lib/freading.c: Likewise.
3713         * lib/freading.h: Likewise.
3714         * lib/free.c: Likewise.
3715         * lib/freopen.c: Likewise.
3716         * lib/frexp.c: Likewise.
3717         * lib/frexpl.c: Likewise.
3718         * lib/fseek.c: Likewise.
3719         * lib/fseterr.c: Likewise.
3720         * lib/fseterr.h: Likewise.
3721         * lib/fstatat.c: Likewise.
3722         * lib/fstrcmp.c: Likewise.
3723         * lib/fstrcmp.h: Likewise.
3724         * lib/fsusage.c: Likewise.
3725         * lib/fsusage.h: Likewise.
3726         * lib/ftell.c: Likewise.
3727         * lib/ftello.c: Likewise.
3728         * lib/fts-cycle.c: Likewise.
3729         * lib/fts.c: Likewise.
3730         * lib/fts_.h: Likewise.
3731         * lib/full-read.c: Likewise.
3732         * lib/full-read.h: Likewise.
3733         * lib/full-write.c: Likewise.
3734         * lib/full-write.h: Likewise.
3735         * lib/fwritable.c: Likewise.
3736         * lib/fwritable.h: Likewise.
3737         * lib/fwriteerror.c: Likewise.
3738         * lib/fwriteerror.h: Likewise.
3739         * lib/fwriting.c: Likewise.
3740         * lib/fwriting.h: Likewise.
3741         * lib/gcd.c: Likewise.
3742         * lib/gcd.h: Likewise.
3743         * lib/getcwd.c: Likewise.
3744         * lib/getdate.h: Likewise.
3745         * lib/getdate.y: Likewise.
3746         * lib/getdomainname.c: Likewise.
3747         * lib/getdomainname.h: Likewise.
3748         * lib/getgroups.c: Likewise.
3749         * lib/gethostname.c: Likewise.
3750         * lib/gethrxtime.c: Likewise.
3751         * lib/gethrxtime.h: Likewise.
3752         * lib/getloadavg.c: Likewise.
3753         * lib/getndelim2.c: Likewise.
3754         * lib/getndelim2.h: Likewise.
3755         * lib/getnline.c: Likewise.
3756         * lib/getnline.h: Likewise.
3757         * lib/getopt.c: Likewise.
3758         * lib/getopt.in.h: Likewise.
3759         * lib/getopt1.c: Likewise.
3760         * lib/getopt_int.h: Likewise.
3761         * lib/getpagesize.h: Likewise.
3762         * lib/getsubopt.c: Likewise.
3763         * lib/gettime.c: Likewise.
3764         * lib/getugroups.c: Likewise.
3765         * lib/getugroups.h: Likewise.
3766         * lib/getusershell.c: Likewise.
3767         * lib/gl_anyavltree_list1.h: Likewise.
3768         * lib/gl_anyavltree_list2.h: Likewise.
3769         * lib/gl_anyhash_list1.h: Likewise.
3770         * lib/gl_anyhash_list2.h: Likewise.
3771         * lib/gl_anylinked_list1.h: Likewise.
3772         * lib/gl_anylinked_list2.h: Likewise.
3773         * lib/gl_anyrbtree_list1.h: Likewise.
3774         * lib/gl_anyrbtree_list2.h: Likewise.
3775         * lib/gl_anytree_list1.h: Likewise.
3776         * lib/gl_anytree_list2.h: Likewise.
3777         * lib/gl_anytree_oset.h: Likewise.
3778         * lib/gl_anytreehash_list1.h: Likewise.
3779         * lib/gl_anytreehash_list2.h: Likewise.
3780         * lib/gl_array_list.c: Likewise.
3781         * lib/gl_array_list.h: Likewise.
3782         * lib/gl_array_oset.c: Likewise.
3783         * lib/gl_array_oset.h: Likewise.
3784         * lib/gl_avltree_list.c: Likewise.
3785         * lib/gl_avltree_list.h: Likewise.
3786         * lib/gl_avltree_oset.c: Likewise.
3787         * lib/gl_avltree_oset.h: Likewise.
3788         * lib/gl_avltreehash_list.c: Likewise.
3789         * lib/gl_avltreehash_list.h: Likewise.
3790         * lib/gl_carray_list.c: Likewise.
3791         * lib/gl_carray_list.h: Likewise.
3792         * lib/gl_linked_list.c: Likewise.
3793         * lib/gl_linked_list.h: Likewise.
3794         * lib/gl_linkedhash_list.c: Likewise.
3795         * lib/gl_linkedhash_list.h: Likewise.
3796         * lib/gl_list.c: Likewise.
3797         * lib/gl_list.h: Likewise.
3798         * lib/gl_oset.c: Likewise.
3799         * lib/gl_oset.h: Likewise.
3800         * lib/gl_rbtree_list.c: Likewise.
3801         * lib/gl_rbtree_list.h: Likewise.
3802         * lib/gl_rbtree_oset.c: Likewise.
3803         * lib/gl_rbtree_oset.h: Likewise.
3804         * lib/gl_rbtreehash_list.c: Likewise.
3805         * lib/gl_rbtreehash_list.h: Likewise.
3806         * lib/gl_sublist.c: Likewise.
3807         * lib/gl_sublist.h: Likewise.
3808         * lib/group-member.c: Likewise.
3809         * lib/group-member.h: Likewise.
3810         * lib/hard-locale.c: Likewise.
3811         * lib/hard-locale.h: Likewise.
3812         * lib/hash-pjw.c: Likewise.
3813         * lib/hash-pjw.h: Likewise.
3814         * lib/hash-triple.c: Likewise.
3815         * lib/hash.c: Likewise.
3816         * lib/hash.h: Likewise.
3817         * lib/human.c: Likewise.
3818         * lib/human.h: Likewise.
3819         * lib/i-ring.c: Likewise.
3820         * lib/i-ring.h: Likewise.
3821         * lib/idcache.c: Likewise.
3822         * lib/imaxabs.c: Likewise.
3823         * lib/imaxdiv.c: Likewise.
3824         * lib/inet_pton.c: Likewise.
3825         * lib/inet_pton.h: Likewise.
3826         * lib/intprops.h: Likewise.
3827         * lib/inttostr.c: Likewise.
3828         * lib/inttostr.h: Likewise.
3829         * lib/inttypes.in.h: Likewise.
3830         * lib/isapipe.c: Likewise.
3831         * lib/isdir.c: Likewise.
3832         * lib/isnan.c: Likewise.
3833         * lib/isnan.h: Likewise.
3834         * lib/isnanf.c: Likewise.
3835         * lib/isnanf.h: Likewise.
3836         * lib/isnanl-nolibm.h: Likewise.
3837         * lib/isnanl.c: Likewise.
3838         * lib/isnanl.h: Likewise.
3839         * lib/javacomp.c: Likewise.
3840         * lib/javacomp.h: Likewise.
3841         * lib/javaexec.c: Likewise.
3842         * lib/javaexec.h: Likewise.
3843         * lib/javaversion.c: Likewise.
3844         * lib/javaversion.h: Likewise.
3845         * lib/javaversion.java: Likewise.
3846         * lib/lbrkprop.h: Likewise.
3847         * lib/lchmod.h: Likewise.
3848         * lib/lchown.c: Likewise.
3849         * lib/ldexpl.c: Likewise.
3850         * lib/linebreak.c: Likewise.
3851         * lib/linebreak.h: Likewise.
3852         * lib/linebuffer.c: Likewise.
3853         * lib/linebuffer.h: Likewise.
3854         * lib/locale.in.h: Likewise.
3855         * lib/logl.c: Likewise.
3856         * lib/long-options.c: Likewise.
3857         * lib/long-options.h: Likewise.
3858         * lib/lstat.c: Likewise.
3859         * lib/lstat.h: Likewise.
3860         * lib/math.in.h: Likewise.
3861         * lib/mbchar.c: Likewise.
3862         * lib/mbchar.h: Likewise.
3863         * lib/mbfile.h: Likewise.
3864         * lib/mbiter.h: Likewise.
3865         * lib/mbscasecmp.c: Likewise.
3866         * lib/mbscasestr.c: Likewise.
3867         * lib/mbschr.c: Likewise.
3868         * lib/mbscspn.c: Likewise.
3869         * lib/mbslen.c: Likewise.
3870         * lib/mbsncasecmp.c: Likewise.
3871         * lib/mbsnlen.c: Likewise.
3872         * lib/mbspbrk.c: Likewise.
3873         * lib/mbspcasecmp.c: Likewise.
3874         * lib/mbsrchr.c: Likewise.
3875         * lib/mbssep.c: Likewise.
3876         * lib/mbsspn.c: Likewise.
3877         * lib/mbsstr.c: Likewise.
3878         * lib/mbstok_r.c: Likewise.
3879         * lib/mbswidth.c: Likewise.
3880         * lib/mbswidth.h: Likewise.
3881         * lib/mbuiter.h: Likewise.
3882         * lib/memcasecmp.c: Likewise.
3883         * lib/memcasecmp.h: Likewise.
3884         * lib/memchr.c: Likewise.
3885         * lib/memcmp.c: Likewise.
3886         * lib/memcoll.c: Likewise.
3887         * lib/memcoll.h: Likewise.
3888         * lib/memcpy.c: Likewise.
3889         * lib/memrchr.c: Likewise.
3890         * lib/mkancesdirs.c: Likewise.
3891         * lib/mkdir-p.c: Likewise.
3892         * lib/mkdir-p.h: Likewise.
3893         * lib/mkdir.c: Likewise.
3894         * lib/mkdirat.c: Likewise.
3895         * lib/mkdtemp.c: Likewise.
3896         * lib/mkstemp-safer.c: Likewise.
3897         * lib/mkstemp.c: Likewise.
3898         * lib/modechange.c: Likewise.
3899         * lib/modechange.h: Likewise.
3900         * lib/mountlist.c: Likewise.
3901         * lib/mountlist.h: Likewise.
3902         * lib/mpsort.c: Likewise.
3903         * lib/nanosleep.c: Likewise.
3904         * lib/obstack.c: Likewise.
3905         * lib/obstack.h: Likewise.
3906         * lib/open-safer.c: Likewise.
3907         * lib/open.c: Likewise.
3908         * lib/openat-die.c: Likewise.
3909         * lib/openat-priv.h: Likewise.
3910         * lib/openat-proc.c: Likewise.
3911         * lib/openat.c: Likewise.
3912         * lib/openat.h: Likewise.
3913         * lib/pagealign_alloc.c: Likewise.
3914         * lib/pagealign_alloc.h: Likewise.
3915         * lib/physmem.c: Likewise.
3916         * lib/physmem.h: Likewise.
3917         * lib/pipe-safer.c: Likewise.
3918         * lib/pipe.c: Likewise.
3919         * lib/pipe.h: Likewise.
3920         * lib/posixtm.c: Likewise.
3921         * lib/posixtm.h: Likewise.
3922         * lib/posixver.c: Likewise.
3923         * lib/printf-frexp.c: Likewise.
3924         * lib/printf-frexp.h: Likewise.
3925         * lib/printf-frexpl.c: Likewise.
3926         * lib/printf-frexpl.h: Likewise.
3927         * lib/printf.c: Likewise.
3928         * lib/progname.c: Likewise.
3929         * lib/progname.h: Likewise.
3930         * lib/progreloc.c: Likewise.
3931         * lib/putenv.c: Likewise.
3932         * lib/quote.c: Likewise.
3933         * lib/quote.h: Likewise.
3934         * lib/quotearg.c: Likewise.
3935         * lib/quotearg.h: Likewise.
3936         * lib/raise.c: Likewise.
3937         * lib/readline.c: Likewise.
3938         * lib/readline.h: Likewise.
3939         * lib/readlink.c: Likewise.
3940         * lib/readtokens.c: Likewise.
3941         * lib/readtokens.h: Likewise.
3942         * lib/readtokens0.c: Likewise.
3943         * lib/readtokens0.h: Likewise.
3944         * lib/readutmp.c: Likewise.
3945         * lib/readutmp.h: Likewise.
3946         * lib/realloc.c: Likewise.
3947         * lib/relocwrapper.c: Likewise.
3948         * lib/rename-dest-slash.c: Likewise.
3949         * lib/rename.c: Likewise.
3950         * lib/rmdir.c: Likewise.
3951         * lib/rpmatch.c: Likewise.
3952         * lib/safe-read.c: Likewise.
3953         * lib/safe-read.h: Likewise.
3954         * lib/safe-write.c: Likewise.
3955         * lib/safe-write.h: Likewise.
3956         * lib/same-inode.h: Likewise.
3957         * lib/same.c: Likewise.
3958         * lib/same.h: Likewise.
3959         * lib/save-cwd.c: Likewise.
3960         * lib/save-cwd.h: Likewise.
3961         * lib/savedir.c: Likewise.
3962         * lib/savedir.h: Likewise.
3963         * lib/savewd.c: Likewise.
3964         * lib/savewd.h: Likewise.
3965         * lib/search.in.h: Likewise.
3966         * lib/setenv.c: Likewise.
3967         * lib/setenv.h: Likewise.
3968         * lib/settime.c: Likewise.
3969         * lib/sh-quote.c: Likewise.
3970         * lib/sh-quote.h: Likewise.
3971         * lib/sig2str.c: Likewise.
3972         * lib/sig2str.h: Likewise.
3973         * lib/signal.in.h: Likewise.
3974         * lib/signbitd.c: Likewise.
3975         * lib/signbitf.c: Likewise.
3976         * lib/signbitl.c: Likewise.
3977         * lib/sigprocmask.c: Likewise.
3978         * lib/sincosl.c: Likewise.
3979         * lib/sleep.c: Likewise.
3980         * lib/sprintf.c: Likewise.
3981         * lib/sqrtl.c: Likewise.
3982         * lib/stat-time.h: Likewise.
3983         * lib/stdio--.h: Likewise.
3984         * lib/stdio-safer.h: Likewise.
3985         * lib/stdlib--.h: Likewise.
3986         * lib/stdlib-safer.h: Likewise.
3987         * lib/stdlib.in.h: Likewise.
3988         * lib/stpcpy.c: Likewise.
3989         * lib/stpncpy.c: Likewise.
3990         * lib/strchrnul.c: Likewise.
3991         * lib/strcspn.c: Likewise.
3992         * lib/strerror.c: Likewise.
3993         * lib/strftime.c: Likewise.
3994         * lib/strftime.h: Likewise.
3995         * lib/striconveh.c: Likewise.
3996         * lib/striconveh.h: Likewise.
3997         * lib/striconveha.c: Likewise.
3998         * lib/striconveha.h: Likewise.
3999         * lib/stripslash.c: Likewise.
4000         * lib/strnlen1.c: Likewise.
4001         * lib/strnlen1.h: Likewise.
4002         * lib/strtod.c: Likewise.
4003         * lib/strtoimax.c: Likewise.
4004         * lib/strtok_r.c: Likewise.
4005         * lib/strtol.c: Likewise.
4006         * lib/strtoll.c: Likewise.
4007         * lib/strtoul.c: Likewise.
4008         * lib/strtoull.c: Likewise.
4009         * lib/sysexits.in.h: Likewise.
4010         * lib/tempname.c: Likewise.
4011         * lib/tempname.h: Likewise.
4012         * lib/timespec.h: Likewise.
4013         * lib/tls.c: Likewise.
4014         * lib/tls.h: Likewise.
4015         * lib/tmpdir.c: Likewise.
4016         * lib/tmpdir.h: Likewise.
4017         * lib/tmpfile-safer.c: Likewise.
4018         * lib/tmpfile.c: Likewise.
4019         * lib/trigl.c: Likewise.
4020         * lib/trigl.h: Likewise.
4021         * lib/trim.c: Likewise.
4022         * lib/trim.h: Likewise.
4023         * lib/trunc.c: Likewise.
4024         * lib/truncf.c: Likewise.
4025         * lib/truncl.c: Likewise.
4026         * lib/tsearch.c: Likewise.
4027         * lib/unicodeio.c: Likewise.
4028         * lib/unicodeio.h: Likewise.
4029         * lib/unistd--.h: Likewise.
4030         * lib/unistd-safer.h: Likewise.
4031         * lib/unistdio/ulc-fprintf.c: Likewise.
4032         * lib/unistdio/ulc-vfprintf.c: Likewise.
4033         * lib/unlinkdir.c: Likewise.
4034         * lib/unlinkdir.h: Likewise.
4035         * lib/unlocked-io.h: Likewise.
4036         * lib/unsetenv.c: Likewise.
4037         * lib/userspec.c: Likewise.
4038         * lib/utime.c: Likewise.
4039         * lib/utimecmp.c: Likewise.
4040         * lib/utimecmp.h: Likewise.
4041         * lib/utimens.c: Likewise.
4042         * lib/verify.h: Likewise.
4043         * lib/verror.c: Likewise.
4044         * lib/verror.h: Likewise.
4045         * lib/version-etc-fsf.c: Likewise.
4046         * lib/version-etc.c: Likewise.
4047         * lib/version-etc.h: Likewise.
4048         * lib/vfprintf.c: Likewise.
4049         * lib/vprintf.c: Likewise.
4050         * lib/vsprintf.c: Likewise.
4051         * lib/w32spawn.h: Likewise.
4052         * lib/wait-process.c: Likewise.
4053         * lib/wait-process.h: Likewise.
4054         * lib/wcwidth.c: Likewise.
4055         * lib/write-any-file.c: Likewise.
4056         * lib/xalloc-die.c: Likewise.
4057         * lib/xalloc.h: Likewise.
4058         * lib/xasprintf.c: Likewise.
4059         * lib/xgetcwd.c: Likewise.
4060         * lib/xgetcwd.h: Likewise.
4061         * lib/xgetdomainname.c: Likewise.
4062         * lib/xgetdomainname.h: Likewise.
4063         * lib/xgethostname.c: Likewise.
4064         * lib/xmalloc.c: Likewise.
4065         * lib/xmalloca.c: Likewise.
4066         * lib/xmalloca.h: Likewise.
4067         * lib/xmemcoll.c: Likewise.
4068         * lib/xnanosleep.c: Likewise.
4069         * lib/xreadlink.c: Likewise.
4070         * lib/xreadlink.h: Likewise.
4071         * lib/xsetenv.c: Likewise.
4072         * lib/xsetenv.h: Likewise.
4073         * lib/xstriconv.c: Likewise.
4074         * lib/xstriconv.h: Likewise.
4075         * lib/xstrndup.c: Likewise.
4076         * lib/xstrndup.h: Likewise.
4077         * lib/xstrtod.c: Likewise.
4078         * lib/xstrtod.h: Likewise.
4079         * lib/xstrtol-error.c: Likewise.
4080         * lib/xstrtol.c: Likewise.
4081         * lib/xstrtol.h: Likewise.
4082         * lib/xtime.h: Likewise.
4083         * lib/xvasprintf.c: Likewise.
4084         * lib/xvasprintf.h: Likewise.
4085         * lib/yesno.c: Likewise.
4086         * lib/yesno.h: Likewise.
4087         * posix-modules: Likewise.
4088         * tests/test-alloca-opt.c: Likewise.
4089         * tests/test-arcfour.c: Likewise.
4090         * tests/test-arctwo.c: Likewise.
4091         * tests/test-argmatch.c: Likewise.
4092         * tests/test-argp-2.sh: Likewise.
4093         * tests/test-argp.c: Likewise.
4094         * tests/test-arpa_inet.c: Likewise.
4095         * tests/test-array_list.c: Likewise.
4096         * tests/test-array_oset.c: Likewise.
4097         * tests/test-atexit.c: Likewise.
4098         * tests/test-avltree_list.c: Likewise.
4099         * tests/test-avltree_oset.c: Likewise.
4100         * tests/test-avltreehash_list.c: Likewise.
4101         * tests/test-base64.c: Likewise.
4102         * tests/test-binary-io.c: Likewise.
4103         * tests/test-byteswap.c: Likewise.
4104         * tests/test-c-ctype.c: Likewise.
4105         * tests/test-c-strcasecmp.c: Likewise.
4106         * tests/test-c-strcasestr.c: Likewise.
4107         * tests/test-c-strncasecmp.c: Likewise.
4108         * tests/test-c-strstr.c: Likewise.
4109         * tests/test-canonicalize-lgpl.c: Likewise.
4110         * tests/test-canonicalize.c: Likewise.
4111         * tests/test-carray_list.c: Likewise.
4112         * tests/test-ceilf.c: Likewise.
4113         * tests/test-ceill.c: Likewise.
4114         * tests/test-count-one-bits.c: Likewise.
4115         * tests/test-crc.c: Likewise.
4116         * tests/test-dirname.c: Likewise.
4117         * tests/test-fbufmode.c: Likewise.
4118         * tests/test-fcntl.c: Likewise.
4119         * tests/test-fflush.c: Likewise.
4120         * tests/test-floorf.c: Likewise.
4121         * tests/test-floorl.c: Likewise.
4122         * tests/test-fopen.c: Likewise.
4123         * tests/test-fprintf-posix.c: Likewise.
4124         * tests/test-fprintf-posix.h: Likewise.
4125         * tests/test-fpurge.c: Likewise.
4126         * tests/test-freadable.c: Likewise.
4127         * tests/test-freadahead.c: Likewise.
4128         * tests/test-freading.c: Likewise.
4129         * tests/test-freopen.c: Likewise.
4130         * tests/test-frexp.c: Likewise.
4131         * tests/test-frexpl.c: Likewise.
4132         * tests/test-fseek.c: Likewise.
4133         * tests/test-fseeko.c: Likewise.
4134         * tests/test-fseterr.c: Likewise.
4135         * tests/test-fstrcmp.c: Likewise.
4136         * tests/test-ftell.c: Likewise.
4137         * tests/test-ftello.c: Likewise.
4138         * tests/test-fwritable.c: Likewise.
4139         * tests/test-fwriting.c: Likewise.
4140         * tests/test-getaddrinfo.c: Likewise.
4141         * tests/test-getpass.c: Likewise.
4142         * tests/test-gettimeofday.c: Likewise.
4143         * tests/test-hmac-md5.c: Likewise.
4144         * tests/test-hmac-sha1.c: Likewise.
4145         * tests/test-iconv.c: Likewise.
4146         * tests/test-iconvme.c: Likewise.
4147         * tests/test-inttypes.c: Likewise.
4148         * tests/test-isnan.c: Likewise.
4149         * tests/test-isnanf.c: Likewise.
4150         * tests/test-isnanl-nolibm.c: Likewise.
4151         * tests/test-isnanl.c: Likewise.
4152         * tests/test-isnanl.h: Likewise.
4153         * tests/test-ldexpl.c: Likewise.
4154         * tests/test-linked_list.c: Likewise.
4155         * tests/test-linkedhash_list.c: Likewise.
4156         * tests/test-locale.c: Likewise.
4157         * tests/test-localename.c: Likewise.
4158         * tests/test-lock.c: Likewise.
4159         * tests/test-lseek.c: Likewise.
4160         * tests/test-malloca.c: Likewise.
4161         * tests/test-math.c: Likewise.
4162         * tests/test-mbscasecmp.c: Likewise.
4163         * tests/test-mbscasestr1.c: Likewise.
4164         * tests/test-mbscasestr2.c: Likewise.
4165         * tests/test-mbscasestr3.c: Likewise.
4166         * tests/test-mbscasestr4.c: Likewise.
4167         * tests/test-mbschr.c: Likewise.
4168         * tests/test-mbscspn.c: Likewise.
4169         * tests/test-mbsncasecmp.c: Likewise.
4170         * tests/test-mbspbrk.c: Likewise.
4171         * tests/test-mbspcasecmp.c: Likewise.
4172         * tests/test-mbsrchr.c: Likewise.
4173         * tests/test-mbsspn.c: Likewise.
4174         * tests/test-mbsstr1.c: Likewise.
4175         * tests/test-mbsstr2.c: Likewise.
4176         * tests/test-mbsstr3.c: Likewise.
4177         * tests/test-md5.c: Likewise.
4178         * tests/test-memmem.c: Likewise.
4179         * tests/test-netinet_in.c: Likewise.
4180         * tests/test-open.c: Likewise.
4181         * tests/test-printf-frexp.c: Likewise.
4182         * tests/test-printf-frexpl.c: Likewise.
4183         * tests/test-printf-posix.c: Likewise.
4184         * tests/test-printf-posix.h: Likewise.
4185         * tests/test-rbtree_list.c: Likewise.
4186         * tests/test-rbtree_oset.c: Likewise.
4187         * tests/test-rbtreehash_list.c: Likewise.
4188         * tests/test-read-file.c: Likewise.
4189         * tests/test-rijndael.c: Likewise.
4190         * tests/test-search.c: Likewise.
4191         * tests/test-signbit.c: Likewise.
4192         * tests/test-sleep.c: Likewise.
4193         * tests/test-snprintf-posix.c: Likewise.
4194         * tests/test-snprintf-posix.h: Likewise.
4195         * tests/test-snprintf.c: Likewise.
4196         * tests/test-sprintf-posix.c: Likewise.
4197         * tests/test-sprintf-posix.h: Likewise.
4198         * tests/test-stat-time.c: Likewise.
4199         * tests/test-stdbool.c: Likewise.
4200         * tests/test-stdint.c: Likewise.
4201         * tests/test-stdio.c: Likewise.
4202         * tests/test-stdlib.c: Likewise.
4203         * tests/test-stpncpy.c: Likewise.
4204         * tests/test-strcasestr.c: Likewise.
4205         * tests/test-striconv.c: Likewise.
4206         * tests/test-striconveh.c: Likewise.
4207         * tests/test-striconveha.c: Likewise.
4208         * tests/test-string.c: Likewise.
4209         * tests/test-sys_select.c: Likewise.
4210         * tests/test-sys_socket.c: Likewise.
4211         * tests/test-sys_stat.c: Likewise.
4212         * tests/test-sys_time.c: Likewise.
4213         * tests/test-sysexits.c: Likewise.
4214         * tests/test-time.c: Likewise.
4215         * tests/test-tls.c: Likewise.
4216         * tests/test-trunc.c: Likewise.
4217         * tests/test-truncf.c: Likewise.
4218         * tests/test-truncl.c: Likewise.
4219         * tests/test-unistd.c: Likewise.
4220         * tests/test-vasnprintf-posix.c: Likewise.
4221         * tests/test-vasnprintf-posix2.c: Likewise.
4222         * tests/test-vasnprintf.c: Likewise.
4223         * tests/test-vasprintf-posix.c: Likewise.
4224         * tests/test-vasprintf.c: Likewise.
4225         * tests/test-verify.c: Likewise.
4226         * tests/test-vfprintf-posix.c: Likewise.
4227         * tests/test-vprintf-posix.c: Likewise.
4228         * tests/test-vsnprintf-posix.c: Likewise.
4229         * tests/test-vsnprintf.c: Likewise.
4230         * tests/test-vsprintf-posix.c: Likewise.
4231         * tests/test-wchar.c: Likewise.
4232         * tests/test-wctype.c: Likewise.
4233         * tests/test-wcwidth.c: Likewise.
4234         * tests/test-xstrtol.c: Likewise.
4235         * tests/test-xvasprintf.c: Likewise.
4236         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
4237         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
4238         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
4239         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
4240         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
4241         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
4242         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
4243         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
4244         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
4245         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
4246         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
4247         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
4248         * tests/uniname/test-uninames.c: Likewise.
4249         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
4250         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
4251         * tests/unistdio/test-u16-printf1.h: Likewise.
4252         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
4253         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
4254         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
4255         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
4256         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
4257         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
4258         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
4259         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
4260         * tests/unistdio/test-u32-printf1.h: Likewise.
4261         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
4262         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
4263         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
4264         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
4265         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
4266         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
4267         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
4268         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
4269         * tests/unistdio/test-u8-printf1.h: Likewise.
4270         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
4271         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
4272         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
4273         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
4274         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
4275         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
4276         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
4277         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
4278         * tests/unistdio/test-ulc-printf1.h: Likewise.
4279         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
4280         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
4281         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
4282         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
4283         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
4284         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
4285         * tests/uniwidth/test-u16-strwidth.c: Likewise.
4286         * tests/uniwidth/test-u16-width.c: Likewise.
4287         * tests/uniwidth/test-u32-strwidth.c: Likewise.
4288         * tests/uniwidth/test-u32-width.c: Likewise.
4289         * tests/uniwidth/test-u8-strwidth.c: Likewise.
4290         * tests/uniwidth/test-u8-width.c: Likewise.
4291         * tests/uniwidth/test-uc_width.c: Likewise.
4292         * config/srclist-update: Likewise.
4293         (fixlicense): Update to GPLv3+.
4294
4295         Change copyright notice from LGPLv2.1+ to LGPLv3+.
4296         * tests/test-tsearch.c: Change copyright notice.
4297
4298         Change copyright notice from LGPLv2.0+ to LGPLv3+.
4299         * lib/c-strcaseeq.h: Change copyright notice.
4300         * lib/streq.h: Likewise.
4301         * lib/uniconv.h: Likewise.
4302         * lib/uniconv/u-conv-from-enc.h: Likewise.
4303         * lib/uniconv/u-conv-to-enc.h: Likewise.
4304         * lib/uniconv/u-strconv-from-enc.h: Likewise.
4305         * lib/uniconv/u-strconv-to-enc.h: Likewise.
4306         * lib/uniconv/u16-conv-from-enc.c: Likewise.
4307         * lib/uniconv/u16-conv-to-enc.c: Likewise.
4308         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
4309         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
4310         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
4311         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
4312         * lib/uniconv/u32-conv-from-enc.c: Likewise.
4313         * lib/uniconv/u32-conv-to-enc.c: Likewise.
4314         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
4315         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
4316         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
4317         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
4318         * lib/uniconv/u8-conv-from-enc.c: Likewise.
4319         * lib/uniconv/u8-conv-to-enc.c: Likewise.
4320         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
4321         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
4322         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
4323         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
4324         * lib/uniname.h: Likewise.
4325         * lib/uniname/uniname.c: Likewise.
4326         * lib/unistdio.h: Likewise.
4327         * lib/unistdio/u-asnprintf.h: Likewise.
4328         * lib/unistdio/u-asprintf.h: Likewise.
4329         * lib/unistdio/u-printf-args.c: Likewise.
4330         * lib/unistdio/u-printf-args.h: Likewise.
4331         * lib/unistdio/u-printf-parse.h: Likewise.
4332         * lib/unistdio/u-snprintf.h: Likewise.
4333         * lib/unistdio/u-sprintf.h: Likewise.
4334         * lib/unistdio/u-vasprintf.h: Likewise.
4335         * lib/unistdio/u-vsnprintf.h: Likewise.
4336         * lib/unistdio/u-vsprintf.h: Likewise.
4337         * lib/unistdio/u16-asnprintf.c: Likewise.
4338         * lib/unistdio/u16-asprintf.c: Likewise.
4339         * lib/unistdio/u16-printf-parse.c: Likewise.
4340         * lib/unistdio/u16-snprintf.c: Likewise.
4341         * lib/unistdio/u16-sprintf.c: Likewise.
4342         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
4343         * lib/unistdio/u16-u16-asprintf.c: Likewise.
4344         * lib/unistdio/u16-u16-snprintf.c: Likewise.
4345         * lib/unistdio/u16-u16-sprintf.c: Likewise.
4346         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
4347         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
4348         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
4349         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
4350         * lib/unistdio/u16-vasnprintf.c: Likewise.
4351         * lib/unistdio/u16-vasprintf.c: Likewise.
4352         * lib/unistdio/u16-vsnprintf.c: Likewise.
4353         * lib/unistdio/u16-vsprintf.c: Likewise.
4354         * lib/unistdio/u32-asnprintf.c: Likewise.
4355         * lib/unistdio/u32-asprintf.c: Likewise.
4356         * lib/unistdio/u32-printf-parse.c: Likewise.
4357         * lib/unistdio/u32-snprintf.c: Likewise.
4358         * lib/unistdio/u32-sprintf.c: Likewise.
4359         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
4360         * lib/unistdio/u32-u32-asprintf.c: Likewise.
4361         * lib/unistdio/u32-u32-snprintf.c: Likewise.
4362         * lib/unistdio/u32-u32-sprintf.c: Likewise.
4363         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
4364         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
4365         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
4366         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
4367         * lib/unistdio/u32-vasnprintf.c: Likewise.
4368         * lib/unistdio/u32-vasprintf.c: Likewise.
4369         * lib/unistdio/u32-vsnprintf.c: Likewise.
4370         * lib/unistdio/u32-vsprintf.c: Likewise.
4371         * lib/unistdio/u8-asnprintf.c: Likewise.
4372         * lib/unistdio/u8-asprintf.c: Likewise.
4373         * lib/unistdio/u8-printf-parse.c: Likewise.
4374         * lib/unistdio/u8-snprintf.c: Likewise.
4375         * lib/unistdio/u8-sprintf.c: Likewise.
4376         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
4377         * lib/unistdio/u8-u8-asprintf.c: Likewise.
4378         * lib/unistdio/u8-u8-snprintf.c: Likewise.
4379         * lib/unistdio/u8-u8-sprintf.c: Likewise.
4380         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
4381         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
4382         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
4383         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
4384         * lib/unistdio/u8-vasnprintf.c: Likewise.
4385         * lib/unistdio/u8-vasprintf.c: Likewise.
4386         * lib/unistdio/u8-vsnprintf.c: Likewise.
4387         * lib/unistdio/u8-vsprintf.c: Likewise.
4388         * lib/unistdio/ulc-asnprintf.c: Likewise.
4389         * lib/unistdio/ulc-asprintf.c: Likewise.
4390         * lib/unistdio/ulc-printf-parse.c: Likewise.
4391         * lib/unistdio/ulc-snprintf.c: Likewise.
4392         * lib/unistdio/ulc-sprintf.c: Likewise.
4393         * lib/unistdio/ulc-vasnprintf.c: Likewise.
4394         * lib/unistdio/ulc-vasprintf.c: Likewise.
4395         * lib/unistdio/ulc-vsnprintf.c: Likewise.
4396         * lib/unistdio/ulc-vsprintf.c: Likewise.
4397         * lib/unistr.h: Likewise.
4398         * lib/unistr/u-cpy-alloc.h: Likewise.
4399         * lib/unistr/u-cpy.h: Likewise.
4400         * lib/unistr/u-endswith.h: Likewise.
4401         * lib/unistr/u-move.h: Likewise.
4402         * lib/unistr/u-set.h: Likewise.
4403         * lib/unistr/u-startswith.h: Likewise.
4404         * lib/unistr/u-stpcpy.h: Likewise.
4405         * lib/unistr/u-stpncpy.h: Likewise.
4406         * lib/unistr/u-strcat.h: Likewise.
4407         * lib/unistr/u-strcpy.h: Likewise.
4408         * lib/unistr/u-strcspn.h: Likewise.
4409         * lib/unistr/u-strdup.h: Likewise.
4410         * lib/unistr/u-strlen.h: Likewise.
4411         * lib/unistr/u-strncat.h: Likewise.
4412         * lib/unistr/u-strncpy.h: Likewise.
4413         * lib/unistr/u-strnlen.h: Likewise.
4414         * lib/unistr/u-strpbrk.h: Likewise.
4415         * lib/unistr/u-strspn.h: Likewise.
4416         * lib/unistr/u-strstr.h: Likewise.
4417         * lib/unistr/u-strtok.h: Likewise.
4418         * lib/unistr/u16-check.c: Likewise.
4419         * lib/unistr/u16-chr.c: Likewise.
4420         * lib/unistr/u16-cmp.c: Likewise.
4421         * lib/unistr/u16-cpy-alloc.c: Likewise.
4422         * lib/unistr/u16-cpy.c: Likewise.
4423         * lib/unistr/u16-endswith.c: Likewise.
4424         * lib/unistr/u16-mblen.c: Likewise.
4425         * lib/unistr/u16-mbsnlen.c: Likewise.
4426         * lib/unistr/u16-mbtouc-aux.c: Likewise.
4427         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
4428         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
4429         * lib/unistr/u16-mbtouc.c: Likewise.
4430         * lib/unistr/u16-mbtoucr.c: Likewise.
4431         * lib/unistr/u16-move.c: Likewise.
4432         * lib/unistr/u16-next.c: Likewise.
4433         * lib/unistr/u16-prev.c: Likewise.
4434         * lib/unistr/u16-set.c: Likewise.
4435         * lib/unistr/u16-startswith.c: Likewise.
4436         * lib/unistr/u16-stpcpy.c: Likewise.
4437         * lib/unistr/u16-stpncpy.c: Likewise.
4438         * lib/unistr/u16-strcat.c: Likewise.
4439         * lib/unistr/u16-strchr.c: Likewise.
4440         * lib/unistr/u16-strcmp.c: Likewise.
4441         * lib/unistr/u16-strcpy.c: Likewise.
4442         * lib/unistr/u16-strcspn.c: Likewise.
4443         * lib/unistr/u16-strdup.c: Likewise.
4444         * lib/unistr/u16-strlen.c: Likewise.
4445         * lib/unistr/u16-strmblen.c: Likewise.
4446         * lib/unistr/u16-strmbtouc.c: Likewise.
4447         * lib/unistr/u16-strncat.c: Likewise.
4448         * lib/unistr/u16-strncmp.c: Likewise.
4449         * lib/unistr/u16-strncpy.c: Likewise.
4450         * lib/unistr/u16-strnlen.c: Likewise.
4451         * lib/unistr/u16-strpbrk.c: Likewise.
4452         * lib/unistr/u16-strrchr.c: Likewise.
4453         * lib/unistr/u16-strspn.c: Likewise.
4454         * lib/unistr/u16-strstr.c: Likewise.
4455         * lib/unistr/u16-strtok.c: Likewise.
4456         * lib/unistr/u16-to-u32.c: Likewise.
4457         * lib/unistr/u16-to-u8.c: Likewise.
4458         * lib/unistr/u16-uctomb-aux.c: Likewise.
4459         * lib/unistr/u16-uctomb.c: Likewise.
4460         * lib/unistr/u32-check.c: Likewise.
4461         * lib/unistr/u32-chr.c: Likewise.
4462         * lib/unistr/u32-cmp.c: Likewise.
4463         * lib/unistr/u32-cpy-alloc.c: Likewise.
4464         * lib/unistr/u32-cpy.c: Likewise.
4465         * lib/unistr/u32-endswith.c: Likewise.
4466         * lib/unistr/u32-mblen.c: Likewise.
4467         * lib/unistr/u32-mbsnlen.c: Likewise.
4468         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
4469         * lib/unistr/u32-mbtouc.c: Likewise.
4470         * lib/unistr/u32-mbtoucr.c: Likewise.
4471         * lib/unistr/u32-move.c: Likewise.
4472         * lib/unistr/u32-next.c: Likewise.
4473         * lib/unistr/u32-prev.c: Likewise.
4474         * lib/unistr/u32-set.c: Likewise.
4475         * lib/unistr/u32-startswith.c: Likewise.
4476         * lib/unistr/u32-stpcpy.c: Likewise.
4477         * lib/unistr/u32-stpncpy.c: Likewise.
4478         * lib/unistr/u32-strcat.c: Likewise.
4479         * lib/unistr/u32-strchr.c: Likewise.
4480         * lib/unistr/u32-strcmp.c: Likewise.
4481         * lib/unistr/u32-strcpy.c: Likewise.
4482         * lib/unistr/u32-strcspn.c: Likewise.
4483         * lib/unistr/u32-strdup.c: Likewise.
4484         * lib/unistr/u32-strlen.c: Likewise.
4485         * lib/unistr/u32-strmblen.c: Likewise.
4486         * lib/unistr/u32-strmbtouc.c: Likewise.
4487         * lib/unistr/u32-strncat.c: Likewise.
4488         * lib/unistr/u32-strncmp.c: Likewise.
4489         * lib/unistr/u32-strncpy.c: Likewise.
4490         * lib/unistr/u32-strnlen.c: Likewise.
4491         * lib/unistr/u32-strpbrk.c: Likewise.
4492         * lib/unistr/u32-strrchr.c: Likewise.
4493         * lib/unistr/u32-strspn.c: Likewise.
4494         * lib/unistr/u32-strstr.c: Likewise.
4495         * lib/unistr/u32-strtok.c: Likewise.
4496         * lib/unistr/u32-to-u16.c: Likewise.
4497         * lib/unistr/u32-to-u8.c: Likewise.
4498         * lib/unistr/u32-uctomb.c: Likewise.
4499         * lib/unistr/u8-check.c: Likewise.
4500         * lib/unistr/u8-chr.c: Likewise.
4501         * lib/unistr/u8-cmp.c: Likewise.
4502         * lib/unistr/u8-cpy-alloc.c: Likewise.
4503         * lib/unistr/u8-cpy.c: Likewise.
4504         * lib/unistr/u8-endswith.c: Likewise.
4505         * lib/unistr/u8-mblen.c: Likewise.
4506         * lib/unistr/u8-mbsnlen.c: Likewise.
4507         * lib/unistr/u8-mbtouc-aux.c: Likewise.
4508         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
4509         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
4510         * lib/unistr/u8-mbtouc.c: Likewise.
4511         * lib/unistr/u8-mbtoucr.c: Likewise.
4512         * lib/unistr/u8-move.c: Likewise.
4513         * lib/unistr/u8-next.c: Likewise.
4514         * lib/unistr/u8-prev.c: Likewise.
4515         * lib/unistr/u8-set.c: Likewise.
4516         * lib/unistr/u8-startswith.c: Likewise.
4517         * lib/unistr/u8-stpcpy.c: Likewise.
4518         * lib/unistr/u8-stpncpy.c: Likewise.
4519         * lib/unistr/u8-strcat.c: Likewise.
4520         * lib/unistr/u8-strchr.c: Likewise.
4521         * lib/unistr/u8-strcmp.c: Likewise.
4522         * lib/unistr/u8-strcpy.c: Likewise.
4523         * lib/unistr/u8-strcspn.c: Likewise.
4524         * lib/unistr/u8-strdup.c: Likewise.
4525         * lib/unistr/u8-strlen.c: Likewise.
4526         * lib/unistr/u8-strmblen.c: Likewise.
4527         * lib/unistr/u8-strmbtouc.c: Likewise.
4528         * lib/unistr/u8-strncat.c: Likewise.
4529         * lib/unistr/u8-strncmp.c: Likewise.
4530         * lib/unistr/u8-strncpy.c: Likewise.
4531         * lib/unistr/u8-strnlen.c: Likewise.
4532         * lib/unistr/u8-strpbrk.c: Likewise.
4533         * lib/unistr/u8-strrchr.c: Likewise.
4534         * lib/unistr/u8-strspn.c: Likewise.
4535         * lib/unistr/u8-strstr.c: Likewise.
4536         * lib/unistr/u8-strtok.c: Likewise.
4537         * lib/unistr/u8-to-u16.c: Likewise.
4538         * lib/unistr/u8-to-u32.c: Likewise.
4539         * lib/unistr/u8-uctomb-aux.c: Likewise.
4540         * lib/unistr/u8-uctomb.c: Likewise.
4541         * lib/unitypes.h: Likewise.
4542         * lib/uniwidth.h: Likewise.
4543         * lib/uniwidth/cjk.h: Likewise.
4544         * lib/uniwidth/u16-strwidth.c: Likewise.
4545         * lib/uniwidth/u16-width.c: Likewise.
4546         * lib/uniwidth/u32-strwidth.c: Likewise.
4547         * lib/uniwidth/u32-width.c: Likewise.
4548         * lib/uniwidth/u8-strwidth.c: Likewise.
4549         * lib/uniwidth/u8-width.c: Likewise.
4550         * lib/uniwidth/width.c: Likewise.
4551
4552 2007-10-07  Bruno Haible  <bruno@clisp.org>
4553
4554         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
4555         The file is still under LGPL (see modules/inttypes).
4556
4557 2007-10-06  Bruno Haible  <bruno@clisp.org>
4558
4559         * modules/trunc (Dependencies): Add 'extensions'.
4560         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
4561         Reported by Ben Pfaff <blp@gnu.org>.
4562
4563 2007-10-06  Bruno Haible  <bruno@clisp.org>
4564
4565         * modules/freopen-tests: New file.
4566         * tests/test-freopen.c: New file.
4567
4568         * modules/fopen-tests: New file.
4569         * tests/test-fopen.c: New file.
4570
4571         * modules/fopen: New file.
4572         * lib/fopen.c: New file.
4573         * m4/fopen.m4: New file.
4574         * modules/freopen: New file.
4575         * lib/freopen.c: New file.
4576         * m4/freopen.m4: New file.
4577         * lib/stdio.in.h (fopen, freopen): New declarations.
4578         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
4579         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
4580         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
4581         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
4582         * doc/functions/fopen.texi: Mention the 'fopen' module.
4583         * doc/functions/freopen.texi: Mention the 'freopen' module.
4584
4585 2007-10-06  Bruno Haible  <bruno@clisp.org>
4586
4587         * modules/open-tests: New file.
4588         * tests/test-open.c: New file.
4589
4590         * modules/open: New file.
4591         * lib/open.c: New file.
4592         * m4/open.m4: New file.
4593         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
4594         lib/open.c does.
4595         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
4596         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
4597         macros.
4598         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
4599         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
4600         REPLACE_OPEN.
4601         * doc/functions/open.texi: Mention the 'open' module.
4602
4603 2007-10-04  Bruno Haible  <bruno@clisp.org>
4604
4605         * modules/ceill-tests: New file.
4606         * tests/test-ceill.c: New file.
4607
4608         * modules/ceill: New file.
4609         * lib/ceill.c: Replace entire file.
4610         * m4/ceill.m4: New file.
4611         * lib/math.in.h (ceill): Replace declaration.
4612         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
4613         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
4614         * doc/functions/ceill.texi: Mention the 'ceill' module.
4615         * modules/mathl (Files): Remove lib/ceill.c.
4616         (Depends-on): Add ceill.
4617
4618 2007-10-04  Bruno Haible  <bruno@clisp.org>
4619
4620         * modules/ceilf-tests: New file.
4621         * tests/test-ceilf.c: New file.
4622
4623         * modules/ceilf: New file.
4624         * lib/ceil.c: New file.
4625         * lib/ceilf.c: New file.
4626         * m4/ceilf.m4: New file.
4627         * lib/math.in.h (ceilf): New declaration.
4628         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
4629         HAVE_DECL_CEILF.
4630         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
4631         HAVE_DECL_CEILF.
4632         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
4633
4634 2007-10-04  Bruno Haible  <bruno@clisp.org>
4635
4636         * modules/floorl-tests: New file.
4637         * tests/test-floorl.c: New file.
4638
4639         * modules/floorl: New file.
4640         * lib/floorl.c: Replace entire file.
4641         * m4/floorl.m4: New file.
4642         * lib/math.in.h (floorl): Replace declaration.
4643         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
4644         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
4645         * doc/functions/floorl.texi: Mention the 'floorl' module.
4646         * modules/mathl (Files): Remove lib/floorl.c.
4647         (Depends-on): Add floorl.
4648
4649 2007-10-04  Bruno Haible  <bruno@clisp.org>
4650
4651         * modules/floorf-tests: New file.
4652         * tests/test-floorf.c: New file.
4653
4654         * modules/floorf: New file.
4655         * lib/floor.c: New file.
4656         * lib/floorf.c: New file.
4657         * m4/floorf.m4: New file.
4658         * lib/math.in.h (floorf): New declaration.
4659         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
4660         HAVE_DECL_FLOORF.
4661         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
4662         HAVE_DECL_FLOORF.
4663         * doc/functions/floorf.texi: Mention the 'floorf' module.
4664
4665 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
4666             Bruno Haible  <bruno@clisp.org>
4667
4668         Advertise for the Git server instead of the CVS server.
4669         * doc/gnulib-intro.texi (Steady Development): Mention the Git
4670         repository instead of the CVS one.
4671         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
4672         about all VCS systems generically.
4673         * doc/gnulib.texi (Introduction): Capitalize `Git'.
4674
4675 2007-10-04  Bruno Haible  <bruno@clisp.org>
4676
4677         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
4678         means.
4679         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
4680
4681 2007-10-04  Bruno Haible  <bruno@clisp.org>
4682
4683         * modules/truncl-tests: New file.
4684         * tests/test-truncl.c: New file.
4685
4686         * modules/truncl: New file.
4687         * lib/truncl.c: New file.
4688         * m4/truncl.m4: New file.
4689         * lib/math.in.h (truncl): New declaration.
4690         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
4691         HAVE_DECL_TRUNCL.
4692         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
4693         HAVE_DECL_TRUNCL.
4694         * doc/functions/truncl.texi: Mention the 'truncl' module.
4695
4696 2007-10-04  Bruno Haible  <bruno@clisp.org>
4697
4698         * modules/truncf-tests: New file.
4699         * tests/test-truncf.c: New file.
4700
4701         * modules/truncf: New file.
4702         * lib/trunc.c: Make paramerizable through USE_* macros.
4703         * lib/truncf.c: New file.
4704         * m4/truncf.m4: New file.
4705         * lib/math.in.h (truncf): New declaration.
4706         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
4707         HAVE_DECL_TRUNCF.
4708         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
4709         HAVE_DECL_TRUNCF.
4710         * doc/functions/truncf.texi: Mention the 'truncf' module.
4711
4712 2007-10-03  Bruno Haible  <bruno@clisp.org>
4713
4714         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
4715         augmentation also for tests modules.
4716         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
4717         * modules/atexit-tests (Makefile.am): Likewise.
4718         * modules/binary-io-tests (Makefile.am): Likewise.
4719         * modules/c-strcase-tests (Makefile.am): Likewise.
4720         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
4721         * modules/canonicalize-tests (Makefile.am): Likewise.
4722         * modules/closein-tests (Makefile.am): Likewise.
4723         * modules/fprintf-posix-tests (Makefile.am): Likewise.
4724         * modules/freadahead-tests (Makefile.am): Likewise.
4725         * modules/fseek-tests (Makefile.am): Likewise.
4726         * modules/fseeko-tests (Makefile.am): Likewise.
4727         * modules/ftell-tests (Makefile.am): Likewise.
4728         * modules/ftello-tests (Makefile.am): Likewise.
4729         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
4730         * modules/isnanl-tests (Makefile.am): Likewise.
4731         * modules/lseek-tests (Makefile.am): Likewise.
4732         * modules/mbscasecmp-tests (Makefile.am): Likewise.
4733         * modules/mbscasestr-tests (Makefile.am): Likewise.
4734         * modules/mbschr-tests (Makefile.am): Likewise.
4735         * modules/mbscspn-tests (Makefile.am): Likewise.
4736         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
4737         * modules/mbspbrk-tests (Makefile.am): Likewise.
4738         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
4739         * modules/mbsrchr-tests (Makefile.am): Likewise.
4740         * modules/mbsspn-tests (Makefile.am): Likewise.
4741         * modules/mbsstr-tests (Makefile.am): Likewise.
4742         * modules/printf-posix-tests (Makefile.am): Likewise.
4743         * modules/snprintf-posix-tests (Makefile.am): Likewise.
4744         * modules/sprintf-posix-tests (Makefile.am): Likewise.
4745         * modules/tsearch-tests (Makefile.am): Likewise.
4746         * modules/uniname/uniname-tests (Makefile.am): Likewise.
4747         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
4748         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
4749         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
4750         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
4751         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
4752         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
4753         * modules/vprintf-posix-tests (Makefile.am): Likewise.
4754         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
4755         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
4756         * modules/xstrtoimax-tests (Makefile.am): Likewise.
4757         * modules/xstrtol-tests (Makefile.am): Likewise.
4758         * modules/xstrtoumax-tests (Makefile.am): Likewise.
4759         * modules/yesno-tests (Makefile.am): Likewise.
4760
4761 2007-10-03  Bruno Haible  <bruno@clisp.org>
4762
4763         * modules/trunc-tests: New file.
4764         * tests/test-trunc.c: New file.
4765
4766         * modules/trunc: New file.
4767         * lib/trunc.c: New file.
4768         * m4/trunc.m4: New file.
4769         * lib/math.in.h (trunc): New declaration.
4770         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
4771         HAVE_DECL_TRUNC.
4772         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
4773         HAVE_DECL_TRUNC.
4774         * doc/functions/trunc.texi: Mention the 'trunc' module.
4775
4776 2007-10-03  Bruno Haible  <bruno@clisp.org>
4777
4778         * tests/test-fpending.c: New file, mostly copied
4779         from coreutils/lib/t-fpending.c.
4780         * modules/fpending-tests: New file.
4781
4782 2007-10-03  Bruno Haible  <bruno@clisp.org>
4783
4784         Port the stdio extensions to QNX (untested).
4785         * lib/fseterr.c (fseterr): Add support for QNX.
4786         * lib/fbufmode.c (fbufmode): Likewise.
4787         * lib/freadable.c (freadable): Likewise.
4788         * lib/fwritable.c (fwritable): Likewise.
4789         * lib/freading.c (freading): Likewise.
4790         * lib/fwriting.c (fwriting): Likewise.
4791         * lib/freadahead.c (freadahed): Likewise.
4792         * lib/fpurge.c (fpurge): Likewise.
4793         * lib/fseeko.c (rpl_fseeko): Likewise.
4794
4795 2007-10-03  Bruno Haible  <bruno@clisp.org>
4796             Jim Meyering  <jim@meyering.net>
4797             Eric Blake  <ebb9@byu.net>
4798
4799         * doc/relocatable.texi: Use @command instead of @program.
4800
4801 2007-10-02  Jim Meyering  <jim@meyering.net>
4802
4803         Perform one more "_.h" -> ".in.h" substitution.
4804         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
4805         instead of unistd_.h here, too.
4806
4807 2007-10-01  Bruno Haible  <bruno@clisp.org>
4808
4809         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
4810         Needed for the alloca-opt module.
4811
4812 2007-09-30  Bruno Haible  <bruno@clisp.org>
4813
4814         * lib/alloca.in.h: Renamed from lib/alloca_.h.
4815         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
4816         alloca_.h.
4817         * lib/argz.in.h: Renamed from lib/argz_.h.
4818         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
4819         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
4820         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
4821         byteswap_.h.
4822         * lib/dirent.in.h: Renamed from lib/dirent_.h.
4823         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
4824         dirent_.h.
4825         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
4826         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
4827         fcntl_.h.
4828         * lib/float.in.h: Renamed from lib/float_.h.
4829         * modules/float (Files, Makefile.am): Use float.in.h instead of
4830         float_.h.
4831         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
4832         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
4833         fnmatch_.h.
4834         * lib/getopt.in.h: Renamed from lib/getopt_.h.
4835         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
4836         getopt_.h.
4837         * lib/glob.in.h: Renamed from lib/glob_.h.
4838         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
4839         * lib/iconv.in.h: Renamed from lib/iconv_.h.
4840         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
4841         iconv_.h.
4842         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
4843         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
4844         inttypes_.h.
4845         * lib/locale.in.h: Renamed from lib/locale_.h.
4846         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
4847         locale_.h.
4848         * lib/math.in.h: Renamed from lib/math_.h.
4849         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
4850         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
4851         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
4852         of netinet_in_.h. Add dependency.
4853         * lib/poll.in.h: Renamed from lib/poll_.h.
4854         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
4855         * lib/search.in.h: Renamed from lib/search_.h.
4856         * modules/search (Files, Makefile.am): Use search.in.h instead of
4857         search_.h.
4858         * lib/signal.in.h: Renamed from lib/signal_.h.
4859         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
4860         _signal.h.
4861         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
4862         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
4863         stdbool_.h.
4864         * lib/stdint.in.h: Renamed from lib/stdint_.h.
4865         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
4866         stdint_.h.
4867         * lib/stdio.in.h: Renamed from lib/stdio_.h.
4868         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
4869         stdio_.h.
4870         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
4871         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
4872         stdlib_.h.
4873         * lib/string.in.h: Renamed from lib/string_.h.
4874         * modules/string (Files, Makefile.am): Use string.in.h instead of
4875         string_.h.
4876         * doc/gnulib-tool.texi (Initial import): Update.
4877         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
4878         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
4879         of sys_select_.h. Add dependency.
4880         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
4881         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
4882         of sys_socket_.h.
4883         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
4884         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
4885         sys_stat_.h.
4886         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
4887         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
4888         sys_time_.h.
4889         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
4890         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
4891         sysexits_.h.
4892         * lib/time.in.h: Renamed from lib/time_.h.
4893         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
4894         * lib/unistd.in.h: Renamed from lib/unistd_.h.
4895         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
4896         unistd_.h.
4897         * lib/wchar.in.h: Renamed from lib/wchar_.h.
4898         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
4899         wchar_.h.
4900         * lib/wctype.in.h: Renamed from lib/wctype_.h.
4901         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
4902         wctype_.h.
4903         * build-aux/bootstrap (slurp): Update.
4904         * lib/.cppi-disable: Update.
4905
4906 2007-09-30  Bruno Haible  <bruno@clisp.org>
4907
4908         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
4909         Needed on BeOS.
4910
4911 2007-09-30  Bruno Haible  <bruno@clisp.org>
4912
4913         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
4914
4915 2007-09-29  Bruno Haible  <bruno@clisp.org>
4916
4917         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
4918
4919 2007-09-29  Bruno Haible  <bruno@clisp.org>
4920
4921         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
4922         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
4923         * build-aux/install-reloc: Compile also areadlink.c.
4924         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
4925
4926 2007-09-29  Bruno Haible  <bruno@clisp.org>
4927
4928         * gnulib-tool (func_emit_initmacro_done): Indentation.
4929
4930 2007-09-29  Bruno Haible  <bruno@clisp.org>
4931
4932         * README: Add CVS checkout update instructions.
4933         Info from Bob Proulx <bob@proulx.com>.
4934
4935 2007-09-28  Eric Blake  <ebb9@byu.net>
4936
4937         Provide move-if-change.
4938         * build-aux/move-if-change: New file, based on best practice
4939         rather than any canonical upstream location.
4940
4941 2007-09-28  Jim Meyering  <jim@meyering.net>
4942
4943         Fix canonicalize loop-detection corner case.
4944         Do not attempt to stat the symlink values stored via seen_triple.
4945         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
4946         on linux-2.6.18, (but not 2.6.22).
4947         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
4948         triple_compare.  The former compares dev,ino,filename, while the latter
4949         would actually stat dirname(filename) when dev and ino were equal.
4950         * lib/hash-triple.c: Install <string.h>.
4951         (STREQ): Define.
4952         (triple_compare_ino_str): New function.
4953         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
4954
4955 2007-09-28  Eric Blake  <ebb9@byu.net>
4956
4957         Enforce that AC_REPLACE_FUNCS files exist.
4958         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
4959         override check for typos.
4960
4961         Fix test-closein on Solaris 10.
4962         * tests/test-closein.c (main): Don't assume stdin can be inherited
4963         closed on all systems.
4964         * tests/test-closein.sh: Likewise.
4965         Reported by Piotr Tarnowski.
4966
4967 2007-09-28  Jim Meyering  <jim@meyering.net>
4968
4969         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
4970
4971 2007-09-27  Jim Meyering  <jim@meyering.net>
4972
4973         canonicalize: Avoid a false-positive cycle failure.
4974         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
4975         Sort.  Remove cycle-check.
4976         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
4977         not cycle-check.h.
4978         (seen_triple): New function.
4979         (canonicalize_filename_mode): Use it instead of cycle-check.
4980         * tests/test-canonicalize.c: Add a test for this bug.
4981         * tests/test-canonicalize.sh: Set up and run the test.
4982
4983         New module, file-set, from coreutils.
4984         * modules/file-set: Define it.
4985         * lib/file-set.c, lib/file-set.h: Implement.
4986
4987         New module, hash-triple, from coreutils.
4988         * modules/hash-triple: Define it.
4989         * lib/hash-triple.c, lib/hash-triple.h: Implement.
4990
4991 2007-09-25  Eric Blake  <ebb9@byu.net>
4992
4993         Fix strerror on Interix.
4994         * lib/string_.h (strerror): Declare replacement.
4995         * doc/functions/strerror.texi (strerror): Document the Interix
4996         shortcoming.
4997         * modules/string (Makefile.am): Support new hooks.
4998         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
4999         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
5000         gl_FUNC_STRERROR_SEPARATE.
5001         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
5002         * lib/strerror.c (rpl_strerror): Provide replacement.
5003         * modules/strerror (Depends-on): Add string.
5004         (configure.ac): Detect use of module.
5005         * tests/test-strerror.c: New file.
5006         * modules/strerror-tests: New test module.
5007         * modules/argp (Depends-on): Add strerror.
5008         * modules/error (Depends-on): Likewise.
5009         Reported by Martin Koeppe.
5010
5011 2007-09-24  Bruno Haible  <bruno@clisp.org>
5012
5013         * README: Update git instructions.
5014
5015 2007-09-24  Eric Blake  <ebb9@byu.net>
5016
5017         Revert fpending breakage from 2007-09-08.
5018         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
5019         __fpending.c.
5020
5021 2007-09-24  Jim Meyering  <jim@meyering.net>
5022
5023         filenamecat.c: Add a test.
5024         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
5025         showing how the function works when DIR is the empty string.
5026
5027 2007-09-21  Simon Josefsson  <simon@josefsson.org>
5028
5029         * tests/test-canonicalize.sh: Turn on executable bit.
5030
5031 2007-09-19  Eric Blake  <ebb9@byu.net>
5032
5033         * README: Update CVS instructions.
5034
5035 2007-09-18  Bruno Haible  <bruno@clisp.org>
5036
5037         * modules/areadlink: New file.
5038         * lib/areadlink.h (areadlink): New declaration.
5039         * lib/areadlink.c: New file, based on lib/xreadlink.c.
5040
5041 2007-09-17  Jim Meyering  <jim@meyering.net>
5042
5043         * lib/savewd.c (ESTALE) [!defined]: Define.
5044         Reported to be required on Interix by Martin Koeppe.
5045
5046 2007-09-17  Bruno Haible  <bruno@clisp.org>
5047
5048         * gnulib-tool (func_version): Use $version.
5049
5050 2007-09-16  Bruno Haible  <bruno@clisp.org>
5051
5052         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
5053         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
5054         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
5055         Reported by Greg Schafer <gschafer@zip.com.au>.
5056
5057 2007-09-15  Bruno Haible  <bruno@clisp.org>
5058
5059         * gnulib-tool (sed): Try a little harder to make bash understand the
5060         alias.
5061         Reported by Bruce Korb <bruce.korb@gmail.com>.
5062
5063 2007-09-13  Eric Blake  <ebb9@byu.net>
5064
5065         * ChangeLog: Remove conflict markers.
5066
5067 2007-09-13  Simon Josefsson  <simon@josefsson.org>
5068
5069         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
5070         Reported by Bruno Haible <bruno@clisp.org>.
5071
5072 2007-09-12  Bruno Haible  <bruno@clisp.org>
5073
5074         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
5075         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
5076         is not defined.
5077
5078 2007-09-12  Eric Blake  <ebb9@byu.net>
5079
5080         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
5081         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
5082         Autoconf definition.
5083         * modules/euidaccess (Depends-on): Add extensions, for
5084         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
5085         * modules/fnmatch (Depends-on): Likewise.
5086         * modules/getaddrinfo (Depends-on): Likewise.
5087         * modules/getdelim (Depends-on): Likewise.
5088         * modules/getline (Depends-on): Likewise.
5089         * modules/getsubopt (Depends-on): Likewise.
5090         * modules/gettext (Depends-on): Likewise.
5091         * modules/group-member (Depends-on): Likewise.
5092         * modules/mbchar (Depends-on): Likewise.
5093         * modules/memmem (Depends-on): Likewise.
5094         * modules/mempcpy (Depends-on): Likewise.
5095         * modules/memrchr (Depends-on): Likewise.
5096         * modules/pagealign_alloc (Depends-on): Likewise.
5097         * modules/readutmp (Depends-on): Likewise.
5098         * modules/stpcpy (Depends-on): Likewise.
5099         * modules/stpncpy (Depends-on): Likewise.
5100         * modules/strchrnul (Depends-on): Likewise.
5101         * modules/strndup (Depends-on): Likewise.
5102         * modules/strsep (Depends-on): Likewise.
5103         * modules/strverscmp (Depends-on): Likewise.
5104         * modules/vasprintf (Depends-on): Likewise.
5105         * modules/wcwidth (Depends-on): Likewise.
5106         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
5107         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
5108         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
5109         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
5110         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
5111         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
5112         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
5113         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
5114         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
5115         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
5116         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
5117         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
5118         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
5119         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
5120         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
5121         * m4/readutmp.m4 (gl_READUTMP): Likewise.
5122         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
5123         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
5124         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
5125         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
5126         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
5127         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
5128         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
5129         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
5130         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
5131         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
5132         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
5133         so that lock.m4 can be used in gettext without extensions module.
5134
5135 2007-09-11  Bruno Haible  <bruno@clisp.org>
5136
5137         * m4/isc-posix.m4: Remove file.
5138         Suggested by Eric Blake.
5139
5140 2007-09-11  Eric Blake  <ebb9@byu.net>
5141
5142         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
5143
5144 2007-09-10  Bruno Haible  <bruno@clisp.org>
5145
5146         * posix-modules: Fix typo in error message.
5147         Reported by Matt <mkraai@beckman.com>.
5148
5149 2007-09-09  Bruno Haible  <bruno@clisp.org>
5150
5151         * doc/functions/getdelim.texi: Update list of platforms lacking the
5152         function.
5153         * doc/functions/getline.texi: Likewise.
5154
5155 2007-09-09  Jim Meyering  <jim@meyering.net>
5156
5157         * lib/hash.c (hash_initialize): Detect calloc failure.
5158         Reported by Bruno Haible.
5159
5160 2007-09-09  Bruno Haible  <bruno@clisp.org>
5161
5162         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
5163         malloc or realloc fails.
5164
5165 2007-09-09  Bruno Haible  <bruno@clisp.org>
5166
5167         * modules/getcwd (Depends-on): Add malloc-posix.
5168         * modules/glob (Depends-on): Likewise.
5169         * modules/putenv (Depends-on): Likewise.
5170         * modules/strdup (Depends-on): Likewise.
5171         * modules/getdelim (Depends-on): Add realloc-posix.
5172         * modules/read-file (Depends-on): Likewise.
5173
5174 2007-09-09  Bruno Haible  <bruno@clisp.org>
5175
5176         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
5177         (gl_FUNC_MALLOC_POSIX): Require it.
5178         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
5179         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
5180         * modules/realloc (Files): Add m4/malloc.m4.
5181         * modules/calloc (Files): Likewise.
5182
5183 2007-09-09  Bruno Haible  <bruno@clisp.org>
5184
5185         * modules/malloc-posix: New file.
5186         * modules/malloc (Depends-on): Add malloc-posix.
5187         * lib/malloc.c: Include errno.h.
5188         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
5189         and a POSIX-compatible malloc into a single function. Set ENOMEM
5190         when returning NULL.
5191         * m4/malloc.m4: New file.
5192         * doc/functions/malloc.texi: Mention the malloc-posix module.
5193         * lib/stdlib_.h (malloc): New declaration.
5194         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
5195         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
5196         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
5197         and HAVE_MALLOC_POSIX.
5198
5199 2007-09-09  Bruno Haible  <bruno@clisp.org>
5200
5201         * modules/realloc-posix: New file.
5202         * modules/realloc (Depends-on): Add realloc-posix.
5203         * lib/realloc.c: Include errno.h.
5204         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
5205         and a POSIX-compatible realloc into a single function. Set ENOMEM
5206         when returning NULL.
5207         * m4/realloc.m4: New file.
5208         * doc/functions/realloc.texi: Mention the realloc-posix module.
5209         * lib/stdlib_.h (realloc): New declaration.
5210         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
5211         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
5212         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
5213         and HAVE_REALLOC_POSIX.
5214
5215 2007-09-09  Bruno Haible  <bruno@clisp.org>
5216
5217         * modules/calloc-posix: New file.
5218         * modules/calloc (Depends-on): Add calloc-posix.
5219         * lib/calloc.c: Include errno.h.
5220         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
5221         and a POSIX-compatible calloc into a single function. Set ENOMEM
5222         when returning NULL.
5223         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
5224         * doc/functions/calloc.texi: Mention the calloc-posix module.
5225         * lib/stdlib_.h (calloc): New declaration.
5226         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
5227         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
5228         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
5229         and HAVE_CALLOC_POSIX.
5230
5231 2007-09-09  Bruno Haible  <bruno@clisp.org>
5232
5233         Allow for modules to show an arbitrary notice.
5234         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
5235         * gnulib-tool: New option --extract-notice.
5236         (func_usage): Document it.
5237         (sed_extract_prog): Update.
5238         (func_get_notice): New function.
5239         (func_modules_notice): New function.
5240         (func_import, func_create_testdir): Invoke it.
5241         Suggested by Jim Meyering.
5242
5243 2007-09-09  Bruno Haible  <bruno@clisp.org>
5244
5245         * gnulib-tool: New options --verbose, --quiet.
5246         (func_usage): Document them.
5247         (verbose): New variable.
5248         (func_execute_command): New function.
5249         (func_import): Don't show the module list and the file list if
5250         $verbose < 0.
5251         (func_create_testdir): Likewise. Use func_execute_command.
5252         (func_create_megatestdir): Use func_execute_command.
5253
5254 2007-09-08  Bruno Haible  <bruno@clisp.org>
5255
5256         * gnulib-tool (func_import): Prefer rsync over wget when available,
5257         for fetching the PO files.
5258
5259 2007-09-08  Bruno Haible  <bruno@clisp.org>
5260
5261         * posix-modules: New file. Portions copied from gnulib-tool.
5262         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
5263
5264 2007-09-08  Jim Meyering  <jim@meyering.net>
5265
5266         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
5267         * lib/fpending.h: Rename from __fpending.h.
5268         * lib/fpending.c: Rename from __fpending.c.
5269         Include "fpending.h", not "__fpending.h".
5270         * lib/__fpending.h, lib/__fpending.c: Remove files.
5271         * modules/fpending (Files): Reflect new file names.
5272         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
5273
5274 2007-09-08  Bruno Haible  <bruno@clisp.org>
5275
5276         * m4/inttypes-h.m4: Remove stub file.
5277
5278 2007-09-07  Simon Josefsson  <simon@josefsson.org>
5279
5280         * doc/headers/stdint.texi: Discuss #include_next issue.
5281
5282 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
5283
5284         * build-aux/bootstrap: Remove obsolete comment about wget --help.
5285
5286 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
5287
5288         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
5289         in variable name.
5290
5291 2007-09-03  Jim Meyering  <jim@meyering.net>
5292
5293         New module: git-version-gen.
5294         * modules/git-version-gen: New file.
5295
5296         Import changes from coreutils for bootstrap script.
5297
5298         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
5299
5300         bootstrap: uses rsync to download the .po files
5301         * build-aux/bootstrap (po_download_command_format): New global.
5302         (download_po_files): Use rsync.
5303         (update_po_files): Don't remove .po files after download,
5304         so future rsync runs can take advantage of the copies.
5305
5306         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
5307
5308         Solve the unnecessary-.po-file-regeneration problem once and for all.
5309         * build-aux/bootstrap (download_po_files): New function, renamed from
5310         get_translations.  Now, downloads, but doesn't update LINGUAS.
5311         (update_po_files): New function.
5312
5313         bootstrap: Ignore more.
5314         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
5315         uniwidth to e.g., lib/.gitignore.
5316         (slurp): Handle the sys_stat_.h -> sys mapping, too.
5317
5318         * build-aux/bootstrap: New setting: vc_ignore.
5319         (insert_sorted_if_absent): Create $file if absent.
5320         Adapt to new, possibly empty, list: $vc_ignore.
5321
5322         bootstrap: generate more ignorable names
5323         * build-aux/bootstrap (slurp): When generating ignorable names,
5324         also map .sin to .sed, .gperf to .c, and .y to .c.
5325
5326 2007-09-03  Jim Meyering  <jim@meyering.net>
5327
5328         * build-aux/git-version-gen: New file, from coreutils.  For details, see
5329         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
5330
5331 2007-09-02  Bruno Haible  <bruno@clisp.org>
5332
5333         Fix mis-recognition of 'mcs' on QNX 6.
5334         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
5335         output contains the string "Mono".
5336         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
5337         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
5338
5339 2007-09-01  Bruno Haible  <bruno@clisp.org>
5340
5341         Fix collision between uniwidth/* and linebreak modules.
5342         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
5343         u32_width): Remove declarations.
5344         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
5345         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
5346         streq3, streq2, streq1, streq0): Remove functions.
5347         (STREQ): Remove macro.
5348         (is_cjk_encoding): Remove function.
5349         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
5350         (uc_width, u8_width, u16_width, u32_width): Remove functions.
5351         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
5352         * NEWS: Document the change.
5353
5354 2007-09-01  Bruno Haible  <bruno@clisp.org>
5355
5356         * lib/streq.h: Add double-inclusion guard.
5357
5358 2007-09-01  Karl Berry  <karl@gnu.org>
5359
5360         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
5361
5362 2007-08-28  Jim Meyering  <jim@meyering.net>
5363
5364         Rename mreadlink_with_size to areadlink_with_size.
5365         * NEWS: Document the change.
5366         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
5367         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
5368         * lib/mreadlink.h: Rename this to...
5369         * lib/areadlink.h: ...this.
5370         * modules/mreadlink-with-size: Rename this to...
5371         * modules/areadlink-with-size: ...this.
5372         * lib/canonicalize.c: Reflect the renaming.
5373         * modules/canonicalize: Likewise.
5374
5375 2007-08-26  Bruno Haible  <bruno@clisp.org>
5376
5377         * gnulib-tool (func_import): When deciding which files to remove,
5378         consider also dangling symbolic links.
5379         Reported by Eric Blake.
5380
5381 2007-08-26  Bruno Haible  <bruno@clisp.org>
5382
5383         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
5384
5385 2007-08-23  Simon Josefsson  <simon@josefsson.org>
5386
5387         * lib/readline.c: Don't include getline.h, the prototype is now
5388         found in stdio.h.
5389
5390 2007-08-23  Jim Meyering  <jim@meyering.net>
5391
5392         Getdelim touchup.
5393         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
5394         around the funlockfile call, since funlockfile never sets errno.
5395         Don't set errno upon failed realloc.
5396
5397 2007-08-22  Eric Blake  <ebb9@byu.net>
5398
5399         Getline touchups.
5400         * lib/getdelim.c (getdelim): Revert regression that required *n to
5401         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
5402         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
5403         getdelim, rather than whether implementation is missing.
5404         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
5405         * lib/stdio_.h (getline): Also declare if replacement is
5406         required.
5407         * doc/functions/getdelim.texi: New file.
5408         * doc/functions/getline.texi: Likewise.
5409         * doc/gnulib.texi (Function Substitutes): Add new files.
5410         Reported by Bruno Haible.
5411
5412 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
5413
5414         * users.txt: Add Guile.
5415
5416 2007-08-22  Eric Blake  <ebb9@byu.net>
5417
5418         * tests/test-getdelim.c (main): Use remove, not unlink.
5419         * tests/test-getline.c (main): Likewise.
5420
5421         Move getline and getdelim into stdio.h, per POSIX 200x.
5422         * modules/getline (Files): Remove getline.h.
5423         (Depends-on): Add stdio.
5424         (configure.ac): Add module indicator.
5425         * modules/getdelim (Files): Remove getdelim.h.
5426         (Depends-on): Add stdio.
5427         (configure.ac): Add module indicator.
5428         * modules/stdio (Makefile.am): Work with new indicators.
5429         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
5430         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
5431         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
5432         * lib/getdelim.h: Delete.
5433         * lib/getline.h: Delete.
5434         * lib/stdio_.h (getdelim, getline): Declare.
5435         * modules/getdelim-tests: New module.
5436         * modules/getline-tests: Likewise.
5437         * tests/test-getdelim.c: New file.
5438         * tests/test-getline.c: Likewise.
5439         * NEWS: Document the change.
5440         * lib/getline.c: Update choice of header.
5441         * lib/csharpcomp.c: Likewise.
5442         * lib/getpass.c: Likewise.
5443         * lib/javacomp.c: Likewise.
5444         * lib/javaversion.c: Likewise.
5445         * lib/yesno.c: Likewise.
5446         * lib/getdelim.c: Likewise.
5447         (getdelim): Set errno on failure, and avoid memory leak.
5448
5449 2007-08-19  Bruno Haible  <bruno@clisp.org>
5450
5451         * modules/closein (Depends-on): Add freadahead.
5452         * lib/closein.c: Include freadahead.h.
5453         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
5454         is zero.
5455
5456 2007-08-19  Bruno Haible  <bruno@clisp.org>
5457
5458         * modules/freadahead-tests: New file.
5459         * tests/test-freadahead.sh: New file.
5460         * tests/test-freadahead.c: New file.
5461
5462         * modules/freadahead: New file.
5463         * lib/freadahead.h: New file.
5464         * lib/freadahead.c: New file.
5465         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
5466         fbufmode, fpurge, freadable, fwritable.
5467
5468 2007-08-19  Eric Blake  <ebb9@byu.net>
5469
5470         Test yesno in combination with closein.
5471         * lib/yesno.c (yesno): Document use of stdin.
5472         * modules/yesno-tests (Files): New module.
5473         * tests/test-yesno.c (main): New file.
5474         * tests/test-yesno.sh: Likewise.
5475
5476 2007-08-19  Bruno Haible  <bruno@clisp.org>
5477
5478         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
5479         * lib/fseeko.c (rpl_fseeko): Likewise.
5480         * lib/fseterr.c (fseterr): Likewise.
5481
5482 2007-08-19  Bruno Haible  <bruno@clisp.org>
5483
5484         * tests/test-lseek.c (main): Disable a test for BeOS.
5485         * doc/functions/lseek.texi: Document the BeOS bug.
5486
5487 2007-08-19  Bruno Haible  <bruno@clisp.org>
5488             Eric Blake  <ebb9@byu.net>
5489
5490         * lib/lseek.c: Include <sys/stat.h>.
5491         (rpl_lseek): Add workaround code also for Unix platforms.
5492         Needed for BeOS.
5493         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
5494         * doc/functions/lseek.texi: Document BeOS definiency.
5495
5496 2007-08-18  Bruno Haible  <bruno@clisp.org>
5497
5498         * modules/fstrcmp-tests: New file.
5499         * tests/test-fstrcmp.c: New file.
5500
5501 2007-08-18  Bruno Haible  <bruno@clisp.org>
5502
5503         * modules/fstrcmp: New file, from GNU gettext with modifications.
5504         * lib/fstrcmp.h: New file, from GNU gettext.
5505         * lib/fstrcmp.c: New file, from GNU gettext.
5506         * MODULES.html.sh (String handling): Add fstrcmp.
5507
5508 2007-08-18  Bruno Haible  <bruno@clisp.org>
5509
5510         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
5511         'bool'.
5512         (diag, compareseq): Remove const from the ctxt argument.
5513         (USE_HEURISTIC): Undefine at the end.
5514
5515 2007-08-18  Jim Meyering  <jim@meyering.net>
5516
5517         New file: lib/idcache.h
5518         * NEWS: Mention the addition.
5519         * modules/idcache (Files): Add lib/idcache.h
5520         * lib/idcache.c: Include "idcache.h".
5521         Don't include <sys/types.h>.
5522         Add a FIXME comment.
5523         Move file-scoped "static" declarations to the top.
5524         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
5525
5526 2007-08-17  Bruno Haible  <bruno@clisp.org>
5527         and Paul Eggert  <eggert@cs.ucla.edu>
5528
5529         * MODULES.html.sh: Add diffseq.
5530         * modules/diffseq: New file.
5531         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
5532         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
5533
5534 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5535
5536         Import changes from coreutils for bootstrap script.
5537
5538         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
5539
5540         * build-aux/bootstrap (slurp): Work even in environments where
5541         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
5542         current code does not slurp files whose names start with ".", and
5543         this looks like it might be a troublesome area.
5544
5545         2007-07-11  Jim Meyering  <jim@meyering.net>
5546
5547         If there's a GPL vN copyright comment, require that N == 3.
5548
5549         2007-07-08  Jim Meyering  <jim@meyering.net>
5550
5551         Run the coreutils-specific code only if tests/Makefile.am.in exists.
5552         * build-aux/bootstrap (mam_template): Move definition out of loop.
5553
5554         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
5555
5556         * build-aux/bootstrap (symlink_to_dir): Rename function from
5557         symlink_to_gnulib.  Add a directory parameter.  Update all
5558         callers.
5559         (cp_mark_as_generated): Also check for -- and link to -- files in
5560         gl/.
5561
5562         2007-07-08  Jim Meyering  <jim@meyering.net>
5563
5564         Adapt to deeper hierarchy in gnulib.
5565         * build-aux/bootstrap (symlink_to_dir): If the destination
5566         directory doesn't exist, create it. This is required at least for
5567         "lib/uniwidth/cjk.h".
5568
5569         2007-05-15  Jim Meyering  <jim@meyering.net>
5570
5571         * build-aux/bootstrap: Now that generated Makefile.am files
5572         are no longer under version control, they must be created at
5573         bootstrap time.
5574
5575 2007-08-14  Ben Pfaff  <blp@gnu.org>
5576
5577         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
5578
5579 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5580
5581         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
5582         given the changes below.
5583         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
5584         even on hosts that have padding bits beyond the supported 64.
5585
5586 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
5587
5588         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
5589         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
5590         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
5591         depends on it.
5592         (xstrtol_error): Remove.
5593         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
5594         but with a different signature.
5595         (ATTRIBUTE_NORETURN, __attribute__): New macros.
5596         * lib/xstrtol-error.c: Include exitfail.h.
5597         (xstrtol_fatal): New function, with a different signature from the
5598         old xstrtol_error, so that the caller need not worry about passing
5599         in an exit status, or about storage management of the option argument.
5600         (xstrtol_error): Now a static function.  Redo signature to
5601         implement xstrtol_fatal.  Output the correct number of hyphens in
5602         front of the option so that the caller need not worry about
5603         storage management.
5604         (N_): New macro.
5605         (_): Remove; not used now.
5606         * modules/xstrtol: Depend on getopt.
5607         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
5608         of old STRTOL_FATAL_ERROR macro.
5609         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
5610         of test program.
5611         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
5612         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
5613
5614 2007-08-08  Eric Blake  <ebb9@byu.net>
5615
5616         * lib/xstrtol-error.c: Add missing include.
5617
5618         Move xstrtol messages into gnulib domain, when --pobase is used.
5619         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
5620         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
5621         * modules/xstrtol (Files): Distribute new file.
5622         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
5623         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
5624         * tests/test-xstrtol.c: ...into new file.
5625         * tests/test-xstrtoul.c: Also test xstrtoul.
5626         * tests/test-xstrtoimax.c: Also test xstrtoimax.
5627         * tests/test-xstrtoumax.c: Also test xstrtoumax.
5628         * tests/test-xstrtol.sh: Drive the tests.
5629         * tests/test-xstrtoimax.sh: Likewise.
5630         * tests/test-xstrtoumax.sh: Likewise.
5631         * modules/xstrtol-tests: New module.
5632         * modules/xstrtoimax-tests: Likewise.
5633         * modules/xstrtoumax-tests: Likewise.
5634
5635 2007-08-08  Jim Meyering  <jim@meyering.net>
5636
5637         New function: mfile_name_concat.
5638         * lib/filenamecat.c (mfile_name_concat): New function, just like
5639         file_name_concat, but return NULL upon failure rather than exiting
5640         with a diagnostic.
5641         * lib/filenamecat.h: Declare it.
5642
5643 2007-08-07  Bruno Haible  <bruno@clisp.org>
5644
5645         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
5646         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
5647         warning from gcc.
5648         Reported by Eric Blake.
5649
5650 2007-08-07  Simon Josefsson  <simon@josefsson.org>
5651
5652         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
5653         * modules/crypto/arcfour (License): Likewise.
5654         * modules/crypto/des-tests (License): Likewise.
5655         * modules/crypto/gc-arctwo-tests (License): Likewise.
5656         * modules/crypto/gc-des-tests (License): Likewise.
5657         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
5658         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
5659         * modules/crypto/gc-md2-tests (License): Likewise.
5660         * modules/crypto/gc-md4-tests (License): Likewise.
5661         * modules/crypto/gc-md5-tests (License): Likewise.
5662         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
5663         * modules/crypto/gc-rijndael-tests (License): Likewise.
5664         * modules/crypto/gc-sha1-tests (License): Likewise.
5665         * modules/crypto/gc-tests (License): Likewise.
5666         * modules/crypto/hmac-md5 (License): Likewise.
5667         * modules/crypto/hmac-sha1 (License): Likewise.
5668         * modules/crypto/md2-tests (License): Likewise.
5669         * modules/crypto/md4-tests (License): Likewise.
5670         * modules/crypto/md5 (License): Likewise.
5671         * modules/crypto/rijndael (License): Likewise.
5672         * modules/crypto/sha1 (License): Likewise.
5673         * modules/memxor (License): Likewise.
5674
5675 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
5676         and Bruno Haible  <bruno@clisp.org>
5677
5678         * NEWS: Describe interface changes to human, xstrtol.
5679         * lib/human.h: Include <xstrtol.h>.
5680         (human_options): Return enum strtol_error, not int.  Remove
5681         bool arg; take int * instead.
5682         * lib/human.c: Don't include "gettext.h".
5683         (_): Remove; no longer used.
5684         Don't include <xstrtol.h>, since human.h does it.
5685         (human_options): Adjust to abovementioned interface changes.
5686         Do not report error to stderr; that's now the caller's
5687         responsibility.
5688         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
5689         interface change.
5690         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
5691         Str, Argument_type_string.  All uses changed.  Put " argument"
5692         in diagnostics to make them clearer.  Change wording of suffix
5693         message for clarity.
5694         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
5695         Argument_type_string.
5696         (STRTOL_FATAL_WARN): Remove; no longer used.
5697         * modules/human (Depends-on): Remove gettext-h.
5698
5699 2007-08-06  Simon Josefsson  <simon@josefsson.org>
5700
5701         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
5702
5703 2007-07-31  Bruno Haible  <bruno@clisp.org>
5704
5705         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
5706         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
5707         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
5708
5709 2007-07-31  Bruno Haible  <bruno@clisp.org>
5710
5711         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
5712         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
5713
5714 2007-07-30  Bruno Haible  <bruno@clisp.org>
5715
5716         * modules/base64 (License): Use the synonymous term "LGPLv2+".
5717         * modules/c-ctype (License): Likewise.
5718         * modules/c-strcase (License): Likewise.
5719         * modules/check-version (License): Likewise.
5720         * modules/iconv (License): Likewise.
5721         * modules/iconv_open (License): Likewise.
5722         * modules/read-file (License): Likewise.
5723         * modules/striconv (License): Likewise.
5724         * modules/strverscmp (License): Likewise.
5725         * modules/vasprintf (License): Likewise.
5726         * modules/crypto/des (License): Likewise.
5727         * modules/crypto/gc (License): Likewise.
5728         * modules/crypto/gc-arcfour (License): Likewise.
5729         * modules/crypto/gc-arctwo (License): Likewise.
5730         * modules/crypto/gc-des (License): Likewise.
5731         * modules/crypto/gc-hmac-md5 (License): Likewise.
5732         * modules/crypto/gc-hmac-sha1 (License): Likewise.
5733         * modules/crypto/gc-md2 (License): Likewise.
5734         * modules/crypto/gc-md4 (License): Likewise.
5735         * modules/crypto/gc-md5 (License): Likewise.
5736         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
5737         * modules/crypto/gc-random (License): Likewise.
5738         * modules/crypto/gc-rijndael (License): Likewise.
5739         * modules/crypto/gc-sha1 (License): Likewise.
5740         * modules/crypto/md2 (License): Likewise.
5741         * modules/crypto/md4 (License): Likewise.
5742
5743 2007-07-30  Jim Meyering  <jim@meyering.net>
5744
5745         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
5746         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
5747         it has valid stat data.  This bug would cause du not to count the
5748         sizes of inaccessible directories.
5749         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
5750         in <http://bugzilla.redhat.com/250077>.
5751
5752 2007-07-25  Peter O'Gorman  <peter@pogma.com>
5753             Bruno Haible  <bruno@clisp.org>
5754
5755         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
5756         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
5757         #include_next, gives a diagnostic about it, but reports no error in
5758         the exit code.
5759         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
5760
5761 2007-07-24  Ben Pfaff  <blp@gnu.org>
5762
5763         Improve name: "count-one-bits" is better than "popcount".
5764         * MODULES.html.sh: Update name.
5765         * lib/popcount.h: Renamed lib/count-one-bits.h.
5766         (popcount): Renamed count_one_bits.
5767         (popcountl): Renamed count_one_bits_l.
5768         (popcountll): Renamed count_one_bits_ll.
5769         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
5770         * modules/popcount: Renamed module/count-one-bits.
5771         * modules/popcount-tests: Renamed module/count-one-bits-tests.
5772         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
5773
5774 2007-07-23  Ben Pfaff  <blp@gnu.org>
5775
5776         * lib/popcount.h (popcount32): Reduce size of constants, to allow
5777         better code generation, and add U to large constants to avoid
5778         warnings, in non-GCC case.
5779         Suggested by Bruno Haible.
5780
5781 2007-07-23  Ben Pfaff  <blp@gnu.org>
5782
5783         * lib/popcount.h: Use verify_true instead of if...abort.
5784         * modules/popcount: Depend on verify module.
5785         Suggested by Jim Meyering.
5786
5787 2007-07-23  Bruno Haible  <bruno@clisp.org>
5788
5789         * gnulib-tool (func_import): Create a .cvsignore file also when the
5790         directory is not yet in CVS but the toplevel directory is. When
5791         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
5792         Reported by Karl Berry.
5793
5794 2007-07-22  Ben Pfaff  <blp@gnu.org>
5795
5796         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
5797         case.
5798         Suggested by Eric Blake.
5799
5800 2007-07-22  Ben Pfaff  <blp@gnu.org>
5801
5802         New module: popcount.
5803         * MODULES.html.sh: Add popcount.
5804         * modules/popcount: New file.
5805         * modules/popcount-tests: New file.
5806         * tests/test-popcount.c: New file.
5807         * lib/popcount.h: New file.
5808         * m4/popcount.m4: New file.
5809
5810 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
5811
5812         * build-aux/announce-gen: Update to GPLv3.
5813
5814         * build-aux/config.guess: Update from config.
5815
5816 2007-07-21  Bruno Haible  <bruno@clisp.org>
5817
5818         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
5819         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
5820
5821 2007-07-20  Jim Meyering  <jim@meyering.net>
5822
5823         * check-module: Diagnose a self-dependency.
5824
5825 2007-07-19  Bruno Haible  <bruno@clisp.org>
5826
5827         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
5828         empty.
5829         Reported by Eric Blake.
5830
5831 2007-07-18  Bruno Haible  <bruno@clisp.org>
5832
5833         * gnulib-tool: New options --po-base, --po-domain.
5834         (func_usage): Document them.
5835         (pobase, po_domain): New variables.
5836         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
5837         DEFAULT_TEXT_DOMAIN.
5838         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
5839         (func_import): Consider pobase and po_domain. Create a po/ directory.
5840         (func_create_testdir): Set pobase and po_domain to empty.
5841         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
5842         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
5843
5844 2007-07-18  Bruno Haible  <bruno@clisp.org>
5845
5846         * gnulib-tool (func_get_automake_snippet): Synthesize also an
5847         EXTRA_DIST augmentation for files in build-aux/.
5848
5849 2007-07-16  Bruno Haible  <bruno@clisp.org>
5850
5851         * modules/lseek (License): Use the synonymous term "LGPLv2+".
5852         * modules/getdelim (License): Likewise.
5853
5854 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
5855
5856         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
5857         * modules/d-type (License): Likewise.
5858         * modules/extensions (License): Likewise.
5859         * modules/fnmatch (License): Likewise.
5860         * modules/fseeko (License): Likewise.
5861         * modules/getaddrinfo (License): Likewise.
5862         * modules/getline (License): Likewise.
5863         * modules/getlogin_r (License): Likewise.
5864         * modules/getpass (License): Likewise.
5865         * modules/gettimeofday (License): Likewise.
5866         * modules/glob (License): Likewise.
5867         * modules/inet_ntop (License): Likewise.
5868         * modules/malloc (License): Likewise.
5869         * modules/malloca (License): Likewise.
5870         * modules/memmem (License): Likewise.
5871         * modules/mempcpy (License): Likewise.
5872         * modules/memset (License): Likewise.
5873         * modules/minmax (License): Likewise.
5874         * modules/mktime (License): Likewise.
5875         * modules/netinet_in (License): Likewise.
5876         * modules/pathmax (License): Likewise.
5877         * modules/poll (License): Likewise.
5878         * modules/regex (License): Likewise.
5879         * modules/snprintf (License): Likewise.
5880         * modules/stdbool (License): Likewise.
5881         * modules/stdint (License): Likewise.
5882         * modules/stdio (License): Likewise.
5883         * modules/strcase (License): Likewise.
5884         * modules/strcasestr (License): Likewise.
5885         * modules/strdup (License): Likewise.
5886         * modules/string (License): Likewise.
5887         * modules/strndup (License): Likewise.
5888         * modules/strnlen (License): Likewise.
5889         * modules/strpbrk (License): Likewise.
5890         * modules/strptime (License): Likewise.
5891         * modules/strsep (License): Likewise.
5892         * modules/sys_select (License): Likewise.
5893         * modules/sys_socket (License): Likewise.
5894         * modules/sys_stat (License): Likewise.
5895         * modules/sys_time (License): Likewise.
5896         * modules/time (License): Likewise.
5897         * modules/time_r (License): Likewise.
5898         * modules/timegm (License): Likewise.
5899         * modules/unistd (License): Likewise.
5900         * modules/vsnprintf (License): Likewise.
5901         * modules/wctype (License): Likewise.
5902
5903 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5904
5905         * modules/argz (License): LGPLv2+.
5906
5907 2007-07-15  Karl Berry  <karl@gnu.org>
5908
5909         * doc/gnulib.texi: revise node structure per new fdl.texi.
5910
5911 2007-07-14  Bruno Haible  <bruno@clisp.org>
5912
5913         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
5914         the output file.
5915         * lib/uniname/uninames.h: Regenerated.
5916
5917 2007-07-14  Karl Berry  <karl@gnu.org>
5918
5919         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
5920         omitting sectioning and index commands.
5921
5922 2007-07-13  Bruno Haible  <bruno@clisp.org>
5923
5924         New gnulib-tool option --more-symlinks.
5925         * gnulib-tool (func_usage): Document --more-symlinks.
5926         (do_copyrights): New variable.
5927         Recognize option --more-symlinks.
5928         (func_import): Don't add a copyright notice transform to
5929         sed_transform_lib_file if do_copyrights is empty.
5930
5931 2007-07-13  Bruno Haible  <bruno@clisp.org>
5932
5933         * lib/vasnprintf.c (decimal_point_char): Define also if
5934         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
5935         && !NEED_PRINTF_DIRECTIVE_A.
5936         Reported by Clemens Koller <clemens.koller@anagramm.de> via
5937         Gary V. Vaughan <gary@gnu.org>.
5938
5939 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
5940
5941         * lib/inttypes_.h: Undo previous change, since it was fixed
5942         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
5943
5944 2007-07-13  Bruno Haible  <bruno@clisp.org>
5945
5946         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
5947         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
5948
5949 2007-07-13  Jim Meyering  <jim@meyering.net>
5950
5951         df: Don't fail for Tru64's "file-on-file mount".
5952         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
5953         so we fall through and use statfs instead.  Details here:
5954         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
5955         Reported by Albert Chin.
5956
5957 2007-07-13  Bruno Haible  <bruno@clisp.org>
5958
5959         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
5960         * modules/configmake (License): Likewise.
5961         * modules/gettext (License): Likewise.
5962         * modules/gettext-h (License): Likewise.
5963         * modules/include_next (License): Likewise.
5964         * modules/link-warning (License): Likewise.
5965         * modules/localcharset (License): Likewise.
5966         * modules/localename (License): Likewise.
5967         * modules/lock (License): Likewise.
5968         * modules/relocatable-lib-lgpl (License): Likewise.
5969         * modules/size_max (License): Likewise.
5970         * modules/vasnprintf (License): Likewise.
5971         * modules/wchar (License): Likewise.
5972         * modules/xsize (License): Likewise.
5973
5974 2007-07-13  Bruno Haible  <bruno@clisp.org>
5975
5976         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
5977         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
5978
5979 2007-07-12  Bruno Haible  <bruno@clisp.org>
5980
5981         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
5982         in the modules files.
5983
5984 2007-07-11  Karl Berry  <karl@gnu.org>
5985
5986         * MODULES.html.sh (func_module): use
5987          sed -e '\|^'"${includefile}"'$|d'
5988          instead of /.../d, to avoid errors on $includefile's containing /.
5989
5990 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
5991
5992         * gnulib-tool (func_import): Avoid duplication of --avoid
5993         statements
5994         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
5995         names to `_' in variable names.
5996
5997 2007-07-10  Eric Blake  <ebb9@byu.net>
5998
5999         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
6000         * NEWS: Document this change.
6001
6002 2007-07-08  Bruno Haible  <bruno@clisp.org>
6003
6004         Update to Unicode 5.0.
6005         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
6006         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
6007         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
6008         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
6009         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
6010         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
6011         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
6012         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
6013         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
6014         U+10A3F, U+1D242..U+1D244.
6015         (nonspacing_table_ind): Update.
6016         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
6017         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
6018
6019 2007-07-08  Bruno Haible  <bruno@clisp.org>
6020
6021         Update to Unicode 5.0.
6022         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
6023         code transform. Extend the name index field of unicode_name_to_code and
6024         unicode_code_to_name from 16 to 24 bits.
6025         * lib/uniname/uniname.c (unicode_character_name,
6026         unicode_name_character): Add the range 0x12xxx to the code transform.
6027         * lib/uniname/uninames.h: Regenerated.
6028         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
6029
6030 2007-07-07  Bruno Haible  <bruno@clisp.org>
6031
6032         * modules/wcwidth-tests: New file.
6033         * tests/test-wcwidth.c: New file.
6034
6035         Work around MacOS X wcwidth() bug.
6036         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
6037         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
6038         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
6039         original wcwidth in non-UTF-8 locales.
6040         * modules/wcwidth (Depends-on): Add localcharset, streq,
6041         uniwidth/width.
6042         * doc/functions/wcwidth.texi: Update.
6043
6044 2007-07-07  Bruno Haible  <bruno@clisp.org>
6045
6046         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
6047         (wcwidth): New declaration.
6048         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
6049         macros.
6050         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
6051         here. Prepare for creating <wchar.h> unconditionally.
6052         * modules/wchar (Depends-on): Add link-warning.
6053         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
6054         REPLACE_WCWIDTH, and GL_LINK_WARNING.
6055         * lib/wcwidth.h: Remove file.
6056         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
6057         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
6058         * modules/wcwidth (Files): Remove lib/wcwidth.h.
6059         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
6060         (Include): Replace wcwidth.h with <wchar.h>.
6061         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
6062         * lib/mbchar.h: Don't include wcwidth.h.
6063         * lib/mbswidth.c: Likewise.
6064         * NEWS: Mention the change.
6065
6066 2007-07-07  Bruno Haible  <bruno@clisp.org>
6067
6068         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
6069         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
6070         definition with an external declaration.
6071         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
6072         defined as a function. Remove AC_C_INLINE requirement.
6073         * modules/wcwidth (Files): Add lib/wcwidth.c.
6074         (Makefile.am): Remove redundant statement.
6075
6076 2007-07-07  Bruno Haible  <bruno@clisp.org>
6077
6078         * MODULES.html.sh (Unicode string functions): Add the new modules.
6079
6080         * tests/uniwidth/test-u32-strwidth.c: New file.
6081         * modules/uniwidth/u32-strwidth-tests: New file.
6082
6083         * lib/uniwidth/u32-strwidth.c: New file.
6084         * modules/uniwidth/u32-strwidth: New file.
6085
6086         * tests/uniwidth/test-u16-strwidth.c: New file.
6087         * modules/uniwidth/u16-strwidth-tests: New file.
6088
6089         * lib/uniwidth/u16-strwidth.c: New file.
6090         * modules/uniwidth/u16-strwidth: New file.
6091
6092         * tests/uniwidth/test-u8-strwidth.c: New file.
6093         * modules/uniwidth/u8-strwidth-tests: New file.
6094
6095         * lib/uniwidth/u8-strwidth.c: New file.
6096         * modules/uniwidth/u8-strwidth: New file.
6097
6098         * tests/uniwidth/test-u32-width.c: New file.
6099         * modules/uniwidth/u32-width-tests: New file.
6100
6101         * lib/uniwidth/u32-width.c: New file.
6102         * modules/uniwidth/u32-width: New file.
6103
6104         * tests/uniwidth/test-u16-width.c: New file.
6105         * modules/uniwidth/u16-width-tests: New file.
6106
6107         * lib/uniwidth/u16-width.c: New file.
6108         * modules/uniwidth/u16-width: New file.
6109
6110         * tests/uniwidth/test-u8-width.c: New file.
6111         * modules/uniwidth/u8-width-tests: New file.
6112
6113         * lib/uniwidth/u8-width.c: New file.
6114         * modules/uniwidth/u8-width: New file.
6115
6116         * tests/uniwidth/test-uc_width.c: New file.
6117         * modules/uniwidth/width-tests: New file.
6118
6119         * lib/uniwidth/width.c: New file, from GNU libiconv.
6120         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
6121         * modules/uniwidth/width: New file.
6122
6123         * lib/uniwidth.h: New file, from GNU libiconv.
6124         * modules/uniwidth/base: New file.
6125
6126 2007-07-07  Bruno Haible  <bruno@clisp.org>
6127
6128         * lib/uniname.h: New file, from GNU gettext.
6129         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
6130         * lib/uniname/uninames.h: New file, from GNU gettext.
6131         * lib/uniname/uniname.c: New file, from GNU gettext.
6132         * tests/uniname/test-uninames.sh: New file.
6133         * tests/uniname/test-uninames.c: New file, from GNU gettext.
6134         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
6135         * modules/uniname/base: New file.
6136         * modules/uniname/uniname: New file.
6137         * modules/uniname/uniname-tests: New file.
6138         * MODULES.html.sh (Unicode string functions): Add the new modules.
6139
6140 2007-07-06  Bruno Haible  <bruno@clisp.org>
6141
6142         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
6143
6144 2007-07-06  Bruno Haible  <bruno@clisp.org>
6145
6146         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
6147         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
6148         includes <cygwin/sys_time.h> which includes <sys/select.h> which
6149         include <sys/time.h>.
6150         Reported by Eric Blake.
6151
6152 2007-07-06  Eric Blake  <ebb9@byu.net>
6153
6154         Fix testing canonicalize on cygwin.
6155         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
6156         Revert patch from 2007-06-19.
6157         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
6158         canonicalize module is also in use.
6159         * tests/test-canonicalize.c: New file.
6160         * tests/test-canonicalize.sh: Likewise.
6161         * modules/canonicalize-tests: Likewise.
6162
6163 2007-07-06  Jim Meyering  <jim@meyering.net>
6164
6165         * lib/getugroups.c (getugroups): Detect getgrent failure.
6166         Adjust comment to reflect reality: this function may return -1.
6167
6168 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
6169
6170         * build-aux/bootstrap (TP_URL,get_translations): Update to use
6171         the new TP address.
6172         (usage): Fix typo
6173         (gnulib_mk): New variable.
6174
6175 2007-07-05  Jim Meyering  <jim@meyering.net>
6176
6177         Don't let endgrent clobber errno, no matter how improbable.
6178         * lib/getugroups.c (getugroups): Save and restore errno around
6179         endgrent call.
6180
6181         Close the group DB even when failing with 2^31 or more members.
6182         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
6183
6184 2007-07-04  Jim Meyering  <jim@meyering.net>
6185
6186         * lib/getugroups.h: New file.
6187         * lib/getugroups.c: Include "getugroups.h".
6188         Remove uses of "register" keyword.
6189         Move local variable, "cp", down into scope where used.
6190         Give "username" parameter the "const" attribute.
6191         * modules/getugroups (Files): Add lib/getugroups.h
6192
6193 2007-07-04  Karl Berry  <karl@gnu.org>
6194
6195         * MODULES.html.sh (func_all_modules): Complete rename of
6196         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
6197
6198 2007-07-02  Bruno Haible  <bruno@clisp.org>
6199
6200         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
6201         mode, when inttypes.h comes from gnulib.
6202         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
6203
6204 2007-07-02  Simon Josefsson  <simon@josefsson.org>
6205
6206         * NEWS: Mention lgpl module name change.
6207
6208         * modules/lgpl-2.1: Renamed from lgpl.
6209
6210         * NEWS: Mention gpl module name change.
6211
6212         * modules/gpl-3.0: New file, based on gpl-2.0.
6213
6214         * modules/gpl-2.0: Renamed from gpl.
6215
6216         * modules/gpl: Fix filename, doc/gpl.texi is now found at
6217         doc/gpl-2.0.texi.
6218
6219 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
6220
6221         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
6222         #define __STDC_LIMIT_MACROS temporarily while including
6223         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
6224         Problem reported by Joel E. Denny in
6225         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
6226
6227 2007-07-01  Bruno Haible  <bruno@clisp.org>
6228
6229         * lib/unistdio.h: New file.
6230         * lib/unistdio/u-asnprintf.h: New file.
6231         * lib/unistdio/u-asprintf.h: New file.
6232         * lib/unistdio/u-printf-args.c: New file.
6233         * lib/unistdio/u-printf-args.h: New file.
6234         * lib/unistdio/u-printf-parse.h: New file.
6235         * lib/unistdio/u-snprintf.h: New file.
6236         * lib/unistdio/u-sprintf.h: New file.
6237         * lib/unistdio/u-vasprintf.h: New file.
6238         * lib/unistdio/u-vsnprintf.h: New file.
6239         * lib/unistdio/u-vsprintf.h: New file.
6240         * lib/unistdio/ulc-asnprintf.c: New file.
6241         * lib/unistdio/ulc-asprintf.c: New file.
6242         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
6243         * lib/unistdio/ulc-printf-parse.c: New file.
6244         * lib/unistdio/ulc-snprintf.c: New file.
6245         * lib/unistdio/ulc-sprintf.c: New file.
6246         * lib/unistdio/ulc-vasnprintf.c: New file.
6247         * lib/unistdio/ulc-vasprintf.c: New file.
6248         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
6249         * lib/unistdio/ulc-vsnprintf.c: New file.
6250         * lib/unistdio/ulc-vsprintf.c: New file.
6251         * lib/unistdio/u8-asnprintf.c: New file.
6252         * lib/unistdio/u8-asprintf.c: New file.
6253         * lib/unistdio/u8-printf-parse.c: New file.
6254         * lib/unistdio/u8-snprintf.c: New file.
6255         * lib/unistdio/u8-sprintf.c: New file.
6256         * lib/unistdio/u8-vasnprintf.c: New file.
6257         * lib/unistdio/u8-vasprintf.c: New file.
6258         * lib/unistdio/u8-vsnprintf.c: New file.
6259         * lib/unistdio/u8-vsprintf.c: New file.
6260         * lib/unistdio/u8-u8-asnprintf.c: New file.
6261         * lib/unistdio/u8-u8-asprintf.c: New file.
6262         * lib/unistdio/u8-u8-snprintf.c: New file.
6263         * lib/unistdio/u8-u8-sprintf.c: New file.
6264         * lib/unistdio/u8-u8-vasnprintf.c: New file.
6265         * lib/unistdio/u8-u8-vasprintf.c: New file.
6266         * lib/unistdio/u8-u8-vsnprintf.c: New file.
6267         * lib/unistdio/u8-u8-vsprintf.c: New file.
6268         * lib/unistdio/u16-asnprintf.c: New file.
6269         * lib/unistdio/u16-asprintf.c: New file.
6270         * lib/unistdio/u16-printf-parse.c: New file.
6271         * lib/unistdio/u16-snprintf.c: New file.
6272         * lib/unistdio/u16-sprintf.c: New file.
6273         * lib/unistdio/u16-vasnprintf.c: New file.
6274         * lib/unistdio/u16-vasprintf.c: New file.
6275         * lib/unistdio/u16-vsnprintf.c: New file.
6276         * lib/unistdio/u16-vsprintf.c: New file.
6277         * lib/unistdio/u16-u16-asnprintf.c: New file.
6278         * lib/unistdio/u16-u16-asprintf.c: New file.
6279         * lib/unistdio/u16-u16-snprintf.c: New file.
6280         * lib/unistdio/u16-u16-sprintf.c: New file.
6281         * lib/unistdio/u16-u16-vasnprintf.c: New file.
6282         * lib/unistdio/u16-u16-vasprintf.c: New file.
6283         * lib/unistdio/u16-u16-vsnprintf.c: New file.
6284         * lib/unistdio/u16-u16-vsprintf.c: New file.
6285         * lib/unistdio/u32-asnprintf.c: New file.
6286         * lib/unistdio/u32-asprintf.c: New file.
6287         * lib/unistdio/u32-printf-parse.c: New file.
6288         * lib/unistdio/u32-snprintf.c: New file.
6289         * lib/unistdio/u32-sprintf.c: New file.
6290         * lib/unistdio/u32-vasnprintf.c: New file.
6291         * lib/unistdio/u32-vasprintf.c: New file.
6292         * lib/unistdio/u32-vsnprintf.c: New file.
6293         * lib/unistdio/u32-vsprintf.c: New file.
6294         * lib/unistdio/u32-u32-asnprintf.c: New file.
6295         * lib/unistdio/u32-u32-asprintf.c: New file.
6296         * lib/unistdio/u32-u32-snprintf.c: New file.
6297         * lib/unistdio/u32-u32-sprintf.c: New file.
6298         * lib/unistdio/u32-u32-vasnprintf.c: New file.
6299         * lib/unistdio/u32-u32-vasprintf.c: New file.
6300         * lib/unistdio/u32-u32-vsnprintf.c: New file.
6301         * lib/unistdio/u32-u32-vsprintf.c: New file.
6302         * tests/unistdio/test-ulc-asnprintf1.c: New file.
6303         * tests/unistdio/test-ulc-asnprintf1.h: New file.
6304         * tests/unistdio/test-ulc-printf1.h: New file.
6305         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
6306         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
6307         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
6308         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
6309         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
6310         * tests/unistdio/test-ulc-vasprintf1.c: New file.
6311         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
6312         * tests/unistdio/test-ulc-vsprintf1.c: New file.
6313         * tests/unistdio/test-u8-asnprintf1.c: New file.
6314         * tests/unistdio/test-u8-asnprintf1.h: New file.
6315         * tests/unistdio/test-u8-printf1.h: New file.
6316         * tests/unistdio/test-u8-vasnprintf1.c: New file.
6317         * tests/unistdio/test-u8-vasnprintf2.c: New file.
6318         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
6319         * tests/unistdio/test-u8-vasnprintf3.c: New file.
6320         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
6321         * tests/unistdio/test-u8-vasprintf1.c: New file.
6322         * tests/unistdio/test-u8-vsnprintf1.c: New file.
6323         * tests/unistdio/test-u8-vsprintf1.c: New file.
6324         * tests/unistdio/test-u16-asnprintf1.c: New file.
6325         * tests/unistdio/test-u16-asnprintf1.h: New file.
6326         * tests/unistdio/test-u16-printf1.h: New file.
6327         * tests/unistdio/test-u16-vasnprintf1.c: New file.
6328         * tests/unistdio/test-u16-vasnprintf2.c: New file.
6329         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
6330         * tests/unistdio/test-u16-vasnprintf3.c: New file.
6331         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
6332         * tests/unistdio/test-u16-vasprintf1.c: New file.
6333         * tests/unistdio/test-u16-vsnprintf1.c: New file.
6334         * tests/unistdio/test-u16-vsprintf1.c: New file.
6335         * tests/unistdio/test-u32-asnprintf1.c: New file.
6336         * tests/unistdio/test-u32-asnprintf1.h: New file.
6337         * tests/unistdio/test-u32-printf1.h: New file.
6338         * tests/unistdio/test-u32-vasnprintf1.c: New file.
6339         * tests/unistdio/test-u32-vasnprintf2.c: New file.
6340         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
6341         * tests/unistdio/test-u32-vasnprintf3.c: New file.
6342         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
6343         * tests/unistdio/test-u32-vasprintf1.c: New file.
6344         * tests/unistdio/test-u32-vsnprintf1.c: New file.
6345         * tests/unistdio/test-u32-vsprintf1.c: New file.
6346         * modules/unistdio/base: New file.
6347         * modules/unistdio/u-printf-args: New file.
6348         * modules/unistdio/ulc-asnprintf: New file.
6349         * modules/unistdio/ulc-asprintf: New file.
6350         * modules/unistdio/ulc-fprintf: New file.
6351         * modules/unistdio/ulc-printf-parse: New file.
6352         * modules/unistdio/ulc-snprintf: New file.
6353         * modules/unistdio/ulc-sprintf: New file.
6354         * modules/unistdio/ulc-vasnprintf: New file.
6355         * modules/unistdio/ulc-vasprintf: New file.
6356         * modules/unistdio/ulc-vfprintf: New file.
6357         * modules/unistdio/ulc-vsnprintf: New file.
6358         * modules/unistdio/ulc-vsprintf: New file.
6359         * modules/unistdio/u8-asnprintf: New file.
6360         * modules/unistdio/u8-asprintf: New file.
6361         * modules/unistdio/u8-printf-parse: New file.
6362         * modules/unistdio/u8-snprintf: New file.
6363         * modules/unistdio/u8-sprintf: New file.
6364         * modules/unistdio/u8-vasnprintf: New file.
6365         * modules/unistdio/u8-vasprintf: New file.
6366         * modules/unistdio/u8-vsnprintf: New file.
6367         * modules/unistdio/u8-vsprintf: New file.
6368         * modules/unistdio/u8-u8-asnprintf: New file.
6369         * modules/unistdio/u8-u8-asprintf: New file.
6370         * modules/unistdio/u8-u8-snprintf: New file.
6371         * modules/unistdio/u8-u8-sprintf: New file.
6372         * modules/unistdio/u8-u8-vasnprintf: New file.
6373         * modules/unistdio/u8-u8-vasprintf: New file.
6374         * modules/unistdio/u8-u8-vsnprintf: New file.
6375         * modules/unistdio/u8-u8-vsprintf: New file.
6376         * modules/unistdio/u16-asnprintf: New file.
6377         * modules/unistdio/u16-asprintf: New file.
6378         * modules/unistdio/u16-printf-parse: New file.
6379         * modules/unistdio/u16-snprintf: New file.
6380         * modules/unistdio/u16-sprintf: New file.
6381         * modules/unistdio/u16-vasnprintf: New file.
6382         * modules/unistdio/u16-vasprintf: New file.
6383         * modules/unistdio/u16-vsnprintf: New file.
6384         * modules/unistdio/u16-vsprintf: New file.
6385         * modules/unistdio/u16-u16-asnprintf: New file.
6386         * modules/unistdio/u16-u16-asprintf: New file.
6387         * modules/unistdio/u16-u16-snprintf: New file.
6388         * modules/unistdio/u16-u16-sprintf: New file.
6389         * modules/unistdio/u16-u16-vasnprintf: New file.
6390         * modules/unistdio/u16-u16-vasprintf: New file.
6391         * modules/unistdio/u16-u16-vsnprintf: New file.
6392         * modules/unistdio/u16-u16-vsprintf: New file.
6393         * modules/unistdio/u32-asnprintf: New file.
6394         * modules/unistdio/u32-asprintf: New file.
6395         * modules/unistdio/u32-printf-parse: New file.
6396         * modules/unistdio/u32-snprintf: New file.
6397         * modules/unistdio/u32-sprintf: New file.
6398         * modules/unistdio/u32-vasnprintf: New file.
6399         * modules/unistdio/u32-vasprintf: New file.
6400         * modules/unistdio/u32-vsnprintf: New file.
6401         * modules/unistdio/u32-vsprintf: New file.
6402         * modules/unistdio/u32-u32-asnprintf: New file.
6403         * modules/unistdio/u32-u32-asprintf: New file.
6404         * modules/unistdio/u32-u32-snprintf: New file.
6405         * modules/unistdio/u32-u32-sprintf: New file.
6406         * modules/unistdio/u32-u32-vasnprintf: New file.
6407         * modules/unistdio/u32-u32-vasprintf: New file.
6408         * modules/unistdio/u32-u32-vsnprintf: New file.
6409         * modules/unistdio/u32-u32-vsprintf: New file.
6410         * modules/unistdio/ulc-asnprintf-tests: New file.
6411         * modules/unistdio/ulc-vasnprintf-tests: New file.
6412         * modules/unistdio/ulc-vasprintf-tests: New file.
6413         * modules/unistdio/ulc-vsnprintf-tests: New file.
6414         * modules/unistdio/ulc-vsprintf-tests: New file.
6415         * modules/unistdio/u8-asnprintf-tests: New file.
6416         * modules/unistdio/u8-vasnprintf-tests: New file.
6417         * modules/unistdio/u8-vasprintf-tests: New file.
6418         * modules/unistdio/u8-vsnprintf-tests: New file.
6419         * modules/unistdio/u8-vsprintf-tests: New file.
6420         * modules/unistdio/u16-asnprintf-tests: New file.
6421         * modules/unistdio/u16-vasnprintf-tests: New file.
6422         * modules/unistdio/u16-vasprintf-tests: New file.
6423         * modules/unistdio/u16-vsnprintf-tests: New file.
6424         * modules/unistdio/u16-vsprintf-tests: New file.
6425         * modules/unistdio/u32-asnprintf-tests: New file.
6426         * modules/unistdio/u32-vasnprintf-tests: New file.
6427         * modules/unistdio/u32-vasprintf-tests: New file.
6428         * modules/unistdio/u32-vsnprintf-tests: New file.
6429         * modules/unistdio/u32-vsprintf-tests: New file.
6430         * MODULES.html.sh (Unicode string functions): Add the new modules.
6431
6432 2007-07-01  Bruno Haible  <bruno@clisp.org>
6433
6434         * lib/sprintf.c (sprintf): Limit the available length estimation,
6435         to avoid address wraparound.
6436         * lib/vsprintf.c (vsprintf): Likewise.
6437         * modules/sprintf-posix (Dependencies): Add stdint.
6438         * modules/vsprintf-posix (Dependencies): Likewise.
6439
6440 2007-07-01  Bruno Haible  <bruno@clisp.org>
6441
6442         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
6443         Windows PATH as well. Conservative double-quoting. Comments.
6444
6445 2007-07-01  Bruno Haible  <bruno@clisp.org>
6446             Eric Blake  <ebb9@byu.net>
6447             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6448
6449         * gnulib-tool (self_abspathname): Fix algorithm to cope with
6450         empty components in $PATH, denoting '.'.
6451
6452 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6453
6454         * gnulib-tool: Fix indentation.
6455         (func_create_megatestdir): Likewise.
6456         Report by Bruno Haible.
6457
6458 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6459
6460         Sync from Automake.
6461         * build-aux/gnupload: Fix shell portability issues with for loops.
6462         Report by Karl Berry.
6463
6464 2007-06-29  Simon Josefsson  <simon@josefsson.org>
6465
6466         * build-aux/maint.mk (POURL): Use translationproject.org.
6467
6468 2007-06-27  Simon Josefsson  <simon@josefsson.org>
6469             Bruno Haible  <bruno@clisp.org>
6470
6471         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
6472         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
6473         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
6474         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
6475         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
6476
6477 2007-06-27  Bruno Haible  <bruno@clisp.org>
6478
6479         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
6480         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
6481
6482 2007-06-26  Karl Berry  <karl@gnu.org>
6483
6484         * MODULES.html.sh: remove xreadlink-with-size.
6485
6486 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
6487
6488         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
6489         method that I hope also handles the double-include problem noted
6490         by Bruno Haible in
6491         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
6492
6493 2007-06-23  Bruno Haible  <bruno@clisp.org>
6494
6495         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
6496         Don't let the 'mostlyclean' target fail if the last subdirectory could
6497         not be removed.
6498         Reported by Karl Berry.
6499
6500 2007-06-23  Bruno Haible  <bruno@clisp.org>
6501
6502         * gnulib-tool (echo): Add a speedier workaround for ksh.
6503         * tests/test-echo.sh: Likewise.
6504
6505 2007-06-23  Bruno Haible  <bruno@clisp.org>
6506
6507         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
6508         * tests/test-echo.sh: Likewise.
6509
6510 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6511
6512         * gnulib-tool (IFS): Initialize early, so we don't set it to
6513         empty later.
6514         (self_abspathname): Rewrite algorithm to set it, reindent.
6515         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
6516         (func_create_megatestdir): Merge some sed scripts.
6517
6518 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
6519
6520         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
6521         exposed by Sun Studio 11 cc on Solaris 8.
6522
6523 2007-06-22  Bruno Haible  <bruno@clisp.org>
6524
6525         * gnulib-tool (echo): Ensure the echo primitive does not interpret
6526         backslashes.
6527         * tests/test-echo.sh: New file.
6528
6529 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6530
6531         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
6532         simplify `sed_replace_build_aux' scripts, they are portable but
6533         echoing them with `echo' is not.
6534         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
6535
6536 2007-06-21  Karl Berry  <karl@gnu.org>
6537
6538         * config/srclist.txt: guess we can't handle the licenses via
6539         srclist at the moment.
6540
6541 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
6542
6543         * MODULES.html.sh: Add include_next.
6544         * modules/include_next: New file.
6545
6546 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
6547
6548         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
6549         INCLUDE_NEXT.
6550         (gl_CHECK_NEXT_HEADERS): New macro.
6551         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
6552         the obsolescent gl_ABSOLUTE_HEADER.
6553         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
6554         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
6555         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
6556         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
6557         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
6558         * m4/math_h.m4 (gl_MATH_H): Likewise.
6559         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
6560         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
6561         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
6562         * m4/stdint.m4 (gl_STDINT_H): Likewise.
6563         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
6564         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
6565         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
6566         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6567         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
6568         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
6569         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
6570         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
6571         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
6572         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6573         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
6574         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
6575         * m4/inttypes.m4 (gl_INTTYPES_H): Define
6576         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
6577         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
6578         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
6579         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
6580         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
6581         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
6582         * lib/float_.h: Likewise.
6583         * lib/inttypes_.h: Likewise.
6584         * lib/math_.h: Likewise.
6585         * lib/search_.h: Likewise.
6586         * lib/signal_.h: Likewise.
6587         * lib/stdint_.h: Likewise.
6588         * lib/stdio_.h: Likewise.
6589         * lib/stdlib_.h: Likewise.
6590         * lib/string_.h: Likewise.
6591         * lib/sys_stat_.h: Likewise.
6592         * lib/sys_time_.h: Likewise.
6593         * lib/time_.h: Likewise.
6594         * lib/unistd_.h: Likewise.
6595         * lib/wchar_.h: Likewise.
6596         * lib/wctype_.h: Likewise.
6597         * lib/dirent_.h: Likewise.
6598         * lib/iconv_.h: Likewise.
6599         * lib/locale_.h: Likewise.
6600         * lib/netinet_in_.h: Likewise.
6601         * lib/sys_select_.h: Likewise.
6602         * lib/sys_socket_.h: Likewise.
6603         * lib/sysexits_.h: Likewise.
6604         * modules/fcntl (Depends-on): Depend on include_next, not
6605         absolute_header.
6606         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
6607         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
6608         * modules/fchdir: Likewise.
6609         * modules/float: Likewise.
6610         * modules/iconv_open: Likewise.
6611         * modules/inttypes: Likewise.
6612         * modules/locale: Likewise.
6613         * modules/math: Likewise.
6614         * modules/netinet_in: Likewise.
6615         * modules/search: Likewise.
6616         * modules/signal: Likewise.
6617         * modules/stdint: Likewise.
6618         * modules/stdio: Likewise.
6619         * modules/stdlib: Likewise.
6620         * modules/string: Likewise.
6621         * modules/sys_select: Likewise.
6622         * modules/sys_socket: Likewise.
6623         * modules/sys_stat: Likewise.
6624         * modules/sys_time: Likewise.
6625         * modules/sysexits: Likewise.
6626         * modules/time: Likewise.
6627         * modules/unistd: Likewise.
6628         * modules/wchar: Likewise.
6629         * modules/wctype: Likewise.
6630         * modules/sys_stat: Change maintainer to "all".
6631         * modules/unistd: Likewise.
6632
6633 2007-06-20  Karl Berry  <karl@gnu.org>
6634
6635         * config/srclist.txt: track www changes in license files.
6636
6637 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
6638
6639         * build-aux/bootstrap: Remove stray dot.
6640         Make sure build_aux settings are honored when linking
6641         gnulib_extra_files.
6642
6643 2007-06-19  Eric Blake  <ebb9@byu.net>
6644
6645         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
6646         Allow compilation on cygwin.
6647
6648 2007-06-19  Jim Meyering  <jim@meyering.net>
6649
6650         xreadlink-with-size: Remove module.  No longer used.
6651         Ex-callers now use xreadlink or mreadlink-with-size.
6652         * modules/xreadlink-with-size: Remove module.
6653         * lib/xreadlink-with-size.c: Remove file.
6654         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
6655         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
6656         just before the function definition *is* accurate.
6657
6658         Eliminate one way canonicalize_filename_mode could exit.
6659         * lib/canonicalize.c (canonicalize_filename_mode):
6660         Use mreadlink_with_size, not xreadlink_with_size.
6661
6662 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
6663
6664         Detect porting problems to FreeBSD/arm, which has time_t wider than
6665         long int.  Original problem reported for GNU diff by Xin Li in
6666         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
6667         * modules/getdate (Depends-on): Add intprops, verify.
6668         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
6669         is an integer type no wider than long int.
6670
6671 2007-06-18  Jim Meyering  <jim@meyering.net>
6672
6673         New module: mreadlink-with-size.
6674         * MODULES.html.sh: Add mreadlink-with-size.
6675         * modules/mreadlink-with-size: New module
6676         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
6677         not xreadlink-with-size.
6678         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
6679
6680 2007-06-16  Bruno Haible  <bruno@clisp.org>
6681
6682         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
6683         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
6684         Reported by Gary V. Vaughan <gary@gnu.org>.
6685
6686 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
6687
6688         Revamp lchown so that it lives in unistd.h where it belongs.
6689         * lib/lchown.h: Remove.
6690         * lib/dirchownmod.c: Don't include lib/lchown.h.
6691         * lib/fchownat.c: Likewise.
6692         * lib/openat.c: Likewise.
6693         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
6694         does not follow symlinks.
6695         (EOPNOTSUPP): Define if not defined.
6696         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
6697         is defined to 0.
6698         (lchown): New decl.
6699         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
6700         Do not check for lchown decl.
6701         Set REPLACE_LCHOWN.
6702         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
6703         REPLACE_LCHOWN.
6704         * modules/chown: Make it clear it follows symlinks.
6705         * modules/lchown: Make it clear it doesn't follow symlinks.
6706         (Files): Remove lib/lchown.h
6707         (Depends-on): Add unistd.
6708         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
6709         (Include): Include <unistd.h>, not "lchown.h".
6710         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
6711         REPLACE_LCHOWN.
6712
6713 2007-06-15  Jim Meyering  <jim@meyering.net>
6714
6715         Change license (GPL to LGPL) of fsusage and dependents.
6716         * modules/fsusage (License): Change to LGPL.
6717         * modules/full-read (License): Likewise.
6718         * modules/full-write (License): Likewise.
6719         * modules/safe-read (License): Likewise.
6720         * modules/safe-write (License): Likewise.
6721
6722 2007-06-14  Ben Pfaff  <blp@gnu.org>
6723
6724         Missing part of allocsa -> malloca transition.
6725         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
6726         gl_MALLOCA.
6727
6728 2007-06-12  Bruno Haible  <bruno@clisp.org>
6729
6730         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
6731         to ia64, x86_64, i386.
6732         Reported by Eric Blake.
6733
6734 2007-06-12  Bruno Haible  <bruno@clisp.org>
6735
6736         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
6737         cross-compiling to x86_64.
6738
6739 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
6740
6741         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
6742         glitch reported by Ralf Wildenhues in
6743         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
6744
6745         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
6746         Vin Shelton.
6747
6748 2007-06-11  Bruno Haible  <bruno@clisp.org>
6749
6750         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
6751         replacement string.
6752         Reported by Eric Blake.
6753
6754 2007-06-10  Bruno Haible  <bruno@clisp.org>
6755
6756         Prepare vasnprintf code for use with Unicode strings.
6757         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
6758         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
6759         TYPE_U32_STRING.
6760         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
6761         a_u32_string variants.
6762         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
6763         * lib/printf-args.c: Don't include config.h and the specification
6764         header if PRINTF_FETCHARGS is already defined.
6765         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
6766         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
6767         TYPE_U16_STRING, TYPE_U32_STRING.
6768         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
6769         u16_directive, u16_directives, u32_directive, u32_directives): New
6770         types.
6771         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
6772         New declarations.
6773         * lib/printf-parse.c: Don't include config.h and the specification
6774         header if PRINTF_PARSE is already defined. Eliminate the set of
6775         parameters for WIDE_CHAR_VERSION; the user of this file must provide
6776         them now. Include c-ctype.h.
6777         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
6778         directive and CHAR_T_ONLY_ASCII.
6779         * lib/vasnprintf.c: Don't include config.h and the specification header
6780         if VASNPRINTF is already defined.
6781         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
6782         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
6783         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
6784         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
6785         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
6786         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
6787         code accordingly.
6788         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
6789         pad_ourselves also in this case, with the 'c' and 's' directives, and
6790         with a different notion of "width".
6791         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
6792
6793 2007-06-10  Bruno Haible  <bruno@clisp.org>
6794
6795         * modules/unistr/u32-mbsnlen: New file.
6796         * lib/unistr/u32-mbsnlen.c: New file.
6797
6798         * modules/unistr/u16-mbsnlen: New file.
6799         * lib/unistr/u16-mbsnlen.c: New file.
6800
6801         * modules/unistr/u8-mbsnlen: New file.
6802         * lib/unistr/u8-mbsnlen.c: New file.
6803
6804         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
6805         declarations.
6806
6807 2007-06-10  Bruno Haible  <bruno@clisp.org>
6808
6809         * lib/string_.h (mbsnlen): New declaration.
6810         * lib/mbsnlen.c: New file.
6811         * m4/mbsnlen.m4: New file.
6812         * modules/mbsnlen: New file.
6813         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
6814         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
6815         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
6816
6817 2007-06-10  Bruno Haible  <bruno@clisp.org>
6818
6819         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
6820
6821 2007-06-10  Bruno Haible  <bruno@clisp.org>
6822
6823         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
6824         * lib/mbuiter.h: Likewise.
6825
6826 2007-06-10  Bruno Haible  <bruno@clisp.org>
6827
6828         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
6829         declaration.
6830
6831 2007-06-10  Karl Berry  <karl@gnu.org>
6832
6833         * config/srclist.txt: remove gettext entries, Bruno prefers
6834         to update individually.
6835
6836 2007-06-10  Bruno Haible  <bruno@clisp.org>
6837
6838         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
6839         'maxlen'. Ensure only length + width bytes are allocated, not
6840         length + 1 + width.
6841
6842 2007-06-09  Bruno Haible  <bruno@clisp.org>
6843
6844         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
6845         (CHAR_T): Remove macro.
6846         (VASNPRINTF): Update.
6847
6848 2007-06-09  Bruno Haible  <bruno@clisp.org>
6849
6850         * MODULES.html.sh (Unicode string functions): Add the new modules.
6851
6852         * modules/uniconv/u32-conv-to-enc: New file.
6853         * lib/uniconv/u32-conv-to-enc.c: New file.
6854         * modules/uniconv/u32-conv-to-enc-tests: New file.
6855         * tests/uniconv/test-u32-conv-to-enc.c: New file.
6856
6857         * modules/uniconv/u16-conv-to-enc: New file.
6858         * lib/uniconv/u16-conv-to-enc.c: New file.
6859         * lib/uniconv/u-conv-to-enc.h: New file.
6860         * modules/uniconv/u16-conv-to-enc-tests: New file.
6861         * tests/uniconv/test-u16-conv-to-enc.c: New file.
6862
6863         * modules/uniconv/u8-conv-to-enc: New file.
6864         * lib/uniconv/u8-conv-to-enc.c: New file.
6865         * modules/uniconv/u8-conv-to-enc-tests: New file.
6866         * tests/uniconv/test-u8-conv-to-enc.c: New file.
6867
6868         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
6869         u32_conv_to_encoding): New declarations.
6870
6871 2007-06-09  Bruno Haible  <bruno@clisp.org>
6872
6873         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
6874
6875 2007-06-09  Bruno Haible  <bruno@clisp.org>
6876
6877         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
6878         * modules/malloca: Renamed from modules/allocsa, updated.
6879         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
6880         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
6881         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
6882         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
6883         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
6884         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
6885         * modules/xmalloca: Renamed from modules/xallocsa, updated.
6886         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
6887         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
6888         * modules/c-strcasestr (Depends-on): Update.
6889         * lib/c-strcasestr.c: Update.
6890         * modules/c-strstr (Depends-on): Update.
6891         * lib/c-strstr.c: Update.
6892         * modules/canonicalize-lgpl (Depends-on): Update.
6893         * lib/canonicalize-lgpl.c: Update.
6894         * modules/clean-temp (Depends-on): Update.
6895         * lib/clean-temp.c: Update.
6896         * modules/csharpcomp (Depends-on): Update.
6897         * lib/csharpcomp.c: Update.
6898         * modules/csharpexec (Depends-on): Update.
6899         * lib/csharpexec.c: Update.
6900         * modules/javacomp (Depends-on): Update.
6901         * lib/javacomp.c: Update.
6902         * modules/javaexec (Depends-on): Update.
6903         * lib/javaexec.c: Update.
6904         * modules/mbscasestr (Depends-on): Update.
6905         * lib/mbscasestr.c: Update.
6906         * modules/mbsstr (Depends-on): Update.
6907         * lib/mbsstr.c: Update.
6908         * modules/setenv (Depends-on): Update.
6909         * lib/setenv.c: Update.
6910         * modules/strcasestr (Depends-on): Update.
6911         * lib/strcasestr.c: Update.
6912         * modules/striconveha (Depends-on): Update.
6913         * lib/striconveha.c: Update.
6914         * modules/relocatable-prog-wrapper (Files): Update.
6915         * lib/relocwrapper.c: Update.
6916         * build-aux/install-reloc: Update.
6917         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
6918
6919 2007-06-08  Bruno Haible  <bruno@clisp.org>
6920
6921         Port to uClibc.
6922         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
6923         * lib/fpurge.c (fpurge): Likewise.
6924         * lib/freading.c (freading): Likewise.
6925         * lib/fseeko.c (rpl_fseeko): Likewise.
6926         * lib/fseterr.c (fseterr): Likewise.
6927         * lib/fwriting.c (fwriting): Likewise.
6928         * tests/test-fflush.c (main): Avoid a failure on uClibc.
6929
6930 2007-06-08  Bruno Haible  <bruno@clisp.org>
6931
6932         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
6933         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
6934         * modules/gettext (Files): Add m4/intlmacosx.m4.
6935
6936 2007-06-07  Bruno Haible  <bruno@clisp.org>
6937
6938         * modules/localename-tests: New file.
6939         * tests/test-localename.c: New file.
6940
6941         New module 'localename'.
6942         * lib/localename.h: New file.
6943         * lib/localename.c: New file, from GNU gettext.
6944         * m4/localename.m4: New file.
6945         * modules/localename: New file.
6946
6947 2007-06-07  Bruno Haible  <bruno@clisp.org>
6948
6949         Work around the lack of <wchar.h> on some builds of uClibc.
6950         * doc/headers/wchar.texi: Update.
6951         * lib/wchar_.h: Include <wchar.h> only if it exists.
6952         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
6953         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
6954         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
6955         doesn't exist.
6956         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
6957         * modules/mbfile (Depends-on): Add wchar.
6958         * modules/mbiter (Depends-on): Likewise.
6959         * modules/mbuiter (Depends-on): Likewise.
6960         Reported by Simon Josefsson.
6961
6962 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
6963
6964         Work around problem reported by Steven M. Schweda in
6965         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
6966         Tru64 5.1B with the Compaq compiler environment installed declares
6967         an 'isblank' function but does not define it in the C library.
6968         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
6969         * lib/regex_internal.h (isblank): Likewise.
6970         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
6971         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
6972
6973 2007-06-05  Bruno Haible  <bruno@clisp.org>
6974
6975         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
6976         ia64.
6977         * modules/printf-safe: New file.
6978         * modules/fprintf-posix (Depends-on): Add printf-safe.
6979         * modules/printf-posix (Depends-on): Likewise.
6980         * modules/snprintf-posix (Depends-on): Likewise.
6981         * modules/sprintf-posix (Depends-on): Likewise.
6982         * modules/vasnprintf-posix (Depends-on): Likewise.
6983         * modules/vasprintf-posix (Depends-on): Likewise.
6984         * modules/vfprintf-posix (Depends-on): Likewise.
6985         * modules/vprintf-posix (Depends-on): Likewise.
6986         * modules/vsnprintf-posix (Depends-on): Likewise.
6987         * modules/vsprintf-posix (Depends-on): Likewise.
6988         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
6989         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
6990         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
6991         "no" on i386, x86_64, ia64.
6992         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
6993         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
6994         on i386, x86_64, ia64.
6995         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
6996         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
6997         on i386, x86_64, ia64.
6998         * tests/test-vasnprintf-posix.c: Include float.h.
6999         (LDBL80_WORDS): New macro.
7000         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
7001         on i386, x86_64, ia64.
7002         * tests/test-vasprintf-posix.c: Include float.h.
7003         (LDBL80_WORDS): New macro.
7004         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
7005         on i386, x86_64, ia64.
7006         * tests/test-snprintf-posix.c: Include float.h.
7007         * tests/test-sprintf-posix.c: Likewise.
7008         * tests/test-vsnprintf-posix.c: Likewise.
7009         * tests/test-vsprintf-posix.c: Likewise.
7010
7011 2007-06-05  Bruno Haible  <bruno@clisp.org>
7012
7013         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
7014         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
7015         non-IEEE numbers on i386, x86_64, ia64.
7016         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
7017         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
7018         * tests/test-isnanl.h: Include float.h.
7019         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
7020
7021 2007-06-05  Bruno Haible  <bruno@clisp.org>
7022
7023         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
7024         also the %a / %A. Handle the %a / %A code before this extra handling.
7025
7026 2007-06-05  Bruno Haible  <bruno@clisp.org>
7027
7028         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
7029         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
7030
7031 2007-06-05  Bruno Haible  <bruno@clisp.org>
7032
7033         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
7034         typo in variable name.
7035
7036 2007-06-05  Eric Blake  <ebb9@byu.net>
7037
7038         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
7039         Reported by Simon Josefsson.
7040
7041 2007-06-04  Bruno Haible  <bruno@clisp.org>
7042
7043         Avoid test failures on some PowerPC platforms.
7044         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
7045         Define differently for PowerPC.
7046         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
7047         Reported by Gary V. Vaughan <gary@gnu.org>.
7048
7049 2007-06-02  Bruno Haible  <bruno@clisp.org>
7050
7051         Fix test-stdint failure on FreeBSD/ia64.
7052         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
7053         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
7054         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
7055         * doc/headers/stdint.texi: Update.
7056
7057 2007-06-01  Bruno Haible  <bruno@clisp.org>
7058
7059         * tests/test-binary-io.c (main): Pass a third argument to open().
7060         Reported by Gary V. Vaughan <gary@gnu.org>.
7061
7062 2007-06-01  Bruno Haible  <bruno@clisp.org>
7063
7064         * doc/functions/frexpl.texi: Update for mingw.
7065
7066 2007-06-01  Bruno Haible  <bruno@clisp.org>
7067
7068         * tests/test-lseek.c (main): Disable test of errno for invalid third
7069         argument.
7070         * doc/functions/lseek.texi: Update.
7071         Reported by Gary V. Vaughan <gary@gnu.org>.
7072
7073 2007-05-28  Bruno Haible  <bruno@clisp.org>
7074
7075         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
7076
7077 2007-05-31  Eric Blake  <ebb9@byu.net>
7078
7079         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
7080         cross compiling.
7081
7082 2007-05-30  Eric Blake  <ebb9@byu.net>
7083         and Bruno Haible  <bruno@clisp.org>
7084
7085         Work around mingw test failures exposed by m4-1.4.9b.
7086         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
7087         * tests/test-unistd.c: Disable uid_t and git_t tests for the
7088         moment.
7089
7090 2007-05-30  Bruno Haible  <bruno@clisp.org>
7091
7092         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
7093         assuming that they are closed. Needed on HP-UX 11.
7094
7095 2007-05-29  Bruno Haible  <bruno@clisp.org>
7096
7097         Fix a problem with #include_next.
7098         * lib/dirent_.h: Split the double-inclusion guard.
7099         * lib/fcntl_.h: Likewise.
7100         * lib/float_.h: Likewise.
7101         * lib/iconv_.h: Likewise.
7102         * lib/inttypes_.h: Likewise.
7103         * lib/locale_.h: Likewise.
7104         * lib/math_.h: Likewise.
7105         * lib/netinet_in_.h: Likewise.
7106         * lib/search_.h: Likewise.
7107         * lib/signal_.h: Likewise.
7108         * lib/stdint_.h: Likewise.
7109         * lib/stdio_.h: Likewise.
7110         * lib/stdlib_.h: Likewise.
7111         * lib/string_.h: Likewise.
7112         * lib/sys_select_.h: Likewise.
7113         * lib/sys_socket_.h: Likewise.
7114         * lib/sys_stat_.h: Likewise.
7115         * lib/sys_time_.h: Likewise.
7116         * lib/sysexits_.h: Likewise.
7117         * lib/time_.h: Likewise.
7118         * lib/unistd_.h: Likewise.
7119         * lib/wchar_.h: Likewise.
7120         * lib/wctype_.h: Likewise.
7121
7122 2007-05-29  Bruno Haible  <bruno@clisp.org>
7123
7124         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
7125         for the moment.
7126
7127 2007-05-29  Bruno Haible  <bruno@clisp.org>
7128
7129         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
7130         invocation.
7131         Reported by Eric Blake.
7132
7133 2007-05-29  Bruno Haible  <bruno@clisp.org>
7134
7135         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
7136         compiling case.
7137
7138 2007-05-29  Eric Blake  <ebb9@byu.net>
7139             Bruno Haible  <bruno@clisp.org>
7140
7141         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
7142         cross compiles.
7143
7144 2007-05-28  Eric Blake  <ebb9@byu.net>
7145
7146         * modules/closein-tests (test_closein_LDADD): Support test on
7147         cygwin with libtool.
7148
7149 2007-05-28  Bruno Haible  <bruno@clisp.org>
7150
7151         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
7152         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
7153         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
7154         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
7155         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
7156         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
7157         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
7158         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
7159         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
7160
7161 2007-05-28  Eric Blake  <ebb9@byu.net>
7162
7163         Unconditionally include <config.h> in unit tests.
7164         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
7165         * tests/test-allocsa.c, tests/test-arcfour.c,
7166         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
7167         tests/test-array_list.c, tests/test-array_oset.c,
7168         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
7169         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
7170         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
7171         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
7172         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
7173         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
7174         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
7175         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
7176         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
7177         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
7178         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
7179         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
7180         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
7181         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
7182         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
7183         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
7184         test-md5.c, test-memmem.c, test-printf-posix.c,
7185         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
7186         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
7187         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
7188         test-strcasestr.c, test-striconv.c, test-striconveh.c,
7189         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
7190         test-vasnprintf-posix2.c, test-vasnprintf.c,
7191         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
7192         test-vfprintf-posix.c, test-vprintf-posix.c,
7193         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
7194         test-xvasprintf.c: Likewise.
7195
7196 2007-05-28  Bruno Haible  <bruno@clisp.org>
7197
7198         * gnulib-tool (func_import): Remember the --with-tests command-line
7199         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
7200         Reported by Eric Blake.
7201
7202 2007-05-28  Bruno Haible  <bruno@clisp.org>
7203
7204         * modules/ftell-tests: New file.
7205         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
7206         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
7207
7208         * lib/ftell.c: New file.
7209         * modules/ftell: New file.
7210         * m4/ftell.m4: New file.
7211         * doc/functions/ftell.texi: Update.
7212         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
7213         REPLACE_FTELL.
7214         * lib/stdio_.h (rpl_ftell): New declaration.
7215         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
7216         REPLACE_FTELL.
7217
7218 2007-05-28  Eric Blake  <ebb9@byu.net>
7219
7220         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
7221
7222 2007-05-28  Bruno Haible  <bruno@clisp.org>
7223
7224         * modules/fseek-tests: New file.
7225         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
7226         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
7227
7228         * lib/fseek.c: New file.
7229         * modules/fseek: New file.
7230         * m4/fseek.m4: New file.
7231         * doc/functions/fseek.texi: Update.
7232         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
7233         REPLACE_FSEEK.
7234         * lib/stdio_.h (rpl_fseek): New declaration.
7235         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
7236         REPLACE_FSEEK.
7237
7238 2007-05-28  Bruno Haible  <bruno@clisp.org>
7239
7240         * lib/stdio_.h (fflush): More comments.
7241
7242 2007-05-28  Bruno Haible  <bruno@clisp.org>
7243
7244         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
7245         runtime test.
7246
7247 2007-05-28  Eric Blake  <ebb9@byu.net>
7248
7249         Improve lseek module.
7250         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
7251         * lib/unistd_.h (lseek): Scale back link warning message.
7252         * tests/test-lseek.c: Beef up test.
7253         * tests/test-lseek.sh: Exercise more facets of lseek.
7254         Reported by Bruno Haible.
7255
7256 2007-05-28  Bruno Haible  <bruno@clisp.org>
7257
7258         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
7259         to define.
7260
7261 2007-05-27  Bruno Haible  <bruno@clisp.org>
7262
7263         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
7264
7265 2007-05-27  Bruno Haible  <bruno@clisp.org>
7266
7267         * modules/openmp: New file.
7268         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
7269         Noah Misch.
7270
7271 2007-05-26  Bruno Haible  <bruno@clisp.org>
7272
7273         * modules/chdir-long (Depends-on): Add fchdir.
7274         * modules/chdir-safer (Depends-on): Likewise.
7275         * modules/fts (Depends-on): Likewise.
7276         * modules/fts-lgpl (Depends-on): Likewise.
7277         * modules/openat (Depends-on): Likewise.
7278         * modules/savewd (Depends-on): Likewise.
7279
7280 2007-05-24  Eric Blake  <ebb9@byu.net>
7281
7282         Fix lseek on mingw.
7283         * modules/lseek: New module.
7284         * m4/lseek.m4: New file.
7285         * lib/lseek.c: New file.
7286         * modules/lseek-tests: New file.
7287         * tests/test-lseek.c: New file.
7288         * tests/test-lseek.sh: New file.
7289         * MODULES.html.sh: Document lseek module.
7290         * modules/fflush (Depends-on): Add lseek, fseeko.
7291         * modules/fseeko (Depends-on): Likewise.
7292         * modules/ftello (Depends-on): Likewise.
7293         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
7294         broken.
7295         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
7296         broken.
7297         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
7298         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
7299         * lib/ftello.c (rpl_ftello): Likewise.
7300         * tests/test-fseeko.c (main): Test this.
7301         * tests/test-fseeko.sh: Likewise.
7302         * tests/test-ftello.c (main): Likewise.
7303         * tests/test-ftello.sh: Likewise.
7304         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
7305         implies replacing fseek.
7306         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
7307         HAVE_FTELLO.
7308         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
7309         * modules/unistd (Makefile.am): Likewise.
7310         * lib/unistd_.h (lseek): Declare a replacement.
7311         * doc/functions/lseek.texi (lseek): Document this fix.
7312         * doc/functions/fseek.texi (fseek): Likewise.
7313         * doc/functions/ftell.texi (ftell): Likewise.
7314
7315 2007-05-24  Bruno Haible  <bruno@clisp.org>
7316
7317         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
7318         in the printed representation of a NaN.
7319         * tests/test-vasprintf-posix.c (test_function): Likewise.
7320         * tests/test-snprintf-posix.h (test_function): Likewise.
7321         * tests/test-sprintf-posix.h (test_function): Likewise.
7322         Reported by Eric Blake.
7323
7324 2007-05-23  Eric Blake  <ebb9@byu.net>
7325
7326         Fix fseeko/ftello on cygwin 1.5.24.
7327         * doc/functions/fseeko.texi (fseeko): Document the fix.
7328         * doc/functions/ftello.texi (ftello): Document the fix.
7329         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
7330         * doc/functions/stdout.text (stdout): New file.
7331         * doc/functions/stderr.text (stderr): New file.
7332         * doc/gnulib.texi (Function Substitutes): Use new files.
7333         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
7334         prior to 1.7.0.
7335         * tests/test-ftello.c (main): Likewise for ftello.
7336         * tests/test-fseeko.sh: New file.
7337         * tests/test-ftello.sh: New file.
7338         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
7339         with seekable stdin.
7340         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
7341         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
7342         (gl_REPLACE_FSEEKO): New macro.
7343         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
7344         * modules/fseeko (Files): Distribute fseeko.c.
7345         * modules/ftello (Files): Distribute ftello.c.
7346         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
7347         mode.
7348         * lib/ftello.c (rpl_ftello): New file.
7349         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
7350         fseeko, ftello.
7351         (gl_STDIN_LARGE_OFFSET): New macro.
7352         * modules/stdio (Makefile.am): Perform the replacement.
7353         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
7354
7355 2007-05-23  Bruno Haible  <bruno@clisp.org>
7356
7357         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
7358         GNULIB_POSIXCHECK is defined.
7359
7360 2007-05-21  Bruno Haible  <bruno@clisp.org>
7361
7362         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
7363         Check also the output for NaN arguments. When cross-compiling, guess
7364         no on IRIX.
7365         * lib/vasnprintf.c: Update comments.
7366         * tests/test-vasnprintf-posix.c (strisnan): New function.
7367         (test_function): Use it.
7368         * tests/test-vasprintf-posix.c (strisnan): New function.
7369         (test_function): Use it.
7370         * tests/test-snprintf-posix.h (strisnan): New function.
7371         (test_function): Use it.
7372         * tests/test-sprintf-posix.h (strisnan): New function.
7373         (test_function): Use it.
7374         Reported by Eric Blake.
7375
7376 2007-05-20  Bruno Haible  <bruno@clisp.org>
7377
7378         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
7379         numbers that fails on BeOS.
7380         * doc/functions/frexpl.texi: Update.
7381
7382 2007-05-20  Jim Meyering  <jim@meyering.net>
7383
7384         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
7385         forced upon us by glibc-2.6.
7386
7387 2007-05-20  Bruno Haible  <bruno@clisp.org>
7388
7389         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
7390         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
7391         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
7392         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
7393         NEED_PRINTF_INFINITE.
7394         (is_infinitel): New function.
7395         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
7396         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
7397         gl_PREREQ_VASNPRINTF_INFINITE.
7398         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
7399         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
7400         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
7401         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
7402         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
7403         gl_PREREQ_VASNPRINTF_INFINITE.
7404         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
7405         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
7406         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
7407         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
7408         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
7409         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
7410         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
7411         * doc/functions/fprintf.texi: Update.
7412         * doc/functions/printf.texi: Update.
7413         * doc/functions/snprintf.texi: Update.
7414         * doc/functions/sprintf.texi: Update.
7415         * doc/functions/vfprintf.texi: Update.
7416         * doc/functions/vprintf.texi: Update.
7417         * doc/functions/vsnprintf.texi: Update.
7418         * doc/functions/vsprintf.texi: Update.
7419
7420 2007-05-20  Bruno Haible  <bruno@clisp.org>
7421
7422         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
7423         was not found in libc.
7424         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
7425
7426 2007-05-20  Bruno Haible  <bruno@clisp.org>
7427
7428         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
7429         printed as "-nan" instead of "nan".
7430         * tests/test-vasprintf-posix.c (test_function): Likewise.
7431         * tests/test-snprintf-posix.h (test_function): Likewise.
7432         * tests/test-sprintf-posix.h (test_function): Likewise.
7433         Needed for HP-UX 11.
7434
7435 2007-05-20  Jim Meyering  <jim@meyering.net>
7436
7437         Fix buggy test for the fchownat-deref bug.
7438         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
7439         symlink required for the run-test.  Without it, this test would
7440         always declare that fchownat doesn't work, and client code would
7441         unnecessarily use the replacement function with fixed libc.
7442         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
7443         Reported by Greg Schafer.
7444
7445 2007-05-19  Bruno Haible  <bruno@clisp.org>
7446
7447         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
7448         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
7449         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
7450         Needed for IRIX 6.5 and Solaris 2.5.1.
7451
7452 2007-05-19  Bruno Haible  <bruno@clisp.org>
7453
7454         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
7455         (test_function): Skip tests involving -0.0 on platforms where
7456         -0.0 = 0.0.
7457         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
7458         (test_function): Skip tests involving -0.0 on platforms where
7459         -0.0 = 0.0.
7460         * tests/test-snprintf-posix.h (have_minus_zero): New function.
7461         (test_function): Skip tests involving -0.0 on platforms where
7462         -0.0 = 0.0.
7463         * tests/test-sprintf-posix.h (have_minus_zero): New function.
7464         (test_function): Skip tests involving -0.0 on platforms where
7465         -0.0 = 0.0.
7466         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
7467         tests.
7468         * tests/test-printf-posix.h (test_function): Likewise.
7469         * tests/test-printf-posix.output: Remove all -0.0 related results.
7470         Needed for IRIX 6.5.
7471
7472 2007-05-19  Bruno Haible  <bruno@clisp.org>
7473
7474         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
7475         printed as "nan0x7fffffff" instead of "nan".
7476         * tests/test-vasprintf-posix.c (test_function): Likewise.
7477         * tests/test-snprintf-posix.h (test_function): Likewise.
7478         * tests/test-sprintf-posix.h (test_function): Likewise.
7479         * tests/test-fprintf-posix.h (NaN): Remove macro.
7480         (test_function): Remove all NaN related tests.
7481         * tests/test-printf-posix.h (NaN): Remove macro.
7482         (test_function): Remove all NaN related tests.
7483         * tests/test-printf-posix.output: Remove all NaN related results.
7484         Needed for IRIX 6.5.
7485
7486 2007-05-19  Bruno Haible  <bruno@clisp.org>
7487
7488         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
7489         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
7490
7491 2007-05-19  Bruno Haible  <bruno@clisp.org>
7492
7493         * lib/float_.h: New file.
7494         * m4/float_h.m4: New file.
7495         * modules/float: New file.
7496         * modules/isnanl (Dependencies): Add float.
7497         * modules/isnanl-nolibm (Dependencies): Likewise.
7498         * modules/mathl (Dependencies): Likewise.
7499         * modules/printf-frexpl (Dependencies): Likewise.
7500         * modules/signbit (Dependencies): Likewise.
7501         * modules/vasnprintf (Dependencies): Likewise.
7502         * doc/headers/float.texi: Update.
7503
7504 2007-05-19  Jim Meyering  <jim@meyering.net>
7505
7506         * lib/utimens.c (gl_futimens): Rename from futimens,
7507         now that glibc-2.6 declares futimens.
7508         * lib/utimens.h: Likewise.
7509
7510 2007-05-19  Bruno Haible  <bruno@clisp.org>
7511
7512         Avoid test failures on mingw.
7513         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
7514         * tests/test-printf-posix.sh: Likewise.
7515         * tests/test-vfprintf-posix.sh: Likewise.
7516         * tests/test-vprintf-posix.sh: Likewise.
7517
7518 2007-05-19  Bruno Haible  <bruno@clisp.org>
7519
7520         Fix *printf result for NaN, Inf, -0.0 on mingw.
7521         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
7522         * lib/vasnprintf.c: Include math.h and isnan.h.
7523         (is_infinite_or_zero): New function.
7524         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
7525         values in the %f, %F, %e, %E, %g, %G directives.
7526         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
7527         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
7528         gl_PRINTF_INFINITE and test its result. Invoke
7529         gl_PREREQ_VASNPRINTF_INFINITE.
7530         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
7531         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
7532         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
7533         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
7534         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
7535         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
7536         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
7537         * doc/functions/fprintf.texi: Update.
7538         * doc/functions/printf.texi: Update.
7539         * doc/functions/snprintf.texi: Update.
7540         * doc/functions/sprintf.texi: Update.
7541         * doc/functions/vfprintf.texi: Update.
7542         * doc/functions/vprintf.texi: Update.
7543         * doc/functions/vsnprintf.texi: Update.
7544         * doc/functions/vsprintf.texi: Update.
7545
7546 2007-05-19  Bruno Haible  <bruno@clisp.org>
7547
7548         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
7549         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
7550         Instead of multiplying with 10^k, set extra_zeroes to k.
7551         (scale10_round_long_double): Remove function.
7552
7553 2007-05-18  Bruno Haible  <bruno@clisp.org>
7554
7555         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
7556         introduced on 2007-05-06.
7557
7558 2007-05-18  Bruno Haible  <bruno@clisp.org>
7559
7560         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
7561         %g directives.
7562         * tests/test-vasprintf-posix.c (test_function): Likewise.
7563         * tests/test-snprintf-posix.h (test_function): Likewise.
7564         * tests/test-sprintf-posix.h (test_function): Likewise.
7565
7566 2007-05-18  Bruno Haible  <bruno@clisp.org>
7567
7568         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
7569         (strmatch): New function.
7570         (test_function): Test the %f directive on numbers of various exponents.
7571         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
7572         (strmatch): New function.
7573         (test_function): Test the %f directive on numbers of various exponents.
7574         * tests/test-snprintf-posix.h (strmatch): New function.
7575         (test_function): Test the %f directive on numbers of various exponents.
7576         * tests/test-sprintf-posix.h (strmatch): New function.
7577         (test_function): Test the %f directive on numbers of various exponents.
7578         * tests/test-snprintf-posix.c (SIZEOF): New macro.
7579         * tests/test-sprintf-posix.c (SIZEOF): New macro.
7580         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
7581         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
7582
7583 2007-05-18  Bruno Haible  <bruno@clisp.org>
7584
7585         Add support for 'long double' number output.
7586         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
7587         * lib/vasnprintf.c: Include math.h and float+.h.
7588         (mp_limb_t): New type.
7589         (GMP_LIMB_BITS): New macro.
7590         (mp_twolimb_t): New type.
7591         (GMP_TWOLIMB_BITS): New macro.
7592         (mpn_t): New type.
7593         (multiply, divide, convert_to_decimal, decode_long_double,
7594         scale10_round_long_double, scale10_round_decimal_long_double,
7595         floorlog10l): New functions.
7596         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
7597         for the %f, %F, %e, %E, %g, %G directives.
7598         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
7599         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
7600         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
7601         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
7602         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
7603         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
7604         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
7605         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
7606         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
7607         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
7608         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
7609         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
7610         * modules/snprintf-posix (Depends-on): Likewise.
7611         * modules/sprintf-posix (Depends-on): Likewise.
7612         * modules/vasnprintf-posix (Depends-on): Likewise.
7613         * modules/vasprintf-posix (Depends-on): Likewise.
7614         * modules/vfprintf-posix (Depends-on): Likewise.
7615         * modules/vsnprintf-posix (Depends-on): Likewise.
7616         * modules/vsprintf-posix (Depends-on): Likewise.
7617         * modules/vasnprintf (Files): Add lib/float+.h.
7618         * doc/functions/fprintf.texi: Update.
7619         * doc/functions/printf.texi: Update.
7620         * doc/functions/snprintf.texi: Update.
7621         * doc/functions/sprintf.texi: Update.
7622         * doc/functions/vfprintf.texi: Update.
7623         * doc/functions/vprintf.texi: Update.
7624         * doc/functions/vsnprintf.texi: Update.
7625         * doc/functions/vsprintf.texi: Update.
7626
7627 2007-05-18  Bruno Haible  <bruno@clisp.org>
7628
7629         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
7630
7631 2007-05-18  Bruno Haible  <bruno@clisp.org>
7632
7633         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
7634         for printing 64-bit integers. Needed for mingw.
7635
7636 2007-05-18  Bruno Haible  <bruno@clisp.org>
7637
7638         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
7639         gl_FUNC_FREXPL_WORKS.
7640         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
7641
7642 2007-05-18  Bruno Haible  <bruno@clisp.org>
7643
7644         * modules/frexpl-nolibm-tests: New file.
7645
7646         * modules/frexpl-nolibm: New file.
7647         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
7648
7649 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
7650
7651         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
7652         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
7653         GCC 4.2, which otherwise issues a lot of warnings.
7654         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
7655         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
7656         Likewise.
7657         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
7658         * modules/iconv_open (iconv.h): Likewise.
7659         * modules/locale (locale.h): Likewise.
7660         * modules/netinet_in (netinet/in.h): Likewise.
7661         * modules/sys_select (sys_select.h): Likewise.
7662         * modules/sys_socket (sys/socket.h): Likewise.
7663         * modules/sys_stat (sys/stat.h): Likewise.
7664         * modules/sysexits (sysexits.h): Likewise.
7665         * modules/unistd (unistd.h): Likewise.
7666
7667 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7668
7669         * modules/closein-tests (Makefile.am): Distribute
7670         `test-closein.sh'.
7671
7672 2007-05-17  Bruno Haible  <bruno@clisp.org>
7673
7674         * tests/test-printf-posix.output: Renamed from
7675         tests/test-fprintf-posix.out.
7676         * modules/fprintf-posix-tests: Update.
7677         * modules/printf-posix-tests: Update.
7678         * modules/vfprintf-posix-tests: Update.
7679         * modules/vprintf-posix-tests: Update.
7680         * tests/test-fprintf-posix.sh: Update.
7681         * tests/test-printf-posix.sh: Update.
7682         * tests/test-vfprintf-posix.sh: Update.
7683         * tests/test-vprintf-posix.sh: Update.
7684         Reported by Ralf Wildenhues.
7685
7686 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
7687
7688         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
7689         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
7690         GCC 4.2, which otherwise issues a lot of warnings.
7691         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
7692         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
7693         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
7694         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
7695         it should no longer be needed.
7696         * lib/string_.h: Likewise.
7697         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
7698         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
7699         * modules/inttypes (inttypes.h): Likewise.
7700         * modules/math (math.h): Likewise.
7701         * modules/search (search.h): Likewise.
7702         * modules/signal (signal.h): Likewise.
7703         * modules/stdint (stdint.h): Likewise.
7704         * modules/stdio (stdio.h): Likewise.
7705         * modules/stdlib (stdlib.h): Likewise.
7706         * modules/string (string.h): Likewise.
7707         * modules/sys_time (sys/time.h): Likewise.
7708         * modules/time (time.h): Likewise.
7709         * modules/wchar (wchar.h): Likewise.
7710         * modules/wctype (wtype.h): Likewise.
7711
7712 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
7713
7714         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
7715
7716 2007-05-13  Bruno Haible  <bruno@clisp.org>
7717
7718         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
7719         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
7720         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
7721         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
7722         (gl_PREREQ_STRTOK_R): Don't require it here.
7723
7724 2007-05-13  Bruno Haible  <bruno@clisp.org>
7725
7726         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
7727         when used in C++ mode.
7728
7729 2007-05-12  Bruno Haible  <bruno@clisp.org>
7730
7731         * lib/linebuffer.h: Tweak doc.
7732         * lib/linebuffer.c: Likewise.
7733
7734 2007-05-12  James Youngman  <jay@gnu.org>
7735
7736         * lib/linebuffer.c (readlinebuffer_delim): New function,
7737         like readlinebuffer, but use a caller-specified delimiter.
7738         (readlinebuffer): Just call readlinebuffer_delim with '\n'
7739         as the delimiter.
7740         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
7741
7742 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
7743
7744         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
7745         * modules/openat (Files): Remove openat-die.c.
7746         (Depends-on): Add openat-die.
7747         * modules/openat-die: New module.
7748
7749 2007-05-06  Bruno Haible  <bruno@clisp.org>
7750
7751         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
7752         Update with info about Cygwin.
7753         * doc/functions/fprintf.texi: Update.
7754         * doc/functions/printf.texi: Update.
7755         * doc/functions/snprintf.texi: Update.
7756         * doc/functions/sprintf.texi: Update.
7757         * doc/functions/vfprintf.texi: Update.
7758         * doc/functions/vprintf.texi: Update.
7759         * doc/functions/vsnprintf.texi: Update.
7760         * doc/functions/vsprintf.texi: Update.
7761         Reported by Eric Blake.
7762
7763 2007-05-06  Bruno Haible  <bruno@clisp.org>
7764
7765         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
7766         padding ourselves for the floating-point directives.
7767         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
7768         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
7769         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
7770         gl_PRINTF_FLAG_ZERO and test its result. Invoke
7771         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
7772         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
7773         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
7774         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
7775         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
7776         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
7777         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
7778         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
7779         * tests/test-snprintf-posix.h (test_function): Also check the width
7780         and some flags in the %f directive.
7781         * tests/test-sprintf-posix.h (test_function): Likewise.
7782         * tests/test-vasnprintf-posix.c (test_function): Likewise.
7783         * tests/test-vasprintf-posix.c (test_function): Likewise.
7784         * doc/functions/fprintf.texi: Update.
7785         * doc/functions/printf.texi: Update.
7786         * doc/functions/snprintf.texi: Update.
7787         * doc/functions/sprintf.texi: Update.
7788         * doc/functions/vfprintf.texi: Update.
7789         * doc/functions/vprintf.texi: Update.
7790         * doc/functions/vsnprintf.texi: Update.
7791         * doc/functions/vsprintf.texi: Update.
7792
7793 2007-05-06  Bruno Haible  <bruno@clisp.org>
7794
7795         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
7796         pass the ' flag character to sprintf or snprintf.
7797         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
7798         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
7799         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
7800         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
7801         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
7802         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
7803         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
7804         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
7805         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
7806         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
7807         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
7808         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
7809         * tests/test-snprintf-posix.h (test_function): Also check the grouping
7810         flag.
7811         * tests/test-sprintf-posix.h (test_function): Likewise.
7812         * tests/test-vasnprintf-posix.c (test_function): Likewise.
7813         * tests/test-vasprintf-posix.c (test_function): Likewise.
7814         * doc/functions/fprintf.texi: Update.
7815         * doc/functions/printf.texi: Update.
7816         * doc/functions/snprintf.texi: Update.
7817         * doc/functions/sprintf.texi: Update.
7818         * doc/functions/vfprintf.texi: Update.
7819         * doc/functions/vprintf.texi: Update.
7820         * doc/functions/vsnprintf.texi: Update.
7821         * doc/functions/vsprintf.texi: Update.
7822
7823 2007-05-01  Bruno Haible  <bruno@clisp.org>
7824
7825         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
7826
7827 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
7828
7829         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
7830         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
7831
7832 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
7833
7834         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
7835         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
7836         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
7837
7838 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
7839
7840         * lib/argp-help.c (struct hol_entry): New member `ord'.
7841         (HOL_ENTRY_PTRCMP): Use ord for comparison
7842         (hol_sort): Initialize ord.
7843
7844 2007-05-01  Bruno Haible  <bruno@clisp.org>
7845
7846         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
7847         Reported by Eric Blake.
7848         * doc/gnulib.texi (Function Substitutes): Update.
7849
7850 2007-05-01  Bruno Haible  <bruno@clisp.org>
7851
7852         * doc/functions.texi: Remove file, now redundant through
7853         doc/functions/*.texi.
7854
7855 2007-05-01  Bruno Haible  <bruno@clisp.org>
7856
7857         * modules/argp (Depends-on): Add sleep.
7858
7859 2007-05-01  Bruno Haible  <bruno@clisp.org>
7860
7861         * modules/sleep-tests: New file.
7862         * tests/test-sleep.c: New file.
7863
7864         * modules/sleep: New file.
7865         * lib/sleep.c: New file.
7866         * m4/sleep.m4: New file.
7867         * lib/unistd_.h (sleep): New declaration.
7868         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
7869         HAVE_SLEEP.
7870         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
7871         * doc/functions/sleep.texi: Document the sleep module.
7872
7873 2007-05-01  Bruno Haible  <bruno@clisp.org>
7874
7875         * lib/sigprocmask.h: Remove file.
7876         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
7877         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
7878         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
7879         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
7880         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
7881         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
7882         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
7883         HAVE_SIGSET_T as a shell variable.
7884         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
7885         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
7886         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
7887         (Depends-on): Add signal. Remove verify.
7888         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
7889         (Include): Mention <signal.h> instead of sigprocmask.h.
7890         * NEWS: Mention the change.
7891         * lib/fatal-signal.c: Don't include sigprocmask.h.
7892
7893 2007-05-01  Bruno Haible  <bruno@clisp.org>
7894
7895         * modules/signal: New file.
7896         * lib/signal_.h: New file.
7897         * m4/signal_h.m4: New file.
7898
7899 2007-05-01  Bruno Haible  <bruno@clisp.org>
7900
7901         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
7902         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
7903         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
7904         HAVE_WCTYPE_CTMP_BUG into wctype.h.
7905
7906 2007-05-01  Bruno Haible  <bruno@clisp.org>
7907
7908         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
7909         configure time.
7910         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
7911         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
7912         * modules/sys_stat (Makefile.am): Substitute their values into
7913         sys/stat.h.
7914
7915 2007-05-01  Bruno Haible  <bruno@clisp.org>
7916
7917         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
7918         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
7919         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
7920
7921 2007-05-01  Bruno Haible  <bruno@clisp.org>
7922
7923         * doc/header/assert.texi: Undo last change: don't mention the gnulib
7924         'assert' module here.
7925
7926 2007-05-01  Bruno Haible  <bruno@clisp.org>
7927
7928         * doc/functions/*.texi: New files.
7929         * doc/functions/google-ranking.txt: New file.
7930         * doc/gnulib.texi (Function Substitutes): New chapter.
7931         (ctime, inet_ntoa): Remove sections.
7932         * doc/ctime.texi: Remove file.
7933         * doc/inet_ntoa.texi: Remove file.
7934         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
7935         dependencies.
7936         (%.info): New rule, specifying a --reference-limit.
7937
7938 2007-05-01  Bruno Haible  <bruno@clisp.org>
7939
7940         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
7941
7942 2007-05-01  Bruno Haible  <bruno@clisp.org>
7943
7944         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
7945         the portability of 'mkdir' to mingw systems.
7946
7947 2007-05-01  Bruno Haible  <bruno@clisp.org>
7948
7949         * doc/headers/google-ranking.txt: New file.
7950
7951 2007-04-30  Eric Blake  <ebb9@byu.net>
7952
7953         Prefer fseeko to fseek.
7954         * modules/getpass (Depends-on): Add fseeko.
7955         * lib/getpass.c (getpass): Use fseeko, not fseek.
7956
7957 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
7958
7959         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
7960         assumes the sorting is stable, while most qsort implementations
7961         are not.  Use argument addresses to ensure they never compare as
7962         equal.
7963
7964         * tests/test-argp-2.sh (usage-indent test): Fix output
7965         (func_compare): Restore diff options
7966         * tests/test-argp.c: Restore #include "progname.h"
7967
7968 2007-04-29  Bruno Haible  <bruno@clisp.org>
7969
7970         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
7971         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
7972         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
7973         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
7974         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
7975         (configure.ac): Define CHECK_SNPRINTF_POSIX.
7976         (TESTS, check_PROGRAMS): Add test-snprintf.
7977         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
7978         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
7979         (TESTS, check_PROGRAMS): Add test-vsnprintf.
7980         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
7981         assertions that fail on HP-UX, OSF/1, or IRIX.
7982         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
7983
7984 2007-04-29  Bruno Haible  <bruno@clisp.org>
7985
7986         * MODULES.html.sh (posix_functions): Remove 'contents'.
7987
7988 2007-04-29  Karl Berry  <karl@gnu.org>
7989
7990         * config/srclist.txt (gendocs_template_min): new entry.
7991
7992 2007-04-29  Bruno Haible  <bruno@clisp.org>
7993
7994         Work around fpurge bug on BSD systems.
7995         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
7996         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
7997         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
7998         fpurge to rpl_fpurge if the system already has this function.
7999         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
8000         the case where the system already has this function. Correct invariants
8001         on BSD systems.
8002         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
8003         BSD systems.
8004
8005 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
8006
8007         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
8008         proposed by Sven Verdoolaege.
8009
8010         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
8011         options.
8012         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
8013         (usage and help tests): Update
8014
8015 2007-04-29  Bruno Haible  <bruno@clisp.org>
8016
8017         * tests/test-fflush.c (main): Use a file of size 17, not 10.
8018         Print more information in case of failure. Disable a test on BeOS.
8019
8020 2007-04-29  Bruno Haible  <bruno@clisp.org>
8021
8022         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
8023         This helps debugging on systems on which no gdb is available.
8024
8025 2007-04-29  Bruno Haible  <bruno@clisp.org>
8026
8027         * lib/freading.h: Improve comments.
8028         * lib/fwriting.h: Likewise.
8029         * tests/test-freading.c (main): Don't check freading immediately after
8030         repositioning. Needed for glibc.
8031
8032 2007-04-29  Bruno Haible  <bruno@clisp.org>
8033
8034         * lib/freading.c (freading): Trivial simplification.
8035
8036 2007-04-28  Bruno Haible  <bruno@clisp.org>
8037
8038         * tests/test-fwriting.c (main): Also test the interaction between
8039         fflush and fwriting.
8040         * modules/fwriting-tests (Depends-on): Add fflush.
8041
8042         * tests/test-freading.c (main): Also test the interaction between
8043         fflush and freading.
8044         * modules/freading-tests (Depends-on): Add fflush.
8045
8046 2007-04-28  Bruno Haible  <bruno@clisp.org>
8047
8048         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
8049         fseeko and ftello.
8050         Suggested by Eric Blake.
8051
8052 2007-04-28  Jim Meyering  <jim@meyering.net>
8053
8054         Avoid false-negative in gl_STDINT_H's C99 conformance test.
8055         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
8056         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
8057
8058 2007-04-27  Eric Blake  <ebb9@byu.net>
8059
8060         * doc/headers/assert.texi (assert.h): Document assert module use.
8061
8062 2007-04-27  Bruno Haible  <bruno@clisp.org>
8063
8064         * doc/headers/*.texi: New files.
8065         * doc/gnulib.texi (Header File Substitutes): New chapter.
8066         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
8067         dependencies.
8068         (standards.info ,standards.html, standards.dvi): Update dependencies.
8069         (mostlyclean, clean): New targets.
8070
8071 2007-04-27  Bruno Haible  <bruno@clisp.org>
8072
8073         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
8074         * modules/sysexits (Files, Makefile.am): Update.
8075
8076         * lib/sys_socket_.h: Renamed from lib/socket_.h.
8077         * modules/sys_socket (Files, Makefile.am): Update.
8078
8079         * lib/sys_stat_.h: Renamed from lib/stat_.h.
8080         * modules/sys_stat (Files, Makefile.am): Update.
8081
8082 2007-04-27  Eric Blake  <ebb9@byu.net>
8083
8084         * lib/freading.h: Improve comments.
8085         * lib/fwriting.h: Likewise.
8086         * lib/fflush.c: Likewise.
8087
8088         Fix closein for mingw.
8089         * modules/closein-tests: Add tests for closein.
8090         * tests/test-closein.c: New file.
8091         * tests/test-closein.sh: Likewise.
8092         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
8093         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
8094
8095 2007-04-27  Bruno Haible  <bruno@clisp.org>
8096
8097         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
8098         version is < 6.
8099         * lib/math_.h [__DECC]: Likewise.
8100         * lib/stdio_.h [__DECC]: Likewise.
8101         * lib/stdlib_.h [__DECC]: Likewise.
8102         * lib/string_.h [__DECC]: Likewise.
8103         * lib/time_.h [__DECC]: Likewise.
8104         * lib/wchar_.h [__DECC]: Likewise.
8105         * lib/wctype_.h [__DECC]: Likewise.
8106
8107 2007-04-27  Bruno Haible  <bruno@clisp.org>
8108
8109         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
8110
8111 2007-04-27  Bruno Haible  <bruno@clisp.org>
8112
8113         * lib/fflush.c: Add comments.
8114         * modules/fpurge-tests (Depends-on): Add fflush.
8115         * modules/freadable-tests (Depends-on): Likewise.
8116         * modules/fwritable-tests (Depends-on): Likewise.
8117
8118 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
8119
8120         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
8121         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
8122         Report by Bruno Haible <bruno@clisp.org>.
8123
8124 2007-04-26  Eric Blake  <ebb9@byu.net>
8125
8126         Fix fflush on mingw.
8127         * modules/fflush (Depends-on): Add freading.
8128         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
8129         but unread data.
8130
8131 2007-04-26  Eric Blake  <ebb9@byu.net>
8132         and Bruno Haible  <bruno@clisp.org>
8133
8134         Implement freading and fwriting.
8135         * lib/freading.c: New file.
8136         * lib/freading.h: Likewise.
8137         * m4/freading.m4: Likewise.
8138         * modules/freading: Likewise.
8139         * modules/freading-tests: Likewise.
8140         * tests/test-freading.c: Likewise.
8141         * lib/fwriting.c: New file.
8142         * lib/fwriting.h: Likewise.
8143         * m4/fwriting.m4: Likewise.
8144         * modules/fwriting: Likewise.
8145         * modules/fwriting-tests: Likewise.
8146         * tests/test-fwriting.c: Likewise.
8147         * MODULES.html.sh (File stream based Input/Output): Mention them.
8148
8149 2007-04-26  Bruno Haible  <bruno@clisp.org>
8150
8151         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
8152         'long' when we assume it.
8153         Suggested by Eric Blake.
8154
8155 2007-04-26  Bruno Haible  <bruno@clisp.org>
8156
8157         Ensure fseeko, ftello are declared on glibc systems.
8158         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
8159         * modules/fseeko (configure.ac-early): Likewise.
8160         * modules/ftello (configure.ac-early): Likewise.
8161         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
8162         AC_FUNC_FSEEKO for this.
8163         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
8164         (gl_CHECK_FSEEKO): Remove macro.
8165
8166 2007-04-26  Bruno Haible  <bruno@clisp.org>
8167
8168         * tests/test-fflush.c (main): Also check the ftell result after
8169         fflush and fseek/fseeko.
8170         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
8171         file descriptor position cache in the stream.
8172         * lib/fseeko.c (rpl_fseeko): Likewise.
8173
8174 2007-04-26  Bruno Haible  <bruno@clisp.org>
8175
8176         * modules/fflush-tests (Depends-on): Add fseeko.
8177
8178 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
8179             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8180
8181         * lib/argz_.h: ensure error_t definition is obtained in same
8182         mechanism system argz.h would have.
8183         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
8184         argz facilities are known bad.  Err on the side of caution if
8185         cross-compiling.
8186
8187 2007-04-25  Eric Blake  <ebb9@byu.net>
8188
8189         * lib/fpurge.c (includes): Use stdlib.h for free.
8190         * tests/test-fflush.c (main): Also test fflush-fseeko.
8191
8192 2007-04-25  Bruno Haible  <bruno@clisp.org>
8193
8194         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
8195         * lib/fseeko.c: New file.
8196         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
8197         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
8198         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
8199         gl_FUNC_FSEEKO.
8200         (gl_FUNC_FSEEKO): Invoke it.
8201         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
8202         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
8203         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
8204
8205 2007-04-25  Bruno Haible  <bruno@clisp.org>
8206
8207         * modules/fflush (Depends-on): Add ftello.
8208
8209 2007-04-25  Bruno Haible  <bruno@clisp.org>
8210
8211         * modules/ftello-tests: New file.
8212         * tests/test-ftello.c: New file.
8213
8214         * modules/ftello: New file.
8215         * m4/ftello.m4: New file.
8216         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
8217         HAVE_FTELLO.
8218         * lib/stdio_.h (ftello): New declaration.
8219         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
8220         HAVE_FTELLO.
8221
8222 2007-04-25  Bruno Haible  <bruno@clisp.org>
8223
8224         * modules/fseeko-tests: New file.
8225         * tests/test-fseeko.c: New file.
8226
8227         * modules/fseeko: New file.
8228         * m4/fseeko.m4: New file.
8229         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
8230         HAVE_FSEEKO.
8231         * lib/stdio_.h (fseeko): New declaration.
8232         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
8233         HAVE_FSEEKO.
8234
8235 2007-04-25  Bruno Haible  <bruno@clisp.org>
8236
8237         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
8238
8239 2007-04-25  Bruno Haible  <bruno@clisp.org>
8240
8241         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
8242         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
8243         * tests/test-unistd.c: Likewise.
8244         * tests/test-fcntl.c: Likewise.
8245
8246 2007-04-23  Eric Blake  <ebb9@byu.net>
8247
8248         * lib/fflush.c: Fix missing include.
8249         Reported by Bruno Haible.
8250
8251 2007-04-23  Bruno Haible  <bruno@clisp.org>
8252
8253         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
8254         Reported by Eric Blake.
8255
8256 2007-04-23  Bruno Haible  <bruno@clisp.org>
8257
8258         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
8259
8260 2007-04-23  Bruno Haible  <bruno@clisp.org>
8261
8262         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
8263
8264 2007-04-23  Bruno Haible  <bruno@clisp.org>
8265
8266         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
8267         Needed on HP-UX 11.
8268
8269 2007-04-16  Eric Blake  <ebb9@byu.net>
8270
8271         Make fflush rely on fpurge.
8272         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
8273         open coding all variants.
8274         * modules/fflush (Depends-on): Add fpurge and unistd.
8275         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
8276         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
8277
8278         Fix --with-tests compilation on cygwin.
8279         * modules/argmatch-tests (Makefile.am): List gnulib library first
8280         in LDADD.
8281         * modules/argp-tests (Makefile.am): Likewise.
8282         * modules/array-list-tests (Makefile.am): Likewise.
8283         * modules/array-oset-tests (Makefile.am): Likewise.
8284         * modules/avltree-list-tests (Makefile.am): Likewise.
8285         * modules/avltree-oset-tests (Makefile.am): Likewise.
8286         * modules/avltreehash-list-tests (Makefile.am): Likewise.
8287         * modules/carray-list-tests (Makefile.am): Likewise.
8288         * modules/dirname-tests (Makefile.am): Likewise.
8289         * modules/frexp-tests (Makefile.am): Likewise.
8290         * modules/isnanl-tests (Makefile.am): Likewise.
8291         * modules/linked-list-tests (Makefile.am): Likewise.
8292         * modules/linkedhash-list-tests (Makefile.am): Likewise.
8293         * modules/lock-tests (Makefile.am): Likewise.
8294         * modules/rbtree-list-tests (Makefile.am): Likewise.
8295         * modules/rbtree-oset-tests (Makefile.am): Likewise.
8296         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
8297         * modules/tls-tests (Makefile.am): Likewise.
8298         * modules/tsearch-tests (Makefile.am): Likewise.
8299         * modules/xvasprintf-tests (Makefile.am): Likewise.
8300
8301         Fix fpurge for cygwin.
8302         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
8303         value.
8304         * modules/fpurge-tests (Depends-on): Clean up trash.
8305
8306 2007-04-16  Simon Josefsson  <simon@josefsson.org>
8307
8308         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
8309
8310         * m4/autobuild.m4: Re-indent.
8311
8312 2007-04-13  Bruno Haible  <bruno@clisp.org>
8313
8314         * modules/fpurge-tests: New file.
8315         * tests/test-fpurge.c: New file.
8316
8317         * modules/fpurge: New file.
8318         * lib/fpurge.h: New file.
8319         * lib/fpurge.c: New file.
8320         * m4/fpurge.m4: New file.
8321
8322 2007-04-13  Bruno Haible  <bruno@clisp.org>
8323
8324         * modules/fbufmode-tests: New file.
8325         * tests/test-fbufmode.c: New file.
8326
8327         * modules/fbufmode: New file.
8328         * lib/fbufmode.h: New file.
8329         * lib/fbufmode.c: New file.
8330         * m4/fbufmode.m4: New file.
8331
8332 2007-04-13  Bruno Haible  <bruno@clisp.org>
8333
8334         * modules/fwritable-tests: New file.
8335         * tests/test-fwritable.c: New file.
8336
8337         * modules/fwritable: New file.
8338         * lib/fwritable.h: New file.
8339         * lib/fwritable.c: New file.
8340         * m4/fwritable.m4: New file.
8341
8342 2007-04-13  Bruno Haible  <bruno@clisp.org>
8343
8344         * modules/freadable-tests: New file.
8345         * tests/test-freadable.c: New file.
8346
8347         * modules/freadable: New file.
8348         * lib/freadable.h: New file.
8349         * lib/freadable.c: New file.
8350         * m4/freadable.m4: New file.
8351
8352 2007-04-13  Bruno Haible  <bruno@clisp.org>
8353
8354         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
8355         MOSTLYCLEANFILES.
8356
8357 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
8358
8359         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
8360         gzip bootstrap.conf to avoid dragging in i18n machinery.
8361         (gnulib_tool_option): Use it.
8362
8363 2007-04-13  Bruno Haible  <bruno@clisp.org>
8364
8365         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
8366         %F directives.
8367         * tests/test-vasprintf-posix.c (test_function): Likewise.
8368         * tests/test-snprintf-posix.h (test_function): Likewise.
8369         * tests/test-sprintf-posix.h (test_function): Likewise.
8370         * tests/test-fprintf-posix.h (test_function): Likewise.
8371         * tests/test-printf-posix.h (test_function): Likewise.
8372         * tests/test-fprintf-posix.out: Likewise.
8373
8374 2007-04-13  Bruno Haible  <bruno@clisp.org>
8375
8376         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
8377         * modules/tls-tests (configure.ac): Likewise.
8378         Reported by Arto C. Nirkko <anirkko@insel.ch>.
8379
8380 2007-04-13  Bruno Haible  <bruno@clisp.org>
8381
8382         * lib/tls.c (glthread_tls_get): Fix return type.
8383         Patch by Arto C. Nirkko <anirkko@insel.ch>.
8384
8385 2007-04-12  Eric Blake  <ebb9@byu.net>
8386
8387         * modules/gettime (Depends-on): Remove gettime.
8388         Reported by Dmitry V. Levin.
8389
8390 2007-04-12  Bruno Haible  <bruno@clisp.org>
8391
8392         * modules/fflush (Include): Mention <stdio.h>.
8393         * modules/strtoimax (Include): Mention <inttypes.h>.
8394         * modules/strtoumax (Include): Likewise.
8395
8396 2007-04-12  Eric Blake  <ebb9@byu.net>
8397
8398         * .cvsignore: New file.
8399         * .gitignore: Likewise.
8400
8401 2007-04-12  Bruno Haible  <bruno@clisp.org>
8402
8403         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
8404         not before, since $(LDADD) often contains libgnu.a.
8405         * modules/striconv-tests (test_striconv_LDADD): Likewise.
8406         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
8407         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
8408         Needed on Cygwin.
8409
8410 2007-04-12  Eric Blake  <ebb9@byu.net>
8411
8412         Work around glibc's failure to flush stdin on fclose.
8413         * lib/closein.c (close_stdin): Flush stdin before closing.
8414
8415         Work around glibc's failure to reset seekable stdin on exit.
8416         * modules/closein: New module.
8417         * lib/closein.c: New file.
8418         * lib/closein.h: Likewise.
8419         * m4/closein.m4: Likewise.
8420         * MODULES.html.sh (File stream based Input/Output): Document it.
8421
8422 2007-04-12  Simon Josefsson  <simon@josefsson.org>
8423
8424         * gnulib-tool: Rename generated 'autobuild' script to
8425         'do-autobuild' in --create-megatestdir output.
8426
8427         * doc/gnulib.texi (Build robot for gnulib): Fix.
8428
8429 2007-04-12  Simon Josefsson  <simon@josefsson.org>
8430
8431         * modules/sysexits (Depends-on): Add absolute-header.
8432
8433 2007-04-12  Eric Blake  <ebb9@byu.net>
8434
8435         No need to preserve errno on success.
8436         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
8437         Reported by Bruno Haible.
8438
8439 2007-04-12  Simon Josefsson  <simon@josefsson.org>
8440
8441         * MODULES.html.sh (Support for maintaining and releasing
8442         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
8443
8444 2007-04-12  Simon Josefsson  <simon@josefsson.org>
8445
8446         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
8447
8448 2007-04-12  Simon Josefsson  <simon@josefsson.org>
8449
8450         * modules/autobuild: New module.
8451
8452         * m4/autobuild.m4: New file.
8453
8454 2007-04-11  Bruno Haible  <bruno@clisp.org>
8455
8456         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
8457         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
8458         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
8459         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
8460         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
8461         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
8462         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
8463         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
8464         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
8465         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
8466         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
8467         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
8468         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
8469         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
8470         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
8471         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
8472         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
8473         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
8474         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
8475         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
8476         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
8477         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
8478         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
8479         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
8480         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
8481         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
8482         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
8483         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
8484         Reported by Eric Blake.
8485
8486 2007-04-11  Bruno Haible  <bruno@clisp.org>
8487
8488         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
8489
8490 2007-04-10  Bruno Haible  <bruno@clisp.org>
8491
8492         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
8493         for NaN and Infinity. Needed on FreeBSD 6.1.
8494         * tests/test-vasnprintf-posix.c (test_function): Undo last change
8495         regarding results for "%010a" of Infinity and NaN.
8496         * tests/test-vasprintf-posix.c (test_function): Likewise.
8497         * tests/test-snprintf-posix.h (test_function): Likewise.
8498         * tests/test-sprintf-posix.h (test_function): Likewise.
8499         * tests/test-fprintf-posix.h (test_function): Likewise.
8500         * tests/test-printf-posix.h (test_function): Likewise.
8501         * tests/test-fprintf-posix.out: Likewise.
8502
8503 2007-04-10  Bruno Haible  <bruno@clisp.org>
8504
8505         * modules/locale-tests: New file.
8506         * tests/test-locale.c: New file.
8507
8508         * modules/locale: New file.
8509         * lib/locale_.h: New file.
8510         * m4/locale_h.m4: New file.
8511
8512 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
8513             Bruno Haible  <bruno@clisp.org>
8514
8515         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
8516         be determined, test for availability of the copysignf, copysign,
8517         copysignl functions.
8518         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
8519         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
8520         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
8521
8522 2007-04-09  Eric Blake  <ebb9@byu.net>
8523
8524         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
8525         * modules/stdio (Makefile.am): Support fflush.
8526         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
8527         * modules/fflush: New file.
8528         * lib/fflush.c: Likewise.
8529         * m4/fflush.m4: Likewise.
8530         * modules/fflush-tests: New test.
8531         * tests/test-fflush.c: Likewise.
8532         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
8533
8534 2007-04-06  Bruno Haible  <bruno@clisp.org>
8535
8536         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
8537         (VASNPRINTF): Use signbit for faster determination whether to print a
8538         minus sign.
8539         * modules/vasnprintf (Files): Remove lib/float+.h.
8540         * modules/fprintf-posix (Depends-on): Add signbit.
8541         * modules/snprintf-posix (Depends-on): Likewise.
8542         * modules/sprintf-posix (Depends-on): Likewise.
8543         * modules/vasnprintf-posix (Depends-on): Likewise.
8544         * modules/vasprintf-posix (Depends-on): Likewise.
8545         * modules/vfprintf-posix (Depends-on): Likewise.
8546         * modules/vsnprintf-posix (Depends-on): Likewise.
8547         * modules/vsprintf-posix (Depends-on): Likewise.
8548
8549 2007-04-06  Bruno Haible  <bruno@clisp.org>
8550
8551         * tests/test-frexp.c (main): Test also the sign bit of zero results.
8552         * tests/test-frexpl.c (main): Likewise.
8553         * tests/test-ldexpl.c (main): Likewise.
8554         * modules/frexp-tests (Depends-on): Add signbit.
8555         * modules/frexpl-tests (Depdends-on): Likewise.
8556         * modules/ldexpl-tests (Depdends-on): Likewise.
8557
8558 2007-04-06  Bruno Haible  <bruno@clisp.org>
8559
8560         * modules/signbit-tests: New file.
8561         * tests/test-signbit.c: New file.
8562
8563         * modules/signbit: New file.
8564         * lib/signbitf.c: New file.
8565         * lib/signbitd.c: New file.
8566         * lib/signbitl.c: New file.
8567         * m4/signbit.m4: New file.
8568         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
8569         (signbit): New macro.
8570         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
8571         REPLACE_SIGNBIT.
8572         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
8573         REPLACE_FREXPL into math.h.
8574
8575 2007-04-06  Bruno Haible  <bruno@clisp.org>
8576
8577         * modules/isnanf-nolibm-tests: New file.
8578         * tests/test-isnanf.c: New file.
8579
8580         * modules/isnanf-nolibm: New file.
8581         * lib/isnanf.h: New file.
8582         * lib/isnanf.c: New file.
8583         * lib/isnan.c: Consider the USE_FLOAT macro.
8584         * m4/isnanf.m4: New file.
8585
8586 2007-04-06  Bruno Haible  <bruno@clisp.org>
8587
8588         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
8589         (Link): New section.
8590
8591         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
8592
8593 2007-04-06  Bruno Haible  <bruno@clisp.org>
8594
8595         Assume the 'long double' type.
8596         * m4/longdouble.m4: Remove file.
8597         * config/srclist.txt: Don't mention longdouble.m4.
8598         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
8599         * lib/float+.h: Likewise.
8600         * lib/frexp.c: Likewise.
8601         * lib/printf-args.h: Likewise.
8602         * lib/printf-args.c: Likewise.
8603         * lib/printf-frexp.c: Likewise.
8604         * lib/printf-parse.c: Likewise.
8605         * lib/vasnprintf.c: Likewise.
8606         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
8607         * m4/intl.m4: Likewise.
8608         * m4/isnanl.m4: Likewise.
8609         * m4/printf.m4: Likewise.
8610         * m4/printf-frexpl.m4: Likewise.
8611         * m4/vasnprintf.m4: Likewise.
8612         * modules/allocsa (Files): Remove m4/longdouble.m4.
8613         * modules/gettext (Files): Likewise.
8614         * modules/relocatable-prog-wrapper (Files): Likewise.
8615         * modules/vasnprintf (Files): Likewise.
8616         * modules/isnanl (Files): Likewise.
8617         (Include): Simplify.
8618         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
8619         (Include): Simplify.
8620         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
8621         (Include): Simplify.
8622         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
8623         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
8624         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
8625         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
8626         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
8627         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
8628         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
8629         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
8630         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
8631         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
8632         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
8633         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
8634         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
8635         * tests/test-isnanl.c: Likewise.
8636         * tests/test-snprintf-posix.h: Likewise.
8637         * tests/test-sprintf-posix.h: Likewise.
8638         * tests/test-vasnprintf-posix.c: Likewise.
8639         * tests/test-vasnprintf-posix2.c: Likewise.
8640         * tests/test-vasprintf-posix.c: Likewise.
8641
8642 2007-04-06  Bruno Haible  <bruno@clisp.org>
8643
8644         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
8645         * lib/math_.h [__DECC]: Include the overridden include file through
8646         #include_next, outside the double-inclusion guard.
8647         * lib/stdio_.h [__DECC]: Likewise.
8648         * lib/stdlib_.h [__DECC]: Likewise.
8649         * lib/string_.h [__DECC]: Likewise.
8650         * lib/time_.h [__DECC]: Likewise.
8651         * lib/wchar_.h [__DECC]: Likewise.
8652         * lib/wctype_.h [__DECC]: Likewise.
8653         * lib/inttypes_.h [__DECC]: Likewise.
8654         Reported by Albert Chin <china@thewrittenword.com> in
8655         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
8656
8657 2007-04-04  Eric Blake  <ebb9@byu.net>
8658
8659         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
8660         1.5.x.
8661
8662 2007-04-04  Bruno Haible  <bruno@clisp.org>
8663
8664         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
8665         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
8666
8667 2007-04-04  Bruno Haible  <bruno@clisp.org>
8668
8669         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
8670         results for "%010a" of Infinity and NaN.
8671         * tests/test-vasprintf-posix.c (test_function): Likewise.
8672         * tests/test-snprintf-posix.h (test_function): Likewise.
8673         * tests/test-sprintf-posix.h (test_function): Likewise.
8674         * tests/test-fprintf-posix.h (test_function): Remove these tests.
8675         * tests/test-printf-posix.h (test_function): Likewise.
8676         * tests/test-fprintf-posix.out: Update.
8677         Needed for FreeBSD 6.1.
8678
8679 2007-04-04  Bruno Haible  <bruno@clisp.org>
8680
8681         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
8682         directly used by the gnulib modules nor by gnulib-tool.
8683
8684 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
8685
8686         * DEPENDENCIES: Give overall description of version dependency
8687         desirability.  Use more-typical names for apps.
8688         Add shell, coreutils, diffutils, grep, tar, gzip.
8689
8690 2007-04-04  Simon Josefsson  <simon@josefsson.org>
8691
8692         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
8693
8694 2007-04-04  Karl Berry  <karl@gnu.org>
8695
8696         * MODULES.html.sh (func_module): missing '.
8697
8698 2007-04-03  Bruno Haible  <bruno@clisp.org>
8699
8700         * modules/argmatch-tests (Makefile.am): New variable
8701         test_argmatch_LDADD.
8702         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
8703         * modules/array-list-tests (Makefile.am): New variable
8704         test_array_list_LDADD.
8705         * modules/array-oset-tests (Makefile.am): New variable
8706         test_array_oset_LDADD.
8707         * modules/avltree-list-tests (Makefile.am): New variable
8708         test_avltree_list_LDADD.
8709         * modules/avltree-oset-tests (Makefile.am): New variable
8710         test_avltree_oset_LDADD.
8711         * modules/avltreehash-list-tests (Makefile.am): New variable
8712         test_avltreehash_list_LDADD.
8713         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
8714         test_canonicalize_lgpl_LDADD.
8715         * modules/carray-list-tests (Makefile.am): New variable
8716         test_carray_list_LDADD.
8717         * modules/dirname-tests (Makefile.am): New variable
8718         test_dirname_LDADD.
8719         * modules/linked-list-tests (Makefile.am): New variable
8720         test_linked_list_LDADD.
8721         * modules/linkedhash-list-tests (Makefile.am): New variable
8722         test_linkedhash_list_LDADD.
8723         * modules/rbtree-list-tests (Makefile.am): New variable
8724         test_rbtree_list_LDADD.
8725         * modules/rbtree-oset-tests (Makefile.am): New variable
8726         test_rbtree_oset_LDADD.
8727         * modules/rbtreehash-list-tests (Makefile.am): New variable
8728         test_rbtreehash_list_LDADD.
8729         * modules/xvasprintf-tests (Makefile.am): New variable
8730         test_xvasprintf_LDADD.
8731         Reported by Eric Blake.
8732
8733 2007-04-03  Eric Blake  <ebb9@byu.net>
8734
8735         * DEPENDENCIES: Weaken m4 requirements.
8736
8737 2007-04-03  Bruno Haible  <bruno@clisp.org>
8738
8739         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
8740         * modules/isnanl-tests (configure.ac): Likewise.
8741
8742 2007-04-03  Ben Pfaff  <blp@gnu.org>
8743
8744         * modules/iconv_open: Add $(srcdir)/ to source directory
8745         references in Makefile fragments that call gperf, to fix VPATH
8746         builds.
8747
8748 2007-04-03  Bruno Haible  <bruno@clisp.org>
8749
8750         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
8751         * lib/ldexpl.c: Undo last change.
8752
8753 2007-04-03  Bruno Haible  <bruno@clisp.org>
8754
8755         * modules/printf-frexpl (Depends-on): Undo last change.
8756         (Files): Add m4/ldexpl.m4.
8757
8758 2007-04-03  Bruno Haible  <bruno@clisp.org>
8759
8760         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
8761         * modules/isnanl (Link): New section.
8762
8763         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
8764         * modules/frexp (Link): New section.
8765
8766         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
8767         * modules/frexpl (Link): New section.
8768
8769         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
8770         * modules/ldexpl (Link): New section.
8771
8772 2007-04-03  Bruno Haible  <bruno@clisp.org>
8773
8774         * modules/TEMPLATE-EXTENDED: New file.
8775         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
8776
8777 2007-04-03  Bruno Haible  <bruno@clisp.org>
8778
8779         * DEPENDENCIES: New file.
8780         Suggested by Simon Josefsson.
8781
8782 2007-04-03  Bruno Haible  <bruno@clisp.org>
8783
8784         * doc/gnulib.texi: Escape @.
8785
8786 2007-04-03  James Youngman  <jay@gnu.org>
8787         and Paul Eggert  <eggert@cs.ucla.edu>
8788
8789         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
8790         birthtime on all systems that have birthtime, not just those which
8791         use st_birthtimensec rather than st_birthtim.  Putting zero in
8792         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
8793         that the birth time is not available for files on an NFS mount.
8794
8795 2007-04-03  Simon Josefsson  <simon@josefsson.org>
8796
8797         * modules/memxor: Move back from crypto/, suggested by Bruno.
8798         * modules/crypto/hmac-sha1: Fix memxor dependency.
8799
8800         * modules/crypto/gc: Moved from ../.
8801
8802 2007-04-02  Eric Blake  <ebb9@byu.net>
8803
8804         * lib/ldexpl.c (includes): Avoid libm.
8805
8806         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
8807
8808 2007-04-02  Bruno Haible  <bruno@clisp.org>
8809
8810         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
8811         on IRIX.
8812
8813 2007-04-02  Bruno Haible  <bruno@clisp.org>
8814
8815         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
8816         x86 or x86_64 platforms running MacOS X.
8817         Reported by Ryan Schmidt <@ryandesign.com>.
8818
8819 2007-04-02  Bruno Haible  <bruno@clisp.org>
8820
8821         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
8822         i386.
8823
8824 2007-04-01  Simon Josefsson  <simon@josefsson.org>
8825
8826         * modules/crypto/arcfour: Moved from ../.
8827         * modules/crypto/arcfour-tests: Moved from ../.
8828         * modules/crypto/arctwo: Moved from ../.
8829         * modules/crypto/arctwo-tests: Moved from ../.
8830         * modules/crypto/des: Moved from ../.
8831         * modules/crypto/des-tests: Moved from ../.
8832         * modules/crypto/gc-arcfour: Moved from ../.
8833         * modules/crypto/gc-arcfour-tests: Moved from ../.
8834         * modules/crypto/gc-arctwo: Moved from ../.
8835         * modules/crypto/gc-arctwo-tests: Moved from ../.
8836         * modules/crypto/gc-des: Moved from ../.
8837         * modules/crypto/gc-des-tests: Moved from ../.
8838         * modules/crypto/gc-hmac-md5: Moved from ../.
8839         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
8840         * modules/crypto/gc-hmac-sha1: Moved from ../.
8841         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
8842         * modules/crypto/gc-md2: Moved from ../.
8843         * modules/crypto/gc-md2-tests: Moved from ../.
8844         * modules/crypto/gc-md4: Moved from ../.
8845         * modules/crypto/gc-md4-tests: Moved from ../.
8846         * modules/crypto/gc-md5: Moved from ../.
8847         * modules/crypto/gc-md5-tests: Moved from ../.
8848         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
8849         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
8850         * modules/crypto/gc-random: Moved from ../.
8851         * modules/crypto/gc-rijndael: Moved from ../.
8852         * modules/crypto/gc-rijndael-tests: Moved from ../.
8853         * modules/crypto/gc-sha1: Moved from ../.
8854         * modules/crypto/gc-sha1-tests: Moved from ../.
8855         * modules/crypto/gc-tests: Moved from ../.
8856         * modules/crypto/hmac-md5: Moved from ../.
8857         * modules/crypto/hmac-md5-tests: Moved from ../.
8858         * modules/crypto/hmac-sha1: Moved from ../.
8859         * modules/crypto/hmac-sha1-tests: Moved from ../.
8860         * modules/crypto/md2: Moved from ../.
8861         * modules/crypto/md2-tests: Moved from ../.
8862         * modules/crypto/md4: Moved from ../.
8863         * modules/crypto/md4-tests: Moved from ../.
8864         * modules/crypto/md5: Moved from ../.
8865         * modules/crypto/md5-tests: Moved from ../.
8866         * modules/crypto/memxor: Moved from ../.
8867         * modules/crypto/rijndael: Moved from ../.
8868         * modules/crypto/rijndael-tests: Moved from ../.
8869         * modules/crypto/sha1: Moved from ../.
8870
8871 2007-03-30  James Youngman  <jay@gnu.org>
8872
8873         * tests/test-stat-time.c (prepare_test): use chmod() rather than
8874         rename() to change the ctime of a file (because ctime is unaffected
8875         by rename on jfs2 on AIX 5.1).
8876         (main): Start by doing cleanup, in case a previous run failed leaving
8877         test files behind.
8878
8879 2007-03-31  Bruno Haible  <bruno@clisp.org>
8880
8881         Support old proprietary implementations of iconv.
8882         * modules/iconv_open: New file.
8883         * lib/iconv_.h: New file.
8884         * m4/iconv_h.m4: New file.
8885         * lib/iconv_open.c: New file.
8886         * lib/iconv_open-aix.gperf: New file.
8887         * lib/iconv_open-hpux.gperf: New file.
8888         * lib/iconv_open-irix.gperf: New file.
8889         * lib/iconv_open-osf.gperf: New file.
8890         * m4/iconv_open.m4: New file.
8891         * modules/linebreak (Depends-on): Add iconv_open.
8892         * modules/striconv (Depends-on): Likewise.
8893         * modules/striconveh (Depends-on): Likewise.
8894         * modules/unicodeio (Depends-on): Likewise.
8895         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
8896         (iconv_t)(-1).
8897         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
8898         conversion if cd is (iconv_t)(-1).
8899         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
8900         is not possible.
8901
8902 2007-03-31  Bruno Haible  <bruno@clisp.org>
8903
8904         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
8905         work on Solaris either. Protect also second use of "autodetect_jp".
8906
8907 2007-03-31  Bruno Haible  <bruno@clisp.org>
8908
8909         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
8910         the function is not present.
8911
8912 2007-03-31  Bruno Haible  <bruno@clisp.org>
8913
8914         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
8915         the function is not present.
8916
8917 2007-03-31  Bruno Haible  <bruno@clisp.org>
8918
8919         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
8920         a bug in HP-UX iconv_open().
8921
8922 2007-03-31  Bruno Haible  <bruno@clisp.org>
8923
8924         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
8925         (Mathematics <math.h>): New section, add fpieee.
8926         (Input/output <stdio.h>): Add fseterr.
8927         (Mathematics <math.h>): New section, add printf-frexp.
8928         (Container data structures): Add sublist.
8929         (Core language properties): Add fpucw, inline.
8930         (Functions for greatest-width integer types <inttypes.h>): Add
8931         imaxabs, imaxdiv, inttypes.
8932         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
8933         isnanl-nolibm, ldexp.
8934         (Mathematics <math.h>): New section, add printf-frexpl.
8935         (Support for systems lacking POSIX:2001): Add fprintf-posix,
8936         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
8937         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
8938         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
8939         (Unicode string functions): Add unistr/u*-mbtoucr.
8940         (Java): Add javacomp-script, javaexec-script.
8941         (C#): Add csharpcomp-script, csharpexec-script.
8942         (Support for building libraries and executables): Add havelib,
8943         relocatable-*.
8944         (Support for maintaining and releasing projects): Renamed from
8945         'Support for maintaining and release projects'. Add announce-gen.
8946
8947 2007-03-31  Bruno Haible  <bruno@clisp.org>
8948
8949         * README: Talk primarily about git.
8950         (git and CVS): Renamed from CVS.
8951         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
8952         gnulib is available through git.
8953         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
8954
8955 2007-03-30  Bruno Haible  <bruno@clisp.org>
8956
8957         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
8958         * lib/poll_.h: Likewise.
8959         * lib/stat_.h: Likewise.
8960         * lib/sys_time_.h: Likewise.
8961         * lib/sysexit_.h: Likewise.
8962         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
8963         * lib/stdbool_.h: Likewise.
8964         * lib/byteswap_.h: Add double-inclusion guard.
8965
8966 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
8967
8968         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
8969
8970 2007-03-30  Karl Berry  <karl@gnu.org>
8971
8972         * config/srclist-update: double space after USA in the license
8973         substitution, since that's how it's usually (?) written.
8974
8975 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
8976
8977         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
8978         reported by Bruno Haible.
8979
8980 2007-03-29  Bruno Haible  <bruno@clisp.org>
8981
8982         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
8983         a bug in AIX iconv().
8984
8985 2007-03-29  Bruno Haible  <bruno@clisp.org>
8986
8987         * modules/ldexpl-tests: New file.
8988         * tests/test-ldexpl.c: New file.
8989
8990 2007-03-29  Bruno Haible  <bruno@clisp.org>
8991
8992         * lib/ldexpl.c: Include fpucw.h.
8993         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
8994         multiplication.
8995         * modules/ldexpl (Depends-on): Add fpucw.
8996
8997 2007-03-29  Bruno Haible  <bruno@clisp.org>
8998
8999         * modules/ldexpl: New file.
9000         * m4/ldexpl.m4: New file.
9001         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
9002         set.
9003         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
9004         REPLACE_LDEXPL.
9005         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
9006         REPLACE_LDEXPL.
9007         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
9008         gl_FUNC_LDEXPL_WORKS.
9009         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
9010         * modules/mathl (Files): Remove lib/ldexpl.c.
9011         (Depends-on): Add ldexpl.
9012
9013 2007-03-29  Bruno Haible  <bruno@clisp.org>
9014
9015         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
9016
9017 2007-03-29  Bruno Haible  <bruno@clisp.org>
9018
9019         * tests/test-striconveh.c (main): Don't assume that a direct conversion
9020         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
9021         and possibly also HP-UX.
9022         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
9023         work on AIX, IRIX, HP-UX, OSF/1.
9024         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
9025         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
9026         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
9027         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
9028         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
9029         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
9030
9031 2007-03-29  Bruno Haible  <bruno@clisp.org>
9032
9033         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
9034
9035 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
9036
9037         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
9038         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
9039
9040 2007-03-29  Eric Blake  <ebb9@byu.net>
9041
9042         * lib/acl-internal.h: Remove redundant include.
9043         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
9044         Cygwin when a file is locked.
9045
9046 2007-03-29  Bruno Haible  <bruno@clisp.org>
9047
9048         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
9049         file.
9050         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
9051
9052 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
9053
9054         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
9055         try to remove a parent directory if the child couldn't be removed
9056         (except for the first rmdir, which could fail because the child
9057         doesn't exist).  Problem reported by Jeff Blaine in
9058         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
9059
9060 2007-03-28  Bruno Haible  <bruno@clisp.org>
9061
9062         * lib/striconveh.c (utf8conv_carefully): New function.
9063         (mem_cd_iconveh_internal): Invoke it.
9064
9065 2007-03-28  Bruno Haible  <bruno@clisp.org>
9066
9067         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
9068         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
9069         input.
9070         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
9071         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
9072         unistr/u8-uctomb.
9073
9074 2007-03-28  Bruno Haible  <bruno@clisp.org>
9075
9076         * modules/unistr/u8-mbtoucr: New file.
9077         * lib/unistr/u8-mbtoucr.c: New file.
9078         * modules/unistr/u16-mbtoucr: New file.
9079         * lib/unistr/u16-mbtoucr.c: New file.
9080         * modules/unistr/u16-mbtoucr: New file.
9081         * lib/unistr/u16-mbtoucr.c: New file.
9082         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
9083
9084 2007-03-27  Simon Josefsson  <simon@josefsson.org>
9085             Bruno Haible  <bruno@clisp.org>
9086
9087         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
9088         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
9089         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
9090
9091         * m4/stdio_h.m4: Add stubs for vasprintf too.
9092
9093         * modules/stdio: Support vasprintf in sed command.
9094
9095         * modules/vasprintf: Depend on stdio for prototypes.  Remove
9096         vasprintf.h.  Add stdio module indicator.
9097
9098         * lib/stdio_.h: Declare asprintf and vasprintf, based on
9099         vasprintf.h.
9100
9101         * lib/vasprintf.h: File removed.
9102
9103         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
9104         * lib/vasprintf.c: Ditto.
9105         * lib/xvasprintf.c: Ditto.
9106         * tests/test-vasprintf-posix.c: Ditto.
9107         * tests/test-vasprintf.c: Ditto.
9108
9109 2007-03-27  Bruno Haible  <bruno@clisp.org>
9110
9111         Make vasnprintf multithread-safe.
9112         * lib/vasnprintf.c (decimal_point_char): New function.
9113         (VASNPRINTF): Use it.
9114         Suggested by Simon Josefsson.
9115
9116 2007-03-27  Eric Blake  <ebb9@byu.net>
9117
9118         Support sub-second birthtime on cygwin.
9119         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
9120         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
9121         (get_stat_birthtime): Also work with st_birthtim.
9122
9123 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
9124
9125         * lib/stat-time.h (USE_BIRTHTIME): Remove.
9126         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
9127         (get_stat_birthtime_ns): Do not try to use "spare" fields.
9128         (get_stat_birthtime_ns): Simplify compile-time tests.
9129         (get_stat_birthtime): Change the API to look like
9130         get_stat_mtime etc., except return a negative tv_nsec on error.
9131         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
9132         Don't check for "spare" fields.
9133         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
9134         or for struct stat.st_birthtime, as these tests aren't used.
9135         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
9136
9137 2007-03-27  Bruno Haible  <bruno@clisp.org>
9138
9139         * lib/stat-time.h: Include <sys/stat.h>.
9140
9141 2007-03-27  James Youngman  <jay@gnu.org>
9142
9143         * lib/stat-time.h (get_stat_birthtime): New function for
9144           retrieving st_birthtime as provided by UFS2 (hence *BSD).
9145         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
9146           and its variants.
9147         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
9148         * modules/stat-time-test: New file.
9149         * tests/test-stat-time.c: New test, devised by Bruno Haible.
9150
9151 2007-03-26  Bruno Haible  <bruno@clisp.org>
9152
9153         Better support of signalling NaNs.
9154         * lib/atanl.c: Include isnanl.h.
9155         (atanl): Perform test for NaN at the beginning of the function and
9156         through a call to isnanl.
9157         * lib/cosl.c: Include isnanl.h.
9158         (cosl): Perform test for NaN at the beginning of the function and
9159         through a call to isnanl.
9160         * lib/ldexpl.c: Include isnanl.h.
9161         (ldexpl): Perform test for NaN through a call to isnanl.
9162         * lib/logl.c: Include isnanl.h.
9163         (logl): Perform test for NaN at the beginning of the function and
9164         through a call to isnanl.
9165         * lib/sinl.c: Include isnanl.h.
9166         (sinl): Perform test for NaN at the beginning of the function and
9167         through a call to isnanl.
9168         * lib/sqrtl.c: Include isnanl.h.
9169         (sqrtl): Perform test for NaN at the beginning of the function and
9170         through a call to isnanl.
9171         * lib/tanl.c: Include isnanl.h.
9172         (tanl): Perform test for NaN at the beginning of the function and
9173         through a call to isnanl.
9174         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
9175         * modules/mathl (Depends-on): Add isnanl.
9176
9177 2007-03-26  Eric Blake  <ebb9@byu.net>
9178
9179         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
9180         regression in logic sense of previous patch.
9181
9182 2007-03-26  Bruno Haible  <bruno@clisp.org>
9183
9184         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
9185         unportable shell command "if ! ...".
9186         Reported by Ralf Wildenhues.
9187
9188 2007-03-25  Bruno Haible  <bruno@clisp.org>
9189
9190         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
9191         <sysexits.h> file, and only add EX_CONFIG.
9192         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
9193         absolute file name and whether it is sufficient. Substitute also
9194         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
9195         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
9196         ABSOLUTE_SYSEXITS_H into sysexits.h.
9197
9198 2007-03-25  Bruno Haible  <bruno@clisp.org>
9199
9200         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
9201         hints is NULL.
9202
9203 2007-03-25  Bruno Haible  <bruno@clisp.org>
9204
9205         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
9206         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
9207
9208 2007-03-25  Bruno Haible  <bruno@clisp.org>
9209
9210         * lib/vasnprintf.c: Include langinfo.h.
9211         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
9212         multithread-safe.
9213         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
9214         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
9215         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
9216         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
9217         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
9218         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
9219         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
9220         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
9221         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
9222         Reported by Simon Josefsson.
9223
9224 2007-03-25  Bruno Haible  <bruno@clisp.org>
9225
9226         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
9227         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
9228         * modules/vasnprintf (Depends-on): Add stdint.
9229
9230 2007-03-25  Bruno Haible  <bruno@clisp.org>
9231
9232         * modules/fpieee: New file.
9233         * m4/fpieee.m4: New file.
9234         * modules/isnan-nolibm (Depends-on): Add fpieee.
9235         * modules/isnanl-nolibm (Depends-on): Add fpieee.
9236         * modules/isnanl (Depends-on): Add fpieee.
9237
9238 2007-03-25  Bruno Haible  <bruno@clisp.org>
9239
9240         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
9241
9242 2007-03-25  Bruno Haible  <bruno@clisp.org>
9243
9244         Avoid test failures on IRIX 6.5.
9245         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
9246         (main): Use it.
9247         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
9248         macros.
9249         (main): Use them.
9250
9251 2007-03-25  Bruno Haible  <bruno@clisp.org>
9252
9253         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
9254         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
9255         exists but doesn't work.
9256         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
9257         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
9258         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
9259         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
9260
9261 2007-03-25  Bruno Haible  <bruno@clisp.org>
9262
9263         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
9264         returns inf. Needed on IRIX 6.5.
9265
9266 2007-03-25  Bruno Haible  <bruno@clisp.org>
9267
9268         * tests/test-frexpl.c: Include isnanl-nolibm.h.
9269         (main): Use isnanl instead of x != x idiom.
9270         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
9271
9272         * tests/test-frexp.c: Include isnan.h.
9273         (main): Use isnan instead of x != x idiom.
9274         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
9275
9276 2007-03-25  Bruno Haible  <bruno@clisp.org>
9277
9278         * tests/test-frexp.c (NaN): New function/macro.
9279         (main): Use it instead of 0.0 / 0.0.
9280         * tests/test-isnan.c (NaN): New function/macro.
9281         (main): Use it instead of 0.0 / 0.0.
9282         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
9283         (test_function): Use it instead of 0.0 / 0.0.
9284         * tests/test-vasprintf-posix.c (NaN): New function/macro.
9285         (test_function): Use it instead of 0.0 / 0.0.
9286         * tests/test-snprintf-posix.h (NaN): New function/macro.
9287         (test_function): Use it instead of 0.0 / 0.0.
9288         * tests/test-sprintf-posix.h (NaN): New function/macro.
9289         (test_function): Use it instead of 0.0 / 0.0.
9290         * tests/test-fprintf-posix.h (NaN): New function/macro.
9291         (test_function): Use it instead of 0.0 / 0.0.
9292         * tests/test-printf-posix.h (NaN): New function/macro.
9293         (test_function): Use it instead of 0.0 / 0.0.
9294
9295         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
9296
9297 2007-03-25  Bruno Haible  <bruno@clisp.org>
9298
9299         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
9300
9301 2007-03-25  Bruno Haible  <bruno@clisp.org>
9302
9303         * lib/regexec.c (merge_state_with_log): Make static.
9304
9305 2007-03-25  Bruno Haible  <bruno@clisp.org>
9306
9307         * lib/trigl.c (kernel_rem_pio2): Make static.
9308
9309 2007-03-25  Bruno Haible  <bruno@clisp.org>
9310
9311         * lib/sincosl.c (sincosl_table): Make static.
9312
9313 2007-03-25  Bruno Haible  <bruno@clisp.org>
9314
9315         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
9316         if the compiler does not support C99.
9317
9318 2007-03-25  Bruno Haible  <bruno@clisp.org>
9319
9320         * modules/time (Makefile.am): Ensure all rule action lines start with a
9321         tab.
9322
9323 2007-03-24  Bruno Haible  <bruno@clisp.org>
9324
9325         * modules/tsearch-tests: New file.
9326         * tests/test-tsearch.sh: New file.
9327         * tests/test-tsearch.c: New file, mostly copied from glibc.
9328
9329         * modules/search-tests: New file.
9330         * tests/test-search.c: New file.
9331
9332         * modules/search: New file.
9333         * lib/search_.h: New file, incorporating lib/tsearch.h.
9334         * m4/search_h.m4: New file.
9335         * lib/tsearch.h: Remove file.
9336         * lib/tsearch.c: Include search.h instead of tsearch.h.
9337         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
9338         HAVE_TSEARCH.
9339         * modules/tsearch (Files): Remove lib/tsearch.h.
9340         (Depends-on): Add search.
9341         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
9342         (Include): Change tsearch.h into search.h.
9343
9344 2007-03-24  Bruno Haible  <bruno@clisp.org>
9345
9346         * modules/fpucw: New file.
9347         * lib/fpucw.h: New file.
9348         * lib/frexp.c: Include fpucw.h.
9349         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
9350         (FUNC): Use them.
9351         * lib/printf-frexp.c: Include fpucw.h.
9352         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
9353         (FUNC): Use them.
9354         * lib/vasnprintf.c: Include fpucw.h.
9355         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
9356         'long double' calculations.
9357         * tests/test-frexpl.c: Include fpucw.h.
9358         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
9359         * tests/test-printf-frexpl.c: Include fpucw.h.
9360         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
9361         * modules/frexpl (Depends-on): Add fpucw.
9362         * modules/printf-frexpl (Depends-on): Likewise.
9363         * modules/fprintf-posix (Depends-on): Likewise.
9364         * modules/snprintf-posix (Depends-on): Likewise.
9365         * modules/sprintf-posix (Depends-on): Likewise.
9366         * modules/vasnprintf-posix (Depends-on): Likewise.
9367         * modules/vasprintf-posix (Depends-on): Likewise.
9368         * modules/vfprintf-posix (Depends-on): Likewise.
9369         * modules/vsnprintf-posix (Depends-on): Likewise.
9370         * modules/vsprintf-posix (Depends-on): Likewise.
9371         * modules/frexpl-tests (Depends-on): Likewise.
9372         * modules/printf-frexpl-tests (Depends-on): Likewise.
9373
9374 2007-03-24  Bruno Haible  <bruno@clisp.org>
9375
9376         * lib/float+.h: New file.
9377         * lib/isnan.c: Include float+.h.
9378         (SIZE): New macro.
9379         (FUNC): Compare only SIZE bytes of the value.
9380         * lib/vasnprintf.c: Include float+.h.
9381         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
9382         SIZEOF_LDBL or SIZEOF_DBL bytes.
9383         * modules/isnan-nolibm (Files): Add lib/float+.h.
9384         * modules/isnanl-nolibm (Files): Add lib/float+.h.
9385         * modules/isnanl (Files): Add lib/float+.h.
9386         * modules/vasnprintf (Files): Add lib/float+.h.
9387
9388 2007-03-24  Bruno Haible  <bruno@clisp.org>
9389
9390         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
9391         include isnanl-nolibm.h.
9392
9393 2007-03-24  Bruno Haible  <bruno@clisp.org>
9394
9395         * tests/test-read-file.c (main): Don't produce spurious output for
9396         expected situations. Make the test fail if it encountered unexpected
9397         results.
9398
9399 2007-03-24  Bruno Haible  <bruno@clisp.org>
9400
9401         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
9402         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
9403
9404 2007-03-24  Bruno Haible  <bruno@clisp.org>
9405
9406         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
9407
9408 2007-03-24  Bruno Haible  <bruno@clisp.org>
9409
9410         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
9411         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
9412
9413         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
9414         * modules/utf8-ucs4: Turn into a symbolic link to module
9415         unistr/u8-mbtouc.
9416
9417         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
9418         utf8-ucs4-unsafe.
9419         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
9420         unistr/u8-mbtouc-unsafe.
9421
9422         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
9423         * modules/utf16-ucs4: Turn into a symbolic link to module
9424         unistr/u16-mbtouc.
9425
9426         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
9427         utf16-ucs4-unsafe.
9428         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
9429         unistr/u16-mbtouc-unsafe.
9430
9431         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
9432         * modules/ucs4-utf8: Turn into a symbolic link to module
9433         unistr/u8-ubtomb.
9434
9435         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
9436         * modules/ucs4-utf16: Turn into a symbolic link to module
9437         unistr/u16-ubtomb.
9438
9439 2007-03-24  Bruno Haible  <bruno@clisp.org>
9440
9441         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
9442         Enable the function only if HAVE_INLINE.
9443         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
9444         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
9445         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
9446         Enable the function only if HAVE_INLINE.
9447         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
9448         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
9449         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
9450         Enable the function only if HAVE_INLINE.
9451         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
9452         Enable the function only if HAVE_INLINE.
9453         * modules/utf8-ucs4: Update.
9454         * modules/utf8-ucs4-unsafe: Update.
9455         * modules/utf16-ucs4: Update.
9456         * modules/utf16-ucs4-unsafe: Update.
9457         * modules/ucs4-utf8: Update.
9458         * modules/ucs4-utf16: Update.
9459
9460 2007-03-24  Bruno Haible  <bruno@clisp.org>
9461
9462         * lib/utf8-ucs4.h: Remove file.
9463         * lib/utf8-ucs4-unsafe.h: Remove file.
9464         * lib/utf16-ucs4.h: Remove file.
9465         * lib/utf16-ucs4-unsafe.h: Remove file.
9466         * lib/ucs4-utf8.h: Remove file.
9467         * lib/ucs4-utf16.h: Remove file.
9468         * lib/unistr.h: Include their previous contents.
9469         * m4/utf-ucs4.m4: Remove file.
9470         * m4/ucs4-utf.m4: Remove file.
9471         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
9472         (Depends-on): Add unistr/base.
9473         (configure.ac): Remove gl_UTF_UCS4.
9474         (Makefile.am): Update.
9475         (Include): Change to unistr.h.
9476         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
9477         (Depends-on): Add unistr/base.
9478         (configure.ac): Remove gl_UTF_UCS4.
9479         (Makefile.am): Update.
9480         (Include): Change to unistr.h.
9481         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
9482         (Depends-on): Add unistr/base.
9483         (configure.ac): Remove gl_UTF_UCS4.
9484         (Makefile.am): Update.
9485         (Include): Change to unistr.h.
9486         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
9487         (Depends-on): Add unistr/base.
9488         (configure.ac): Remove gl_UTF_UCS4.
9489         (Makefile.am): Update.
9490         (Include): Change to unistr.h.
9491         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
9492         (Depends-on): Add unistr/base.
9493         (configure.ac): Remove gl_UCS4_UTF.
9494         (Makefile.am): Update.
9495         (Include): Change to unistr.h.
9496         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
9497         (Depends-on): Add unistr/base.
9498         (configure.ac): Remove gl_UCS4_UTF.
9499         (Makefile.am): Update.
9500         (Include): Change to unistr.h.
9501         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
9502         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
9503         utf8-ucs4-unsafe.h.
9504         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
9505         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
9506         utf16-ucs4-unsafe.h.
9507         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
9508         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
9509         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
9510         * lib/unistr/u8-strchr.c: Likewise.
9511         * lib/unistr/u8-strrchr.c: Likewise.
9512         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
9513         * lib/unistr/u16-strchr.c: Likewise.
9514         * lib/unistr/u16-strrchr.c: Likewise.
9515         * lib/striconveh.c: Update.
9516         * lib/linebreak.c: Update.
9517
9518 2007-03-24  Bruno Haible  <bruno@clisp.org>
9519
9520         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
9521         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
9522
9523 2007-03-22  Bruno Haible  <bruno@clisp.org>
9524
9525         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
9526
9527 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
9528
9529         * MODULES.html.sh (File system functions): New module write-any-file.
9530         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
9531         * m4/write-any-file.m4: New files.
9532
9533 2007-03-23  Eric Blake  <ebb9@byu.net>
9534
9535         * gnulib-tool: Rearrange space-tab sequences, since some editors
9536         like to eat them.
9537
9538 2007-03-23  Eric Blake  <ebb9@byu.net>
9539
9540         * lib/version-etc.c (version_etc_va): Update license wording to
9541         be more concise.  Recommended by Richard Stallman.
9542
9543 2007-03-22  Bruno Haible  <bruno@clisp.org>
9544
9545         * lib/poll.c (MSG_PEEK): New fallback definition.
9546
9547 2007-03-22  Bruno Haible  <bruno@clisp.org>
9548
9549         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
9550         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
9551         (main): Update.
9552         Fixes a compilation error on BeOS.
9553
9554 2007-03-22  Bruno Haible  <bruno@clisp.org>
9555
9556         * modules/frexpl-tests: New file.
9557         * tests/test-frexpl.c: New file.
9558
9559         * modules/frexpl: New file.
9560         * m4/frexpl.m4: New file.
9561         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
9562         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
9563         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
9564         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
9565         (Depends-on): Add frexpl. Remove isnanl-nolibm.
9566         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
9567
9568 2007-03-22  Bruno Haible  <bruno@clisp.org>
9569
9570         * lib/frexpl.c: Share code with lib/frexp.c.
9571         * modules/mathl (Files): Add lib/frexp.c.
9572         (Depends-on): Add isnanl-nolibm.
9573
9574 2007-03-22  Bruno Haible  <bruno@clisp.org>
9575
9576         * modules/printf-frexp (Files): Add m4/frexp.m4.
9577         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
9578         only if the found frexp function actually works.
9579
9580 2007-03-22  Bruno Haible  <bruno@clisp.org>
9581
9582         * lib/frexp.c: Remove older implementation that uses divisions.
9583
9584 2007-03-21  Bruno Haible  <bruno@clisp.org>
9585
9586         * modules/frexp-tests: New file.
9587         * tests/test-frexp.c: New file.
9588
9589         * modules/frexp: New file.
9590         * lib/frexp.c: New file.
9591         * m4/frexp.m4: New file.
9592         * lib/math_.h (frexp): New declaration.
9593         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
9594         REPLACE_FREXP.
9595         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
9596
9597 2007-03-21  Bruno Haible  <bruno@clisp.org>
9598
9599         * modules/isnanl-tests: New file.
9600         * tests/test-isnanl.c: New file.
9601
9602         * modules/isnanl: New file.
9603         * lib/isnanl.h: New file.
9604         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
9605         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
9606         gl_FUNC_ISNANL_WORKS.
9607         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
9608         New macros.
9609
9610 2007-03-21  Bruno Haible  <bruno@clisp.org>
9611
9612         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
9613         lib/isnanl.h.
9614         (Include): Update.
9615         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
9616         * lib/vasnprintf.c: Update.
9617         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
9618         tests/test-isnanl.h, remove tests/test-isnanl.c.
9619         (Makefile.am): Update.
9620         * tests/test-isnanl-nolibm.c: New file.
9621         * tests/test-isnanl.h: New file.
9622         * tests/test-isnanl.c: Remove file.
9623
9624 2007-03-21  Jim Meyering  <jim@meyering.net>
9625
9626         When trying to open ".", treat ESTALE like EACCES.
9627         * lib/savewd.c (savewd_save): Resort to forking not just upon
9628         failure with EACCES, but also when errno is ESTALE.
9629
9630 2007-03-20  Bruno Haible  <bruno@clisp.org>
9631
9632         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
9633         Needed on AIX 5.1. Reported by Matthew Woehlke.
9634
9635 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
9636
9637         Suggestions by Bruno Haible:
9638         * lib/acl-internal.h: Include "gettext.h" rather than rolling
9639         our own.
9640         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
9641         * modules/acl (Depends-on): Add gettext.
9642
9643 2007-03-19  Bruno Haible  <bruno@clisp.org>
9644
9645         * modules/iconvme: Remove file.
9646         * lib/iconvme.h: Remove file.
9647         * lib/iconvme.c: Remove file.
9648         * m4/iconvme.m4: Remove file.
9649
9650 2007-03-19  Bruno Haible  <bruno@clisp.org>
9651
9652         * doc/relocatable-maint.texi: Break long shell script line.
9653         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
9654
9655 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
9656
9657         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
9658         handle file_has_acl.
9659         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
9660         * lib/acl.c: Move header inclusions and related macro defns into
9661         lib/acl-internal.h.
9662         (S_ISLNK): Remove defn, since that's now done for us.
9663         (file_has_acl): Move to lib/file-has-acl.c.
9664         Call acl_trivial if available.  This is the crucial part of the fix.
9665         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
9666         shared within the library.  Rewrite a bit, partly to make it compatible
9667         with the GNU coding style.
9668         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
9669         Remove unnecessary double-quotes.
9670         Don't test for acl_to_text; the build will catch that.
9671         Replace acl_entries if it doesn't exist and it is needed.
9672         Check for -lsec and acl_trivial (as used on Solaris 10).
9673         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
9674         lib/file-has-acl.c.
9675         (Depends-on): Add sys_stat, for S_ISLNK.
9676
9677 2007-03-19  Ben Pfaff  <blp@gnu.org>
9678
9679         * doc/gnulib.texi: Fix typos.
9680         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
9681
9682 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
9683
9684         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
9685         If size is zero here, buf must be zero.
9686
9687 2007-03-19  Simon Josefsson  <simon@josefsson.org>
9688
9689         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
9690         <bruno@clisp.org>.
9691
9692 2007-03-18  Bruno Haible  <bruno@clisp.org>
9693
9694         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
9695         Suggested by Eric Blake.
9696
9697 2007-03-18  Ben Pfaff  <blp@gnu.org>
9698
9699         * doc/relocatable.texi: Recommend using as prefix a directory
9700         that does not exist and will never be created.  Based on
9701         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
9702         and others.
9703
9704 2007-03-17  Bruno Haible  <bruno@clisp.org>
9705
9706         * lib/fchownat.c: Include lchown.h.
9707
9708 2007-03-17  Bruno Haible  <bruno@clisp.org>
9709
9710         Fix endless loop when the given allocated size was > INT_MAX.
9711         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
9712         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
9713         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
9714         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
9715         * lib/sprintf.c (sprintf): Likewise.
9716
9717 2007-03-17  Bruno Haible  <bruno@clisp.org>
9718
9719         * tests/test-argp-2.sh (func_compare): Output a context diff.
9720
9721 2007-03-17  Bruno Haible  <bruno@clisp.org>
9722
9723         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
9724         locale's decimal-point character.
9725
9726 2007-03-17  Bruno Haible  <bruno@clisp.org>
9727
9728         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
9729         before comparing it. Needed because on some platforms (e.g. x86) a
9730         'long double' occupies less bytes than sizeof (long double).
9731
9732 2007-03-17  Bruno Haible  <bruno@clisp.org>
9733
9734         * tests/test-crc.c (main): Make printf statements 64-bit clean.
9735         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
9736         * tests/test-getaddrinfo.c (simple): Likewise.
9737         * tests/test-read-file.c (main): Likewise.
9738
9739 2007-03-17  Bruno Haible  <bruno@clisp.org>
9740
9741         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
9742
9743 2007-03-17  Bruno Haible  <bruno@clisp.org>
9744
9745         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
9746         unused variable.
9747
9748 2007-03-17  Bruno Haible  <bruno@clisp.org>
9749
9750         * tests/test-c-strcasecmp.c: Include c-strcase.h.
9751         * tests/test-c-strncasecmp.c: Likewise.
9752
9753 2007-03-17  Bruno Haible  <bruno@clisp.org>
9754
9755         * modules/stdlib (Depends-on): Add unistd.
9756         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
9757         Needed for MacOS X 10.3.
9758
9759 2007-03-17  Bruno Haible  <bruno@clisp.org>
9760
9761         * lib/unistr/u-strdup.h: Include <stdlib.h>.
9762
9763 2007-03-17  Bruno Haible  <bruno@clisp.org>
9764
9765         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
9766
9767 2007-03-17  Bruno Haible  <bruno@clisp.org>
9768
9769         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
9770         to reflect files copied from gnulib (with or without modifications).
9771         Suggested by Jim Meyering.
9772
9773 2007-03-17  Eric Blake  <ebb9@byu.net>
9774
9775         * NEWS: Document stdlib change from 2007-02-18.
9776
9777 2007-03-17  Jim Meyering  <jim@meyering.net>
9778
9779         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
9780         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
9781         someone uses a name containing shell meta-characters.
9782         Reported by Alfred M. Szmidt.
9783
9784         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
9785
9786 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
9787
9788         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
9789         and copy gettext configuration files only if configure.ac contains
9790         a use of AM_GNU_GETTEXT_VERSION.
9791
9792 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
9793
9794         * build-aux/bootstrap (gnulib_name): New variable.
9795         (gnulib_tool_options): Use it.
9796
9797 2007-03-13  Simon Josefsson  <simon@josefsson.org>
9798
9799         * tests/test-des.c: Use new namespace.
9800
9801 2007-03-15  Bruno Haible  <bruno@clisp.org>
9802
9803         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
9804         Reported by James Youngman <jay@gnu.org>.
9805
9806 2007-03-15  Bruno Haible  <bruno@clisp.org>
9807
9808         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
9809         declared prototype. Needed with cc on OSF/1 5.1.
9810
9811 2007-03-15  Bruno Haible  <bruno@clisp.org>
9812
9813         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
9814         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
9815         (struct gl_list_implementation): Add dispose_fn argument to the
9816         'create_empty', 'create' methods.
9817         (struct gl_list_impl_base): Add field 'dispose_fn'.
9818         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
9819         argument.
9820         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
9821         dispose_fn argument.
9822         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
9823         dispose_fn on the dropped values.
9824         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
9825         dispose_fn argument.
9826         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
9827         dropped values.
9828         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
9829         (gl_tree_remove_node): Call dispose_fn on the dropped value.
9830         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
9831         (gl_tree_remove_node): Call dispose_fn on the dropped value.
9832         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
9833         argument.
9834         (gl_tree_list_free): Call dispose_fn on the dropped values.
9835         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
9836         the dropped values.
9837         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
9838         Add dispose_fn argument.
9839         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
9840         Call dispose_fn on the dropped values.
9841         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
9842         Add dispose_fn argument.
9843         (gl_sublist_create): Initialize the 'dispose_fn' field.
9844         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
9845         * tests/test-array_list.c (main): Update.
9846         * tests/test-carray_list.c (main): Update.
9847         * tests/test-avltree_list.c (main): Update.
9848         * tests/test-rbtree_list.c (main): Update.
9849         * tests/test-avltreehash_list.c (main): Update.
9850         * tests/test-rbtreehash_list.c (main): Update.
9851         * tests/test-linked_list.c (main): Update.
9852         * tests/test-linkedhash_list.c (main): Update.
9853         * tests/test-array_oset.c (main): Update.
9854
9855 2007-03-15  Bruno Haible  <bruno@clisp.org>
9856
9857         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
9858         (gl_oset_create_empty): Add dispose_fn argument.
9859         (struct gl_oset_implementation): Add dispose_fn argument to
9860         'create_empty' method.
9861         (struct gl_oset_impl_base): Add dispose_fn field.
9862         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
9863         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
9864         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
9865         values.
9866         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
9867         (gl_tree_oset_free): Call dispose_fn on the dropped values.
9868         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
9869         dropped value.
9870         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
9871         dropped value.
9872         * tests/test-array_oset.c (main): Update.
9873         * tests/test-avltree_oset.c (main): Update.
9874         * tests/test-rbtree_oset.c (main): Update.
9875         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
9876
9877 2007-03-13  Bruno Haible  <bruno@clisp.org>
9878
9879         * tests/test-stdbool.c (i): Update after last patch.
9880
9881 2007-03-12  Bruno Haible  <bruno@clisp.org>
9882
9883         * lib/quotearg.c: Include <wctype.h> early, before the definition of
9884         the iswprint macro. Needed on Solaris 2.5.1.
9885
9886 2007-03-12  Bruno Haible  <bruno@clisp.org>
9887
9888         * tests/test-printf-frexp.c (main): Declare x as volatile.
9889
9890 2007-03-12  Simon Josefsson  <simon@josefsson.org>
9891
9892         * doc/gnulib.texi (Build robot for gnulib): New section.
9893
9894 2007-03-12  Jim Meyering  <jim@meyering.net>
9895
9896         * build-aux/bootstrap: New file.
9897         * build-aux/bootstrap.conf: New file, from coreutils.
9898
9899 2007-03-11  Bruno Haible  <bruno@clisp.org>
9900
9901         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
9902
9903 2007-03-12  Simon Josefsson  <simon@josefsson.org>
9904
9905         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
9906         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
9907         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
9908
9909 2007-03-11  Bruno Haible  <bruno@clisp.org>
9910
9911         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
9912         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
9913
9914 2007-03-11  Bruno Haible  <bruno@clisp.org>
9915
9916         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
9917         formula. Needed for SunPRO C 5.0.
9918
9919 2007-03-11  Bruno Haible  <bruno@clisp.org>
9920
9921         * modules/long-options (Depends-on): Add getopt.
9922
9923 2007-03-11  Bruno Haible  <bruno@clisp.org>
9924
9925         * modules/modechange (Depends-on): Add stdbool.
9926
9927 2007-03-11  Bruno Haible  <bruno@clisp.org>
9928
9929         * modules/i-ring (Depends-on): Add stdbool.
9930
9931 2007-03-11  Bruno Haible  <bruno@clisp.org>
9932
9933         * modules/gc-des (Depends-on): Add stdbool.
9934
9935 2007-03-11  Bruno Haible  <bruno@clisp.org>
9936
9937         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
9938
9939 2007-03-11  Bruno Haible  <bruno@clisp.org>
9940
9941         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
9942
9943 2007-03-11  Bruno Haible  <bruno@clisp.org>
9944
9945         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
9946
9947 2007-03-11  Bruno Haible  <bruno@clisp.org>
9948
9949         * lib/vasnprintf.c (sprintf): Undefine.
9950
9951 2007-03-11  Bruno Haible  <bruno@clisp.org>
9952
9953         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
9954         initializers in SunPRO C and Compaq C compilers.
9955
9956 2007-03-11  Bruno Haible  <bruno@clisp.org>
9957
9958         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
9959         decrementing code ANSI C compliant.
9960
9961 2007-03-11  Bruno Haible  <bruno@clisp.org>
9962
9963         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
9964         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
9965
9966 2007-03-11  Bruno Haible  <bruno@clisp.org>
9967
9968         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
9969         <stdbool.h> substitute doesn't pass.
9970
9971 2007-03-11  Bruno Haible  <bruno@clisp.org>
9972
9973         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
9974
9975 2007-03-11  Bruno Haible  <bruno@clisp.org>
9976
9977         * gnulib-tool (func_create_megatestdir): Create also an autobuild
9978         script, for submission to autobuild.josefsson.org.
9979
9980 2007-03-10  Bruno Haible  <bruno@clisp.org>
9981
9982         * modules/canonicalize-lgpl-tests: New file.
9983         * tests/test-canonicalize-lgpl.sh: New file.
9984         * tests/test-canonicalize-lgpl.c: New file.
9985
9986         * modules/c-strcase-tests: New file.
9987         * tests/test-c-strcase.sh: New file.
9988         * tests/test-c-strcasecmp.c: New file.
9989         * tests/test-c-strncasecmp.c: New file.
9990
9991         * modules/atexit-tests: New file.
9992         * tests/test-atexit.sh: New file.
9993         * tests/test-atexit.c: New file.
9994
9995 2007-03-10  Bruno Haible  <bruno@clisp.org>
9996
9997         * tests/test-binary-io.sh: Use temporary filenames that are not so
9998         likely to clash with those of other tests (in a parallel make).
9999         * tests/test-binary-io.c: Likewise.
10000
10001 2007-03-10  Bruno Haible  <bruno@clisp.org>
10002
10003         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
10004         fallback; use #error instead.
10005         Suggested by Simon Josefsson.
10006
10007 2007-03-10  Bruno Haible  <bruno@clisp.org>
10008
10009         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
10010         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
10011         first and the last.
10012
10013 2007-03-10  Bruno Haible  <bruno@clisp.org>
10014
10015         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
10016
10017 2007-03-10  Bruno Haible  <bruno@clisp.org>
10018
10019         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
10020         "make distcheck".
10021         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
10022         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
10023         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
10024
10025 2007-03-10  Bruno Haible  <bruno@clisp.org>
10026
10027         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
10028         variable.
10029         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
10030         variable.
10031
10032 2007-03-09  Eric Blake  <ebb9@byu.net>
10033         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
10034
10035         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
10036         types are not being provided by gnulib.
10037         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
10038         types are supported.
10039
10040 2007-03-10  Bruno Haible  <bruno@clisp.org>
10041
10042         * lib/stdio_.h (__attribute__): New macro.
10043         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
10044         vsprintf): Specify __attribute__ __format__ for GCC.
10045         Suggested by Eric Blake.
10046
10047 2007-03-09  Bruno Haible  <bruno@clisp.org>
10048
10049         * modules/printf-posix-tests: New file.
10050         * tests/test-printf-posix.sh: New file.
10051         * tests/test-printf-posix.c: New file.
10052
10053         * modules/printf-posix: New file.
10054         * lib/printf.c: New file.
10055         * m4/printf-posix-rpl.m4: New file.
10056         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
10057         REPLACE_PRINTF.
10058         * lib/stdio_.h (printf): New declaration.
10059         (format, __format__, ____printf____, ____scanf____, ____strftime____,
10060         ____strfmon____): New macros.
10061         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
10062         REPLACE_PRINTF.
10063
10064 2007-03-09  Bruno Haible  <bruno@clisp.org>
10065
10066         * tests/test-vasnprintf-posix2.sh: New file.
10067         * tests/test-vasnprintf-posix2.c: New file.
10068         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
10069         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
10070         (Makefile.am): Activate test-vasnprintf-posix2.sh.
10071
10072         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
10073         a locale dependent decimal point, rather than always '.'.
10074
10075 2007-03-09  Eric Blake  <ebb9@byu.net>
10076
10077         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
10078         spite of platforms like Tandem/NSK that define it to -1.
10079
10080 2007-03-08  Bruno Haible  <bruno@clisp.org>
10081
10082         * modules/vprintf-posix-tests: New file.
10083         * tests/test-vprintf-posix.sh: New file.
10084         * tests/test-vprintf-posix.c: New file.
10085         * tests/test-printf-posix.h: New file.
10086
10087         * modules/vprintf-posix: New file.
10088         * lib/vprintf.c: New file.
10089         * m4/vprintf-posix.m4: New file.
10090         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
10091         REPLACE_VPRINTF.
10092         * lib/stdio_.h (vprintf): New declaration.
10093         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
10094         REPLACE_VPRINTF.
10095
10096 2007-03-08  Bruno Haible  <bruno@clisp.org>
10097
10098         * modules/fprintf-posix-tests: New file.
10099         * tests/test-fprintf-posix.sh: New file.
10100         * tests/test-fprintf-posix.c: New file.
10101
10102         * modules/fprintf-posix: New file.
10103         * lib/fprintf.c: New file.
10104         * m4/fprintf-posix.m4: New file.
10105         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
10106         REPLACE_FPRINTF.
10107         * lib/stdio_.h (fprintf): New declaration.
10108         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
10109         REPLACE_FPRINTF.
10110
10111 2007-03-08  Bruno Haible  <bruno@clisp.org>
10112
10113         * modules/vfprintf-posix-tests: New file.
10114         * tests/test-vfprintf-posix.sh: New file.
10115         * tests/test-vfprintf-posix.c: New file.
10116         * tests/test-fprintf-posix.h: New file.
10117         * tests/test-fprintf-posix.out: New file.
10118
10119         * modules/vfprintf-posix: New file.
10120         * lib/vfprintf.c: New file.
10121         * m4/vfprintf-posix.m4: New file.
10122         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
10123         REPLACE_VFPRINTF.
10124         * lib/stdio_.h (vfprintf): New declaration.
10125         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
10126         REPLACE_VFPRINTF.
10127
10128 2007-03-08  Bruno Haible  <bruno@clisp.org>
10129
10130         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
10131
10132 2007-03-08  Bruno Haible  <bruno@clisp.org>
10133
10134         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
10135         instead of 'expr' invocations.
10136         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
10137         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
10138         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
10139         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
10140         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
10141         Suggested by Paul Eggert.
10142
10143 2007-03-08  Bruno Haible  <bruno@clisp.org>
10144
10145         * modules/fseterr-tests: New file.
10146         * tests/test-fseterr.c: New file.
10147
10148         * modules/fseterr: New file.
10149         * lib/fseterr.h: New file.
10150         * lib/fseterr.c: New file.
10151
10152 2007-03-08  Bruno Haible  <bruno@clisp.org>
10153
10154         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
10155         * lib/getopt_.h: Likewise.
10156         * lib/mbswidth.h: Likewise.
10157         * lib/setenv.h: Likewise.
10158         * lib/vasnprintf.h: Likewise.
10159         * lib/vasprintf.h: Likewise.
10160         * lib/verror.h: Likewise.
10161         * lib/xsetenv.h: Likewise.
10162         * lib/xvasprintf.h: Likewise.
10163
10164 2007-03-08  Jim Meyering  <jim@meyering.net>
10165
10166         * users.txt: Add parted.
10167
10168         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
10169
10170 2007-03-07  Bruno Haible  <bruno@clisp.org>
10171
10172         * m4/printf.m4: Make the shell script snippets copy&pastable.
10173
10174 2007-03-02  Bruno Haible  <bruno@clisp.org>
10175
10176         * lib/netinet_in_.h: New file.
10177         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
10178         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
10179         * modules/netinet_in (Files): Add lib/netinet_in_.h.
10180         (Depends-on): Add absolute-header.
10181         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
10182         into netinet/in.h.
10183
10184 2007-03-03  Bruno Haible  <bruno@clisp.org>
10185
10186         * lib/sys_select_.h: New file.
10187         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
10188         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
10189         * modules/sys_select (Files): Add lib/sys_select_.h.
10190         (Depends-on): Add absolute-header.
10191         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
10192         into sys/select.h.
10193
10194 2007-03-02  Bruno Haible  <bruno@clisp.org>
10195
10196         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
10197         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
10198         values.
10199         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
10200         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
10201         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
10202         * modules/sys_socket (Depends-on): Add absolute-header.
10203         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
10204         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
10205         (Include): Remove requirement of inclusion of <sys/types.h>.
10206
10207 2007-03-02  Bruno Haible  <bruno@clisp.org>
10208
10209         * lib/byteswap_.h (bswap_32): Fix formula.
10210
10211 2007-03-06  Bruno Haible  <bruno@clisp.org>
10212
10213         * modules/sprintf-posix-tests: New file.
10214         * tests/test-sprintf-posix.c: New file.
10215
10216         * modules/sprintf-posix: New file.
10217         * lib/sprintf.c: New file.
10218         * m4/sprintf-posix.m4: New file.
10219         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
10220         REPLACE_SPRINTF.
10221         * lib/stdio_.h (sprintf): New declaration.
10222         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
10223         REPLACE_SPRINTF.
10224
10225 2007-03-06  Bruno Haible  <bruno@clisp.org>
10226
10227         * modules/vsprintf-posix-tests: New file.
10228         * tests/test-vsprintf-posix.c: New file.
10229         * tests/test-sprintf-posix.h: New file.
10230
10231         * modules/vsprintf-posix: New file.
10232         * lib/vsprintf.c: New file.
10233         * m4/vsprintf-posix.m4: New file.
10234         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
10235         REPLACE_VSPRINTF.
10236         * lib/stdio_.h (vsprintf): New declaration.
10237         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
10238         REPLACE_VSPRINTF.
10239
10240 2007-03-06  Bruno Haible  <bruno@clisp.org>
10241
10242         * modules/vsnprintf (Depend-on): Remove minmax.
10243
10244 2007-03-06  Bruno Haible  <bruno@clisp.org>
10245
10246         * modules/snprintf-posix-tests: New file.
10247         * tests/test-snprintf-posix.c: New file.
10248
10249         * modules/snprintf-posix: New file.
10250         * m4/snprintf-posix.m4: New file.
10251         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
10252         gl_FUNC_SNPRINTF.
10253         (gl_FUNC_SNPRINTF): Invoke it.
10254         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
10255         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
10256         is set.
10257         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
10258
10259 2007-03-06  Bruno Haible  <bruno@clisp.org>
10260
10261         * modules/vsnprintf-posix-tests: New file.
10262         * tests/test-vsnprintf-posix.c: New file.
10263         * tests/test-snprintf-posix.h: New file.
10264
10265         * modules/vsnprintf-posix: New file.
10266         * m4/vsnprintf-posix.m4: New file.
10267         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
10268         gl_FUNC_VSNPRINTF.
10269         (gl_FUNC_VSNPRINTF): Invoke it.
10270         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
10271         * lib/stdio_.h (vsnprintf): Define as a replacement if
10272         REPLACE_VSNPRINTF is set.
10273         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
10274
10275 2007-03-06  Bruno Haible  <bruno@clisp.org>
10276
10277         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
10278         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
10279
10280 2007-03-06  Bruno Haible  <bruno@clisp.org>
10281
10282         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
10283         (asinl): Declare also if HAVE_DECL_ASINL is set.
10284         (atanl): Declare also if HAVE_DECL_ATANL is set.
10285         (ceill): Declare also if HAVE_DECL_CEILL is set.
10286         (cosl): Declare also if HAVE_DECL_COSL is set.
10287         (expl): Declare also if HAVE_DECL_EXPL is set.
10288         (floorl): Declare also if HAVE_DECL_FLOORL is set.
10289         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
10290         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
10291         (logl): Declare also if HAVE_DECL_LOGL is set.
10292         (sinl): Declare also if HAVE_DECL_SINL is set.
10293         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
10294         (tanl): Declare also if HAVE_DECL_TANL is set.
10295         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
10296         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
10297         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
10298         declaration of frexpl, ldexpl.
10299         * modules/printf-frexpl (Depends-on): Add math.
10300         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
10301
10302 2007-03-05  Bruno Haible  <bruno@clisp.org>
10303
10304         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
10305         frexpl and ldexpl are declared.
10306         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
10307
10308 2007-03-05  Bruno Haible  <bruno@clisp.org>
10309
10310         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
10311         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
10312
10313 2007-03-05  Bruno Haible  <bruno@clisp.org>
10314
10315         * lib/stdio_.h: Include <stddef.h>.
10316
10317 2007-03-05  Bruno Haible  <bruno@clisp.org>
10318
10319         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
10320
10321 2007-03-05  Bruno Haible  <bruno@clisp.org>
10322
10323         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
10324         NetBSD 4, from Ralf Wildenhues.
10325
10326 2007-03-04  Bruno Haible  <bruno@clisp.org>
10327
10328         * lib/vasprintf.h: Update #if logic for the case when the functions
10329         exist but are overridden.
10330
10331 2007-03-04  Bruno Haible  <bruno@clisp.org>
10332
10333         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
10334         implementations: glibc-2.4 and MacOS X 10.3.
10335         * tests/test-vasnprintf-posix.c (test_function): Test also the case
10336         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
10337         * tests/test-vasprintf-posix.c (test_function): Likewise.
10338
10339 2007-03-04  Bruno Haible  <bruno@clisp.org>
10340
10341         * modules/vasprintf-posix-tests: New file.
10342         * tests/test-vasprintf-posix.c: New file.
10343
10344         * modules/vasprintf-posix: New file.
10345         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
10346         defined.
10347         * m4/vasprintf-posix.m4: New file.
10348         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
10349         gl_FUNC_VASPRINTF.
10350         (gl_FUNC_VASPRINTF): Invoke it.
10351         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
10352         here.
10353         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
10354
10355 2007-03-04  Bruno Haible  <bruno@clisp.org>
10356
10357         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
10358         REPLACE_GETTIMEOFDAY.
10359         * modules/sys_time (Makefile.am): Likewise.
10360         * m4/sys_time_h.m4: Likewise.
10361         * m4/gettimeofday.m4: Likewise.
10362
10363 2007-03-04  Bruno Haible  <bruno@clisp.org>
10364
10365         * modules/vasnprintf-posix-tests: New file.
10366         * tests/test-vasnprintf-posix.c: New file.
10367
10368         * modules/vasnprintf-posix: New file.
10369         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
10370         printf-frexpl.h.
10371         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
10372         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
10373         REPLACE_VASNPRINTF is defined.
10374         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
10375         gl_FUNC_VASNPRINTF.
10376         (gl_FUNC_VASNPRINTF): Invoke it.
10377         * m4/vasnprintf-posix.m4: New file.
10378         * m4/printf.m4: New file.
10379
10380 2007-03-04  Bruno Haible  <bruno@clisp.org>
10381
10382         Compile progreloc.c only if --enable-relocatable is specified.
10383         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
10384         if --enable-relocatable was specified.
10385         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
10386         lib_SOURCES.
10387
10388 2007-03-04  Jim Meyering  <jim@meyering.net>
10389
10390         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
10391         Use it consistently, rather than enumerating errno constants.
10392
10393 2007-03-04  Bruno Haible  <bruno@clisp.org>
10394
10395         * modules/xvasprintf-tests: New file.
10396         * tests/test-xvasprintf.c: New file.
10397
10398         * modules/vasprintf-tests: New file.
10399         * tests/test-vasprintf.c: New file.
10400
10401         * modules/vasnprintf-tests: New file.
10402         * tests/test-vasnprintf.c: New file.
10403
10404         * modules/vsnprintf-tests: New file.
10405         * tests/test-vsnprintf.c: New file.
10406
10407         * modules/snprintf-tests: New file.
10408         * tests/test-snprintf.c: New file.
10409
10410 2007-03-04  Bruno Haible  <bruno@clisp.org>
10411
10412         Compile relocatable.c only if --enable-relocatable is specified.
10413         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
10414         gl_RELOCATABLE_LIBRARY.
10415         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
10416         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
10417         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
10418         gl_RELOCATABLE_LIBRARY.
10419         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
10420         (Makefile.am): Remove lib_SOURCES.
10421         * modules/relocatable-lib-lgpl (configure.ac): Invoke
10422         gl_RELOCATABLE_LIBRARY.
10423         (Makefile.am): Remove lib_SOURCES.
10424         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
10425         always.
10426         * modules/relocatable-prog-wrapper (configure.ac): Invoke
10427         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
10428
10429 2007-03-04  Bruno Haible  <bruno@clisp.org>
10430
10431         * modules/argmatch-tests: New file.
10432         * tests/test-argmatch.c: New file.
10433
10434         * tests/test-allocsa.c (main): Halve the number of loop runs.
10435
10436         * modules/alloca-opt-tests: New file.
10437         * tests/test-alloca-opt.c: New file.
10438
10439 2007-03-04  Jim Meyering  <jim@meyering.net>
10440
10441         Work around difference between Linux ACLs and Solaris 10 ZFS.
10442         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
10443         for EINVAL.
10444
10445 2007-03-03  Bruno Haible  <bruno@clisp.org>
10446
10447         * modules/relocatable-prog (Depends-on): Add back progreloc's
10448         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
10449
10450 2007-03-03  Bruno Haible  <bruno@clisp.org>
10451
10452         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
10453         * modules/relocatable-lib: New file.
10454
10455 2007-03-03  Bruno Haible  <bruno@clisp.org>
10456
10457         * modules/relocatable-prog: Renamed from modules/relocatable.
10458         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
10459
10460 2007-03-03  Bruno Haible  <bruno@clisp.org>
10461
10462         * modules/relocatable-script (Files): Add doc/relocatable.texi,
10463         m4/relocatable-lib.m4.
10464         (Depends-on): Remove 'relocatable'.
10465         (configure.ac): Add gl_RELOCATABLE_NOP.
10466
10467 2007-03-03  Bruno Haible  <bruno@clisp.org>
10468
10469         * modules/relocatable-prog-wrapper: New file.
10470         * modules/relocatable (Depends-on): Add it. Remove all other
10471         dependencies except progname.
10472         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
10473
10474         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
10475         (gl_FUNC_STRERROR): Nop.
10476         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
10477
10478         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
10479         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
10480
10481         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
10482         (gl_FUNC_READLINK): Update.
10483
10484         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
10485
10486 2007-03-03  Bruno Haible  <bruno@clisp.org>
10487
10488         * lib/xreadlink.c: Include <unistd.h> unconditionally.
10489         * modules/xreadlink (Depends-on): Add unistd.
10490         * modules/xreadlink-with-size (Depends-on): Likewise.
10491
10492 2007-03-03  Bruno Haible  <bruno@clisp.org>
10493
10494         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
10495         extracted from gt_FUNC_SETENV.
10496         (gt_FUNC_SETENV): Remove macro.
10497         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
10498         remove gt_FUNC_SETENV.
10499
10500 2007-03-03  Bruno Haible  <bruno@clisp.org>
10501
10502         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
10503         ENABLE_RELOCATABLE here.
10504         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
10505
10506 2007-03-03  Bruno Haible  <bruno@clisp.org>
10507
10508         * modules/rbtreehash-list-tests (Depends-on): Add progname.
10509         * tests/test-rbtreehash_list.c: Include progname.h.
10510         (main): Call set_program_name.
10511
10512         * modules/rbtree-oset-tests (Depends-on): Add progname.
10513         * tests/test-rbtree_oset.c: Include progname.h.
10514         (main): Call set_program_name.
10515
10516         * modules/rbtree-list-tests (Depends-on): Add progname.
10517         * tests/test-rbtree_list.c: Include progname.h.
10518         (main): Call set_program_name.
10519
10520         * modules/linked-list-tests (Depends-on): Add progname.
10521         * tests/test-linked_list.c: Include progname.h.
10522         (main): Call set_program_name.
10523
10524 2007-03-03  Bruno Haible  <bruno@clisp.org>
10525
10526         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
10527         All uses of __restrict changed to _Restrict_.
10528         * lib/glob_.h (__restrict): Remove macro.
10529
10530 2007-03-02  Bruno Haible  <bruno@clisp.org>
10531
10532         * modules/gettext (configure.ac): Require gettext infrastructure
10533         from version 0.16.1.
10534
10535 2007-03-02  Bruno Haible  <bruno@clisp.org>
10536
10537         * modules/linkedhash-list-tests (Depends-on): Add progname.
10538         * tests/test-linkedhash_list.c: Include progname.h.
10539         (main): Call set_program_name.
10540
10541         * modules/carray-list-tests (Depends-on): Add progname.
10542         * tests/test-carray_list.c: Include progname.h.
10543         (main): Call set_program_name.
10544
10545         * modules/avltreehash-list-tests (Depends-on): Add progname.
10546         * tests/test-avltreehash_list.c: Include progname.h.
10547         (main): Call set_program_name.
10548
10549         * modules/avltree-oset-tests (Depends-on): Add progname.
10550         * tests/test-avltree_oset.c: Include progname.h.
10551         (main): Call set_program_name.
10552
10553         * modules/avltree-list-tests (Depends-on): Add progname.
10554         * tests/test-avltree_list.c: Include progname.h.
10555         (main): Call set_program_name.
10556
10557         * modules/array-oset-tests (Depends-on): Add progname.
10558         * tests/test-array_oset.c: Include progname.h.
10559         (main): Call set_program_name.
10560
10561         * modules/array-list-tests (Depends-on): Add progname.
10562         * tests/test-array_list.c: Include progname.h.
10563         (main): Call set_program_name.
10564
10565         * modules/argp-tests (Depends-on): Add progname.
10566         * tests/test-argp.c: Include argp.h first. Include progname.h.
10567         (main): Call set_program_name.
10568
10569 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
10570
10571         * doc/gnulib-tool.texi (Initial import): Reword description of
10572         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
10573         limited effect even if defined after the first system include.
10574
10575 2007-03-01  Bruno Haible  <bruno@clisp.org>
10576
10577         * build-aux/config.libpath: Update to libtool-1.5.22.
10578         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
10579
10580 2007-03-01  Bruno Haible  <bruno@clisp.org>
10581
10582         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
10583         foo_CFLAGS.
10584         Reported by Ralf Wildenhues.
10585
10586 2007-03-01  Bruno Haible  <bruno@clisp.org>
10587
10588         * build-aux/install-reloc: Remove object files left over by some
10589         compilers.
10590         Reported by Ralf Wildenhues.
10591
10592 2007-03-01  Bruno Haible  <bruno@clisp.org>
10593
10594         * build-aux/install-reloc: Break long lines.
10595
10596 2007-03-01  Bruno Haible  <bruno@clisp.org>
10597
10598         * doc/relocatable.texi: Document that it may not work on OpenBSD.
10599         Reported by Ralf Wildenhues.
10600
10601 2007-03-01  Bruno Haible  <bruno@clisp.org>
10602
10603         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
10604         include ordering constraints.
10605
10606 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
10607
10608         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
10609         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
10610         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
10611         as another example.
10612         * lib/time_.h: Fix misspelling.
10613         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
10614         Require gl_HEADER_TIME_H_DEFAULTS.
10615         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
10616         * m4/time_r.m4 (gl_TIME_R): Likewise.
10617         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
10618
10619 2007-03-01  Bruno Haible  <bruno@clisp.org>
10620
10621         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
10622         * m4/utimens.m4 (gl_UTIMENS): Likewise.
10623
10624 2007-03-01  Jim Meyering  <jim@meyering.net>
10625
10626         * modules/xreadlink (Maintainer): Add my name.
10627         * modules/xreadlink-with-size (Depends-on): Alphabetize.
10628
10629 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
10630             Bruno Haible  <bruno@clisp.org>
10631
10632         * build-aux/install-reloc: Compile also c-ctype.c.
10633         * build-aux/relocatable.sh.in: New file.
10634         * doc/relocatable.texi: New file.
10635         * doc/relocatable-maint.texi: New file.
10636         * doc/gnulib.texi: Include relocatable-maint.texi.
10637         * lib/progreloc.c: Include unistd.h unconditionally.
10638         * lib/relocwrapper.c: Include unistd.h unconditionally.
10639         Include c-ctype.h.
10640         (add_dotbin): Use c_tolower.
10641         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
10642         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
10643         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
10644         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
10645         to m4/relocatable-lib.m4.
10646         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
10647         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
10648         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
10649         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
10650         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
10651         * modules/relocatable: New file.
10652         * modules/relocatable-lib: New file.
10653         * modules/relocatable-script: New file.
10654
10655 2007-02-28  Bruno Haible  <bruno@clisp.org>
10656
10657         Import --enable-relocatable infrastructure.
10658         * build-aux/config.libpath: New file, from GNU gettext.
10659         * build-aux/install-reloc: New file, from GNU gettext.
10660         * build-aux/reloc-ldflags: New file, from GNU gettext.
10661         * lib/relocatable.h: New file, from GNU gettext.
10662         * lib/relocatable.c: New file, from GNU gettext.
10663         * lib/relocwrapper.c: New file, from GNU gettext.
10664         * m4/relocatable.m4: New file, from GNU gettext.
10665
10666 2007-02-28  Bruno Haible  <bruno@clisp.org>
10667
10668         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
10669
10670         * modules/xreadlink: New file, from GNU gettext with modifications.
10671         * lib/xreadlink.c: New file, from GNU gettext.
10672         * lib/xreadlink.h: Add comments.
10673         (xreadlink): New declaration.
10674
10675         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
10676         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
10677         lib/xreadlink-with-size.c.
10678         (configure.ac): Remove gl_XREADLINK invocation.
10679         (Makefile.am): Augment lib_SOURCES.
10680         * m4/xreadlink.m4: Remove file.
10681         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
10682         (xreadlink_with_size): Renamed from xreadink.
10683         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
10684         * modules/canonicalize (Depends-on): Replace xreadlink with
10685         xreadlink-with-size.
10686         * lib/canonicalize.c (canonicalize_filename_mode): Update.
10687
10688 2007-02-25  Jim Meyering  <jim@meyering.net>
10689
10690         * build-aux/announce-gen: When complaining about excess arguments,
10691         list them.
10692
10693 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
10694
10695         * README: Document signed integer overflow situation more
10696         accurately.
10697
10698 2007-02-25  Bruno Haible  <bruno@clisp.org>
10699
10700         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
10701         'a' or 'A' conversion.
10702
10703 2007-02-25  Bruno Haible  <bruno@clisp.org>
10704
10705         * modules/filename: Renamed from modules/pathname.
10706         (Files): Replace lib/pathname.h with lib/filename.h. Replace
10707         lib/concatpath.c with lib/concat-filename.c.
10708         (Makefile.am): Update.
10709         (Include): Replace pathname.h with filename.h.
10710         * lib/filename.h: Renamed from lib/pathname.h.
10711         (concatenated_filename): Renamed from concatenated_pathname.
10712         * lib/concat-filename.c: Renamed from lib/concatpath.c.
10713         (concatenated_filename): Renamed from concatenated_pathname.
10714         * lib/findprog.c: Include filename.h instead of pathname.h.
10715         (find_in_path): Update.
10716         * lib/javacomp.c: Include filename.h instead of pathname.h.
10717         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
10718         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
10719         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
10720         is_oldgcj_14_13_usable, is_javac_usable): Update.
10721         * lib/javaexec.c: Include filename.h instead of pathname.h.
10722         (execute_java_class): Update.
10723         * modules/findprog: Update.
10724         * modules/javacomp: Update.
10725         * modules/javaexec: Update.
10726         * MODULES.html.sh (File system functions): Add 'filename', remove
10727         'pathname'.
10728
10729 2007-02-25  Bruno Haible  <bruno@clisp.org>
10730
10731         * modules/printf-frexpl-tests: New file.
10732         * tests/test-printf-frexpl.c: New file.
10733
10734         * modules/printf-frexpl: New file.
10735         * lib/printf-frexpl.h: New file.
10736         * lib/printf-frexpl.c: New file.
10737         * m4/printf-frexpl.m4: New file.
10738
10739 2007-02-25  Bruno Haible  <bruno@clisp.org>
10740
10741         * modules/printf-frexp-tests: New file.
10742         * tests/test-printf-frexp.c: New file.
10743
10744         * modules/printf-frexp: New file.
10745         * lib/printf-frexp.h: New file.
10746         * lib/printf-frexp.c: New file.
10747         * m4/printf-frexp.m4: New file.
10748
10749 2007-02-25  Bruno Haible  <bruno@clisp.org>
10750
10751         Assume automake >= 1.10 for the tests.
10752         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
10753         * modules/arctwo-tests: Likewise.
10754         * modules/argp-tests: Likewise.
10755         * modules/avltree-list-tests: Likewise.
10756         * modules/avltree-oset-tests: Likewise.
10757         * modules/avltreehash-list-tests: Likewise.
10758         * modules/carray-list-tests: Likewise.
10759         * modules/crc-tests: Likewise.
10760         * modules/des-tests: Likewise.
10761         * modules/gc-arcfour-tests: Likewise.
10762         * modules/gc-arctwo-tests: Likewise.
10763         * modules/gc-des-tests: Likewise.
10764         * modules/gc-hmac-md5-tests: Likewise.
10765         * modules/gc-hmac-sha1-tests: Likewise.
10766         * modules/gc-md2-tests: Likewise.
10767         * modules/gc-md4-tests: Likewise.
10768         * modules/gc-md5-tests: Likewise.
10769         * modules/gc-pbkdf2-sha1-tests: Likewise.
10770         * modules/gc-rijndael-tests: Likewise.
10771         * modules/gc-sha1-tests: Likewise.
10772         * modules/gc-tests: Likewise.
10773         * modules/getaddrinfo-tests: Likewise.
10774         * modules/hmac-md5-tests: Likewise.
10775         * modules/hmac-sha1-tests: Likewise.
10776         * modules/linked-list-tests: Likewise.
10777         * modules/linkedhash-list-tests: Likewise.
10778         * modules/lock-tests: Likewise.
10779         * modules/md2-tests: Likewise.
10780         * modules/md4-tests: Likewise.
10781         * modules/md5-tests: Likewise.
10782         * modules/rbtree-list-tests: Likewise.
10783         * modules/rbtree-oset-tests: Likewise.
10784         * modules/rbtreehash-list-tests: Likewise.
10785         * modules/read-file-tests: Likewise.
10786         * modules/rijndael-tests: Likewise.
10787         * modules/stdint-tests: Likewise.
10788         * modules/tls-tests: Likewise.
10789
10790 2007-02-24  Bruno Haible  <bruno@clisp.org>
10791
10792         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
10793         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
10794         function; instead check whether isnan with a double argument links.
10795         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
10796         function; instead check whether isnan with a 'long double' argument
10797         links.
10798         Reported by Eric Blake <ebb9@byu.net>.
10799
10800 2007-02-24  Bruno Haible  <bruno@clisp.org>
10801
10802         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
10803         defined.
10804         * lib/isnanl.c: Remove all code. Just include isnan.c.
10805         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
10806
10807 2007-02-25  Jim Meyering  <jim@meyering.net>
10808
10809         Avoid conflicting types for 'unsetenv' on FreeBSD.
10810         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
10811         conflicting with FreeBSD's (5.0 and 6.1) function declaration
10812         in stdlib.h.
10813
10814 2007-02-24  Bruno Haible  <bruno@clisp.org>
10815
10816         * modules/isnanl-nolibm-tests: New file.
10817         * tests/test-isnanl.c: New file.
10818
10819         * modules/isnanl-nolibm: New file.
10820         * lib/isnanl.h: New file.
10821         * lib/isnanl.c: New file.
10822         * m4/isnanl.m4: New file.
10823
10824 2007-02-24  Bruno Haible  <bruno@clisp.org>
10825
10826         * modules/isnan-nolibm-tests: New file.
10827         * tests/test-isnan.c: New file.
10828
10829         * modules/isnan-nolibm: New file.
10830         * lib/isnan.h: New file.
10831         * lib/isnan.c: New file.
10832         * m4/isnan.m4: New file.
10833
10834 2007-02-24  Bruno Haible  <bruno@clisp.org>
10835
10836         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
10837         assume that an exponent fits in 20 bits.
10838
10839 2007-02-24  Jim Meyering  <jim@meyering.net>
10840
10841         * m4/regex.m4: Update the description of the configure-time option,
10842         --without-included-regex, to state accurately what the defaults are,
10843         and perhaps to give people an idea why using this option is risky.
10844
10845 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
10846
10847         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
10848         loops on small arguments.  This attempts to avoid the problem
10849         Bruno Haible reported for AIX 4.3.2 in
10850         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
10851
10852 2007-02-23  Bruno Haible  <bruno@clisp.org>
10853
10854         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
10855         Needed for help2man.
10856
10857 2007-02-23  Karl Berry  <karl@gnu.org>
10858
10859         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
10860         exists, foo.h should be cvs-ignored, not committed.
10861
10862 2007-02-23  Eric Blake  <ebb9@byu.net>
10863
10864         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
10865         * lib/stat-time.h (includes): Likewise.
10866         * lib/utimecmp.c (includes): Likewise.
10867         * lib/utimens.h (includes): Likewise.
10868         * lib/getdate.y (includes): Also include "timespec.h" for use
10869         internal to the module.
10870         * modules/utimens (Depends-on): Revert yesterday's patch.
10871         * modules/nanosleep (Depends-on): Add missing dependency.
10872
10873 2007-02-22  Bruno Haible  <bruno@clisp.org>
10874
10875         * lib/glob.c: Don't include getlogin_r.h.
10876
10877 2007-02-22  Jim Meyering  <jim@meyering.net>
10878
10879         * modules/utimens (Depends-on): Add timespec, required for
10880         utimens.h's inclusion of timespec.h.
10881
10882 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
10883
10884         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
10885         long unreadable paths in GNU/Linux.  Problem reported by Andreas
10886         Schwab in
10887         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
10888         I'll try to think of a better way to fix the Solaris problem.
10889
10890         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
10891         like glibc; on Solaris 10, it fails with errno == EINVAL.
10892         POSIX says the behavior is unspecified if the first argument is NULL,
10893         so play it safe and never pass NULL to the system getcwd.
10894
10895 2007-02-21  Jim Meyering  <jim@meyering.net>
10896
10897         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
10898         of gettimeofday.  It would conflict with the one now always
10899         provided via sys_time_.h.  Reported by Matthew Woehlke, as
10900         an IRIX 6.5 build failure.
10901
10902 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
10903
10904         Minor fixups to port to Solaris 10 with Sun C 5.8.
10905         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
10906         * modules/getcwd (Depends-on): Add dirfd.
10907         * lib/putenv.c (putenv): #undef it.
10908         (rpl_putenv): New decl.
10909         (malloc, free): Include <stdlib.h> rather than prototyping separately.
10910
10911 2007-02-20  Bruno Haible  <bruno@clisp.org>
10912
10913         * modules/stdio-tests: New file.
10914         * tests/test-stdio.c: New file.
10915
10916         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
10917         (Depends-on): Add stdio.
10918         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
10919         (Include): Use <stdio.h> instead of vsnprintf.h.
10920         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
10921         HAVE_DECL_VSNPRINTF.
10922         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
10923
10924         * modules/snprintf (Files): Remove lib/snprintf.h.
10925         (Depends-on): Add stdio.
10926         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
10927         (Include): Use <stdio.h> instead of snprintf.h.
10928         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
10929         HAVE_DECL_SNPRINTF.
10930         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
10931         * lib/getaddrinfo.c: Likewise.
10932
10933         * modules/stdio: New file.
10934         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
10935         * lib/snprintf.h: Remove file.
10936         * lib/vsnprintf.h: Remove file.
10937         * lib/.cppi-disable: Remove snprintf.h.
10938         * m4/stdio_h.m4: New file.
10939         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
10940
10941 2007-02-20  Jim Meyering  <jim@meyering.net>
10942
10943         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
10944         used by e.g., mingw.  From Bruno Haible.
10945
10946 2007-02-19  Bruno Haible  <bruno@clisp.org>
10947
10948         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
10949         warnings.
10950         Reported by Ben Pfaff <blp@cs.stanford.edu>.
10951
10952 2007-02-19  Bruno Haible  <bruno@clisp.org>
10953
10954         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
10955         from mingw users.
10956
10957 2007-02-19  Bruno Haible  <bruno@clisp.org>
10958
10959         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
10960         warnings.
10961         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
10962
10963 2007-02-19  Jim Meyering  <jim@meyering.net>
10964
10965         Don't use FD after a successful "fdopendir (fd)".
10966         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
10967         Reset it by calling dirfd on the just-obtained DIR*.
10968
10969         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
10970         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
10971
10972 2007-02-18  Bruno Haible  <bruno@clisp.org>
10973
10974         * lib/readlink.c: Include <unistd.h>.
10975         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
10976         HAVE_READLINK.
10977         * modules/readlink (Depends-on): Add unistd.
10978         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10979         (Include): Add <unistd.h>.
10980
10981         * lib/getlogin_r.h: Remove file.
10982         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
10983         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
10984         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
10985         HAVE_DECL_GETLOGIN_R.
10986         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
10987         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10988         (Include): Use <unistd.h> instead of getlogin_r.h.
10989
10990         * lib/getcwd.h: Remove file.
10991         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
10992         * lib/xgetcwd.c: Likewise.
10993         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
10994         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
10995         * modules/getcwd (Files): Remove lib/getcwd.h.
10996         (Depends-on): Add unistd.
10997         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10998         (Include): Use <unistd.h> instad of getcwd.h.
10999
11000         * lib/ftruncate.c: Include <unistd.h> first.
11001         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
11002         Set HAVE_FTRUNCATE.
11003         * modules/ftruncate (Depends-on): Add unistd.
11004         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
11005
11006         * lib/fchdir.c: Include <unistd.h> first.
11007         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
11008         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
11009         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
11010         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
11011         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
11012
11013         * lib/dup2.c: Include <unistd.h> first.
11014         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
11015         HAVE_DUP2.
11016         * modules/dup2 (Depends-on): Add unistd.
11017         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
11018
11019         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
11020         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
11021         REPLACE_CHOWN. Don't define chown as a macro here.
11022         * modules/chown (Depends-on): Add unistd.
11023         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
11024
11025         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
11026         Add definition for GL_LINK_WARNING.
11027         (chown, dup2): New declarations.
11028         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
11029         link warning.
11030         (ftruncate): New declaration.
11031         (getcwd): New declaration, taken from old getcwd.h.
11032         (getlogin_r): New declaration, taken from old getlogin_r.h.
11033         (readlink): New declaration.
11034         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
11035         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
11036         (gl_PREREQ_UNISTD): Remove macro.
11037         (gl_UNISTD_MODULE_INDICATOR): New macro.
11038         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
11039         many new variables. Don't set UNISTD_H.
11040         * modules/unistd (Description): Change.
11041         (Depends-on): Add link-warning.
11042         (configure.ac): Update.
11043         (Makefile.am): Create unistd.h always. Substitute many new variables
11044         into it.
11045
11046 2007-02-18  Bruno Haible  <bruno@clisp.org>
11047
11048         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
11049         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
11050         HAVE_GETSUBOPT.
11051         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
11052         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
11053         * lib/getsubopt.h: Remove file.
11054         * modules/getsubopt (Files): Remove lib/getsubopt.h.
11055         (Depends-on): Add stdlib.
11056         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
11057         (Includes): Use <stdlib.h> instead of getsubopt.h.
11058         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
11059         Set HAVE_GETSUBOPT.
11060         * lib/getsubopt.c: Don't include getsubopt.h.
11061
11062 2007-02-18  Bruno Haible  <bruno@clisp.org>
11063
11064         * modules/fchdir (Depends-on): Add dup2.
11065
11066 2007-02-18  Bruno Haible  <bruno@clisp.org>
11067
11068         * lib/stdlib_.h: Handle glibc's special invocation convention
11069         specially.
11070
11071 2007-02-18  Bruno Haible  <bruno@clisp.org>
11072
11073         * modules/stdlib-tests: New file.
11074         * tests/test-stdlib.c: New file.
11075
11076         * modules/mkstemp (Files): Remove lib/mkstemp.h.
11077         (Depends-on): Add stdlib.
11078         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
11079         (Includes): Use <stdlib.h> instead of mkstemp.h.
11080         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
11081         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
11082         * lib/mkstemp.c: Don't include mkstemp.h.
11083         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
11084         * lib/stdlib--.h: Don't include mkstemp.h.
11085
11086         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
11087         (Depends-on): Add stdlib.
11088         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
11089         (Includes): Use <stdlib.h> instead of mkdtemp.h.
11090         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
11091         HAVE_MKDTEMP.
11092         * lib/mkdtemp.c: Don't include mkdtemp.h.
11093         * lib/clean-temp.c: Don't include mkdtemp.h.
11094
11095         * modules/exit (Files): Remove lib/exit.h.
11096         (Depends-on): Add stdlib.
11097         (Makefile.am): Remove lib_SOURCES.
11098         (Include): Use <stdlib.h> instead of exit.h.
11099         * lib/argmatch.c: Don't include exit.h.
11100         * lib/execute.c: Likewise.
11101         * lib/pagealign_alloc.c: Likewise.
11102         * lib/pipe.c: Likewise.
11103         * lib/wait-process.c: Likewise.
11104         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
11105         * lib/exitfail.c: Likewise.
11106         * lib/savewd.c: Likewise.
11107         * lib/xsetenv.c: Likewise.
11108
11109         * modules/stdlib: New file.
11110         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
11111         and extra comments about mkstemp().
11112         * lib/exit.h: Remove file.
11113         * lib/mkdtemp.h: Remove file.
11114         * lib/mkstemp.h: Remove file.
11115         * m4/stdlib_h.m4: New file.
11116         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
11117
11118 2007-02-18  Bruno Haible  <bruno@clisp.org>
11119
11120         * modules/math-tests: New file.
11121         * tests/test-math.c: New file.
11122
11123         * modules/math: New file.
11124         * modules/mathl (Files): Remove lib/mathl.h.
11125         (Depends-on): Add math.
11126         (Makefile.am): Don't mention mathl.h.
11127         (Include): Use <math.h> instead of mathl.h.
11128         * lib/math_.h: New file.
11129         * lib/mathl.h: Remove file.
11130         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
11131         mathl.h.
11132         * lib/asinl.c: Likewise.
11133         * lib/atanl.c: Likewise.
11134         * lib/ceill.c: Likewise.
11135         * lib/cosl.c: Likewise.
11136         * lib/expl.c: Likewise.
11137         * lib/floorl.c: Likewise.
11138         * lib/frexpl.c: Likewise.
11139         * lib/ldexpl.c: Likewise.
11140         * lib/logl.c: Likewise.
11141         * lib/sincosl.c: Likewise.
11142         * lib/sinl.c: Likewise.
11143         * lib/sqrtl.c: Likewise.
11144         * lib/tanl.c: Likewise.
11145         * lib/trigl.c: Likewise.
11146         * m4/math_h.m4: New file.
11147         * MODULES.html.sh (Mathematics): Add math.
11148
11149 2007-02-17  Bruno Haible  <bruno@clisp.org>
11150
11151         * modules/wctype-tests: New file.
11152         * tests/test-wctype.c: New file.
11153
11154         * modules/wchar-tests: New file.
11155         * tests/test-wchar.c: New file.
11156
11157         * modules/unistd-tests: New file.
11158         * tests/test-unistd.c: New file.
11159
11160         * modules/time-tests: New file.
11161         * tests/test-time.c: New file.
11162
11163         * modules/sysexits-tests: New file.
11164         * tests/test-sysexits.c: New file.
11165
11166         * modules/sys_time-tests: New file.
11167         * tests/test-sys_time.c: New file.
11168
11169         * modules/sys_stat-tests: New file.
11170         * tests/test-sys_stat.c: New file.
11171
11172         * modules/sys_socket-tests: New file.
11173         * tests/test-sys_socket.c: New file.
11174
11175         * modules/sys_select-tests: New file.
11176         * tests/test-sys_select.c: New file.
11177
11178         * modules/string-tests: New file.
11179         * tests/test-string.c: New file.
11180
11181         * modules/stdbool-tests: New file.
11182         * tests/test-stdbool.c: New file.
11183
11184         * modules/netinet_in-tests: New file.
11185         * tests/test-netinet_in.c: New file.
11186
11187         * modules/inttypes-tests: New file.
11188         * tests/test-inttypes.c: New file.
11189
11190         * modules/fcntl-tests: New file.
11191         * tests/test-fcntl.c: New file.
11192
11193         * modules/byteswap-tests: New file.
11194         * tests/test-byteswap.c: New file.
11195
11196         * modules/arpa_inet-tests: New file.
11197         * tests/test-arpa_inet.c: New file.
11198
11199 2007-02-17  Bruno Haible  <bruno@clisp.org>
11200
11201         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
11202         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
11203         if the corresponding module is not enabled. Emit link warnings if
11204         the function is used nevertheless.
11205         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
11206         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
11207         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
11208         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
11209         * modules/inttypes (Depends-on): Add link-warning.
11210         (Makefile.am): Copy the contents of build-aux/link-warning.h into
11211         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
11212         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
11213         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
11214         * modules/imaxdiv (configure.ac): Likewise.
11215         * modules/strtoimax (configure.ac): Likewise.
11216         * modules/strtoumax (configure.ac): Likewise.
11217
11218 2007-02-17  Bruno Haible  <bruno@clisp.org>
11219
11220         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
11221         gl_STRING_MODULE_INDICATOR_DEFAULTS.
11222         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
11223         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
11224
11225 2007-02-17  Bruno Haible  <bruno@clisp.org>
11226
11227         * modules/link-warning: New file.
11228         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
11229         * lib/string_.h (GL_LINK_WARNING): Remove definition.
11230         * modules/string (Depends-on): Add link-warning.
11231         (Makefile.am): Copy the contents of build-aux/link-warning.h into
11232         string.h.
11233         * MODULES.html.sh (Support for building libraries and executables): Add
11234         link-warning.
11235
11236 2007-02-17  Bruno Haible  <bruno@clisp.org>
11237
11238         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
11239         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
11240         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
11241         long lines.
11242
11243 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
11244             Bruno Haible  <bruno@clisp.org>
11245
11246         * modules/tmpfile: New file.
11247         * lib/tmpfile.c: New file.
11248         * m4/tmpfile.m4: New file.
11249         * MODULES.html.sh (func_all_modules): New section "Input/output".
11250
11251 2007-02-15  Bruno Haible  <bruno@clisp.org>
11252
11253         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
11254         (supports_delete_on_close): New function.
11255         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
11256
11257 2007-02-14  Bruno Haible  <bruno@clisp.org>
11258
11259         * modules/mbspcasecmp-tests: New file.
11260         * tests/test-mbspcasecmp.sh: New file.
11261         * tests/test-mbspcasecmp.c: New file.
11262
11263         New module mbspcasecmp.
11264         * modules/mbspcasecmp: New file.
11265         * lib/mbspcasecmp.c: New file.
11266         * lib/string_.h (strncasecmp): Change warning message.
11267         (mbspcasecmp): New declaration.
11268         * m4/mbspcasecmp.m4: New file.
11269         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
11270         GNULIB_MBSPCASECMP.
11271         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
11272         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
11273
11274 2007-02-14  Bruno Haible  <bruno@clisp.org>
11275
11276         * modules/mbsncasecmp-tests: New file.
11277         * tests/test-mbsncasecmp.sh: New file.
11278         * tests/test-mbsncasecmp.c: New file.
11279
11280         New module mbsncasecmp.
11281         * modules/mbsncasecmp: New file.
11282         * lib/mbsncasecmp.c: New file.
11283         * lib/string_.h (mbsncasecmp): New declaration.
11284         * m4/mbsncasecmp.m4: New file.
11285         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
11286         GNULIB_MBSNCASECMP.
11287         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
11288         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
11289
11290 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
11291
11292         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
11293         Verify that it doesn't overlap with our flags.
11294         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
11295         do not have the desired effect in multibyte locales; instead, use
11296         mbscasecmp.
11297         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
11298         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
11299         we don't require GNU fnmatch ourselves (if our users require it, they
11300         should do so explicitly).
11301
11302         Fix regex code so it doesn't rely on strcasecmp.
11303         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
11304         Otherwise, include gnulib's langinfo.h.
11305         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
11306         undesirable behavior in non-C locales.  Instead, rely on localecharset.
11307         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
11308         * modules/regex (FILES): Remove m4/codeset.m4.
11309         (Depends-on): Add localcharset.  Remove strcase.
11310
11311 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11312
11313         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
11314         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
11315
11316 2007-02-13  Bruno Haible  <bruno@clisp.org>
11317
11318         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
11319         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11320
11321 2007-02-12  Bruno Haible  <bruno@clisp.org>
11322
11323         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
11324         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
11325         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
11326         time warning rather than a link error.
11327
11328 2007-02-12  Bruno Haible  <bruno@clisp.org>
11329
11330         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
11331         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
11332         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11333
11334 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
11335
11336         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
11337         args, not 2.
11338
11339 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
11340
11341         New module 'time', so that apps can include <time.h> as per
11342         POSIX and GNU instead of separate include files like time_r.h
11343         and timegm.h.  This implementation tries out a simpler approach
11344         for replacing decls in standard include files (as compared to
11345         the string module), somewhat as an experiment.
11346
11347         * config/srclist.txt: Comment out mktime.c for now.
11348         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
11349         since it doesn't apply any more.  Use generic wording instead.
11350         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
11351         'time'.
11352         * lib/time_.h, m4/time_h.m4, modules/time: New files.
11353         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
11354         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
11355         Don't include <sys/types.h>; no longer needed since we assume C89.
11356         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
11357         * lib/strftime.c: Likewise.
11358         * lib/time_r.c: Likewise.
11359         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
11360         * lib/nanosleep.c: Include <time.h> first, to check interface.
11361         * lib/strptime.c: Likewise.
11362         * lib/time_r.c: Likewise.
11363         * lib/timegm.c: Likewise.
11364         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
11365         needed.
11366         * lib/timegm.c: Don't include timegm.h; no longer needed.
11367         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
11368         time.h now handles any problems in that area.
11369         (struct timespec, nanosleep): Remove; time.h now arranges for these.
11370         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
11371         that time.h defines struct timespec.
11372         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
11373         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
11374         handles that.
11375         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
11376         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
11377         needed.  Set REPLACE_LOCALTIME.
11378         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
11379         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
11380         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
11381         nanosleep; time_h.m4 now does that.  Don't require
11382         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
11383         module handles this now.
11384         * modules/getdate (Depends-on): Remove timespec.  Add time.
11385         * modules/nanosleep (Depends-on): Likewise.
11386         * modules/stat-time (Depends-on): Likewise.
11387         * modules/nanosleep (Include): Include time.h, not timespec.h.
11388         * modules/strptime (Files): Remove lib/strptime.h.
11389         (Depends-on): Add extensions, time.
11390         (Include): Include time.h, not strptime.h.
11391         * modules/time_r (Files): Remove lib/time_r.h.
11392         (Depends-on): Add time.
11393         (Include): Include time.h, not time_r.h.
11394         * modules/timegm: Likewise.
11395         * modules/timespec (Description): Now does timespec-related decls
11396         of our own, instead of struct timespec itself.
11397         (Depends-on): Add time; remove extensions.
11398         (Maintainer): Add self.
11399         * modules/utimecmp (Depends-on): Add time; remove timespec.
11400         * modules/utimens (Depends-on): Likewise.
11401         * modules/xnanosleep (Depends-on): Likewise.
11402
11403 2007-02-11  Bruno Haible  <bruno@clisp.org>
11404
11405         * lib/c-strstr.c: Include allocsa.h.
11406         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
11407         * lib/c-strcasestr.c: Include allocsa.h.
11408         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
11409         * lib/strcasestr.c: Include allocsa.h.
11410         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
11411         * lib/mbsstr.c: Include allocsa.h.
11412         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
11413         allocsa/freesa instead of malloc/free.
11414         * lib/mbscasestr.c: Include allocsa.h.
11415         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
11416         allocsa/freesa instead of malloc/free.
11417         * modules/c-strstr (Depends-on): Add allocsa.
11418         * modules/c-strcasestr (Depends-on): Likewise.
11419         * modules/strcasestr (Depends-on): Likewise.
11420         * modules/mbsstr (Depends-on): Likewise.
11421         * modules/mbscasestr (Depends-on): Likewise.
11422
11423 2007-02-11  Bruno Haible  <bruno@clisp.org>
11424
11425         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
11426
11427         * modules/mbsspn-tests: New file.
11428         * tests/test-mbsspn.sh: New file.
11429         * tests/test-mbsspn.c: New file.
11430
11431 2007-02-11  Bruno Haible  <bruno@clisp.org>
11432
11433         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
11434
11435         * modules/mbspbrk-tests: New file.
11436         * tests/test-mbspbrk.sh: New file.
11437         * tests/test-mbspbrk.c: New file.
11438
11439 2007-02-11  Bruno Haible  <bruno@clisp.org>
11440
11441         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
11442         unneeded cast.
11443
11444         * modules/mbscspn-tests: New file.
11445         * tests/test-mbscspn.sh: New file.
11446         * tests/test-mbscspn.c: New file.
11447
11448 2007-02-11  Bruno Haible  <bruno@clisp.org>
11449
11450         * modules/mbscasecmp-tests: New file.
11451         * tests/test-mbscasecmp.sh: New file.
11452         * tests/test-mbscasecmp.c: New file.
11453
11454 2007-02-11  Bruno Haible  <bruno@clisp.org>
11455
11456         Ensure O(n) worst-case complexity of mbscasestr.
11457         * lib/mbscasestr.c: Include stdbool.h.
11458         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
11459         functions.
11460         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
11461         the bookkeeping indicates that it's worth it.
11462         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
11463
11464         * modules/mbscasestr-tests: New file.
11465         * tests/test-mbscasestr1.c: New file.
11466         * tests/test-mbscasestr2.sh: New file.
11467         * tests/test-mbscasestr2.c: New file.
11468         * tests/test-mbscasestr3.sh: New file.
11469         * tests/test-mbscasestr3.c: New file.
11470         * tests/test-mbscasestr4.sh: New file.
11471         * tests/test-mbscasestr4.c: New file.
11472         * m4/locale-tr.m4: New file.
11473
11474 2007-02-11  Bruno Haible  <bruno@clisp.org>
11475
11476         Ensure O(n) worst-case complexity of mbsstr.
11477         * lib/mbsstr.c: Include stdbool.h.
11478         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
11479         functions.
11480         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
11481         bookkeeping indicates that it's worth it.
11482         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
11483
11484         * modules/mbsstr-tests: New file.
11485         * tests/test-mbsstr1.c: New file.
11486         * tests/test-mbsstr2.sh: New file.
11487         * tests/test-mbsstr2.c: New file.
11488         * tests/test-mbsstr3.sh: New file.
11489         * tests/test-mbsstr3.c: New file.
11490         * m4/locale-fr.m4: New file.
11491
11492 2007-02-11  Bruno Haible  <bruno@clisp.org>
11493
11494         * lib/mbsrchr.c (mbsrchr): Fix bug.
11495
11496         * modules/mbsrchr-tests: New file.
11497         * tests/test-mbsrchr.sh: New file.
11498         * tests/test-mbsrchr.c: New file.
11499
11500 2007-02-11  Bruno Haible  <bruno@clisp.org>
11501
11502         * lib/mbschr.c (mbschr): Fix bug.
11503
11504         * modules/mbschr-tests: New file.
11505         * tests/test-mbschr.sh: New file.
11506         * tests/test-mbschr.c: New file.
11507         * m4/locale-zh.m4: New file.
11508
11509 2007-02-11  Bruno Haible  <bruno@clisp.org>
11510
11511         Support for copying multibyte string iterators.
11512         * lib/mbiter.h: Include <string.h>.
11513         (mbiter_multi_copy): New function.
11514         (mbi_copy): New macro.
11515         * lib/mbuiter.h: Include <string.h>.
11516         (mbuiter_multi_copy): New function.
11517         (mbui_copy): New macro.
11518
11519 2007-02-11  Bruno Haible  <bruno@clisp.org>
11520
11521         New module mbslen.
11522         * modules/mbslen: New file.
11523         * lib/mbslen.c: New file.
11524         * lib/string_.h (mbslen): New declaration.
11525         * m4/mbslen.m4: New file.
11526         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
11527         GNULIB_MBSLEN.
11528         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
11529         * MODULES.html.sh (Internationalization functions): Add mbslen.
11530
11531 2007-02-11  Bruno Haible  <bruno@clisp.org>
11532
11533         Ensure O(n) worst-case complexity of strcasestr substitute.
11534         * lib/strcasestr.c: Include stdbool.h.
11535         (knuth_morris_pratt): New function.
11536         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
11537         bookkeeping indicates that it's worth it.
11538         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
11539
11540         * modules/strcasestr-tests: New file.
11541         * tests/test-strcasestr.c: New file.
11542
11543 2007-02-11  Bruno Haible  <bruno@clisp.org>
11544
11545         Ensure O(n) worst-case complexity of c_strcasestr.
11546         * lib/c-strcasestr.c: Include stdbool.h, string.h.
11547         (knuth_morris_pratt): New function.
11548         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
11549         the bookkeeping indicates that it's worth it.
11550         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
11551
11552         * modules/c-strcasestr-tests: New file.
11553         * tests/test-c-strcasestr.c: New file.
11554
11555 2007-02-11  Bruno Haible  <bruno@clisp.org>
11556
11557         Ensure O(n) worst-case complexity of c_strstr.
11558         * lib/c-strstr.c: Include stdbool.h, string.h.
11559         (knuth_morris_pratt): New function.
11560         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
11561         bookkeeping indicates that it's worth it.
11562         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
11563
11564         * lib/c-strstr.c: Complete rewrite for maintainability.
11565
11566         * modules/c-strstr-tests: New file.
11567         * tests/test-c-strstr.c: New file.
11568
11569 2007-02-11  Bruno Haible  <bruno@clisp.org>
11570
11571         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
11572         5.2.1 and earlier, whereby \055 was treated just like the range
11573         delimiter '-'.
11574         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
11575
11576 2007-02-08  Bruno Haible  <bruno@clisp.org>
11577
11578         * modules/regex (Depends-on): Add stdbool.
11579         Reported by Dalibor Topic <robilad@kaffe.org>.
11580
11581 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
11582
11583         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
11584         Prefer returning from main to exiting from it.
11585         Remove unnecessary parens after sizeof.
11586
11587 2007-02-05  Bruno Haible  <bruno@clisp.org>
11588
11589         New module mbssep.
11590         * modules/mbssep: New file.
11591         * lib/mbssep.c: New file.
11592         * lib/string_.h (strsep): Add a conditional link warning.
11593         (mbssep): New declaration.
11594         * m4/mbssep.m4: New file.
11595         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
11596         GNULIB_MBSSEP.
11597         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
11598         * MODULES.html.sh (Internationalization functions): Add mbssep.
11599
11600 2007-02-05  Bruno Haible  <bruno@clisp.org>
11601
11602         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
11603         Optimize search in case of 1 delimiter.
11604
11605 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
11606
11607         * lib/acl.h: Include sys/types.h before sys/acl.h.
11608
11609 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
11610
11611         Merge upstream fix for glibc bugzilla #3957:
11612
11613         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
11614
11615         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
11616         bit for RE_HAT_LISTS_NOT_NEWLINE.
11617         (build_charclass_op): Remove bogus comment.
11618
11619 2007-02-05  Simon Josefsson  <simon@josefsson.org>
11620
11621         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
11622
11623 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
11624
11625         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
11626         * lib/memmem.c [!defined _LIBC]: Include config.h.
11627
11628 2007-02-04  Bruno Haible  <bruno@clisp.org>
11629
11630         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
11631         warning message.
11632
11633 2007-02-04  Bruno Haible  <bruno@clisp.org>
11634
11635         New module mbstok_r.
11636         * modules/mbstok_r: New file.
11637         * lib/mbstok_r.c: New file.
11638         * lib/string_.h (strtok_r): Change argument names to match the
11639         comments. Add a conditional link warning.
11640         (mbstok_r): New declaration.
11641         * m4/mbstok_r.m4: New file.
11642         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
11643         GNULIB_MBSTOK_R.
11644         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
11645         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
11646
11647 2007-02-04  Bruno Haible  <bruno@clisp.org>
11648
11649         New module mbsspn.
11650         * modules/mbsspn: New file.
11651         * lib/mbsspn.c: New file.
11652         * lib/string_.h (strspn): Add a conditional link warning.
11653         (mbsspn): New declaration.
11654         * m4/mbsspn.m4: New file.
11655         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
11656         GNULIB_MBSSPN.
11657         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
11658         * MODULES.html.sh (Internationalization functions): Add mbsspn.
11659
11660 2007-02-04  Bruno Haible  <bruno@clisp.org>
11661
11662         New module mbspbrk.
11663         * modules/mbspbrk: New file.
11664         * lib/mbspbrk.c: New file.
11665         * lib/string_.h (strpbrk): Add a conditional link warning.
11666         (mbspbrk): New declaration.
11667         * m4/mbspbrk.m4: New file.
11668         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
11669         GNULIB_MBSPBRK.
11670         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
11671         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
11672
11673 2007-02-04  Bruno Haible  <bruno@clisp.org>
11674
11675         New module mbscspn.
11676         * modules/mbscspn: New file.
11677         * lib/mbscspn.c: New file.
11678         * lib/string_.h (strcspn): Add a conditional link warning.
11679         (mbscspn): New declaration.
11680         * m4/mbscspn.m4: New file.
11681         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
11682         GNULIB_MBSCSPN.
11683         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
11684         * MODULES.html.sh (Internationalization functions): Add mbscspn.
11685
11686 2007-02-04  Bruno Haible  <bruno@clisp.org>
11687
11688         New module mbscasestr, reduced goal of strcasestr.
11689         * modules/mbscasestr: New file.
11690         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
11691         (mbscasestr): Renamed from strcasestr.
11692         * lib/strcasestr.c: Don't include mbuiter.h.
11693         (strcasestr): Remove support for multibyte locales.
11694         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
11695         Change the conditional link warning.
11696         (mbscasestr): New declaration.
11697         * m4/mbscasestr.m4: New file.
11698         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
11699         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
11700         REPLACE_STRCASESTR.
11701         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
11702         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
11703         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
11704         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
11705         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
11706         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
11707         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
11708         (Depends-on): Remove mbuiter.
11709         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
11710
11711 2007-02-04  Bruno Haible  <bruno@clisp.org>
11712
11713         Simplify handling of strncasecmp.
11714         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
11715         the conditional link warning.
11716         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
11717         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
11718         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
11719         * modules/strcase (configure.ac): Don't invoke
11720         gl_STRING_MODULE_INDICATOR.
11721         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
11722
11723 2007-02-04  Bruno Haible  <bruno@clisp.org>
11724
11725         New module mbscasecmp, reduced goal of strcasecmp.
11726         * modules/mbscasecmp: New file.
11727         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
11728         (mbscasecmp): Renamed from strcasecmp.
11729         * lib/strcasecmp.c: Don't include mbuiter.h.
11730         (strcasecmp): Remove support for multibyte locales.
11731         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
11732         Change the conditional link warning.
11733         (mbscasecmp): New declaration.
11734         * m4/mbscasecmp.m4: New file.
11735         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
11736         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
11737         REPLACE_STRCASECMP.
11738         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
11739         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
11740         GNULIB_MBSCASECMP.
11741         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
11742         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
11743         * modules/strcase (Files): Remove m4/mbrtowc.m4.
11744         (Depends-on): Remove mbuiter.
11745         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
11746
11747 2007-02-04  Bruno Haible  <bruno@clisp.org>
11748
11749         New module mbsstr. Remove module strstr.
11750         * modules/mbsstr: New file.
11751         * modules/strstr: Remove file.
11752         * lib/mbsstr.c: Renamed from lib/strstr.c.
11753         (mbsstr): Renamed from strstr.
11754         * lib/string_.h (strstr): Remove declaration. Change the conditional
11755         link warning.
11756         (mbsstr): New declaration.
11757         * m4/mbsstr.m4: New file.
11758         * m4/strstr.m4: Remove file.
11759         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
11760         REPLACE_STRSTR.
11761         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
11762         Don't initialize GNULIB_STRSTR.
11763         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
11764         substitute GNULIB_STRSTR and REPLACE_STRSTR.
11765         * MODULES.html.sh (Internationalization functions): Add mbsstr.
11766         (Support for systems lacking ANSI C 89): Remove strstr.
11767
11768 2007-02-04  Bruno Haible  <bruno@clisp.org>
11769
11770         New module mbsrchr.
11771         * modules/mbsrchr: New file.
11772         * lib/mbsrchr.c: New file.
11773         * lib/string_.h (strrchr): Add a conditional link warning.
11774         (mbsrchr): New declaration.
11775         * m4/mbsrchr.m4: New file.
11776         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
11777         GNULIB_MBSRCHR.
11778         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
11779         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
11780
11781 2007-02-04  Bruno Haible  <bruno@clisp.org>
11782
11783         New module mbschr.
11784         * modules/mbschr: New file.
11785         * lib/mbschr.c: New file.
11786         * lib/string_.h (strchr): Add a conditional link warning.
11787         (mbschr): New declaration.
11788         * m4/mbschr.m4: New file.
11789         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
11790         GNULIB_MBSCHR.
11791         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
11792         * MODULES.html.sh (Internationalization functions): Add mbschr.
11793
11794 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
11795
11796         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
11797
11798         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
11799
11800 2007-02-04  Bruno Haible  <bruno@clisp.org>
11801
11802         New module description section 'configure.ac-early'.
11803         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
11804         (func_get_autoconf_early_snippet): New function.
11805         (func_import, func_create_testdir): Use it. Remove special cases for
11806         modules 'extensions' and 'lock'.
11807         * modules/extensions (configure.ac-early): Require
11808         gl_USE_SYSTEM_EXTENSIONS.
11809         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
11810
11811 2007-02-04  Bruno Haible  <bruno@clisp.org>
11812
11813         Make use of gcj-4.3's -fsource and -ftarget option.
11814         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
11815         and if so try the options -fsource and -ftarget.
11816         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
11817         source_version, ftarget_option, target_version arguments.
11818         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
11819         (is_envjavac_oldgcj_14_14_usable): Renamed from
11820         is_envjavac_gcj_14_14_usable.
11821         (is_envjavac_oldgcj_14_13_usable): Renamed from
11822         is_envjavac_gcj_14_13_usable.
11823         (is_gcj_present): Update.
11824         (is_gcj_43, is_gcj43_usable): New functions.
11825         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
11826         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
11827         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
11828         try the options -fsource and -ftarget.
11829
11830 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
11831
11832         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
11833         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
11834         larger value.
11835
11836 2007-02-03  Jim Meyering  <jim@meyering.net>
11837
11838         Give tools a better chance to allocate space for very large buffers.
11839         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
11840
11841         Make pwd and readlink work also when run with an unreadable parent dir
11842         on systems with openat support.
11843         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
11844         provided getcwd function, even when we have openat support.
11845         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
11846
11847 2007-02-02  Bruno Haible  <bruno@clisp.org>
11848
11849         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
11850         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
11851         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
11852         portability problems if one of these functions is only used on specific
11853         platforms.
11854         Reported by Paul Eggert.
11855
11856 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
11857
11858         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
11859         is causing more trouble than it's curing.
11860         * lib/regex_internal.h (__mempcpy): Remove.
11861         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
11862         (and make the code a tad smaller to boot).
11863         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
11864
11865 2007-02-02  Jim Meyering  <jim@meyering.net>
11866
11867         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
11868         section, not in the Makefile.am: one.
11869
11870 2007-02-02  Eric Blake  <ebb9@byu.net>
11871
11872         * lib/strchrnul.c: Always include config.h first.
11873
11874         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
11875         gnulib strstr is not necessary here.
11876
11877 2007-02-02  Simon Josefsson  <simon@josefsson.org>
11878
11879         * m4/socklen.m4: Fix typo.
11880
11881 2007-02-02  Eric Blake  <ebb9@byu.net>
11882
11883         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
11884         * modules/netinet_in (Makefile.am): Likewise.
11885
11886 2007-02-01  Bruno Haible  <bruno@clisp.org>
11887
11888         * lib/string_.h (GL_LINK_WARNING): New macro.
11889         (strcasecmp, strstr, strcasestr): If provided by the system,
11890         conditionally define as a macro that leads to a warning instead of to
11891         an error.
11892         (strncasecmp): Conditionally define as a macro that leads to a warning.
11893
11894 2007-02-01  Karl Berry  <karl@gnu.org>
11895
11896         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
11897
11898 2007-02-01  Bruno Haible  <bruno@clisp.org>
11899
11900         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
11901         renamings.
11902
11903 2007-02-01  Eric Blake  <ebb9@byu.net>
11904
11905         * modules/regex (Depends-on): Revert dependence on mempcpy.
11906         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
11907         module's definition of mempcpy.
11908         Reported by Paul Eggert.
11909
11910 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
11911
11912         * lib/string_.h: If the gnulib module XYZ is not present, undefine
11913         the symbol XYZ before redefining it.  This fixes a problem with
11914         programs that don't use XYZ, when compiled on systems that define
11915         XYZ to something else.
11916
11917 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
11918
11919         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
11920         occurs when "mkdir -m foo" creates a setgid directory that is (1)
11921         writeable to group or other and (2) is intended to have a special
11922         mode bit that is set or cleared.  In such a case, the directory
11923         should be neither group- nor other-writeable until the special
11924         mode bits are right.
11925
11926 2007-01-31  Eric Blake  <ebb9@byu.net>
11927
11928         * modules/mountlist (Depends-on): Add strstr.
11929
11930         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
11931         bug.
11932         * modules/string (Makefile.am): Remove redundant replacement.
11933         * modules/regex (Depends-on): Add mempcpy.
11934
11935 2007-01-31  Bruno Haible  <bruno@clisp.org>
11936
11937         New module description field 'Link'.
11938         * gnulib-tool (func_usage): Document --extract-link-directive.
11939         (sed_extract_prog): Recognize 'Link' directive.
11940         (func_get_link_directive): New function.
11941         (func_import): Show summary of link directives.
11942         Handle --extract-link-directive option.
11943         * modules/acl (Link): New section.
11944         * modules/clock-time (Link): New section.
11945         * modules/euidaccess (Link): New section.
11946         * modules/gettext (Link): New section.
11947         * modules/iconv (Link): New section.
11948         * modules/lock (Link): New section.
11949         * modules/nanosleep (Link): New section.
11950         * modules/readline (Link): New section.
11951
11952 2007-01-27  Bruno Haible  <bruno@clisp.org>
11953
11954         Enforce the use of gnulib modules for unportable <string.h> functions.
11955         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
11956         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
11957         (gl_HEADER_STRING_H_BODY): Require it.
11958         * lib/string_.h: If the gnulib module XYZ is not present, redefine
11959         the symbol XYZ to one that gives a link error.
11960         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
11961         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
11962         * modules/mempcpy (configure.ac): Likewise.
11963         * modules/memrchr (configure.ac): Likewise.
11964         * modules/stpcpy (configure.ac): Likewise.
11965         * modules/stpncpy (configure.ac): Likewise.
11966         * modules/strcase (configure.ac): Likewise.
11967         * modules/strcasestr (configure.ac): Likewise.
11968         * modules/strchrnul (configure.ac): Likewise.
11969         * modules/strdup (configure.ac): Likewise.
11970         * modules/strndup (configure.ac): Likewise.
11971         * modules/strnlen (configure.ac): Likewise.
11972         * modules/strpbrk (configure.ac): Likewise.
11973         * modules/strsep (configure.ac): Likewise.
11974         * modules/strstr (configure.ac): Likewise.
11975         * modules/strtok_r (configure.ac): Likewise.
11976
11977 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
11978
11979         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
11980
11981 2007-01-30  Jim Meyering  <jim@meyering.net>
11982
11983         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
11984
11985 2007-01-29  Bruno Haible  <bruno@clisp.org>
11986
11987         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
11988         * lib/execute.c: Likewise.
11989         * lib/pipe.c: Likewise.
11990         * lib/printf-args.h: Likewise.
11991         * lib/printf-args.c: Likewise.
11992         * lib/printf-parse.c: Likewise.
11993         * lib/vasnprintf.c: Likewise.
11994
11995 2007-01-29  Eric Blake  <ebb9@byu.net>
11996
11997         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
11998         declaration.
11999
12000 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
12001
12002         * lib/strptime.h (strptime): Use 'restrict' for args where
12003         POSIX requires this.
12004         * lib/strptime.c (strptime): Likewise.
12005         Change license notice from LGPL to GPL, since gnulib-tool will
12006         change this as needed.
12007         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
12008         defined.
12009         Include "strptime.h" first, to check interface.
12010         Do not #undef _LIBC and _NL_CURRENT.
12011         Do not include <stdlib.h>; no longer needed.
12012         Include "time_r.h" and declare ptime_locale_status
12013         only if _LIBC is not defined.
12014         (__P): Remove unused macro.
12015         (match_string): Bring back glibc version, but use it only if _LIBC
12016         is defined.
12017         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
12018         Remove unnecessary assertion and abort() call.
12019         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
12020         * m4/strptime.m4: Fix serial number comment.
12021         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
12022         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
12023         (Depends-on): Add time_r.
12024
12025 2007-01-29  Bruno Haible  <bruno@clisp.org>
12026
12027         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
12028         strptime.
12029         * modules/strptime (Depends-on): Add stdbool.
12030         * lib/strptime.h: Include <time.h> always. Add comments.
12031
12032 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
12033
12034         * modules/strptime: New file.
12035         * lib/strptime.h: New file.
12036         * lib/strptime.c: New file.
12037         * m4/strptime.m4: New file.
12038
12039 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
12040
12041         * MODULES.html.sh: New module mpsort.
12042         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
12043
12044         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
12045         a circularity problem with HP-UX ia64 reported by Bob Proulx in
12046         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
12047         All uses changed.
12048         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
12049         All uses changed.
12050         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
12051         to _Restrict_.
12052         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
12053         the parameter matches the prototype.
12054
12055 2007-01-28  Jim Meyering  <jim@meyering.net>
12056
12057         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
12058         sys/time.h here, reverting that part of the previous patch:
12059         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
12060
12061 2007-01-28  Bruno Haible  <bruno@clisp.org>
12062
12063         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
12064         value of $(SYS_TIME_H).
12065         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
12066         remove it conditionally, too. [added by Jim Meyering]
12067         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
12068         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
12069         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
12070         GETTIMEOFDAY_REPLACEMENT to 1.
12071
12072 2007-01-28  Bruno Haible  <bruno@clisp.org>
12073
12074         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
12075         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
12076         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
12077         Set UNISTD_H instead of UNISTD_H2.
12078         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
12079
12080 2007-01-28  Bruno Haible  <bruno@clisp.org>
12081
12082         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
12083         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
12084
12085 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12086
12087         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
12088         (func_create_testdir): Ensure C locale for `grep' and `tr'
12089         character ranges.
12090         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
12091         ACLOCAL_AMFLAGS parsing state machine.
12092
12093 2007-01-27  Bruno Haible  <bruno@clisp.org>
12094
12095         * modules/unistr/base: Update.
12096
12097 2007-01-27  Bruno Haible  <bruno@clisp.org>
12098
12099         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
12100         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
12101         * modules/unistr/u32-mbtouc-unsafe: Renamed from
12102         modules/unistr/u32-mbtouc.
12103         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
12104         * lib/unistr.h: Update.
12105         * lib/linebreak.c: Update.
12106         * modules/unistr/u32-mbtouc: Renamed from
12107         modules/unistr/u32-mbtouc-safe.
12108         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
12109         * lib/unistr.h: Update.
12110         * lib/unistr/u32-to-u8.c: Update.
12111         * lib/unistr/u32-to-u16.c: Update.
12112
12113 2007-01-27  Bruno Haible  <bruno@clisp.org>
12114
12115         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
12116         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
12117         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
12118         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
12119         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
12120         * modules/unistr/u16-mbtouc-unsafe: Renamed from
12121         modules/unistr/u16-mbtouc.
12122         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
12123         * lib/unistr.h: Update.
12124         * lib/linebreak.c: Update.
12125         * modules/linebreak: Update.
12126         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
12127         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
12128         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
12129         * modules/unistr/u16-mbtouc: Renamed from
12130         modules/unistr/u16-mbtouc-safe.
12131         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
12132         * lib/unistr.h: Update.
12133         * lib/unistr/u16-to-u8.c: Update.
12134         * modules/unistr/u16-to-u8: Update.
12135         * lib/unistr/u16-to-u32.c: Update.
12136         * modules/unistr/u16-to-u32: Update.
12137
12138 2007-01-27  Bruno Haible  <bruno@clisp.org>
12139
12140         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
12141         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
12142         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
12143         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
12144         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
12145         * modules/unistr/u8-mbtouc-unsafe: Renamed from
12146         modules/unistr/u8-mbtouc.
12147         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
12148         * lib/unistr.h: Update.
12149         * lib/striconveh.c: Update.
12150         * modules/striconveh: Update.
12151         * lib/linebreak.c: Update.
12152         * modules/linebreak: Update.
12153         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
12154         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
12155         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
12156         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
12157         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
12158         * lib/unistr.h: Update.
12159         * lib/striconveh.c: Update.
12160         * modules/striconveh: Update.
12161         * lib/unistr/u8-to-u16.c: Update.
12162         * modules/unistr/u8-to-u16: Update.
12163         * lib/unistr/u8-to-u32.c: Update.
12164         * modules/unistr/u8-to-u32: Update.
12165
12166 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12167
12168         Sync from Libtool.
12169         * lib/argz.c: Do not include strings.h nor memory.h, include
12170         string.h unconditionally.  Patch by Simon Josefsson.
12171
12172 2007-01-27  Bruno Haible  <bruno@clisp.org>
12173
12174         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
12175         from gl_HEADER_STRING_H_BODY.
12176         (gl_HEADER_STRING_H_BODY): Require it.
12177         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
12178         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
12179         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
12180         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
12181         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
12182         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
12183         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
12184         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
12185         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
12186         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
12187         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
12188         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
12189         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
12190         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
12191         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
12192
12193 2007-01-27  Bruno Haible  <bruno@clisp.org>
12194
12195         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
12196         check_PROGRAMS into noinst_PROGRAMS.
12197         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
12198         check_PROGRAMS in this case.
12199         (func_import): Set for_test to false.
12200         (func_create_testdir): Set for_test to true.
12201
12202 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
12203             Bruno Haible  <bruno@clisp.org>
12204
12205         * modules/strcasestr (Files): Remove lib/strcasestr.h.
12206         (Depends-on): Add string.
12207         (Includes): Use <string.h> instead of strcasestr.h.
12208         * modules/string (Makefile.am): Also substitute the value of
12209         REPLACE_STRCASESTR.
12210         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
12211         assume strcasestr is declared in <string.h> not <strings.h>. Also
12212         set REPLACE_STRCASESTR.
12213         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
12214         REPLACE_STRCASESTR.
12215         * lib/strcasestr.h: Remove file.
12216         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
12217         * lib/string_.h (strcasestr): New declaration.
12218
12219 2007-01-27  Bruno Haible  <bruno@clisp.org>
12220
12221         * lib/string_.h: Use 'extern'.
12222
12223 2007-01-27  Jim Meyering  <jim@meyering.net>
12224
12225         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
12226         of set-but-not-used local, "q".
12227
12228         * lib/mempcpy.c: Include <config.h> before <string.h>.
12229         This fixes a compilation error on HP-UX, due to the system's
12230         "restrict"-using mempcpy prototype.
12231
12232 2007-01-26  Bruno Haible  <bruno@clisp.org>
12233
12234         Small optimization.
12235         * lib/javacomp.c: Include c-strstr.h.
12236          (is_envjavac_gcj): Use c_strstr instead of strstr.
12237         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
12238
12239 2007-01-26  Bruno Haible  <bruno@clisp.org>
12240
12241         * MODULES.html.sh (Unicode string functions): Add the new modules.
12242
12243         * modules/uniconv/u32-strconv-to-locale: New file.
12244         * lib/uniconv/u32-strconv-to-locale.c: New file.
12245
12246         * modules/uniconv/u16-strconv-to-locale: New file.
12247         * lib/uniconv/u16-strconv-to-locale.c: New file.
12248
12249         * modules/uniconv/u8-strconv-to-locale: New file.
12250         * lib/uniconv/u8-strconv-to-locale.c: New file.
12251
12252         * modules/uniconv/u32-strconv-from-locale: New file.
12253         * lib/uniconv/u32-strconv-from-locale.c: New file.
12254
12255         * modules/uniconv/u16-strconv-from-locale: New file.
12256         * lib/uniconv/u16-strconv-from-locale.c: New file.
12257
12258         * modules/uniconv/u8-strconv-from-locale: New file.
12259         * lib/uniconv/u8-strconv-from-locale.c: New file.
12260
12261         * modules/uniconv/u32-strconv-to-enc: New file.
12262         * lib/uniconv/u32-strconv-to-enc.c: New file.
12263         * modules/uniconv/u32-strconv-to-enc-tests: New file.
12264         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
12265
12266         * modules/uniconv/u16-strconv-to-enc: New file.
12267         * lib/uniconv/u16-strconv-to-enc.c: New file.
12268         * lib/uniconv/u-strconv-to-enc.h: New file.
12269         * modules/uniconv/u16-strconv-to-enc-tests: New file.
12270         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
12271
12272         * modules/uniconv/u8-strconv-to-enc: New file.
12273         * lib/uniconv/u8-strconv-to-enc.c: New file.
12274         * modules/uniconv/u8-strconv-to-enc-tests: New file.
12275         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
12276
12277         * modules/uniconv/u32-strconv-from-enc: New file.
12278         * lib/uniconv/u32-strconv-from-enc.c: New file.
12279         * modules/uniconv/u32-strconv-from-enc-tests: New file.
12280         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
12281
12282         * modules/uniconv/u16-strconv-from-enc: New file.
12283         * lib/uniconv/u16-strconv-from-enc.c: New file.
12284         * modules/uniconv/u16-strconv-from-enc-tests: New file.
12285         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
12286
12287         * modules/uniconv/u8-strconv-from-enc: New file.
12288         * lib/uniconv/u8-strconv-from-enc.c: New file.
12289         * lib/uniconv/u-strconv-from-enc.h: New file.
12290         * modules/uniconv/u8-strconv-from-enc-tests: New file.
12291         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
12292
12293         * modules/uniconv/u32-conv-from-enc: New file.
12294         * lib/uniconv/u32-conv-from-enc.c: New file.
12295         * modules/uniconv/u32-conv-from-enc-tests: New file.
12296         * tests/uniconv/test-u32-conv-from-enc.c: New file.
12297
12298         * modules/uniconv/u16-conv-from-enc: New file.
12299         * lib/uniconv/u16-conv-from-enc.c: New file.
12300         * lib/uniconv/u-conv-from-enc.h: New file.
12301         * modules/uniconv/u16-conv-from-enc-tests: New file.
12302         * tests/uniconv/test-u16-conv-from-enc.c: New file.
12303
12304         * modules/uniconv/u8-conv-from-enc: New file.
12305         * lib/uniconv/u8-conv-from-enc.c: New file.
12306         * modules/uniconv/u8-conv-from-enc-tests: New file.
12307         * tests/uniconv/test-u8-conv-from-enc.c: New file.
12308
12309         * modules/uniconv/base: New file.
12310         * lib/uniconv.h: New file.
12311
12312 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
12313
12314         * doc/gnulib-tool.texi (Initial import): Update to match current
12315         behavior with strdup module.
12316         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
12317         * lib/memmem.h: Remove; all uses removed.  This is now done
12318         by <string.h>.
12319         * lib/mempcpy.h: Likewise.
12320         * lib/memrchr.h: Likewise.
12321         * lib/stpcpy.h: Likewise.
12322         * lib/stpncpy.h: Likewise.
12323         * lib/strcase.h: Likewise.
12324         * lib/strchrnul.h: Likewise.
12325         * lib/strdup.h: Likewise.
12326         * lib/strndup.h: Likewise.
12327         * lib/strnlen.h: Likewise.
12328         * lib/strpbrk.h: Likewise.
12329         * lib/strsep.h: Likewise.
12330         * lib/strstr.h: Likewise.
12331         * lib/strtok_r.h: Likewise.
12332         * lib/string_.h: New file.
12333         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
12334         Rely on <string.h> instead.
12335         * lib/canon-host.c: Likewise.
12336         * lib/chdir-long.c: Likewise.
12337         * lib/concatpath.c: Likewise.
12338         * lib/exclude.c: Likewise.
12339         * lib/fchdir.c: Likewise.
12340         * lib/getaddrinfo.c: Likewise.
12341         * lib/getcwd.c: Likewise.
12342         * lib/getsubopt.c: Likewise.
12343         * lib/glob.c: Likewise.
12344         * lib/hard-locale.c: Likewise.
12345         * lib/iconvme.c: Likewise.
12346         * lib/javacomp.c: Likewise.
12347         * lib/mempcpy.c: Likewise.
12348         * lib/memrchr.c: Likewise.
12349         * lib/regex_internal.h: Likewise.
12350         * lib/stpncpy.c: Likewise.
12351         * lib/strcasecmp.c: Likewise.
12352         * lib/strchrnul.c: Likewise.
12353         * lib/strdup.c: Likewise.
12354         * lib/striconv.c: Likewise.
12355         * lib/striconveh.c: Likewise.
12356         * lib/striconveha.c: Likewise.
12357         * lib/strncasecmp.c: Likewise.
12358         * lib/strndup.c: Likewise.
12359         * lib/strnlen.c: Likewise.
12360         * lib/strsep.c: Likewise.
12361         * lib/strstr.c: Likewise.
12362         * lib/strtok_r.c: Likewise.
12363         * lib/userspec.c: Likewise.
12364         * lib/w32spawn.h: Likewise.
12365         * lib/xstrndup.c: Likewise.
12366         * lib/mountlist.c (strstr): Remove decl.
12367         * m4/string_h.m4: New file.
12368         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
12369         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
12370         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
12371         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
12372         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
12373         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
12374         Set REPLACE_STRCASECMP if necessary.
12375         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
12376         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
12377         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
12378         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
12379         HAVE_DECL_STRDUP if necessary.
12380         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
12381         since gl_FUNC_STRNDUP does that now.
12382         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
12383         Check for decl here...
12384         (gl_PREREQ_STRNLEN): ... not here.
12385         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
12386         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
12387         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
12388         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
12389         necessary.
12390         * modules/string: New file.
12391         * modules/memmem (Files): Remove special-purpose include file.
12392         (Depends-on): Add string.
12393         (Include): Include <string.h>, not the removed file.
12394         * modules/mempcpy: Likewise.
12395         * modules/memrchr: Likewise.
12396         * modules/stpcpy: Likewise.
12397         * modules/stpncpy: Likewise.
12398         * modules/strcase: Likewise.
12399         * modules/strchrnul: Likewise.
12400         * modules/strdup: Likewise.
12401         * modules/strndup: Likewise.
12402         * modules/strnlen: Likewise.
12403         * modules/strpbrk: Likewise.
12404         * modules/strsep: Likewise.
12405         * modules/strstr: Likewise.
12406         * modules/strtok_r: Likewise.
12407         * tests/test-dirname.c: Don't include "strdup.h", since
12408         <string.h> now suffices.
12409         * tests/test-memmem.c: Don't include "memmem.h", since
12410         <string.h> now suffices.
12411
12412 2007-01-25  Bruno Haible  <bruno@clisp.org>
12413
12414         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
12415         *resultp is 0.
12416
12417         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
12418         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
12419         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
12420         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
12421
12422         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
12423         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
12424         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
12425         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
12426         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
12427         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
12428
12429 2007-01-24  Bruno Haible  <bruno@clisp.org>
12430
12431         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
12432         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
12433         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
12434         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
12435         gl_FUNC_FTS_CORE.
12436         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
12437         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
12438         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
12439         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
12440         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
12441         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
12442         gl_FUNC_FCHOWNAT.
12443         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
12444         gl_FUNC_STRFTIME.
12445         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
12446         Reported by Ralf Wildenhues.
12447
12448 2007-01-24  Bruno Haible  <bruno@clisp.org>
12449
12450         Drop AC_REQUIRE calls that are redundant with the module dependencies.
12451         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
12452         gl_GETADDRINFO.
12453         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
12454         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
12455         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
12456
12457 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
12458
12459         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
12460         Don't use 'exit'; just return from 'main'.
12461         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
12462
12463         * lib/fnmatch_.h: Readjust white space and comments to match
12464         glibc, to avoid spurious diffs.
12465
12466 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
12467
12468         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
12469         2004-12-01 change by Jakub Jelinek, since this code won't compile
12470         if !LIBC.  Problem reported by Bob Proulx.
12471
12472 2007-01-23  Bruno Haible  <bruno@clisp.org>
12473
12474         * lib/striconveh.c: Include c-strcaseeq.h.
12475         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
12476         * modules/striconveh (Depends-on): Add c-strcaseeq.
12477
12478 2007-01-23  Bruno Haible  <bruno@clisp.org>
12479
12480         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
12481
12482         * modules/c-strcaseeq: New file.
12483         * lib/c-strcaseeq.h: New file.
12484
12485         * modules/streq: New file.
12486         * lib/streq.h: New file.
12487
12488 2007-01-23  Bruno Haible  <bruno@clisp.org>
12489
12490         * modules/striconveha-tests: New file.
12491         * tests/test-striconveha.c: New file.
12492
12493         * lib/striconveha.h: Include <stdbool.h>.
12494         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
12495         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
12496         (mem_iconveha_notranslit): Renamed from mem_iconveha.
12497         (mem_iconveha): New function.
12498         (str_iconveha_notranslit): Renamed from str_iconveha.
12499         (str_iconveha): New function.
12500         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
12501         c-strcase.
12502
12503 2007-01-23  Bruno Haible  <bruno@clisp.org>
12504
12505         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
12506         encodings without forgiving before trying any encoding with handler.
12507         (str_iconveha): Try all encodings without forgiving before trying any
12508         encoding with handler.
12509
12510 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
12511
12512         Import the following changes from libc.
12513
12514         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
12515
12516         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
12517
12518         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
12519
12520         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
12521         normal_bracket label.
12522
12523         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
12524
12525         [BZ #361]
12526         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
12527         to normal_bracket after fetching the next character.
12528
12529 2007-01-22  Bruno Haible  <bruno@clisp.org>
12530
12531         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
12532         argument.
12533         * lib/striconveh.c (iconv_carefully_1): New function.
12534         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
12535         argument.
12536         (str_cd_iconveh): Update.
12537         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
12538         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
12539         * tests/test-striconveh.c (MAGIC): New macro.
12540         (new_offsets): New function.
12541         (main): Test call with and without offsets.
12542
12543 2007-01-22  Bruno Haible  <bruno@clisp.org>
12544
12545         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
12546         * modules/sys_select (Makefile.am): Likewise.
12547         * modules/sys_socket (Makefile.am): Likewise.
12548         * modules/sys_time (Makefile.am): Likewise.
12549
12550 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
12551
12552         * modules/gettimeofday (License): Change from GPL to LGPL, since
12553         gettimeofday is a library function.
12554
12555 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12556
12557         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
12558
12559 2007-01-21  Bruno Haible  <bruno@clisp.org>
12560
12561         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
12562
12563 2007-01-21  Bruno Haible  <bruno@clisp.org>
12564
12565         * modules/striconveha: New file.
12566         * lib/striconveha.h: New file.
12567         * lib/striconveha.c: New file.
12568         * MODULES.html.sh (Internationalization functions): Add striconveha.
12569         * lib/striconv.c (str_iconv): Optimize the case of an empty input
12570         string.
12571         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
12572
12573 2007-01-21  Bruno Haible  <bruno@clisp.org>
12574
12575         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
12576         * lib/striconveh.c (str_iconveh): Likewise.
12577
12578 2007-01-21  Bruno Haible  <bruno@clisp.org>
12579
12580         * lib/striconveh.h (mem_iconveh): New declaration.
12581         * lib/striconveh.c (mem_iconveh): New function.
12582         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
12583
12584 2007-01-21  Bruno Haible  <bruno@clisp.org>
12585
12586         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
12587
12588         * lib/striconveh.h (mem_cd_iconveh): Change specification.
12589         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
12590         original result buffer.
12591         (str_cd_iconveh): Update.
12592         * tests/test-striconveh.c (main): Update.
12593
12594         * lib/striconv.h (mem_cd_iconv): Change specification.
12595         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
12596         result buffer.
12597         (str_cd_iconv): Update.
12598         * tests/test-striconv.c (main): Update.
12599
12600 2007-01-21  Bruno Haible  <bruno@clisp.org>
12601
12602         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
12603
12604 2007-01-20  Jim Meyering  <jim@meyering.net>
12605
12606         * lib/userspec.c (parse_with_separator): If a user or group string
12607         starts with "+", skip the corresponding name-to-ID look-up, since
12608         such a look-up must fail: user and group names may not include "+".
12609
12610 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
12611
12612         * lib/poll.c: Include sys/time.h and time.h unconditionally,
12613         since we now assume the sys_time module.
12614         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
12615         check for sys/time.h; no longer needed.
12616         * modules/poll (Depends-on): Depend on sys_time.
12617
12618 2007-01-18  Bruno Haible  <bruno@clisp.org>
12619
12620         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
12621         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
12622
12623         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
12624         gettimeofday.
12625
12626         * tests/test-gettimeofday.c: Include <time.h>.
12627         (dummy): Remove variable.
12628
12629         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
12630         gl_HEADER_SYS_TIME_H.
12631         (gl_HEADER_SYS_TIME_H): New macro.
12632
12633         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
12634         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
12635         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
12636         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
12637         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
12638         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
12639         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
12640         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
12641         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
12642         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
12643         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
12644
12645         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
12646         last change; it caused a compilation error when cross-compiling to
12647         Cygwin.
12648
12649 2007-01-18  Jim Meyering  <jim@meyering.net>
12650
12651         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
12652         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
12653         than the race-prone "test -d sys || mkdir sys".
12654         (configure.ac): Use AC_PROG_MKDIR_P.
12655         * modules/sys_select: Likewise.
12656         * modules/sys_socket: Likewise.
12657         * modules/sys_time: Likewise.
12658
12659 2007-01-18  Eric Blake  <ebb9@byu.net>
12660
12661         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
12662         replace gettimeofday.
12663         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
12664         name, to avoid infinite recursion.
12665
12666 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
12667
12668         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
12669         module sys_time.
12670         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
12671         assume timespec.h defines struct timeval.
12672         * lib/settime.c: Likewise.
12673         * lib/utimens.c: Likewise.
12674         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
12675         since we now assume the gettimeofday module.
12676         * lib/tempname.c (__gen_tempname): Likewise.
12677         * lib/gettimeofday.h: Remove.
12678         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
12679         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
12680         Include <time.h>, for 'time()'.
12681         (localtime_buffer_addr): Also use this workaround if
12682         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
12683         to simplify the uses.  All uses changed.
12684         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
12685         that #undef is inside {}, and 'const' follows type name consistently.
12686         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
12687         (gettimeofday): Do not use the maximum possible value for
12688         tv->tv_usec, since that might break usages other than ls.c.
12689         Instead, we'll leave ls.c alone.  This undoes today's patch
12690         by Bruno.  Add a compile-time warning for 1s-clock resolution;
12691         we've never observed the problem but might as well keep the
12692         canary.
12693         * lib/nanosleep.c: Include timespec.h first, for interface check.
12694         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
12695         now assume the sys_time module.
12696         * lib/tempname.c: Likewise.
12697         * lib/timespec.h: Likewise.
12698         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
12699         needed.
12700         * lib/strftime.c: Likewise.
12701         * lib/timespec.h: Likewise.
12702         * lib/posixtm.c: Include posixtm.h first, for interface check.
12703         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
12704         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
12705         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
12706         * lib/sys_time_.h: New file.
12707         * lib/timespec.h (struct timespec): Use long int, not long.
12708         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
12709         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
12710         Remove obsolescent call to AC_HEADER_TIME.
12711         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
12712         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
12713         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
12714         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
12715         Likewise.
12716         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
12717         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
12718         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
12719         into the sys_time module.  Check for gettimeofday just once.
12720         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
12721         for gettimeofday signature to just check the signature.  Merely
12722         compile it, since linking doesn't test signature.  Improve test for
12723         whether gettimeofday.o is actually needed.
12724         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
12725         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
12726         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
12727         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
12728         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
12729         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
12730         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
12731         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
12732         than worrying about sys/time.h.
12733         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
12734         Don't bother worrying about TIME_WITH_SYS_TIME.
12735         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
12736         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
12737         * m4/sys_time_h.m4: New file.
12738         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
12739         Don't include sys/time.h.  Return from main rather than exiting.
12740         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
12741         all uses changed.
12742         * modules/gethrxtime (Depends-on): Add sys_time.
12743         * modules/gettime (Depends-on): Likewise.
12744         * modules/gettimeofday (Depends-on): Likewise.
12745         * modules/nanosleep (Depends-on): Likewise.
12746         * modules/settime (Depends-on): Likewise.
12747         * modules/tempname (Depends-on): Likewise.
12748         * modules/utimens (Depends-on): Likewise.
12749         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
12750         (Include:) Change back to <sys/time.h>.
12751         (Maintainer:) Add self.
12752         * modules/sys_time: New file.
12753         * modules/tempname (Depends-on): Add gettimeofday.
12754         * tests/test-gettimeofday.c: Include <sys/time.h>
12755         rather than gettimeofday.h.
12756
12757 2007-01-17  Bruno Haible  <bruno@clisp.org>
12758
12759         * gnulib-tool (func_get_license): Revert last patch. Instead, let
12760         the license default to GPL.
12761         (func_create_testdir): Don't complain if a module is LGPL and its
12762         tests module depends on GPLed modules.
12763
12764 2007-01-17  Bruno Haible  <bruno@clisp.org>
12765
12766         * lib/gettimeofday.c (gettimeofday): Add code for the case
12767         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
12768         maximum possible value for tv->tv_usec, rather than the minimum one.
12769
12770 2005-10-08  Martin Lambers  <marlam@marlam.de>
12771 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
12772 2007-01-16  Bruno Haible  <bruno@clisp.org>
12773
12774         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
12775         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
12776         gl_FUNC_GETTIMEOFDAY.
12777         (Include): Add gettimeofday.h.
12778         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
12779         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
12780         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
12781         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
12782         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
12783         * lib/gettimeofday.h: New file.
12784         * lib/gettimeofday.c: Include <sys/timeb.h>.
12785         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
12786         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
12787         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
12788         fall back on time().
12789
12790         * tests/test-gettimeofday.c: New file.
12791         * modules/gettimeofday-tests: New file.
12792
12793 2007-01-16  Eric Blake  <ebb9@byu.net>
12794
12795         * modules/fnmatch (Depends-on): Depend on wchar.
12796         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
12797         * m4/fnmatch.m4: Likewise.
12798         * modules/mbchar (Makefile.am): Assume <wchar.h>.
12799         * m4/mbchar.m4: Likewise.
12800         * modules/mbswidth (Depends-on): Depend on wchar.
12801         * lib/mbswidth.c: Assume <wchar.h>.
12802         * m4/mbswidth.m4: Likewise.
12803         * modules/quotearg (Depends-on): Depend on wchar.
12804         * lib/quotearg.c: Assume <wchar.h>.
12805         * m4/quotearg.m4: Likewise.
12806         * modules/regex (Depends-on): Depend on wchar.
12807         * lib/regex_internal.h: Assume <wchar.h>.
12808         * m4/regex.m4: Likewise.
12809         * modules/stdint (Depends-on): Depend on wchar.
12810         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
12811         * m4/stdint.m4: Likewise.
12812         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
12813         * modules/strftime (Depends-on): Depend on wchar.
12814         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
12815         * modules/strtol (Depends-on): Depend on wchar.
12816         * lib/strtol.c: Assume <wchar.h>.
12817         * modules/wcwidth (Depends-on): Depend on wchar.
12818         * lib/wcwidth.h: Assume <wchar.h>.
12819         * m4/wcwidth.m4: Likewise.
12820
12821 2007-01-16  Bruno Haible  <bruno@clisp.org>
12822
12823         * modules/csharpexec-script: New, created from...
12824         * modules/csharpexec: ... this.
12825
12826 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
12827
12828         * modules/javaexec-script: New, created from...
12829         * modules/javaexec: ... this.
12830
12831 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12832
12833         * modules/poll (Dependencies): Add sys_select.
12834
12835 2007-01-15  Jim Meyering  <jim@meyering.net>
12836
12837         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
12838         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
12839         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
12840         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
12841
12842 2007-01-15  Bruno Haible  <bruno@clisp.org>
12843
12844         * modules/striconveh: New file.
12845         * lib/striconveh.h: New file.
12846         * lib/striconveh.c: New file.
12847         * MODULES.html.sh (Internationalization functions): Add striconveh.
12848
12849         * modules/striconveh-tests: New file.
12850         * tests/test-striconveh.c: New file.
12851
12852 2007-01-15  Bruno Haible  <bruno@clisp.org>
12853
12854         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
12855         not from GNU libiconv or GNU libc.
12856
12857 2007-01-15  Bruno Haible  <bruno@clisp.org>
12858
12859         * doc/gnulib-intro.texi (Copyright): Explain the different license
12860         terms for module descriptions, autoconf macros, tests, documentation.
12861
12862 2007-01-14  Bruno Haible  <bruno@clisp.org>
12863
12864         * modules/striconv-tests: New file.
12865         * tests/test-striconv.c: New file.
12866
12867 2007-01-14  Bruno Haible  <bruno@clisp.org>
12868
12869         * modules/iconv-tests: New file.
12870         * tests/test-iconv.c: New file.
12871
12872 2007-01-14  Bruno Haible  <bruno@clisp.org>
12873
12874         * gnulib-tool (func_get_license): For test modules, use the license of
12875         the main module.
12876
12877 2007-01-14  Bruno Haible  <bruno@clisp.org>
12878
12879         * modules/iconv (Include): Clarify that <iconv.h> can only be included
12880         if iconv is found to exist.
12881
12882 2007-01-14  Bruno Haible  <bruno@clisp.org>
12883
12884         * modules/c-ctype-tests: New file.
12885         * tests/test-c-ctype.c: New file.
12886
12887 2007-01-14  Bruno Haible  <bruno@clisp.org>
12888
12889         * modules/binary-io-tests: New file.
12890         * tests/test-binary-io.sh: New file.
12891         * tests/test-binary-io.c: New file.
12892
12893 2007-01-14  Bruno Haible  <bruno@clisp.org>
12894
12895         * modules/array-oset-tests: New file.
12896         * tests/test-array_oset.c: New file.
12897
12898 2007-01-14  Bruno Haible  <bruno@clisp.org>
12899
12900         * modules/array-list-tests: New file.
12901         * tests/test-array_list.c: New file.
12902
12903 2007-01-14  Bruno Haible  <bruno@clisp.org>
12904
12905         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
12906         and make.
12907         Reported by Simon Josefsson in
12908         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
12909
12910 2007-01-14  Bruno Haible  <bruno@clisp.org>
12911
12912         * modules/allocsa-tests: New file.
12913         * tests/test-allocsa.c: New file.
12914
12915 2007-01-14  Bruno Haible  <bruno@clisp.org>
12916
12917         * modules/fchdir (Depends-on): Add absolute-header.
12918         * modules/unistd (Depends-on): Likewise.
12919
12920 2006-12-30  Bruno Haible  <bruno@clisp.org>
12921
12922         * modules/fchdir: New file.
12923         * modules/unistd (Files): Add lib/unistd_.h.
12924         (Makefile.am): Generate unistd.h from unistd_.h.
12925         * lib/fchdir.c: New file.
12926         * lib/dirent_.h: New file.
12927         * lib/unistd_.h: New file.
12928         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
12929         * m4/fchdir.m4: New file.
12930         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
12931         (gl_HEADER_UNISTD): Invoke it.
12932         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
12933         function.
12934         * lib/backupfile.c (opendir, closedir): Undefine.
12935         * lib/chown.c (open, close): Undefine.
12936         * lib/clean-temp.c (open, close): Undefine.
12937         * lib/copy-file.c (open, close): Undefine.
12938         * lib/execute.c (open, close): Undefine.
12939         * lib/fsusage.c (open, close): Undefine.
12940         * lib/gc-gnulib.c (open, close): Undefine.
12941         * lib/getcwd.c (opendir, closedir): Undefine.
12942         * lib/glob.c (opendir, closedir): Undefine.
12943         * lib/javacomp.c (open, close): Undefine.
12944         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
12945         * lib/openat-proc.c (open, close): Undefine.
12946         * lib/pagealign_alloc.c (open, close): Undefine.
12947         * lib/pipe.c (open, close): Undefine.
12948         * lib/progreloc.c (open, close): Undefine.
12949         * lib/savedir.c (opendir, closedir): Undefine.
12950         * lib/utime.c (open, close): Undefine.
12951         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
12952
12953 2007-01-10  Bruno Haible  <bruno@clisp.org>
12954
12955         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
12956
12957 2007-01-12  Eric Blake  <ebb9@byu.net>
12958
12959         Provide a robust <wchar.h>.  Further simplifications are now
12960         possible in other modules, but not included here.
12961         * modules/wchar: New module.
12962         * m4/wchar.m4: New file.
12963         * lib/wchar_.h: Likewise.
12964         * modules/mbchar (Depends-on): Depend on wchar, as the first use
12965         of the new module.
12966         * MODULES.html.sh (Extended multibyte and wide character utilities):
12967         New section.
12968
12969 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
12970
12971         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
12972         to a reasonable default for memory allocation.
12973         (xreadlink): Don't allocate a huge buffer, to work around a buggy
12974         file system that reports garbage st_size values for symlinks.
12975         Problem reported by Liyang Hu.
12976
12977 2007-01-11  Simon Josefsson  <simon@josefsson.org>
12978
12979         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
12980         Emacs .#* auto-save files).
12981
12982 2007-01-11  Bruno Haible  <bruno@clisp.org>
12983
12984         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
12985         directory.
12986
12987 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
12988
12989         Use @...@ consistently in lib/wctype_.h.
12990         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
12991         on it being set to 1 or 0.
12992         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
12993         go back to AC_SUBSTing it.
12994         * modules/wctype (Makefile.am): Undo previous change.
12995
12996 2007-01-10  Eric Blake  <ebb9@byu.net>
12997
12998         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
12999         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
13000         * modules/wctype (Makefile.am): Likewise.
13001         Reported by Chris McGuire.
13002
13003 2007-01-10  Jim Meyering  <jim@meyering.net>
13004
13005         fts.c: a small readability/maintainability improvement
13006         * lib/fts.c (fts_read): Make this code slightly more readable and
13007         maintainable by hoisting the "sp->fts_cur = p" assignments to
13008         immediately follow the statements that set P.  Derived from
13009         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
13010
13011 2007-01-10  Eric Blake  <ebb9@byu.net>
13012
13013         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
13014         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
13015         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13016         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
13017         Reported by Chris McGuire.
13018
13019 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13020
13021         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
13022         in sed script.
13023
13024 2007-01-09  Bruno Haible  <bruno@clisp.org>
13025
13026         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
13027         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
13028         variables.
13029         (func_module): Use them.
13030
13031 2007-01-09  Bruno Haible  <bruno@clisp.org>
13032
13033         * modules/unistr/base: New file.
13034         * lib/unistr.h: New file.
13035
13036         * modules/unistr/u8-to-u16: New file.
13037         * lib/unistr/u8-to-u16.c: New file.
13038
13039         * modules/unistr/u8-to-u32: New file.
13040         * lib/unistr/u8-to-u32.c: New file.
13041
13042         * modules/unistr/u16-to-u8: New file.
13043         * lib/unistr/u16-to-u8.c: New file.
13044
13045         * modules/unistr/u16-to-u32: New file.
13046         * lib/unistr/u16-to-u32.c: New file.
13047
13048         * modules/unistr/u32-to-u8: New file.
13049         * lib/unistr/u32-to-u8.c: New file.
13050
13051         * modules/unistr/u32-to-u16: New file.
13052         * lib/unistr/u32-to-u16.c: New file.
13053
13054         * modules/unistr/u8-check: New file.
13055         * modules/unistr/u16-check: New file.
13056         * modules/unistr/u32-check: New file.
13057         * lib/unistr/u8-check.c: New file.
13058         * lib/unistr/u16-check.c: New file.
13059         * lib/unistr/u32-check.c: New file.
13060
13061         * modules/unistr/u8-chr: New file.
13062         * modules/unistr/u16-chr: New file.
13063         * modules/unistr/u32-chr: New file.
13064         * lib/unistr/u8-chr.c: New file.
13065         * lib/unistr/u16-chr.c: New file.
13066         * lib/unistr/u32-chr.c: New file.
13067
13068         * modules/unistr/u8-cmp: New file.
13069         * modules/unistr/u16-cmp: New file.
13070         * modules/unistr/u32-cmp: New file.
13071         * lib/unistr/u8-cmp.c: New file.
13072         * lib/unistr/u16-cmp.c: New file.
13073         * lib/unistr/u32-cmp.c: New file.
13074
13075         * modules/unistr/u8-cpy: New file.
13076         * modules/unistr/u16-cpy: New file.
13077         * modules/unistr/u32-cpy: New file.
13078         * lib/unistr/u8-cpy.c: New file.
13079         * lib/unistr/u16-cpy.c: New file.
13080         * lib/unistr/u32-cpy.c: New file.
13081         * lib/unistr/u-cpy.h: New file.
13082
13083         * modules/unistr/u8-cpy-alloc: New file.
13084         * modules/unistr/u16-cpy-alloc: New file.
13085         * modules/unistr/u32-cpy-alloc: New file.
13086         * lib/unistr/u8-cpy-alloc.c: New file.
13087         * lib/unistr/u16-cpy-alloc.c: New file.
13088         * lib/unistr/u32-cpy-alloc.c: New file.
13089         * lib/unistr/u-cpy-alloc.h: New file.
13090
13091         * modules/unistr/u8-endswith: New file.
13092         * modules/unistr/u16-endswith: New file.
13093         * modules/unistr/u32-endswith: New file.
13094         * lib/unistr/u8-endswith.c: New file.
13095         * lib/unistr/u16-endswith.c: New file.
13096         * lib/unistr/u32-endswith.c: New file.
13097         * lib/unistr/u-endswith.h: New file.
13098
13099         * modules/unistr/u8-mblen: New file.
13100         * modules/unistr/u16-mblen: New file.
13101         * modules/unistr/u32-mblen: New file.
13102         * lib/unistr/u8-mblen.c: New file.
13103         * lib/unistr/u16-mblen.c: New file.
13104         * lib/unistr/u32-mblen.c: New file.
13105
13106         * modules/unistr/u8-mbtouc: New file.
13107         * modules/unistr/u16-mbtouc: New file.
13108         * modules/unistr/u32-mbtouc: New file.
13109         * lib/unistr/u8-mbtouc.c: New file.
13110         * lib/unistr/u16-mbtouc.c: New file.
13111         * lib/unistr/u32-mbtouc.c: New file.
13112
13113         * modules/unistr/u8-mbtouc-safe: New file.
13114         * modules/unistr/u16-mbtouc-safe: New file.
13115         * modules/unistr/u32-mbtouc-safe: New file.
13116         * lib/unistr/u8-mbtouc-safe.c: New file.
13117         * lib/unistr/u16-mbtouc-safe.c: New file.
13118         * lib/unistr/u32-mbtouc-safe.c: New file.
13119
13120         * modules/unistr/u8-move: New file.
13121         * modules/unistr/u16-move: New file.
13122         * modules/unistr/u32-move: New file.
13123         * lib/unistr/u8-move.c: New file.
13124         * lib/unistr/u16-move.c: New file.
13125         * lib/unistr/u32-move.c: New file.
13126         * lib/unistr/u-move.h: New file.
13127
13128         * modules/unistr/u8-next: New file.
13129         * modules/unistr/u16-next: New file.
13130         * modules/unistr/u32-next: New file.
13131         * lib/unistr/u8-next.c: New file.
13132         * lib/unistr/u16-next.c: New file.
13133         * lib/unistr/u32-next.c: New file.
13134
13135         * modules/unistr/u8-prev: New file.
13136         * modules/unistr/u16-prev: New file.
13137         * modules/unistr/u32-prev: New file.
13138         * lib/unistr/u8-prev.c: New file.
13139         * lib/unistr/u16-prev.c: New file.
13140         * lib/unistr/u32-prev.c: New file.
13141
13142         * modules/unistr/u8-set: New file.
13143         * modules/unistr/u16-set: New file.
13144         * modules/unistr/u32-set: New file.
13145         * lib/unistr/u8-set.c: New file.
13146         * lib/unistr/u16-set.c: New file.
13147         * lib/unistr/u32-set.c: New file.
13148         * lib/unistr/u-set.h: New file.
13149
13150         * modules/unistr/u8-startswith: New file.
13151         * modules/unistr/u16-startswith: New file.
13152         * modules/unistr/u32-startswith: New file.
13153         * lib/unistr/u8-startswith.c: New file.
13154         * lib/unistr/u16-startswith.c: New file.
13155         * lib/unistr/u32-startswith.c: New file.
13156         * lib/unistr/u-startswith.h: New file.
13157
13158         * modules/unistr/u8-stpcpy: New file.
13159         * modules/unistr/u16-stpcpy: New file.
13160         * modules/unistr/u32-stpcpy: New file.
13161         * lib/unistr/u8-stpcpy.c: New file.
13162         * lib/unistr/u16-stpcpy.c: New file.
13163         * lib/unistr/u32-stpcpy.c: New file.
13164         * lib/unistr/u-stpcpy.h: New file.
13165
13166         * modules/unistr/u8-stpncpy: New file.
13167         * modules/unistr/u16-stpncpy: New file.
13168         * modules/unistr/u32-stpncpy: New file.
13169         * lib/unistr/u8-stpncpy.c: New file.
13170         * lib/unistr/u16-stpncpy.c: New file.
13171         * lib/unistr/u32-stpncpy.c: New file.
13172         * lib/unistr/u-stpncpy.h: New file.
13173
13174         * modules/unistr/u8-strcat: New file.
13175         * modules/unistr/u16-strcat: New file.
13176         * modules/unistr/u32-strcat: New file.
13177         * lib/unistr/u8-strcat.c: New file.
13178         * lib/unistr/u16-strcat.c: New file.
13179         * lib/unistr/u32-strcat.c: New file.
13180         * lib/unistr/u-strcat.h: New file.
13181
13182         * modules/unistr/u8-strchr: New file.
13183         * modules/unistr/u16-strchr: New file.
13184         * modules/unistr/u32-strchr: New file.
13185         * lib/unistr/u8-strchr.c: New file.
13186         * lib/unistr/u16-strchr.c: New file.
13187         * lib/unistr/u32-strchr.c: New file.
13188
13189         * modules/unistr/u8-strcmp: New file.
13190         * modules/unistr/u16-strcmp: New file.
13191         * modules/unistr/u32-strcmp: New file.
13192         * lib/unistr/u8-strcmp.c: New file.
13193         * lib/unistr/u16-strcmp.c: New file.
13194         * lib/unistr/u32-strcmp.c: New file.
13195
13196         * modules/unistr/u8-strcpy: New file.
13197         * modules/unistr/u16-strcpy: New file.
13198         * modules/unistr/u32-strcpy: New file.
13199         * lib/unistr/u8-strcpy.c: New file.
13200         * lib/unistr/u16-strcpy.c: New file.
13201         * lib/unistr/u32-strcpy.c: New file.
13202         * lib/unistr/u-strcpy.h: New file.
13203
13204         * modules/unistr/u8-strcspn: New file.
13205         * modules/unistr/u16-strcspn: New file.
13206         * modules/unistr/u32-strcspn: New file.
13207         * lib/unistr/u8-strcspn.c: New file.
13208         * lib/unistr/u16-strcspn.c: New file.
13209         * lib/unistr/u32-strcspn.c: New file.
13210         * lib/unistr/u-strcspn.h: New file.
13211
13212         * modules/unistr/u8-strdup: New file.
13213         * modules/unistr/u16-strdup: New file.
13214         * modules/unistr/u32-strdup: New file.
13215         * lib/unistr/u8-strdup.c: New file.
13216         * lib/unistr/u16-strdup.c: New file.
13217         * lib/unistr/u32-strdup.c: New file.
13218         * lib/unistr/u-strdup.h: New file.
13219
13220         * modules/unistr/u8-strlen: New file.
13221         * modules/unistr/u16-strlen: New file.
13222         * modules/unistr/u32-strlen: New file.
13223         * lib/unistr/u8-strlen.c: New file.
13224         * lib/unistr/u16-strlen.c: New file.
13225         * lib/unistr/u32-strlen.c: New file.
13226         * lib/unistr/u-strlen.h: New file.
13227
13228         * modules/unistr/u8-strmblen: New file.
13229         * modules/unistr/u16-strmblen: New file.
13230         * modules/unistr/u32-strmblen: New file.
13231         * lib/unistr/u8-strmblen.c: New file.
13232         * lib/unistr/u16-strmblen.c: New file.
13233         * lib/unistr/u32-strmblen.c: New file.
13234
13235         * modules/unistr/u8-strmbtouc: New file.
13236         * modules/unistr/u16-strmbtouc: New file.
13237         * modules/unistr/u32-strmbtouc: New file.
13238         * lib/unistr/u8-strmbtouc.c: New file.
13239         * lib/unistr/u16-strmbtouc.c: New file.
13240         * lib/unistr/u32-strmbtouc.c: New file.
13241
13242         * modules/unistr/u8-strncat: New file.
13243         * modules/unistr/u16-strncat: New file.
13244         * modules/unistr/u32-strncat: New file.
13245         * lib/unistr/u8-strncat.c: New file.
13246         * lib/unistr/u16-strncat.c: New file.
13247         * lib/unistr/u32-strncat.c: New file.
13248         * lib/unistr/u-strncat.h: New file.
13249
13250         * modules/unistr/u8-strncmp: New file.
13251         * modules/unistr/u16-strncmp: New file.
13252         * modules/unistr/u32-strncmp: New file.
13253         * lib/unistr/u8-strncmp.c: New file.
13254         * lib/unistr/u16-strncmp.c: New file.
13255         * lib/unistr/u32-strncmp.c: New file.
13256
13257         * modules/unistr/u8-strncpy: New file.
13258         * modules/unistr/u16-strncpy: New file.
13259         * modules/unistr/u32-strncpy: New file.
13260         * lib/unistr/u8-strncpy.c: New file.
13261         * lib/unistr/u16-strncpy.c: New file.
13262         * lib/unistr/u32-strncpy.c: New file.
13263         * lib/unistr/u-strncpy.h: New file.
13264
13265         * modules/unistr/u8-strnlen: New file.
13266         * modules/unistr/u16-strnlen: New file.
13267         * modules/unistr/u32-strnlen: New file.
13268         * lib/unistr/u8-strnlen.c: New file.
13269         * lib/unistr/u16-strnlen.c: New file.
13270         * lib/unistr/u32-strnlen.c: New file.
13271         * lib/unistr/u-strnlen.h: New file.
13272
13273         * modules/unistr/u8-strpbrk: New file.
13274         * modules/unistr/u16-strpbrk: New file.
13275         * modules/unistr/u32-strpbrk: New file.
13276         * lib/unistr/u8-strpbrk.c: New file.
13277         * lib/unistr/u16-strpbrk.c: New file.
13278         * lib/unistr/u32-strpbrk.c: New file.
13279         * lib/unistr/u-strpbrk.h: New file.
13280
13281         * modules/unistr/u8-strrchr: New file.
13282         * modules/unistr/u16-strrchr: New file.
13283         * modules/unistr/u32-strrchr: New file.
13284         * lib/unistr/u8-strrchr.c: New file.
13285         * lib/unistr/u16-strrchr.c: New file.
13286         * lib/unistr/u32-strrchr.c: New file.
13287
13288         * modules/unistr/u8-strspn: New file.
13289         * modules/unistr/u16-strspn: New file.
13290         * modules/unistr/u32-strspn: New file.
13291         * lib/unistr/u8-strspn.c: New file.
13292         * lib/unistr/u16-strspn.c: New file.
13293         * lib/unistr/u32-strspn.c: New file.
13294         * lib/unistr/u-strspn.h: New file.
13295
13296         * modules/unistr/u8-strstr: New file.
13297         * modules/unistr/u16-strstr: New file.
13298         * modules/unistr/u32-strstr: New file.
13299         * lib/unistr/u8-strstr.c: New file.
13300         * lib/unistr/u16-strstr.c: New file.
13301         * lib/unistr/u32-strstr.c: New file.
13302         * lib/unistr/u-strstr.h: New file.
13303
13304         * modules/unistr/u8-strtok: New file.
13305         * modules/unistr/u16-strtok: New file.
13306         * modules/unistr/u32-strtok: New file.
13307         * lib/unistr/u8-strtok.c: New file.
13308         * lib/unistr/u16-strtok.c: New file.
13309         * lib/unistr/u32-strtok.c: New file.
13310         * lib/unistr/u-strtok.h: New file.
13311
13312         * modules/unistr/u8-uctomb: New file.
13313         * modules/unistr/u16-uctomb: New file.
13314         * modules/unistr/u32-uctomb: New file.
13315         * lib/unistr/u8-uctomb.c: New file.
13316         * lib/unistr/u16-uctomb.c: New file.
13317         * lib/unistr/u32-uctomb.c: New file.
13318
13319         * MODULES.html.sh (Unicode string functions): Add the new modules.
13320
13321 2007-01-08  Bruno Haible  <bruno@clisp.org>
13322
13323         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
13324         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
13325         subdirectories.
13326
13327 2007-01-08  Karl Berry  <karl@gnu.org>
13328
13329         * doc/error.texi: mention that main() fns must set program_name
13330         when progname is used.
13331
13332 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
13333
13334         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
13335         WCTYPE_H is empty, for the benefit of builds from non-distclean
13336         directories.  Problem reported by Eric Blake in
13337         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
13338
13339 2007-01-08  Bruno Haible  <bruno@clisp.org>
13340
13341         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
13342         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
13343         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
13344         PROVIDE_CANONICALIZE_FILENAME_MODE.
13345         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
13346
13347 2007-01-08  Bruno Haible  <bruno@clisp.org>
13348
13349         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
13350         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
13351         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
13352         * lib/fts.c: Likewise.
13353         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
13354
13355 2006-12-25  Bruno Haible  <bruno@clisp.org>
13356
13357         * modules/utf8-ucs4-safe: New file.
13358         * lib/utf8-ucs4-safe.h: New file.
13359         * lib/unistr/utf8-ucs4-safe.c: New file.
13360
13361         * modules/utf16-ucs4-safe: New file.
13362         * lib/utf16-ucs4-safe.h: New file.
13363         * lib/unistr/utf16-ucs4-safe.c: New file.
13364
13365         * MODULES.html.sh (Unicode string functions): Add the new modules.
13366
13367 2007-01-08  Bruno Haible  <bruno@clisp.org>
13368
13369         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
13370         (Depends-on): Add unitypes.
13371         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
13372         (u8_mbtouc_aux): Move out to separate file.
13373         (u8_mbtouc): Use ucs4_t, uint8_t types.
13374         * lib/unistr/utf8-ucs4.c: New file.
13375
13376         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
13377         (Depends-on): Add unitypes.
13378         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
13379         (u16_mbtouc_aux): Move out to separate file.
13380         (u16_mbtouc): Use ucs4_t, uint16_t types.
13381         * lib/unistr/utf16-ucs4.c: New file.
13382
13383         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
13384         (Depends-on): Add unitypes.
13385         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
13386         (u8_uctomb_aux): Move out to separate file.
13387         (u8_uctomb): Use ucs4_t, uint8_t types.
13388         * lib/unistr/ucs4-utf8.c: New file.
13389
13390         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
13391         (Depends-on): Add unitypes.
13392         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
13393         (u16_uctomb_aux): Move out to separate file.
13394         (u16_uctomb): Use ucs4_t, uint16_t types.
13395         * lib/unistr/ucs4-utf16.c: New file.
13396
13397 2006-12-25  Bruno Haible  <bruno@clisp.org>
13398
13399         * modules/unitypes: New file.
13400         * lib/unitypes.h: New file.
13401         * MODULES.html.sh (func_all_modules): New section "Unicode string
13402         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
13403         this section. Add unitypes.
13404
13405 2007-01-08  Bruno Haible  <bruno@clisp.org>
13406
13407         Avoid variable names that conflict with those from libtool.
13408         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
13409         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
13410         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
13411         library_names_spec to acl_library_names_spec, hardcode_* to
13412         acl_hardcode_*.
13413         Reported by Ralf Wildenhues.
13414
13415 2007-01-08  Bruno Haible  <bruno@clisp.org>
13416
13417         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
13418         definition.
13419         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
13420         definition.
13421         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
13422         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
13423         definition.
13424         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
13425         definition.
13426         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
13427         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
13428         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
13429         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
13430         definition.
13431         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
13432         definition.
13433         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
13434         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
13435         GC_USE_<algorithm>.
13436         * lib/gc-libgcrypt.c: Likewise.
13437         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
13438         * modules/gc-arctwo (configure.ac): Likewise.
13439         * modules/gc-des (configure.ac): Likewise.
13440         * modules/gc-hmac-md5 (configure.ac): Likewise.
13441         * modules/gc-hmac-sha1 (configure.ac): Likewise.
13442         * modules/gc-md2 (configure.ac): Likewise.
13443         * modules/gc-md4 (configure.ac): Likewise.
13444         * modules/gc-md5 (configure.ac): Likewise.
13445         * modules/gc-random (configure.ac): Likewise.
13446         * modules/gc-rijndael (configure.ac): Likewise.
13447         * modules/gc-sha1 (configure.ac): Likewise.
13448
13449 2007-01-08  Bruno Haible  <bruno@clisp.org>
13450
13451         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
13452         macro definition.
13453         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
13454         definition.
13455         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
13456         definition.
13457         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
13458         * modules/fcntl-safer (configure.ac): Likewise.
13459         * modules/fopen-safer (configure.ac): Likewise.
13460         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
13461         GNULIB_FWRITEERROR macro definition.
13462
13463 2007-01-08  Bruno Haible  <bruno@clisp.org>
13464
13465         * m4/gnulib-common.m4: New file.
13466         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
13467         (func_get_filelist): Add m4/gnulib-common.m4.
13468
13469 2007-01-08  Bruno Haible  <bruno@clisp.org>
13470
13471         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
13472         command.
13473
13474 2007-01-08  Jim Meyering  <jim@meyering.net>
13475
13476         Use a more robust test for a "can't happen" condition.
13477         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
13478         narrowed the st_size value.  Presuming the "can't happen" condition
13479         is true, that narrowing could conceivably convert an invalid st_size
13480         value into a valid one.  Instead, use a change based on Matthew
13481         Woehlke's original patch.
13482
13483         Slight readability improvement: use an assert-like macro
13484         in place of literal "abort ()" uses.
13485         * lib/fts.c (fts_assert): Define.
13486         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
13487         Use this macro instead of a bare 'abort'.
13488
13489 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
13490
13491         Don't worry about using IRIX 5.3's wctype.h broken definitions;
13492         simply work around them.
13493         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
13494         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
13495         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
13496         declaring.
13497         Don't bother to define as macros, since the standard doesn't require it.
13498         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
13499         longer worry about IRIX 5.3.
13500         (HAVE_WCTYPE_CTMP_BUG): Remove.
13501
13502 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
13503
13504         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
13505         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
13506         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
13507         Problems reported by Georg Schwarz for IRIX 5.3.
13508
13509         * gnulib-tool (autoconf_minversion): Take the maximum version number
13510         found, not the minimum.  Problem reported by James Youngman.
13511
13512 2007-01-03  Karl Berry  <karl@gnu.org>
13513
13514         * doc/error.texi: new file, explaining interaction with progname.
13515         * doc/gnulib.texi: include it.  Update copyright.
13516
13517 2007-01-03  Simon Josefsson  <simon@josefsson.org>
13518
13519         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
13520         AC_CANONICAL_HOST, to improve autobuild outputs.
13521
13522 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
13523             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
13524
13525         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
13526         sockets, server sockets, and other file descriptors.  Count errors
13527         to compute the return value.  Reorder the code a bit to be easier
13528         to follow.  Don't set event bits that were not requested (except
13529         POLLERR and POLLHUP).
13530
13531 2007-01-01  Bruno Haible  <bruno@clisp.org>
13532
13533         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
13534
13535 2007-01-03  Jim Meyering  <jim@meyering.net>
13536
13537         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
13538
13539 2007-01-02  Bruno Haible  <bruno@clisp.org>
13540
13541         * modules/settime (Include): Require timespec.h.
13542         * modules/nanosleep (Include): Likewise.
13543
13544 2007-01-01  Bruno Haible  <bruno@clisp.org>
13545
13546         * gnulib-tool (func_emit_copyright_notice): Bump year.
13547         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
13548
13549 2007-01-01  Bruno Haible  <bruno@clisp.org>
13550
13551         Improve support for OpenBSD.
13552         * build-aux/config.rpath (libname_spec): Export.
13553         (library_names_spec): New variable. Export.
13554         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
13555         library_names_spec from the config.rpath output. Locate shared library
13556         through the name pattern in library_names_spec.
13557
13558 2007-01-01  Eric Blake  <ebb9@byu.net>
13559
13560         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
13561
13562 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
13563
13564         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
13565         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
13566         assume the C locale, and avoid an "eval" that could cause trouble.
13567         Problem with SORT reported by Bob Proulx.
13568
13569         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
13570         Define.  Trivial patch from Henning Nielsen Lund, originally
13571         sent to bug-grep@gnu.org today.
13572
13573 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
13574
13575         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
13576         struct stat.  Problem reported by Henning Nielsen Lund.
13577         * lib/acl.c: Include acl.h first, to check interface.  Don't
13578         bother to include sys/types.h and sys/stat.h again.
13579
13580 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
13581
13582         Import the following change from libc; problem reported by
13583         Sven Verdoolaege.
13584
13585         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
13586
13587         [BZ #1373]
13588         * lib/argp.h: Remove __NTH for __argp_usage inline function.
13589
13590 2006-12-28  Jim Meyering  <jim@meyering.net>
13591
13592         * build-aux/announce-gen: Do not assume that the package
13593         builds any of tar.gz, tar.bz2, and .xdelta files.
13594         Suggestion from Simon Josefsson.
13595
13596 2006-12-28  Simon Josefsson  <simon@josefsson.org>
13597
13598         * modules/announce-gen: New file.
13599
13600 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
13601
13602         * lib/mbchar.h: Just include <wctype.h>; the wctype module
13603         handles its gotchas now.
13604         * lib/mbswidth.c: Likewise.
13605         * lib/wcwidth.h: Likewise.
13606         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
13607         and iswcntrl; the wctype module does this stuff now.
13608         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
13609         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13610         * modules/mbchar (Depends-on): Add wctype.
13611         * modules/mbswidth (Depends-on): Likewise.
13612         * modules/wcwidth (Depends-on): Likewise.
13613
13614 2006-12-27  Eric Blake  <ebb9@byu.net>
13615
13616         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
13617         module uses more than what <wctype.h> is required to provide.
13618
13619 2006-12-26  Eric Blake  <ebb9@byu.net>
13620
13621         * gnulib-tool (sed_extract_prog): Avoid space-tab.
13622
13623 2006-12-26  Eric Blake  <ebb9@byu.net>
13624
13625         * modules/absolute-header: New module.
13626         * modules/fcntl (Depends-on): Depend on it.
13627         * modules/inttypes (Depends-on): Likewise.
13628         * modules/stdint (Depends-on): Likewise.
13629         * modules/sys_stat (Depends-on): Likewise.
13630         * modules/wctype (Depends-on): Likewise.
13631         * MODULES.html.sh (Support for building libraries and
13632         executables): Document it.
13633
13634 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
13635
13636         * gnulib-tool (SED): Remove, undoing previous change.
13637         The problem was that it broke coreutils on Solaris, because
13638         "sed --posix" leaked into a makefile.
13639         (sed): New alias, if 'alias' and GNU sed.
13640
13641 2006-12-24  Jim Meyering  <jim@meyering.net>
13642
13643         Work around an fchownat bug in glibc-2.4:
13644         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
13645         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
13646         in spite of the -P option.
13647         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
13648         New macros.
13649         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
13650         * modules/openat (Files): Add lib/fchownat.c.
13651         * lib/openat.c (fchownat): Don't define here.  Move to...
13652         * lib/fchownat.c: ...this new file.
13653
13654 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
13655
13656         Fix bug reported by Bruno Haible in
13657         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
13658         where quotearg.c didn't compile on Mac OS X 10.2 because it
13659         lacks <wchar.h> and wint_t.
13660         * lib/wctype_.h (__wctype_wint_t): New type.
13661         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
13662         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
13663         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
13664         Arg is now of type __wctype_wint_t, not wint_t.
13665         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
13666         substitute HAVE_WINT_T.
13667         * modules/wctype (Files): Add m4/wint_t.m4.
13668         (wctype.h): Substitute HAVE_WINT_T.
13669
13670 2006-12-23  Bruno Haible  <bruno@clisp.org>
13671
13672         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
13673
13674 2006-12-23  Bruno Haible  <bruno@clisp.org>
13675
13676         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
13677         S_ISLNK.
13678         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
13679         mingw.
13680
13681 2006-12-22  Bruno Haible  <bruno@clisp.org>
13682
13683         * lib/copy-file.c: Include acl.h.
13684         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
13685         Close the file descriptors only after being done with copy_acl.
13686         * modules/copy-file (Depends-on): Add acl.
13687
13688 2006-12-22  Bruno Haible  <bruno@clisp.org>
13689
13690         * gnulib-tool (SED): New variable.
13691         Use $SED instead of sed everywhere.
13692
13693 2006-12-22  Bruno Haible  <bruno@clisp.org>
13694
13695         * modules/no-c++: New file.
13696         * m4/no-c++.m4: New file.
13697         * MODULES.html.sh (Support for building libraries and executables):
13698         Add no-c++.
13699
13700 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
13701
13702         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
13703         Include <limits.h>, and use its INT_MAX to rewrite the
13704         j loop so that it does not overflow 'int'.  Problem reported by
13705         Ralf Wildenhues in
13706         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
13707         Play it safe by shifting left by 1 rather than multiplying by 2,
13708         as GCC is less likely to optimize this away when the value
13709         is signed (when it assumes overflow leads to undefined behavior).
13710         Also, don't assume time_t uses two's complement.
13711
13712 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
13713
13714         * MODULES.html.sh: New module wctype.
13715         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
13716         * lib/fnmatch.c: Don't bother to include <wchar.h> before
13717         <wctype.h>, since the new wctype module should fix this.
13718         * lib/quotearg.c: Include <wctype.h> unconditionally, since
13719         the wctype module should arrange for it.
13720         * lib/regex_internal.h: Likewise.
13721         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
13722         since the wctype module should handle this now.
13723         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
13724         * modules/fnmatch (Depends-on): Add wctype.
13725         * modules/quotearg (Depends-on): Likewise.
13726         * modules/regex (Depends-on): Likewise.
13727
13728 2006-12-19  Bruno Haible  <bruno@clisp.org>
13729
13730         * lib/strdup.h [C++]: Wrap definitions in extern "C".
13731         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
13732
13733 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13734
13735         * modules/savewd (Depends-on): Fix dependency on fcntl.
13736
13737 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
13738
13739         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
13740         conforms to C99, rather than relying on the user's environment
13741         setting of STDINT_H.
13742
13743 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
13744         and Eric Blake  <ebb9@byu.net>
13745
13746         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
13747         This is more consistent with the other defines here.
13748         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
13749         Port to z/OS.  Problem reported by Paul Gilmartin.
13750         Change local vars to use gl_ prefix rather than ac_.
13751         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
13752         with other defines.
13753         * modules/double-slash-root: New module.
13754         * modules/dirname (Files): Remove m4/double-slash-root.m4.
13755         (Depends-on): Add double-slash-root.
13756         * MODULES.html.sh (File system functions): Mention new module.
13757
13758 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
13759
13760         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
13761         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
13762         This is for the benefit of gzip, which doesn't do i18n.
13763
13764 2006-12-12  Jim Meyering  <jim@meyering.net>
13765
13766         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
13767         Reported by Andreas Schwab <schwab@suse.de>.
13768
13769 2006-12-12  Bruno Haible  <bruno@clisp.org>
13770
13771         Merge these changes.
13772         2006-09-05  Bruno Haible  <bruno@clisp.org>
13773         * lib/iconvme.c (iconv_string): No need to save and restore errno when
13774         iconv_alloc succeeded.
13775         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
13776         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
13777         test for " && dest " at the end - dest is always != NULL there. Call
13778         iconv with 4xNULL arguments initially, to reset the state. Call iconv
13779         with 2xNULL arguments, also to flush the state storage. Handle the
13780         IRIX iconv behaviour. Realloc the final result, to throw away unused
13781         memory.
13782
13783 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
13784
13785         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
13786         and fchmodat unconditionally, since glibc 2.4 has them.
13787         Problem reported by Arkadiusz Miskiewicz.
13788
13789 2006-12-10  Bruno Haible  <bruno@clisp.org>
13790
13791         * gnulib-tool (func_import): Show the include files only for those
13792         modules that are copied and specified.
13793         Reported by Karl Berry.
13794
13795 2006-12-08  Jim Meyering  <jim@meyering.net>
13796
13797         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
13798         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
13799
13800         * build-aux/announce-gen: Add two new options, both optional:
13801         --bootstrap-tools=TOOL_LIST
13802               a comma-separated list of tools, e.g.,
13803               autoconf,automake,bison,gnulib
13804         --gnulib-snapshot-date=DATE
13805               if gnulib is in the bootstrap tool list,
13806               then report this as the snapshot date.
13807               If not specified, use the current date/time.
13808               If you specify a date here, be sure it's UTC.
13809
13810 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13811
13812         * tests/test-argp-2.sh: Fix test to match actual output.
13813         (func_compare): Fix sed script to be portable.
13814
13815 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
13816
13817         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
13818         workaround for this case.  It is not autoconfigured now; offhand
13819         it's hard to see how to autoconfigure it.
13820
13821 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
13822
13823         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
13824         a directory that is about to be chowned.  Such a directory's
13825         initial file permissions should permit the owner only and this
13826         should not be changed until after the chown, since the group and
13827         other bits would be incorrect if they granted permission before
13828         the chown.
13829
13830         Fix porting problem for iswctype reported by Georg Schwarz in:
13831         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
13832         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
13833         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
13834         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
13835         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
13836
13837 2006-12-03  Jim Meyering  <jim@meyering.net>
13838
13839         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
13840         p->fts_statp may not yet be defined.
13841         (fts_read): Instead, set it in the caller, once p->fts_statp is
13842         sure to be defined, and corresponds to a top-level directory.
13843         This bug made du -x fail.  Here's the coreutils test case:
13844         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
13845         Reported by Mike Frysinger.
13846
13847 2006-12-01  Jim Meyering  <jim@meyering.net>
13848
13849         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
13850         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
13851         Reported by Simon Josefsson.
13852
13853 2006-11-30  Jim Meyering  <jim@meyering.net>
13854
13855         * m4/warning.m4: Use the all-permissive copyright notice
13856         recommended by RMS (rather than LGPL).
13857         * m4/vararrays.m4: Likewise.
13858         * m4/flexmember.m4: Likewise.
13859
13860 2006-11-29  Bruno Haible  <bruno@clisp.org>
13861
13862         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
13863         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
13864         using +=.
13865         Reported by Simon Josefsson <simon@josefsson.org>.
13866
13867 2006-11-28  James Youngman <jay@gnu.org>
13868
13869         * README: Advise users that they might find the bug-gnulib@gnu.org
13870         and autotools-announce@gnu.org mailing lists useful.
13871
13872 2006-11-28  Bruno Haible  <bruno@clisp.org>
13873
13874         * m4/ptrdiff_max.m4: Remove file.
13875
13876 2006-11-21  Bruno Haible  <bruno@clisp.org>
13877
13878         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
13879         _AC_COMPUTE_INT.
13880         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
13881         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
13882         _AC_COMPUTE_INT.
13883         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
13884         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
13885         _AC_COMPUTE_INT.
13886         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
13887
13888 2006-11-28  Jim Meyering  <jim@meyering.net>
13889
13890         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
13891         warning from "gcc -Wshadow" about shadowing the builtin.
13892
13893 2006-11-27  Bruno Haible  <bruno@clisp.org>
13894
13895         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
13896         _AC_COMPUTE_INT.
13897         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
13898
13899 2006-11-27  Bruno Haible  <bruno@clisp.org>
13900             Paul Eggert  <eggert@cs.ucla.edu>
13901
13902         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
13903
13904 2006-11-26  Bruno Haible  <bruno@clisp.org>
13905
13906         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
13907         noinst_LTLIBRARIES.
13908
13909 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
13910             Bruno Haible  <bruno@clisp.org>
13911
13912         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
13913         if compiling with "gcc -ansi".
13914
13915 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
13916
13917         Fix some incompatibilities with gcc -ansi -pedantic.
13918         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
13919         if compiling pedantically with GCC, unless it's C99 or later.
13920         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
13921         it mishandles gcc -ansi -pedantic as well.
13922         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
13923         if gcc -pedantic.
13924         * lib/regexec.c (check_node_accept_bytes): Don't use auto
13925         initializers for struct if -pedantic, unless it's C99 or later.
13926
13927 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
13928
13929         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
13930         Don't close an fd more than once. Identical atimes indicate
13931         success, not failure.
13932
13933 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
13934
13935         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
13936
13937 2006-11-23  Jim Meyering  <jim@meyering.net>
13938
13939         * build-aux/announce-gen: New file.  From coreutils.
13940
13941 2006-11-22  Jim Meyering  <jim@meyering.net>
13942
13943         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
13944         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
13945         (fts_read): Use a temporary to narrow the overused st_size member
13946         before using it in a switch statement.  Reported by Matthew Woehlke.
13947
13948         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
13949         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
13950
13951 2006-11-20  Bruno Haible  <bruno@clisp.org>
13952
13953         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
13954         changequote instead of pairs of brackets.
13955         Reported by Andreas Schwab <schwab@suse.de>.
13956
13957 2006-11-21  Jim Meyering  <jim@meyering.net>
13958
13959         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
13960         so as to remain compatible with older compilers.
13961         Patch from Michael Deutschmann.
13962
13963 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
13964
13965         * MODULES.html.sh (File system functions): Add openat.
13966
13967         * lib/openat.h (rpl_fstatat): New macro, if
13968         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
13969         (fstatat): Define to rpl_fstatat under the same conditions,
13970         unless COMPILING_FSTATAT.
13971         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
13972         seems to have the bug.
13973         * lib/fstatat.c: New file.
13974         * modules/openat (Files): Add it.
13975
13976 2006-11-20  Bruno Haible  <bruno@clisp.org>
13977
13978         * Makefile: New file.
13979
13980 2006-11-20  Jim Meyering  <jim@meyering.net>
13981
13982         The beginnings of syntax-related checks for gnulib.
13983         * lib/Makefile: New file.
13984         * lib/t-idcache: New script.  Ensure that the two halves of
13985         idcache.c stay in sync.
13986
13987         * lib/idcache.c: Adjust comments in user- and group- portions to
13988         be more accurate, and to be consistent with one another.
13989
13990 2006-11-20  Jim Meyering  <jim@meyering.net>
13991
13992         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
13993         continue using the flexible array member (thus, this module performs
13994         half as many malloc calls), with the addition that...
13995         (getgroup, getuser): Consistently record a non-match via an empty
13996         "name" string, and map an empty string match to a NULL return value.
13997         * modules/idcache (Depends-on): Re-add flexmember.
13998
13999         * lib/idcache.c (getuser): Remove all uses of the register keyword.
14000         (getuidbyname, getgroup, getgidbyname): Likewise.
14001
14002         Use cleaner syntax: NULL rather than 0.
14003         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
14004
14005 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
14006
14007         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
14008         It mishandled the case where the group was missing.
14009         Problem reported by Greg Schafer.
14010         * modules/idcache: Likewise.
14011
14012 2006-11-18  Jim Meyering  <jim@meyering.net>
14013
14014         * check-module (%exempt_header): Add exception for some
14015         conditionally-included headers.
14016
14017         * modules/i-ring (Depends-on): Add verify.
14018         (License): Change to LGPL.
14019
14020 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
14021
14022         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
14023         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
14024         and inttostr.h.  Use snprintf rather than uinttostr, so that
14025         LGPLed code doesn't depend on GPLed.
14026
14027 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
14028
14029         * modules/inline (License): Change from GPL to LGPL.
14030
14031 2006-11-17  Jim Meyering  <jim@meyering.net>
14032
14033         * modules/d-type (License): Switch to LGPL.
14034
14035 2006-11-15  Bruno Haible  <bruno@clisp.org>
14036
14037         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
14038
14039 2006-11-15  Eric Blake  <ebb9@byu.net>
14040
14041         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
14042         the module dependency.
14043
14044 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14045             Bruno Haible  <bruno@clisp.org>
14046
14047         * gnulib-tool (func_create_testdir): Add license consistency check.
14048
14049 2006-11-15  Eric Blake  <ebb9@byu.net>
14050
14051         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
14052         random "(cached)" in configure output.
14053
14054 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14055
14056         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
14057         test for conforming inttypes.h is both announced and cached.
14058
14059         * MODULES.html.sh (seen_modules, seen_files): New variables.
14060         (func_module): Rewrite to use a few less gnulib-tool and sed
14061         invocations.  Avoid a couple of quadratic algorithms for ...
14062         (missed_modules, missed_files): ... these, with ...
14063         (func_append, func_tmpdir): ... these new functions, from
14064         gnulib-tool.  Analogously, install traps for cleanup.
14065
14066         * tests/test-gc.c (main): Remove unused variables.
14067         * tests/test-read-file.c: Include stdlib.h, for 'free'.
14068
14069 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
14070
14071         * modules/inttostr (License): Change to LGPL.
14072
14073 2006-11-14  Eric Blake  <ebb9@byu.net>
14074
14075         * modules/tempname (License): Change to LGPL.
14076
14077 2006-11-14  Eric Blake  <ebb9@byu.net>
14078
14079         * doc/functions.texi (Function Portability): *printf functions on
14080         Cygwin now understand all POSIX size specifiers.
14081
14082 2006-11-14  Bruno Haible  <bruno@clisp.org>
14083
14084         * modules/c-ctype (License): Change to LGPL.
14085
14086 2006-11-12  Bruno Haible  <bruno@clisp.org>
14087
14088         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
14089         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
14090         for GNOME libraries, for which the include files are installed in
14091         subdirectories of $prefix/include.
14092
14093 2006-11-12  Bruno Haible  <bruno@clisp.org>
14094
14095         * m4/lib-link.m4: Require at least autoconf-2.54.
14096         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
14097         name to underscores for the --with option.
14098
14099 2006-11-13  Bruno Haible  <bruno@clisp.org>
14100
14101         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
14102         the tests directory.
14103         Reported by Ralf Wildenhues.
14104
14105 2006-11-13  Bruno Haible  <bruno@clisp.org>
14106
14107         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
14108         (func_emit_initmacro_end): Undo the override here.
14109         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
14110         Works around the famous automake error in coreutils.
14111
14112 2006-11-13  Eric Blake  <ebb9@byu.net>
14113
14114         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
14115         element, not its node.
14116
14117 2006-11-12  Bruno Haible  <bruno@clisp.org>
14118
14119         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
14120         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
14121
14122 2006-11-12  Bruno Haible  <bruno@clisp.org>
14123
14124         * gnulib-tool: New option --local-symlink.
14125         (func_usage): Document it.
14126         (lsymbolic): New variable.
14127         (func_import, func_create_testdir): If --symlink was not specified,
14128         test whether --local-symlink was specified and the file comes from
14129         the local_gnulib_dir.
14130
14131 2006-11-12  Bruno Haible  <bruno@clisp.org>
14132
14133         * gnulib-tool (func_ln): New function.
14134         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
14135
14136 2006-11-12  Bruno Haible  <bruno@clisp.org>
14137
14138         Finish support for source files in subdirectories.
14139         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
14140         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
14141         AUTOMAKE_OPTIONS.
14142         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
14143
14144 2006-11-12  Bruno Haible  <bruno@clisp.org>
14145
14146         * gnulib-tool (func_get_automake_snippet): Synthesize also an
14147         EXTRA_lib_SOURCES augmentation.
14148         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
14149
14150 2006-11-12  Jim Meyering  <jim@meyering.net>
14151
14152         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
14153         file descriptors.  This also averts a failure on systems with
14154         native openat support when a traversed directory lacks "x" access.
14155         * lib/fts_.h: Include "i-ring.h"
14156         (struct FTS) [fts_fd_ring]: New member.
14157         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
14158         (FCHDIR): Add parentheses.
14159         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
14160         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
14161         When descending, rather than simply closing the previous
14162         fts_cwd_fd value, push that file descriptor onto the ring.
14163         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
14164         (fts_open): Initialize the new fd_ring member.
14165         (fts_close): Clear the ring.
14166         (fts_safe_changedir): When possible, use our new fd_ring to skip
14167         the diropen and fstat and dev/ino comparison that would normally
14168         accompany a virtual `chdir ("..")'.
14169
14170         * modules/fts (Depends-on): Add i-ring.
14171         * modules/i-ring: New module.
14172         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
14173         * m4/i-ring.m4: New file.
14174
14175 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14176
14177         * gnulib-tool (func_create_testdir): Fix replacement of
14178         `build-aux' in configure.ac.  Run autotools in gltests
14179         subdirectory.
14180         (func_create_testdir, func_create_megatestdir, test): There is
14181         no need for '--force' in most autotool invocations in a new
14182         tree.  Actually fail the whole test if any of the tools, or the
14183         configure or make stages fail.
14184
14185         Sync from Automake.
14186         * build-aux/gnupload: Revert last change.  Add pointer to upload
14187         instructions of the GNU Maintenance Instructions.
14188         Suggestion by Karl Berry.
14189
14190 2006-11-10  Jim Meyering  <jim@meyering.net>
14191
14192         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
14193
14194 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
14195
14196         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
14197         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
14198         (bind_textdomain_codeset) [! ENABLE_NLS]:
14199         Evaluate all the arguments.  That way, callers get compatible behavior
14200         if the arguments have side effects.  Also, it avoids some GCC
14201         diagnostics in some cases; Joel E. Denny reported problems when Bison
14202         was configured with --enable-gcc-warnigs.
14203
14204 2006-11-10  Jim Meyering  <jim@meyering.net>
14205
14206         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
14207         relevant options in CFLAGS (like -O, -fno-inline) are taken into
14208         account.
14209
14210 2006-11-10  Jim Meyering  <jim@meyering.net>
14211
14212         * modules/inline: New file/module.
14213         * modules/xalloc (Files): Remove m4/inline.m4.
14214         (Depends-on): Add inline, instead.
14215         * modules/oset: Likewise.
14216         * modules/list: Likewise.
14217
14218 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
14219
14220         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
14221         Problem reported by Matthew Woehlke.
14222
14223 2006-11-09  Bruno Haible  <bruno@clisp.org>
14224
14225         * lib/tempname.c (gen_tempname): Remove variant that invokes
14226         __gen_tempname.
14227         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
14228         __gen_tempname.
14229
14230 2006-11-08  Bruno Haible  <bruno@clisp.org>
14231
14232         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
14233         to 'yes' instead of 'cross-compiling'.
14234
14235 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
14236
14237         * lib/quotearg.h (quotearg_free): New decl.
14238         * lib/quotearg.c (quotearg_free): New function.
14239         (slot0, nslots, slotvec0, slotvec):
14240         Now file-scope so that quotearg_free can get at them.
14241
14242 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14243
14244         Sync from Automake.
14245         * build-aux/gnupload: Add missing 'gnu' to example URL.
14246         Report by Karl Berry.
14247
14248 2006-11-08  Bruno Haible  <bruno@clisp.org>
14249
14250         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
14251         Suggested by Paul Eggert.
14252
14253 2006-11-08  Jim Meyering  <jim@meyering.net>
14254
14255         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
14256         It's already included if !_LIBC.
14257         (fts_safe_changedir): Add a comment.
14258
14259 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
14260
14261         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
14262         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
14263         Matthew Woehlke.
14264
14265         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
14266         definitions up, to avoid colliding with change below.
14267         (static_inline) [HAVE_INLINE]: New macro.
14268         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
14269         Provide extern decls when !HAVE_INLINE.  Do not define unless
14270         static_inline is defined, either by us or by xmalloc.c.  Use
14271         static_inline rather than static inline.
14272         (XCALLOC): Optimize sizeof(T) = 1 case.
14273         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
14274
14275 2006-11-07  Bruno Haible  <bruno@clisp.org>
14276
14277         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
14278         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
14279         AC_C_INLINE.
14280         * modules/xalloc (Files): Add m4/inline.m4.
14281
14282 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14283
14284         * README: Fix typo.
14285         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
14286         (Miscellanous Notes): ...from this.
14287
14288 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
14289
14290         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
14291         Mention that offsetof should be used instead of sizeof.
14292         From Bruno Haible.
14293
14294 2006-11-07  Bruno Haible  <bruno@clisp.org>
14295
14296         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
14297
14298 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
14299
14300         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
14301         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
14302         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
14303         (gl_tree_add_before, gl_tree_add_after):
14304         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
14305         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
14306         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
14307         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
14308         (gl_linked_add_after, gl_linked_add_at): Likewise.
14309         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
14310         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
14311         (gl_tree_add_before, gl_tree_add_after): Likewise.
14312         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
14313         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
14314         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
14315
14316 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14317
14318         * lib/gl_oset.h: Use C comment style, not C++ comment style.
14319
14320 2006-11-06  Bruno Haible  <bruno@clisp.org>
14321
14322         * m4/inline.m4: New file.
14323         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
14324         * modules/list (Files): Add m4/inline.m4.
14325         * modules/oset (Files): Likewise.
14326
14327 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
14328
14329         * lib/idcache.c: Include <stddef.h>, for offsetof.
14330         (struct userid.name): Change from char * to a flexible array member.
14331         All uses changed.
14332         * modules/idcache (Depends-on): Add flexmember.
14333
14334         * MODULES.html.sh (Core language properties): New module flexmember.
14335         * modules/flexmember, m4/flexmember.m4: New files.
14336
14337         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
14338         inline functions that are identical with the old xnmalloc_inline,
14339         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
14340         that we can avoid some unnecessary integer multiplications and
14341         divisions in the common case where the element size is known at
14342         compile time.
14343         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
14344         needed.
14345         (xnboundedmalloc): Remove.
14346         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
14347         arguments, for consistency with rest of this header.
14348         (xcharalloc): Rewrite using XNMALLOC.
14349         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
14350         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
14351         versions have been moved to lib/xalloc.h and renamed to be the
14352         non-*_inline versions.
14353         (xmalloc, xrealloc): Implement without reference to the xnmalloc
14354         and xnrealloc functions, since those functions are now inline and
14355         now call us.
14356         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
14357         renaming described above.
14358         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
14359         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
14360         captures the dependency in AC_C_INLINE.
14361
14362         New module canonicalize-lgpl, proposed by Charles Wilson in
14363         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
14364         with a few small changes afterwards.
14365         * MODULES.html.sh (File system functions): New module
14366         canonicalize-lgpl.
14367         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
14368         and canonicalize_file_name.
14369         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
14370         * modules/canonicalize-lgpl: New files.
14371
14372 2006-11-05  Bruno Haible  <bruno@clisp.org>
14373
14374         * gnulib-tool (func_import, func_create_testdir): Create directories
14375         also for files in subdirectories of lib/.
14376
14377 2006-11-05  Bruno Haible  <bruno@clisp.org>
14378
14379         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
14380         ANSI C compliant.
14381
14382 2006-11-03  Bruno Haible  <bruno@clisp.org>
14383
14384         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
14385         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
14386         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
14387         (xnboundedmalloc): New inline function.
14388         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
14389         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
14390         xmalloc.
14391         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
14392         xmalloc.
14393         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
14394         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
14395         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
14396         xmalloc.
14397         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
14398         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
14399         xmalloc.
14400         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
14401         gl_tree_add_after): Use XMALLOC instead of xmalloc.
14402         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
14403         xmalloc.
14404         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
14405         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
14406         gl_tree_add_after): Use XMALLOC instead of xmalloc.
14407         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
14408         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
14409         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
14410         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
14411
14412 2006-11-03  Bruno Haible  <bruno@clisp.org>
14413
14414         * lib/c-ctype.h [C++]: Define functions without name mangling.
14415         * lib/fwriteerror.h [C++]: Likewise.
14416         * lib/gcd.h [C++]: Likewise.
14417         * lib/linebreak.h [C++]: Likewise.
14418
14419 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
14420
14421         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
14422         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
14423         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
14424         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
14425         Check for functions and headers just once.
14426         Check for declaration of canonicalize_file_name.
14427         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
14428
14429 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
14430
14431         * gnulib-tool (func_import): Fix typo in actioncmd.
14432
14433 2006-11-02  Bruno Haible  <bruno@clisp.org>
14434
14435         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
14436         newline sequence in the Makefile.am snippet as a space, like "make"
14437         does.
14438         Reported by Roger Persson <perrog@gmail.com>.
14439
14440 2006-11-01  Bruno Haible  <bruno@clisp.org>
14441
14442         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
14443         already declared in <string.h>.
14444         * lib/strcase.h (strncasecmp): Don't declare it if yes.
14445
14446 2006-11-01  Bruno Haible  <bruno@clisp.org>
14447
14448         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
14449         * lib/strcase.h: Include <string.h>.
14450         (strcasecmp): Define to rpl_strcasecmp here.
14451
14452 2006-11-01  Bruno Haible  <bruno@clisp.org>
14453
14454         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
14455
14456 2006-11-01  Eric Blake  <ebb9@byu.net>
14457
14458         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
14459
14460         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
14461
14462 2006-10-29  Bruno Haible  <bruno@clisp.org>
14463
14464         Make it compile in C++ mode.
14465         * lib/full-write.c (full_rw): Add a cast.
14466
14467 2006-11-01  Bruno Haible  <bruno@clisp.org>
14468
14469         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
14470         be POSIX compliant.
14471         Reported by Roger Persson <perrog@gmail.com>.
14472
14473 2006-11-01  Eric Blake  <ebb9@byu.net>
14474
14475         * lib/getopt_.h: Fix comments.
14476
14477 2006-10-31  Eric Blake  <ebb9@byu.net>
14478
14479         * modules/tmpdir (Depends-on): Add sys_stat.
14480         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
14481         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
14482         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
14483         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
14484         tempname.
14485
14486 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
14487
14488         Avoid some C++ diagnostics reported by Bruno Haible.
14489         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
14490         xmalloc.
14491         (quotearg_alloc): Use xcharalloc rather than xmalloc.
14492         (struct slotvec): Move to top level.
14493         (quotearg_n_options): Rewrite to avoid xmalloc.
14494         * lib/xalloc.h (xcharalloc): New function.
14495         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
14496         [defined __cplusplus]: Add function template that provides result
14497         type propagation.  This part of the change is from Bruno Haible.
14498
14499 2006-10-29  Bruno Haible  <bruno@clisp.org>
14500
14501         Make it compile in C++ mode.
14502         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
14503         * lib/strnlen1.c (strnlen1): Cast memchr result.
14504         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
14505         * lib/clean-temp.c (string_equals, string_hash): Add casts.
14506         (create_temp_dir): Rename local variable 'template'.
14507         (compile_csharp_using_sscli): Add cast.
14508         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
14509         * lib/findprog.c (find_in_path): Likewise.
14510         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
14511         * lib/wait-process.c (register_slave_subprocess): Likewise.
14512
14513 2006-10-22  Bruno Haible  <bruno@clisp.org>
14514
14515         * modules/tsearch: New file.
14516         * lib/tsearch.h: New file.
14517         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
14518         * m4/tsearch.m4: New file.
14519         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
14520
14521 2006-10-29  Eric Blake  <ebb9@byu.net>
14522
14523         * lib/arcfour.c: Assume config.h.
14524         * lib/arctwo.c: Likewise.
14525         * lib/base64.c: Likewise.
14526         * lib/check-version.c: Likewise.
14527         * lib/crc.c: Likewise.
14528         * lib/des.c: Likewise.
14529         * lib/gc-gnulib.c: Likewise.
14530         * lib/gc-libgcrypt.c: Likewise.
14531         * lib/gc-pbkdf2-sha1.c: Likewise.
14532         * lib/getaddrinfo.c: Likewise.
14533         * lib/getdelim.c: Likewise.
14534         * lib/getline.c: Likewise.
14535         * lib/hmac-md5.c: Likewise.
14536         * lib/hmac-sha1.c: Likewise.
14537         * lib/iconvme.c: Likewise.
14538         * lib/md2.c: Likewise.
14539         * lib/md4.c: Likewise.
14540         * lib/memxor.c: Likewise.
14541         * lib/read-file.c: Likewise.
14542         * lib/readline.c: Likewise.
14543         * lib/rijndael-alg-fst.c: Likewise.
14544         * lib/rijndael-api-fst.c: Likewise.
14545         * lib/xgetdomainname.c: Likewise.
14546
14547 2006-10-28  Eric Blake  <ebb9@byu.net>
14548
14549         * lib/xstrndup.c: Assume config.h.
14550
14551 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
14552
14553         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
14554         stat-macros.h is now for our own macros, whereas stat_h is for
14555         macros in the <sys/stat.h> name space.
14556         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
14557         (STAT_MACROS_H): Remove.
14558         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
14559         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
14560         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
14561         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
14562         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
14563         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
14564         Move these macros to ...
14565         * lib/stat_.h: here.  Don't include stat-macros.h.
14566         * lib/canonicalize.c: Don't include stat-macros.h.
14567         * lib/chown.c: Likewise.
14568         * lib/euidaccess.c: Likewise.
14569         * lib/file-type.c: Likewise.
14570         * lib/filemode.c: Likewise.
14571         * lib/glob.c: Likewise.
14572         * lib/isapipe.c: Likewise.
14573         * lib/lchown.c: Likewise.
14574         * lib/lstat.c: Likewise.
14575         * lib/mkdir-p.c: Likewise.
14576         * lib/rmdir.c: Likewise.
14577         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
14578         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
14579         unless mkdir isn't declared, to speed up 'configure'.
14580         Always create sys/stat.h, since it's unlikely any real sys/stat.h
14581         would define all the S_* symbols.
14582         * modules/canonicalize (Depends-on):
14583         Depend on sys_stat, not stat-macros.
14584         * modules/chown: Likewise.
14585         * modules/euidaccess: Likewise.
14586         * modules/filemode: Likewise.
14587         * modules/file-type: Likewise.
14588         * modules/glob: Likewise.
14589         * modules/isapipe: Likewise.
14590         * modules/lchown: Likewise.
14591         * modules/lstat: Likewise.
14592         * modules/mkancesdirs: Likewise.
14593         * modules/rmdir: Likewise.
14594         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
14595         * modules/modechange: Likewise.
14596         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
14597         (configure.ac): Remove gl_STAT_MACROS.
14598         * modules/sys_stat (Depends-on): Remove stat-macros.
14599
14600 2006-10-27  Bruno Haible  <bruno@clisp.org>
14601
14602         * m4/signed.m4: Remove file.
14603         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
14604         invocation.
14605         * modules/vasnprintf (Files): Remove m4/signed.m4.
14606
14607 2006-10-27  Bruno Haible  <bruno@clisp.org>
14608
14609         Update to GNU gettext 0.16.
14610         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
14611         m4/inttypes-h.m4, m4/signed.m4.
14612         * m4/gettext.m4: Update to GNU gettext 0.16.
14613         * m4/intl.m4: New file, from GNU gettext.
14614         * m4/intldir.m4: New file, from GNU gettext.
14615         * config/srclist.txt: Update
14616
14617 2006-10-27  Eric Blake  <ebb9@byu.net>
14618
14619         * MODULES.html.sh: Document tempname.
14620         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
14621         dependencies.
14622         (Files): Move lib/tempname.c...
14623         * modules/tempname: ...to this new module.
14624         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
14625         (gl_PREREQ_TEMPNAME): Move...
14626         * m4/tempname.m4: ...to this new file.
14627         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
14628         * modules/sys_stat (Depends-on): Add stat-macros.
14629         * lib/stat_.h (includes): Pick up stat macros.
14630         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
14631         if stat macros are broken.
14632         * lib/tempname.c (includes): No need to include "stat-macros.h".
14633         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
14634         (direxists, __path_search) [!_LIBC]: Don't compile these in
14635         gnulib; the tmpdir module covers that.
14636         * lib/tempname.h: New file.
14637
14638 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
14639
14640         * COPYING: Explain how gnulib-tool converts licence headers.
14641         Almost all wording by Eric Blake.
14642
14643 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
14644
14645         * lib/mbchar.h (is_basic_table): Make read-only.
14646         * lib/mbchar.c (is_basic_table): Likewise.
14647         Reported by John Darrington.
14648
14649 2006-10-25  Bruno Haible  <bruno@clisp.org>
14650
14651         * lib/progname.h (set_program_name): Undefine before defining.
14652
14653 2006-10-25  Bruno Haible  <bruno@clisp.org>
14654
14655         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
14656         false for non-gcc C++ compilers.
14657         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
14658
14659 2006-10-24  Bruno Haible  <bruno@clisp.org>
14660
14661         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
14662         iconv implementations like Irix iconv.
14663
14664 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
14665
14666         * modules/vararrays: New file.
14667         * m4/vararrays.m4: New file, taken from diffutils.
14668         * MODULES.html.sh: New module vararrays.
14669
14670 2006-10-24  Karl Berry  <karl@gnu.org>
14671
14672         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
14673         Don't call GNU Unix.
14674
14675 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14676
14677         * users.txt: Add Libtool.
14678
14679         Sync from Libtool:
14680
14681         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
14682
14683         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
14684         to gnulib's policy of including config.h unconditionally.
14685
14686 2006-10-24  Bruno Haible  <bruno@clisp.org>
14687
14688         * modules/wcwidth (Files): Add m4/wint_t.m4.
14689         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
14690         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
14691
14692 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
14693
14694         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
14695         to pacify GCC with some -W flags enabled.  Problem reported by
14696         Bruno Haible.
14697
14698 2006-10-24  Jim Meyering  <jim@meyering.net>
14699
14700         * MODULES.html.sh: Remove uinttostr.  It's not a module.
14701         Reported by Karl Berry.
14702
14703 2006-10-23  Bruno Haible  <bruno@clisp.org>
14704
14705         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
14706
14707 2006-10-24  Bruno Haible  <bruno@clisp.org>
14708
14709         * lib/gl_list.h: Use C comment style, not C++ comment style.
14710
14711 2006-10-23  Eric Blake  <ebb9@byu.net>
14712
14713         * lib/getaddrinfo.c (includes): Add missing include.
14714
14715 2006-10-23  Bruno Haible  <bruno@clisp.org>
14716             Paul Eggert  <eggert@cs.ucla.edu>
14717
14718         Ability to rename obstack_free.
14719         * lib/obstack.h (__obstack_free): New macro. Declare instead of
14720         obstack_free.
14721         (obstack_free): Invoke the __obstack_free macro.
14722         * lib/obstack.c (obstack_free): Use __obstack_free macro.
14723
14724 2006-10-23  Bruno Haible  <bruno@clisp.org>
14725             Paul Eggert  <eggert@cs.ucla.edu>
14726
14727         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
14728         __argc, __argv from the declaration. (They are defined as macros on
14729         mingw.)
14730
14731 2006-10-22  Bruno Haible  <bruno@clisp.org>
14732
14733         * doc/gnulib-intro.texi: New file.
14734         * doc/gnulib.texi: Include it.
14735
14736 2006-10-21  Bruno Haible  <bruno@clisp.org>
14737
14738         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
14739         "Introduction", "Miscellanous Notes", "Particular Modules".
14740
14741 2006-10-21  Bruno Haible  <bruno@clisp.org>
14742
14743         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14744         Change mostlyclean-local rule to avoid sh syntax error from bash
14745         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
14746
14747 2006-10-23  Jim Meyering  <jim@meyering.net>
14748
14749         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
14750         in place of snprintf.
14751
14752         * modules/inttostr (Files): Add lib/uinttostr.c.
14753         * lib/uinttostr.c (inttostr): New file/function.
14754         * lib/inttostr.h (uinttostr): Declare.
14755         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
14756         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
14757         Add uinttostr.
14758         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
14759
14760 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
14761
14762         * lib/canonicalize.c (ELOOP): Define if not already defined.
14763         Problem reported by Bruno Haible in
14764         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
14765
14766 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
14767
14768         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
14769         Problem reported by Perry Smith and Ville Laurikari.
14770
14771         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
14772         uses.
14773
14774 2006-10-19  Bruno Haible  <bruno@clisp.org>
14775
14776         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
14777         for mingw.
14778
14779 2006-10-19  Bruno Haible  <bruno@clisp.org>
14780
14781         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
14782         Needed for mingw.
14783
14784 2006-10-19  Bruno Haible  <bruno@clisp.org>
14785
14786         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
14787
14788 2006-10-19  Bruno Haible  <bruno@clisp.org>
14789
14790         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
14791         it.
14792
14793 2006-10-19  Bruno Haible  <bruno@clisp.org>
14794
14795         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
14796         invocation.
14797
14798 2006-10-19  Bruno Haible  <bruno@clisp.org>
14799
14800         * gnulib-tool (func_create_testdir): Don't include ftruncate and
14801         mountlist by default.
14802
14803 2006-10-16  Bruno Haible  <bruno@clisp.org>
14804
14805         * lib/c-strstr.c: Include c-strstr.h.
14806
14807 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
14808
14809         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
14810         in a slash.
14811
14812 2006-10-18  Bruno Haible  <bruno@clisp.org>
14813
14814         * lib/lock.h [C++]: Wrap definitions in extern "C".
14815
14816 2006-10-18  Bruno Haible  <bruno@clisp.org>
14817
14818         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
14819         gl_LIBOBJS list.
14820
14821 2006-10-18  Bruno Haible  <bruno@clisp.org>
14822
14823         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
14824
14825 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
14826
14827         * lib/xstrtol.h: Include gettext.h.
14828         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
14829         Problem reported by Eric Blake.
14830         * modules/xstrtol (Depends-on): Add gettext-h.
14831
14832 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
14833
14834         * lib/strftime.c (advance): New macro.
14835         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
14836         incomplete type, so you can't add 0 to it.  Problem and patch
14837         reported by Eelco Dolstra for dietlibc.
14838
14839 2006-10-18  Jim Meyering  <jim@meyering.net>
14840
14841         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
14842         type for a local, and rename it: s/up/user_proc/.
14843
14844 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
14845
14846         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
14847         READ_UTMP_USER_PROCESS.
14848         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
14849
14850 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
14851
14852         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
14853         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
14854
14855 2006-10-17  Eric Blake  <ebb9@byu.net>
14856
14857         * lib/sigprocmask.c (sigprocmask): Fix typo.
14858
14859         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
14860
14861         * modules/clean-temp (Makefile.am): Don't add to make output...
14862         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
14863         config.h.
14864
14865 2006-10-17  Bruno Haible  <bruno@clisp.org>
14866
14867         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
14868         differently if DEFAULT_TEXT_DOMAIN is set.
14869
14870 2006-10-16  Bruno Haible  <bruno@clisp.org>
14871
14872         * lib/clean-temp.c: Include fwriteerror.h.
14873
14874 2006-10-16  Bruno Haible  <bruno@clisp.org>
14875
14876         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
14877
14878 2006-10-16  Bruno Haible  <bruno@clisp.org>
14879
14880         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
14881         * lib/sigprocmask.h: Include <sys/types.h>.
14882         (sigset_t): Use the system's definition if present.
14883
14884 2006-10-17  Eric Blake  <ebb9@byu.net>
14885
14886         * lib/xvasprintf.c (includes): Assume config.h.
14887         * lib/xasprintf.c (includes): Likewise.
14888
14889 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
14890
14891         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
14892         at least as wide as intmax_t.
14893
14894 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
14895
14896         (Imported from Automake.)
14897         * build-aux/gnupload: Update to version 1.1 of directive file.
14898
14899 2006-10-16  Eric Blake  <ebb9@byu.net>
14900
14901         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
14902         match Automake 1.10a.
14903
14904 2006-10-14  Bruno Haible  <bruno@clisp.org>
14905
14906         * modules/sigprocmask: New file.
14907         * lib/sigprocmask.h: New file.
14908         * lib/sigprocmask.c: New file.
14909         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
14910         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
14911         request sigprocmask.o.
14912         (gl_PREREQ_SIGPROCMASK): New macro.
14913         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
14914         (Depends-on): Add sigprocmask.
14915         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
14916         gt_SIGNALBLOCKING. Test for 'raise' only once.
14917         * lib/fatal-signal.c: Include sigprocmask.h.
14918         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
14919         unblock_fatal_signals): Define always.
14920         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14921         sigprocmask.
14922
14923 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
14924
14925         Sync from Automake.
14926         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
14927         which incorrectly sets the mode of an existing destination
14928         directory.  In some cases the unpatched install-sh could do the
14929         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
14930         system.  We hope this is rare in practice, but it's clearly worth
14931         fixing.  Problem reported by Alex Unleashed in
14932         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
14933         Also, don't bother to check for -m bugs unless we're using -m;
14934         suggested by Stepan Kasal.
14935
14936 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14937
14938         Sync from Automake.
14939         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
14940         `-c' flag, so they appear at the same position as in %FASTDEP%
14941         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
14942         which ignores unknown options only after the first non-option.
14943         Bug report against M4 by Nelson H. F. Beebe.
14944
14945 2006-10-13  Jim Meyering  <jim@meyering.net>
14946
14947         Fix a bug in yesterday's change.
14948         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
14949         p->fts_statp->st_dev would be used uninitialized.
14950         Ensures that we always call fts_stat on the very first entry.
14951         Miklos Szeredi reported that find -xdev stopped working.
14952
14953 2006-10-12  Bruno Haible  <bruno@clisp.org>
14954
14955         * gnulib-tool (func_get_automake_snippet): Append an automatically
14956         computed EXTRA_DIST augmentation.
14957         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
14958         * modules/alloca-opt (Makefile.am): Likewise.
14959         * modules/allocsa (Makefile.am): Likewise.
14960         * modules/arcfour (Makefile.am): Likewise.
14961         * modules/arctwo (Makefile.am): Likewise.
14962         * modules/argmatch (Makefile.am): Likewise.
14963         * modules/argz (Makefile.am): Likewise.
14964         * modules/atexit (Makefile.am): Likewise.
14965         * modules/backupfile (Makefile.am): Likewise.
14966         * modules/byteswap (Makefile.am): Likewise.
14967         * modules/c-strtod (Makefile.am): Likewise.
14968         * modules/c-strtold (Makefile.am): Likewise.
14969         * modules/calloc (Makefile.am): Likewise.
14970         * modules/canon-host (Makefile.am): Likewise.
14971         * modules/canonicalize (Makefile.am): Likewise.
14972         * modules/chdir-long (Makefile.am): Likewise.
14973         * modules/chdir-safer (Makefile.am): Likewise.
14974         * modules/check-version (Makefile.am): Likewise.
14975         * modules/chown (Makefile.am): Likewise.
14976         * modules/cloexec (Makefile.am): Likewise.
14977         * modules/close-stream (Makefile.am): Likewise.
14978         * modules/closeout (Makefile.am): Likewise.
14979         * modules/crc (Makefile.am): Likewise.
14980         * modules/csharpexec (Makefile.am): Likewise.
14981         * modules/cycle-check (Makefile.am): Likewise.
14982         * modules/des (Makefile.am): Likewise.
14983         * modules/dev-ino (Makefile.am): Likewise.
14984         * modules/dirfd (Makefile.am): Likewise.
14985         * modules/dirname (Makefile.am): Likewise.
14986         * modules/dup2 (Makefile.am): Likewise.
14987         * modules/eealloc (Makefile.am): Likewise.
14988         * modules/error (Makefile.am): Likewise.
14989         * modules/euidaccess (Makefile.am): Likewise.
14990         * modules/exclude (Makefile.am): Likewise.
14991         * modules/exitfail (Makefile.am): Likewise.
14992         * modules/fcntl-safer (Makefile.am): Likewise.
14993         * modules/fcntl (Makefile.am): Likewise.
14994         * modules/file-type (Makefile.am): Likewise.
14995         * modules/fileblocks (Makefile.am): Likewise.
14996         * modules/filemode (Makefile.am): Likewise.
14997         * modules/filenamecat (Makefile.am): Likewise.
14998         * modules/fnmatch (Makefile.am): Likewise.
14999         * modules/fopen-safer (Makefile.am): Likewise.
15000         * modules/fpending (Makefile.am): Likewise.
15001         * modules/fprintftime (Makefile.am): Likewise.
15002         * modules/free (Makefile.am): Likewise.
15003         * modules/fsusage (Makefile.am): Likewise.
15004         * modules/ftruncate (Makefile.am): Likewise.
15005         * modules/fts (Makefile.am): Likewise.
15006         * modules/gc-arcfour (Makefile.am): Likewise.
15007         * modules/gc-des (Makefile.am): Likewise.
15008         * modules/gc-hmac-md5 (Makefile.am): Likewise.
15009         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
15010         * modules/gc-md4 (Makefile.am): Likewise.
15011         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
15012         * modules/gc-sha1 (Makefile.am): Likewise.
15013         * modules/gc (Makefile.am): Likewise.
15014         * modules/getaddrinfo (Makefile.am): Likewise.
15015         * modules/getcwd (Makefile.am): Likewise.
15016         * modules/getdelim (Makefile.am): Likewise.
15017         * modules/getdomainname (Makefile.am): Likewise.
15018         * modules/getgroups (Makefile.am): Likewise.
15019         * modules/gethostname (Makefile.am): Likewise.
15020         * modules/gethrxtime (Makefile.am): Likewise.
15021         * modules/getline (Makefile.am): Likewise.
15022         * modules/getloadavg (Makefile.am): Likewise.
15023         * modules/getlogin_r (Makefile.am): Likewise.
15024         * modules/getndelim2 (Makefile.am): Likewise.
15025         * modules/getopt (Makefile.am): Likewise.
15026         * modules/getpagesize (Makefile.am): Likewise.
15027         * modules/getpass-gnu (Makefile.am): Likewise.
15028         * modules/getpass (Makefile.am): Likewise.
15029         * modules/getsubopt (Makefile.am): Likewise.
15030         * modules/gettime (Makefile.am): Likewise.
15031         * modules/gettimeofday (Makefile.am): Likewise.
15032         * modules/getugroups (Makefile.am): Likewise.
15033         * modules/getusershell (Makefile.am): Likewise.
15034         * modules/glob (Makefile.am): Likewise.
15035         * modules/group-member (Makefile.am): Likewise.
15036         * modules/hard-locale (Makefile.am): Likewise.
15037         * modules/hash (Makefile.am): Likewise.
15038         * modules/hmac-md5 (Makefile.am): Likewise.
15039         * modules/hmac-sha1 (Makefile.am): Likewise.
15040         * modules/human (Makefile.am): Likewise.
15041         * modules/idcache (Makefile.am): Likewise.
15042         * modules/imaxabs (Makefile.am): Likewise.
15043         * modules/imaxdiv (Makefile.am): Likewise.
15044         * modules/inet_ntop (Makefile.am): Likewise.
15045         * modules/inet_pton (Makefile.am): Likewise.
15046         * modules/intprops (Makefile.am): Likewise.
15047         * modules/inttostr (Makefile.am): Likewise.
15048         * modules/inttypes (Makefile.am): Likewise.
15049         * modules/isapipe (Makefile.am): Likewise.
15050         * modules/javaversion (Makefile.am): Likewise.
15051         * modules/lchmod (Makefile.am): Likewise.
15052         * modules/lchown (Makefile.am): Likewise.
15053         * modules/localcharset (Makefile.am): Likewise.
15054         * modules/long-options (Makefile.am): Likewise.
15055         * modules/lstat (Makefile.am): Likewise.
15056         * modules/malloc (Makefile.am): Likewise.
15057         * modules/mathl (Makefile.am): Likewise.
15058         * modules/mbchar (Makefile.am): Likewise.
15059         * modules/md2 (Makefile.am): Likewise.
15060         * modules/md4 (Makefile.am): Likewise.
15061         * modules/md5 (Makefile.am): Likewise.
15062         * modules/memcasecmp (Makefile.am): Likewise.
15063         * modules/memchr (Makefile.am): Likewise.
15064         * modules/memcmp (Makefile.am): Likewise.
15065         * modules/memcoll (Makefile.am): Likewise.
15066         * modules/memcpy (Makefile.am): Likewise.
15067         * modules/memmem (Makefile.am): Likewise.
15068         * modules/memmove (Makefile.am): Likewise.
15069         * modules/mempcpy (Makefile.am): Likewise.
15070         * modules/memrchr (Makefile.am): Likewise.
15071         * modules/memset (Makefile.am): Likewise.
15072         * modules/memxor (Makefile.am): Likewise.
15073         * modules/mkancesdirs (Makefile.am): Likewise.
15074         * modules/mkdir-p (Makefile.am): Likewise.
15075         * modules/mkdir (Makefile.am): Likewise.
15076         * modules/mkdtemp (Makefile.am): Likewise.
15077         * modules/mkstemp (Makefile.am): Likewise.
15078         * modules/mktime (Makefile.am): Likewise.
15079         * modules/modechange (Makefile.am): Likewise.
15080         * modules/mountlist (Makefile.am): Likewise.
15081         * modules/nanosleep (Makefile.am): Likewise.
15082         * modules/obstack (Makefile.am): Likewise.
15083         * modules/openat (Makefile.am): Likewise.
15084         * modules/pagealign_alloc (Makefile.am): Likewise.
15085         * modules/pathmax (Makefile.am): Likewise.
15086         * modules/physmem (Makefile.am): Likewise.
15087         * modules/poll (Makefile.am): Likewise.
15088         * modules/posixtm (Makefile.am): Likewise.
15089         * modules/posixver (Makefile.am): Likewise.
15090         * modules/putenv (Makefile.am): Likewise.
15091         * modules/quote (Makefile.am): Likewise.
15092         * modules/quotearg (Makefile.am): Likewise.
15093         * modules/raise (Makefile.am): Likewise.
15094         * modules/read-file (Makefile.am): Likewise.
15095         * modules/readline (Makefile.am): Likewise.
15096         * modules/readlink (Makefile.am): Likewise.
15097         * modules/readtokens (Makefile.am): Likewise.
15098         * modules/readutmp (Makefile.am): Likewise.
15099         * modules/realloc (Makefile.am): Likewise.
15100         * modules/regex (Makefile.am): Likewise.
15101         * modules/rename-dest-slash (Makefile.am): Likewise.
15102         * modules/rename (Makefile.am): Likewise.
15103         * modules/rijndael (Makefile.am): Likewise.
15104         * modules/rmdir (Makefile.am): Likewise.
15105         * modules/rpmatch (Makefile.am): Likewise.
15106         * modules/safe-read (Makefile.am): Likewise.
15107         * modules/safe-write (Makefile.am): Likewise.
15108         * modules/same-inode (Makefile.am): Likewise.
15109         * modules/same (Makefile.am): Likewise.
15110         * modules/save-cwd (Makefile.am): Likewise.
15111         * modules/savedir (Makefile.am): Likewise.
15112         * modules/setenv (Makefile.am): Likewise.
15113         * modules/settime (Makefile.am): Likewise.
15114         * modules/sha1 (Makefile.am): Likewise.
15115         * modules/sig2str (Makefile.am): Likewise.
15116         * modules/snprintf (Makefile.am): Likewise.
15117         * modules/stat-macros (Makefile.am): Likewise.
15118         * modules/stat-time (Makefile.am): Likewise.
15119         * modules/stdbool (Makefile.am): Likewise.
15120         * modules/stdint (Makefile.am): Likewise.
15121         * modules/stdlib-safer (Makefile.am): Likewise.
15122         * modules/stpcpy (Makefile.am): Likewise.
15123         * modules/stpncpy (Makefile.am): Likewise.
15124         * modules/strcase (Makefile.am): Likewise.
15125         * modules/strcasestr (Makefile.am): Likewise.
15126         * modules/strchrnul (Makefile.am): Likewise.
15127         * modules/strcspn (Makefile.am): Likewise.
15128         * modules/strdup (Makefile.am): Likewise.
15129         * modules/strerror (Makefile.am): Likewise.
15130         * modules/strftime (Makefile.am): Likewise.
15131         * modules/strndup (Makefile.am): Likewise.
15132         * modules/strnlen (Makefile.am): Likewise.
15133         * modules/strpbrk (Makefile.am): Likewise.
15134         * modules/strsep (Makefile.am): Likewise.
15135         * modules/strstr (Makefile.am): Likewise.
15136         * modules/strtod (Makefile.am): Likewise.
15137         * modules/strtoimax (Makefile.am): Likewise.
15138         * modules/strtok_r (Makefile.am): Likewise.
15139         * modules/strtol (Makefile.am): Likewise.
15140         * modules/strtoll (Makefile.am): Likewise.
15141         * modules/strtoul (Makefile.am): Likewise.
15142         * modules/strtoull (Makefile.am): Likewise.
15143         * modules/strtoumax (Makefile.am): Likewise.
15144         * modules/strverscmp (Makefile.am): Likewise.
15145         * modules/sys_socket (Makefile.am): Likewise.
15146         * modules/sys_stat (Makefile.am): Likewise.
15147         * modules/sysexits (Makefile.am): Likewise.
15148         * modules/time_r (Makefile.am): Likewise.
15149         * modules/timegm (Makefile.am): Likewise.
15150         * modules/timespec (Makefile.am): Likewise.
15151         * modules/tmpfile-safer (Makefile.am): Likewise.
15152         * modules/trim (Makefile.am): Likewise.
15153         * modules/unistd-safer (Makefile.am): Likewise.
15154         * modules/unlinkdir (Makefile.am): Likewise.
15155         * modules/unlocked-io (Makefile.am): Likewise.
15156         * modules/userspec (Makefile.am): Likewise.
15157         * modules/utime (Makefile.am): Likewise.
15158         * modules/utimecmp (Makefile.am): Likewise.
15159         * modules/utimens (Makefile.am): Likewise.
15160         * modules/vasnprintf (Makefile.am): Likewise.
15161         * modules/vasprintf (Makefile.am): Likewise.
15162         * modules/vsnprintf (Makefile.am): Likewise.
15163         * modules/xalloc (Makefile.am): Likewise.
15164         * modules/xgetcwd (Makefile.am): Likewise.
15165         * modules/xnanosleep (Makefile.am): Likewise.
15166         * modules/xreadlink (Makefile.am): Likewise.
15167         * modules/xstrtod (Makefile.am): Likewise.
15168         * modules/xstrtol (Makefile.am): Likewise.
15169         * modules/xstrtold (Makefile.am): Likewise.
15170         * modules/yesno (Makefile.am): Likewise.
15171         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
15172
15173 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
15174
15175         * modules/error (Makefile.am): Distribute files through
15176         EXTRA_DIST, not lib_SOURCES.
15177
15178 2006-10-12  Eric Blake  <ebb9@byu.net>
15179
15180         * modules/error (Makefile.am): Distribute files in /lib.
15181         * modules/obstack (Makefile.am): Likewise.
15182
15183 2006-10-12  Bruno Haible  <bruno@clisp.org>
15184
15185         * modules/acl (Makefile.am): Distribute all files in lib/ through
15186         EXTRA_DIST.
15187         * modules/arcfour (Makefile.am): Likewise.
15188         * modules/arctwo (Makefile.am): Likewise.
15189         * modules/argmatch (Makefile.am): Likewise.
15190         * modules/argz (Makefile.am): Likewise.
15191         * modules/atexit (Makefile.am): Likewise.
15192         * modules/backupfile (Makefile.am): Likewise.
15193         * modules/c-strtod (Makefile.am): Likewise.
15194         * modules/c-strtold (Makefile.am): Likewise.
15195         * modules/calloc (Makefile.am): Likewise.
15196         * modules/canon-host (Makefile.am): Likewise.
15197         * modules/canonicalize (Makefile.am): Likewise.
15198         * modules/chdir-long (Makefile.am): Likewise.
15199         * modules/chdir-safer (Makefile.am): Likewise.
15200         * modules/check-version (Makefile.am): Likewise.
15201         * modules/chown (Makefile.am): Likewise.
15202         * modules/cloexec (Makefile.am): Likewise.
15203         * modules/close-stream (Makefile.am): Likewise.
15204         * modules/closeout (Makefile.am): Likewise.
15205         * modules/crc (Makefile.am): Likewise.
15206         * modules/cycle-check (Makefile.am): Likewise.
15207         * modules/des (Makefile.am): Likewise.
15208         * modules/dirfd (Makefile.am): Likewise.
15209         * modules/dirname (Makefile.am): Likewise.
15210         * modules/dup2 (Makefile.am): Likewise.
15211         * modules/euidaccess (Makefile.am): Likewise.
15212         * modules/exclude (Makefile.am): Likewise.
15213         * modules/exitfail (Makefile.am): Likewise.
15214         * modules/fcntl-safer (Makefile.am): Likewise.
15215         * modules/file-type (Makefile.am): Likewise.
15216         * modules/fileblocks (Makefile.am): Likewise.
15217         * modules/filemode (Makefile.am): Likewise.
15218         * modules/filenamecat (Makefile.am): Likewise.
15219         * modules/fnmatch (Makefile.am): Likewise.
15220         * modules/fopen-safer (Makefile.am): Likewise.
15221         * modules/fpending (Makefile.am): Likewise.
15222         * modules/fprintftime (Makefile.am): Likewise.
15223         * modules/free (Makefile.am): Likewise.
15224         * modules/fsusage (Makefile.am): Likewise.
15225         * modules/ftruncate (Makefile.am): Likewise.
15226         * modules/fts (Makefile.am): Likewise.
15227         * modules/gc (Makefile.am): Likewise.
15228         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
15229         * modules/getaddrinfo (Makefile.am): Likewise.
15230         * modules/getcwd (Makefile.am): Likewise.
15231         * modules/getdelim (Makefile.am): Likewise.
15232         * modules/getdomainname (Makefile.am): Likewise.
15233         * modules/getgroups (Makefile.am): Likewise.
15234         * modules/gethostname (Makefile.am): Likewise.
15235         * modules/gethrxtime (Makefile.am): Likewise.
15236         * modules/getline (Makefile.am): Likewise.
15237         * modules/getloadavg (Makefile.am): Likewise.
15238         * modules/getlogin_r (Makefile.am): Likewise.
15239         * modules/getopt (Makefile.am): Likewise.
15240         * modules/getpass (Makefile.am): Likewise.
15241         * modules/getpass-gnu (Makefile.am): Likewise.
15242         * modules/getsubopt (Makefile.am): Likewise.
15243         * modules/gettime (Makefile.am): Likewise.
15244         * modules/gettimeofday (Makefile.am): Likewise.
15245         * modules/getugroups (Makefile.am): Likewise.
15246         * modules/getusershell (Makefile.am): Likewise.
15247         * modules/glob (Makefile.am): Likewise.
15248         * modules/group-member (Makefile.am): Likewise.
15249         * modules/hard-locale (Makefile.am): Likewise.
15250         * modules/hash (Makefile.am): Likewise.
15251         * modules/hmac-md5 (Makefile.am): Likewise.
15252         * modules/hmac-sha1 (Makefile.am): Likewise.
15253         * modules/human (Makefile.am): Likewise.
15254         * modules/idcache (Makefile.am): Likewise.
15255         * modules/imaxabs (Makefile.am): Likewise.
15256         * modules/imaxdiv (Makefile.am): Likewise.
15257         * modules/inet_ntop (Makefile.am): Likewise.
15258         * modules/inet_pton (Makefile.am): Likewise.
15259         * modules/inttostr (Makefile.am): Likewise.
15260         * modules/isapipe (Makefile.am): Likewise.
15261         * modules/lchown (Makefile.am): Likewise.
15262         * modules/long-options (Makefile.am): Likewise.
15263         * modules/lstat (Makefile.am): Likewise.
15264         * modules/malloc (Makefile.am): Likewise.
15265         * modules/mathl (Makefile.am): Likewise.
15266         * modules/mbchar (Makefile.am): Likewise.
15267         * modules/md2 (Makefile.am): Likewise.
15268         * modules/md4 (Makefile.am): Likewise.
15269         * modules/md5 (Makefile.am): Likewise.
15270         * modules/memcasecmp (Makefile.am): Likewise.
15271         * modules/memchr (Makefile.am): Likewise.
15272         * modules/memcmp (Makefile.am): Likewise.
15273         * modules/memcoll (Makefile.am): Likewise.
15274         * modules/memcpy (Makefile.am): Likewise.
15275         * modules/memmem (Makefile.am): Likewise.
15276         * modules/memmove (Makefile.am): Likewise.
15277         * modules/mempcpy (Makefile.am): Likewise.
15278         * modules/memrchr (Makefile.am): Likewise.
15279         * modules/memset (Makefile.am): Likewise.
15280         * modules/memxor (Makefile.am): Likewise.
15281         * modules/mkancesdirs (Makefile.am): Likewise.
15282         * modules/mkdir (Makefile.am): Likewise.
15283         * modules/mkdir-p (Makefile.am): Likewise.
15284         * modules/mkdtemp (Makefile.am): Likewise.
15285         * modules/mkstemp (Makefile.am): Likewise.
15286         * modules/mktime (Makefile.am): Likewise.
15287         * modules/modechange (Makefile.am): Likewise.
15288         * modules/mountlist (Makefile.am): Likewise.
15289         * modules/nanosleep (Makefile.am): Likewise.
15290         * modules/openat (Makefile.am): Likewise.
15291         * modules/pagealign_alloc (Makefile.am): Likewise.
15292         * modules/physmem (Makefile.am): Likewise.
15293         * modules/poll (Makefile.am): Likewise.
15294         * modules/posixtm (Makefile.am): Likewise.
15295         * modules/posixver (Makefile.am): Likewise.
15296         * modules/putenv (Makefile.am): Likewise.
15297         * modules/quote (Makefile.am): Likewise.
15298         * modules/quotearg (Makefile.am): Likewise.
15299         * modules/raise (Makefile.am): Likewise.
15300         * modules/read-file (Makefile.am): Likewise.
15301         * modules/readline (Makefile.am): Likewise.
15302         * modules/readlink (Makefile.am): Likewise.
15303         * modules/readtokens (Makefile.am): Likewise.
15304         * modules/readutmp (Makefile.am): Likewise.
15305         * modules/realloc (Makefile.am): Likewise.
15306         * modules/regex (Makefile.am): Likewise.
15307         * modules/rename (Makefile.am): Likewise.
15308         * modules/rename-dest-slash (Makefile.am): Likewise.
15309         * modules/rijndael (Makefile.am): Likewise.
15310         * modules/rmdir (Makefile.am): Likewise.
15311         * modules/rpmatch (Makefile.am): Likewise.
15312         * modules/safe-read (Makefile.am): Likewise.
15313         * modules/safe-write (Makefile.am): Likewise.
15314         * modules/same (Makefile.am): Likewise.
15315         * modules/save-cwd (Makefile.am): Likewise.
15316         * modules/savedir (Makefile.am): Likewise.
15317         * modules/setenv (Makefile.am): Likewise.
15318         * modules/settime (Makefile.am): Likewise.
15319         * modules/sha1 (Makefile.am): Likewise.
15320         * modules/sig2str (Makefile.am): Likewise.
15321         * modules/snprintf (Makefile.am): Likewise.
15322         * modules/stdlib-safer (Makefile.am): Likewise.
15323         * modules/stpcpy (Makefile.am): Likewise.
15324         * modules/stpncpy (Makefile.am): Likewise.
15325         * modules/strcase (Makefile.am): Likewise.
15326         * modules/strcasestr (Makefile.am): Likewise.
15327         * modules/strchrnul (Makefile.am): Likewise.
15328         * modules/strcspn (Makefile.am): Likewise.
15329         * modules/strdup (Makefile.am): Likewise.
15330         * modules/strerror (Makefile.am): Likewise.
15331         * modules/strftime (Makefile.am): Likewise.
15332         * modules/strndup (Makefile.am): Likewise.
15333         * modules/strnlen (Makefile.am): Likewise.
15334         * modules/strpbrk (Makefile.am): Likewise.
15335         * modules/strsep (Makefile.am): Likewise.
15336         * modules/strstr (Makefile.am): Likewise.
15337         * modules/strtod (Makefile.am): Likewise.
15338         * modules/strtoimax (Makefile.am): Likewise.
15339         * modules/strtok_r (Makefile.am): Likewise.
15340         * modules/strtol (Makefile.am): Likewise.
15341         * modules/strtoll (Makefile.am): Likewise.
15342         * modules/strtoul (Makefile.am): Likewise.
15343         * modules/strtoull (Makefile.am): Likewise.
15344         * modules/strtoumax (Makefile.am): Likewise.
15345         * modules/strverscmp (Makefile.am): Likewise.
15346         * modules/time_r (Makefile.am): Likewise.
15347         * modules/timegm (Makefile.am): Likewise.
15348         * modules/tmpfile-safer (Makefile.am): Likewise.
15349         * modules/unistd-safer (Makefile.am): Likewise.
15350         * modules/unlinkdir (Makefile.am): Likewise.
15351         * modules/userspec (Makefile.am): Likewise.
15352         * modules/utime (Makefile.am): Likewise.
15353         * modules/utimecmp (Makefile.am): Likewise.
15354         * modules/utimens (Makefile.am): Likewise.
15355         * modules/vasnprintf (Makefile.am): Likewise.
15356         * modules/vasprintf (Makefile.am): Likewise.
15357         * modules/vsnprintf (Makefile.am): Likewise.
15358         * modules/xalloc (Makefile.am): Likewise.
15359         * modules/xgetcwd (Makefile.am): Likewise.
15360         * modules/xnanosleep (Makefile.am): Likewise.
15361         * modules/xreadlink (Makefile.am): Likewise.
15362         * modules/xstrtod (Makefile.am): Likewise.
15363         * modules/xstrtol (Makefile.am): Likewise.
15364         * modules/xstrtold (Makefile.am): Likewise.
15365         * modules/yesno (Makefile.am): Likewise.
15366
15367 2006-10-12  Jim Meyering  <jim@meyering.net>
15368
15369         * m4/getloadavg.m4: Revert the change below.
15370
15371         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
15372         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
15373         fail with a symlink, which is what coreutils' ./bootstrap now
15374         creates by default.
15375
15376 2006-10-12  Bruno Haible  <bruno@clisp.org>
15377
15378         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
15379         mingw.
15380         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
15381         MSVC and mingw explicitly.
15382
15383 2006-10-11  Simon Josefsson  <jas@extundo.com>
15384             Bruno Haible  <bruno@clisp.org>
15385
15386         Add support for multiple gnulib-tool invocations in the scope of a
15387         single configure.ac file.
15388         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
15389         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
15390         with the same contents as the _LIBADD variable.
15391         (func_emit_initmacro_start, func_emit_initmacro_end,
15392         func_emit_initmacro_done): New functions.
15393         (func_import, func_create_testdir): Invoke them. Allow the identifiers
15394         gl_LIBOBJS and gl_LTLIBOBJS.
15395
15396 2006-10-11  Bruno Haible  <bruno@clisp.org>
15397
15398         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
15399         (func_create_testdir): Don't create po/Makefile.am, don't invoke
15400         autoreconf. Instead, invoke autopoint explicitly but move back the
15401         *.m4 files from gnulib.
15402
15403 2006-10-11  Bruno Haible  <bruno@clisp.org>
15404
15405         * gnulib-tool (func_usage): Make module names after --create-testdir
15406         optional.
15407         (func_create_testdir): If no module was specified, use nearly all
15408         modules.
15409
15410 2006-10-12  Jim Meyering  <jim@meyering.net>
15411
15412         Big performance improvement for fts-based tools that use FTS_NOSTAT.
15413         Avoid spurious inode-mismatch problems on non-POSIX file systems.
15414         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
15415         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
15416         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
15417         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
15418         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
15419         (fts_set_stat_required): New function.
15420         (fts_open): Defer the calls to fts_stat, if possible or requested.
15421         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
15422         into fts_stat itself.
15423         (fts_read): Perform any required (deferred) fts_stat call.
15424         (fts_build): Likewise, for the directory we're about to open and read.
15425         In the readdir loop, carefully decide whether each entry will require
15426         an eventual call to fts_stat, using dirent.d_type info if available.
15427         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
15428         a command line argument into this function.  Update all callers.
15429         Map a return value of FTS_DOT to FTS_D for a command line argument.
15430         * modules/fts (Depends-on): Add d-type.  Alphabetize.
15431         Thanks to Miklos Szeredi for his tenacity and for the initial
15432         bug report about "find" failing on a FUSE-based file system.
15433
15434         * lib/fts.c (fts_open): Use consistent indentation.
15435
15436 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
15437
15438         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
15439         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
15440         reported by Jim Meyering.  All uses of cache variables renamed
15441         to match Autoconf's.
15442         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
15443         the other one.
15444
15445         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
15446         Fix misspelling in diagnostic.
15447
15448 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
15449
15450         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
15451         defined.  Problem reported by Matthew Woehlke.
15452
15453         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
15454         Add support for Tandem NonStop R series.
15455         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
15456         Use new macro.
15457
15458         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
15459         (has_trailing_slash): Omit size arg; all callers changed.
15460         Omit 'inline', since it doesn't help performance and we'd
15461         need to configure it.
15462         Don't count //, ///, etc. as having a trailing slash.
15463         As a side effect, this removes a C99ism reported by Matthew Woehlke.
15464         (rpl_rename_dest_slash): On failure, use rename's errno rather
15465         than (in some cases) an incorrect or junk errno.
15466         Simplify code by removing need to compute length; this does
15467         cause it to make two passes instead of one over the file name,
15468         but it's worth it.
15469
15470         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
15471         change, since Autoconf's version may no longer be appropriate now
15472         that we are using CVS Autoconf's version.  Add support for Tandem.
15473
15474 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
15475             Bruno Haible  <bruno@clisp.org>
15476
15477         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
15478         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
15479         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
15480         gl_AC_TYPE_LONG_LONG.
15481
15482         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
15483         instead of HAVE_LONG_LONG.
15484         * lib/printf-args.c (printf_fetchargs): Likewise.
15485         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
15486         * lib/vasnprintf.c (VASNPRINTF): Likewise.
15487         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
15488         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
15489         gl_AC_TYPE_LONG_LONG.
15490
15491 2006-10-11  Bruno Haible  <bruno@clisp.org>
15492
15493         * m4/longlong.m4: Add comments.
15494         * m4/ulonglong.m4: Likewise.
15495
15496 2006-10-10  Bruno Haible  <bruno@clisp.org>
15497
15498         Make it possible to #define stpcpy, strdup to aliases.
15499         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
15500         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
15501
15502 2006-10-10  Bruno Haible  <bruno@clisp.org>
15503
15504         Make it possible to #define gcd to an alias.
15505         * lib/gcd.c: Include config.h.
15506
15507 2006-10-10  Bruno Haible  <bruno@clisp.org>
15508
15509         Make it possible to #define c_isascii to an alias.
15510         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
15511         defined. Undefine the macros before defining them, to avoid gcc
15512         warnings.
15513         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
15514         define NO_C_CTYPE_MACROS early.
15515
15516 2006-10-10  Bruno Haible  <bruno@clisp.org>
15517
15518         Make it possible to #define set_program_name to an alias.
15519         * lib/progname.c: Don't undefine set_program_name; instead, undefine
15520         ENABLE_RELOCATABLE early.
15521
15522 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
15523
15524         Port to Tandem NSK OSS, which has 64-bit signed int but at most
15525         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
15526         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
15527         More generally, don't assume that 64-bit signed int is available
15528         if unsigned int is, and vice versa.
15529         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
15530         unsigned symbols, not on their signed counterparts.
15531         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
15532         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
15533         (UINT64_C, UINTMAX_C):
15534         Likewise.
15535         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
15536         unsigned counterparts.
15537         (Have_long_long, Unsigned): New macros.
15538         (Int): Renamed from INT.
15539         (strtoimax): Use the new macros.
15540         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
15541         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
15542         * modules/inttypes (inttypes.h): Substitute
15543         HAVE_UNSIGNED_LONG_LONG_INT.
15544         * modules/stdint (stdint.h): Likewise.
15545         (Files): Add m4/ulonglong.m4.
15546
15547 2006-10-10  Bruno Haible  <bruno@clisp.org>
15548
15549         Fix a gcc -Wshadow warning.
15550         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
15551         to 'bucket'.
15552         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
15553         gl_linked_indexof_from_to): Likewise.
15554         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
15555         Likewise.
15556         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
15557         Likewise.
15558         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
15559         Reported by Eric Blake.
15560
15561 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
15562
15563         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
15564         for NetBSD.  Problem reported by Bruno Haible.
15565
15566 2006-10-09  Jim Meyering  <jim@meyering.net>
15567
15568         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
15569         Patch from Bruno Haible.
15570
15571 2006-10-09  Jim Meyering  <jim@meyering.net>
15572
15573         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
15574         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
15575         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
15576
15577 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
15578
15579         Don't include <config.h> twice; this doesn't work in some cases,
15580         e.g., when config.h has "#define intmax_t long long int" and
15581         we include <config.h>, <inttypes.h>, <config.h> in that order.
15582         Problem reported by Matthew Woehlke in:
15583         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
15584         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
15585         * lib/fts-cycle.c: Don't include config.h.
15586         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
15587         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
15588         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
15589         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
15590         inttypes.h.
15591         * lib/xstrtoumax.c: Likewise.
15592         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
15593         __strtol and the like, so that this module is more like its siblings.
15594         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
15595         Remove; no longer needed now that we assume gnulib inttypes.h.
15596
15597 2006-10-08  Bruno Haible  <bruno@clisp.org>
15598
15599         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
15600         option.
15601
15602 2006-10-07  Jim Meyering  <jim@meyering.net>
15603
15604         * modules/inttypes (inttypes.h): Revert what seems to have been
15605         an inadvertent part of today's change: use "|", not "/" in the
15606         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
15607
15608 2006-10-07  Bruno Haible  <bruno@clisp.org>
15609
15610         * modules/sublist: New file.
15611
15612 2006-10-07  Bruno Haible  <bruno@clisp.org>
15613
15614         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
15615         * modules/argz (argz.h): Likewise.
15616         * modules/arpa_inet (arpa/inet.h): Likewise.
15617         * modules/byteswap (byteswap.h): Likewise.
15618         * modules/configmake (configmake.h): Likewise.
15619         * modules/fcntl (fcntl.h): Likewise.
15620         * modules/fnmatch (fnmatch.h): Likewise.
15621         * modules/getopt (getopt.h): Likewise.
15622         * modules/glob (glob.h): Likewise.
15623         * modules/inttypes (inttypes.h): Likewise.
15624         * modules/netinet_in (netinet/in.h): Likewise.
15625         * modules/poll (poll.h): Likewise.
15626         * modules/stdbool (stdbool.h): Likewise.
15627         * modules/stdint (stdint.h): Likewise.
15628         * modules/sys_select (sys/select.h): Likewise.
15629         * modules/sys_socket (sys/socket.h): Likewise.
15630         * modules/sys_stat (sys/stat.h): Likewise.
15631         * modules/sysexits (sysexits.h): Likewise.
15632         * modules/unistd (unistd.h): Likewise.
15633         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
15634         Add a "DO NOT EDIT" comment to the generated file.
15635         (func_import): Likewise for gnulib-comp.m4.
15636
15637 2006-10-07  Bruno Haible  <bruno@clisp.org>
15638
15639         * lib/gl_sublist.h: New file.
15640         * lib/gl_sublist.c: New file.
15641
15642 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
15643
15644         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
15645         name (relative to the original working directory) and the file
15646         name component (relative to the temporary working directory).  All
15647         callers changed.
15648         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
15649         * lib/mkdir-p.c (make_dir_parents): Likewise.
15650         * lib/mkdir-p.h (make_dir_parents): Likewise.
15651
15652 2006-10-06  Eric Blake  <ebb9@byu.net>
15653
15654         Define several macros for use by the clean-temp module.
15655         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
15656         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
15657         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
15658
15659         * lib/clean-temp.h (close_stream_temp): New declaration.
15660         * lib/clean-temp.c (includes): Pull in headers according to what
15661         other modules are in use.
15662         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
15663
15664 2006-10-06  Bruno Haible  <bruno@clisp.org>
15665
15666         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
15667         instead of fopen, fwriteerror.
15668
15669 2006-10-06  Bruno Haible  <bruno@clisp.org>
15670
15671         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
15672         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
15673         int.
15674         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
15675         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
15676         Return an error indicator.
15677         Suggested by Eric Blake.
15678
15679 2006-10-06  Bruno Haible  <bruno@clisp.org>
15680
15681         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
15682         Reported by Eric Blake.
15683
15684 2006-10-06  Bruno Haible  <bruno@clisp.org>
15685
15686         * modules/closeout (Description): Mention stderr too.
15687
15688 2006-10-06  Bruno Haible  <bruno@clisp.org>
15689         and Paul Eggert  <eggert@cs.ucla.edu>
15690
15691         * lib/closeout.c (close_stdout): Also close stderr.
15692         * lib/closeout.h: Update comment.
15693
15694 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
15695
15696         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
15697         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
15698         * lib/dirchownmod.c: Include lchown.h.
15699         * lib/lchown.c: Don't include files that lchown.h now includes.
15700         Don't declare chown, since lchown.h now does that.
15701         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
15702         (lchown): Define to rpl_chown if lchown is declared but
15703         does not exist.  Declare using a prototype if lchown is not
15704         declared.  Add a copyright notice.
15705         * lib/mkstemp.h: Include <unistd.h>.
15706         * lib/openat.c: Include lchown.h.
15707
15708         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
15709         we now test for that separately.
15710         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
15711         rather than O_NOFOLLOW, when testing whether it's possible to
15712         avoid a race condition reliably.
15713         * lib/savewd.c (savewd_chdir): Likewise.
15714
15715         Remove macros that are no longer needed now that stdint.h is
15716         reliable.
15717         * lib/fsusage.c (UINTMAX_MAX): Remove.
15718         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
15719         * lib/utimecmp.c (SIZE_MAX): Remove.
15720
15721         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
15722
15723         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
15724         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
15725         O_NOATIME works.
15726
15727 2006-10-05  Bruno Haible  <bruno@clisp.org>
15728
15729         * lib/gl_list.h (gl_sortedlist_search_from_to,
15730         gl_sortedlist_indexof_from_to): New declarations.
15731         (gl_list_implementation): New fields sortedlist_search_from_to,
15732         sortedlist_indexof_from_to.
15733         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
15734         inline functions.
15735         * lib/gl_list.c (gl_sortedlist_search_from_to,
15736         gl_sortedlist_indexof_from_to): New functions.
15737         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
15738         function.
15739         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
15740         (gl_array_sortedlist_search_from_to): New function.
15741         (gl_array_list_implementation): Update.
15742         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
15743         function.
15744         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
15745         (gl_carray_sortedlist_search_from_to): New function.
15746         (gl_carray_list_implementation): Update.
15747         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
15748         gl_linked_sortedlist_indexof_from_to): New functions.
15749         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
15750         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
15751         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
15752         gl_tree_sortedlist_indexof_from_to): New functions.
15753         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
15754         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
15755         Update.
15756         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
15757         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
15758         Update.
15759
15760 2006-10-05  Bruno Haible  <bruno@clisp.org>
15761
15762         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
15763         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
15764         (struct gl_list_implementation): Add fields search_from_to,
15765         indexof_from_to. Remove fields search, indexof.
15766         (gl_list_search): Use the search_from_to method.
15767         (gl_list_search_from, gl_list_search_from_to): New functions.
15768         (gl_list_indexof): Use the indexof_from_to method.
15769         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
15770         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
15771         (gl_list_search_from, gl_list_search_from_to): New functions.
15772         (gl_list_indexof): Use the indexof_from_to method.
15773         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
15774         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
15775         gl_array_indexof. Add start_index, end_index arguments.
15776         (gl_array_search_from_to): Renamed from gl_array_search. Add
15777         start_index, end_index arguments.
15778         (gl_array_remove, gl_array_list_implementation): Update.
15779         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
15780         gl_carray_indexof. Add start_index, end_index arguments.
15781         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
15782         start_index, end_index arguments.
15783         (gl_carray_remove, gl_carray_list_implementation): Update.
15784         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
15785         gl_linked_search. Add start_index, end_index arguments.
15786         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
15787         start_index, end_index arguments.
15788         (gl_linked_remove): Update.
15789         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
15790         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
15791         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
15792         field to 'size_t'.
15793         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
15794         gl_tree_search. Add start_index, end_index arguments.
15795         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
15796         start_index, end_index arguments.
15797         (gl_tree_remove): Update.
15798         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
15799         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
15800         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
15801         function.
15802         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
15803         gl_tree_search. Add start_index, end_index arguments.
15804         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
15805         start_index, end_index arguments.
15806         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
15807         Update.
15808         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
15809
15810 2006-10-05  Bruno Haible  <bruno@clisp.org>
15811
15812         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
15813
15814         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
15815         fwriteerror_temp): New declarations.
15816         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
15817         (descriptors): New variable.
15818         (cleanup): First, close the descriptors.
15819         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
15820         fclose_temp, fwriteerror_temp): New functions.
15821
15822 2006-10-04  Jim Meyering  <jim@meyering.net>
15823
15824         * lib/fts.c (fts_open): Tiny comment change.
15825
15826 2006-10-04  Bruno Haible  <bruno@clisp.org>
15827
15828         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
15829         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
15830         gl_LOCK_BODY.
15831         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
15832         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
15833         gl_LOCK_EARLY_BODY.
15834         (gl_LOCK): Require gl_LOCK_BODY.
15835
15836 2006-10-04  Bruno Haible  <bruno@clisp.org>
15837
15838         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
15839         (gl_oset_search_atleast): New declaration.
15840         (struct gl_oset_implementation): Add field 'search_atleast'.
15841         (gl_oset_search_atleast): New inline function.
15842         * lib/gl_oset.c (gl_oset_search_atleast): New function.
15843         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
15844         (gl_array_oset_implementation): Update.
15845         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
15846         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
15847         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
15848
15849 2006-10-04  Bruno Haible  <bruno@clisp.org>
15850
15851         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
15852
15853 2006-10-03  Bruno Haible  <bruno@clisp.org>
15854
15855         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
15856         from gl_avltreehash_list_implementation.
15857
15858 2006-10-03  Bruno Haible  <bruno@clisp.org>
15859
15860         * lib/gl_oset.c (gl_oset_add): Fix return type.
15861
15862 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
15863
15864         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
15865
15866 2006-10-02  Eric Blake  <ebb9@byu.net>
15867
15868         * modules/strnlen (Depends-on): Add extensions.
15869
15870 2006-10-02  Eric Blake  <ebb9@byu.net>
15871
15872         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
15873         definition in 2.60+.
15874
15875 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
15876
15877         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
15878         checks.
15879
15880 2006-10-02  Bruno Haible  <bruno@clisp.org>
15881
15882         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
15883         to the AUTOMAKE_OPTIONS.
15884         Reported by Jim Meyering.
15885
15886 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
15887
15888         Work around bug in Solaris 10 /proc file system:
15889         /proc/self/fd/NNN/.. isn't the parent directory of
15890         the directory whose file descriptor is NNN.  This needs to
15891         be worked around at run time, not compile time, since a
15892         program might be built on Solaris 8, where things work, and
15893         run on Solaris 10.
15894         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
15895         to use the following interface instead:
15896         (OPENAT_BUFFER_SIZE): New macro.
15897         (openat_proc_name): New function.
15898         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
15899         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
15900         Likewise.
15901         * lib/openat-proc.c: New file.
15902         * modules/openat (Files): Add lib/openat-proc.c.
15903         (Depends-on): Add same-inode, stdbool.
15904         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
15905
15906 2006-09-29  Bruno Haible  <bruno@clisp.org>
15907
15908         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
15909         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
15910         argument. Set stdout_closed before testing for ferror, not after.
15911         (fwriteerror, fwriteerror_no_ebadf): New functions.
15912
15913 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15914
15915         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
15916
15917 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
15918
15919         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
15920         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
15921
15922 2006-09-28  Jim Meyering  <jim@meyering.net>
15923
15924         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
15925         Include <unistd.h>.
15926
15927 2006-09-28  Bruno Haible  <bruno@clisp.org>
15928
15929         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
15930         * modules/linkedhash-list (Depends-on): Likewise.
15931         * modules/rbtreehash-list (Depends-on): Likewise.
15932
15933 2006-09-28  Bruno Haible  <bruno@clisp.org>
15934
15935         * lib/strndup.h: Simplify the redefinition of strndup.
15936         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
15937         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
15938
15939 2006-09-28  Bruno Haible  <bruno@clisp.org>
15940
15941         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
15942         * lib/gl_linkedhash_list.c: Likewise.
15943         * lib/gl_rbtreehash_list.c: Likewise.
15944
15945 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
15946
15947         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
15948         getaddrinfo.
15949
15950         * lib/__fpending.h: Don't include <stdio_ext.h> unless
15951         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
15952         it causes <stdio_ext.h> to cause a compile-time error.
15953         Problem reported by Nelson H. F. Beebe.
15954         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
15955         of HAVE_DECL___PENDING.
15956
15957         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
15958         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
15959         declaration.
15960
15961 2006-09-27  Jim Meyering  <jim@meyering.net>
15962
15963         This file could end up with a definition for a function
15964         named __strndup, rather than rpl_strndup on a system with
15965         incomplete weak_alias support.
15966         * lib/strndup.c (strndup): Rename from __strndup.
15967         Remove #defines that used to map __strndup to strndup.
15968         Don't use K&R prototypes.
15969         Remove LIBC-related code, since this file is not sync'd with glibc.
15970         * lib/strndup.h: Revamp, accordingly.
15971         * m4/strndup.m4: Modernize.
15972
15973 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
15974
15975         * modules/savewd (Depends-on): Add 'raise'.
15976         * lib/savewd.c: Include <signal.h>, for 'raise'.
15977
15978 2006-09-26  Jim Meyering  <jim@meyering.net>
15979
15980         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
15981         when we detect Darwin 8.7.0's acl_get_file bug.
15982         Rearrange to perform the new (below) run-test while $LIBS
15983         contains any acl-related library.  Set USE_ACL at the end.
15984         (gl_ACL_GET_FILE): New function.
15985
15986 2006-09-26  Eric Blake  <ebb9@byu.net>
15987
15988         * lib/verror.c: Include <config.h> unconditionally.
15989
15990 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
15991
15992         * modules/clock-time (Maintainer): Add self.
15993         * modules/getlogin_r (Depends-on): Add extensions.
15994
15995 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15996
15997         * modules/clock-time: New module.
15998         * modules/nanosleep (Depends-on): Add clock-time.
15999         * modules/gethrxtime (Depends-on): Likewise.
16000         * modules/gettime (Depends-on): Likewise.
16001         * modules/settime (Depends-on): Likewise.
16002
16003         * modules/fts-lgpl: Depend on openat.
16004         * modules/mkancesdirs: Depend on savewd.
16005         * modules/mkdir-p: Likewise.
16006
16007 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16008
16009         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
16010
16011         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
16012         `gl_have_arbitrary_file_name_length_limit' to
16013         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
16014         actually works between configure runs.
16015
16016 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16017             Bruno Haible  <bruno@clisp.org>
16018
16019         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
16020
16021 2006-09-25  Jim Meyering  <jim@meyering.net>
16022
16023         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
16024         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
16025
16026 2006-09-25  Eric Blake  <ebb9@byu.net>
16027
16028         * gnulib-tool (func_import, func_create_testdir): Fix typos in
16029         exec's in 2006-09-18 patch when shuffling fds.
16030
16031 2006-09-25  Bruno Haible  <bruno@clisp.org>
16032
16033         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
16034         Reported by Jim Meyering.
16035
16036 2006-09-24  Jim Meyering  <jim@meyering.net>
16037
16038         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
16039         compare a pointer against a literal "0".  That caused failures with
16040         at least HP-UX's hpcc.
16041
16042 2006-09-22  Simon Josefsson  <jas@extundo.com>
16043
16044         * modules/gc-sha1:
16045         * modules/gc-md4:
16046         * modules/gc-hmac-sha1:
16047         * modules/gc-hmac-md5:
16048         * modules/gc-des:
16049         * modules/gc-arcfour: Distribute more files.
16050
16051 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16052
16053         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
16054         (gl_linked_iterator_from_to): Initialize struct completely.
16055         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
16056         (gl_tree_iterator_from_to): Likewise
16057         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
16058         * lib/gl_array_list.c [lint] (gl_array_iterator)
16059         (gl_array_iterator_from_to): Likewise.
16060         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
16061         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
16062         (gl_carray_iterator_from_to): Likewise.
16063
16064         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
16065         * lib/md4.c (md4_process_block): Remove unused variable.
16066         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
16067         parentheses for clarity.
16068
16069 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16070
16071         * modules/bison-i18n (Depends-on): Add gettext.
16072
16073 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16074
16075         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
16076         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
16077         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
16078         also add missing comma that caused broken test.
16079         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
16080         stdlib.h, for `abort'.
16081         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
16082         variables.
16083         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
16084         include unistd.h if present, for `rmdir'.
16085         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
16086         variables.
16087         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
16088         in the process include standard headers for prototypes.
16089         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
16090         gets declared on GNU/Linux.
16091         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
16092         unistd.h, for `rmdir'.
16093         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
16094
16095         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
16096         always true.
16097         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
16098
16099         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
16100
16101 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16102
16103         * gnulib-tool (func_version): Create output all at once.  This
16104         may help avoid triggering unnecessary SIGPIPEs, and at any
16105         rate it doesn't hurt.
16106
16107 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16108             Bruno Haible  <bruno@clisp.org>
16109
16110         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
16111         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
16112         * m4/signed.m4 (bh_C_SIGNED): Likewise.
16113
16114         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
16115         (gl_FUNC_VASPRINTF): Invoke it.
16116
16117 2006-09-22  Bruno Haible  <bruno@clisp.org>
16118
16119         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
16120         getloadavg.c as first argument.
16121
16122 2006-09-22  Bruno Haible  <bruno@clisp.org>
16123
16124         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
16125         at the beginning of the gl_INIT macro.
16126         * modules/getloadavg (configure.ac): Pass $gl_source_base to
16127         gl_GETLOADAVG.
16128
16129 2006-09-22  Bruno Haible  <bruno@clisp.org>
16130
16131         * gnulib-tool (func_create_megatestdir): Don't include the config-h
16132         module.
16133         Suggested by Ralf Wildenhues.
16134
16135 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
16136
16137         Import this patch from libc:
16138
16139         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
16140
16141         * lib/regex_internal.c (re_string_reconstruct): Handle
16142         offset < pstr->valid_raw_len && pstr->offsets_needed case.
16143         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
16144         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
16145         re_string_context_at.
16146
16147         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
16148         now requires it.
16149         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
16150         gl_REGEX now does it for us.
16151         (gl_REGEX): Add test taken from
16152         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
16153
16154         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
16155         Check that large offsets work.  Modernize Autoconf usages.
16156         Prefer "yes" to mean a good thing rather than a bad.
16157         Don't put "#define mkstemp" in config.h, as this might interfere
16158         with standard system headers that "#define mkstemp mkstemp64".
16159
16160         * modules/mkstemp (Depends-on): Add extensions, so that
16161         mkstemp is visible on some platforms.
16162         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
16163         (Include): Change to "mkstemp.h" from <stdlib.h>.
16164         (Files): Add mkstemp.h.
16165
16166         * lib/mkstemp.h: New file, since some standard headers
16167         #define mkstemp.
16168         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
16169         Include "mkstemp.h".
16170         Make the _LIBC code resemble glibc original more,
16171         e.g., use K&R style.
16172         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
16173         (mkstemp): Remove, since mkstemp.h does this for us.
16174         * lib/stdlib--.h: Include mkstemp.h.
16175
16176         Import this patch from libc:
16177
16178         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
16179
16180         * lib/tempname.c (__gen_tempname): Change attempts_min
16181         into a macro.  Use preprocessor to decide how to initialize
16182         attempts [Coverity CID 67].
16183
16184 2006-09-20  Bruno Haible  <bruno@clisp.org>
16185
16186         * lib/mkdtemp.c: Import from libc.
16187         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
16188                 * sysdeps/posix/tempname.c (__gen_tempname): Change
16189                 attempts_min into a macro.  Use preprocessor to decide how to
16190                 initialize attempts [Coverity CID 67].
16191         2001-11-27  Paul Eggert  <eggert@twinsun.com>
16192                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
16193                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
16194
16195 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16196
16197         * gnulib-tool (func_exit): New function, to allow to pass the
16198         exit status portably through the trap.  Use everywhere.
16199         (--help, --version): Signal a write error.
16200         (trap): catch SIGPIPE, for write errors.
16201         Exit at the end of the trap, with the correct exit status.
16202
16203 2006-09-19  Karl Berry  <karl@gnu.org>
16204
16205         * doc/gnulib.texi: note about the license texinfo files.
16206
16207 2006-09-19  Eric Blake  <ebb9@byu.net>
16208
16209         * gnulib-tool: Avoid space-tab.
16210
16211 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
16212
16213         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
16214         that prevented coreutils 6.1 from building.  Problem reported
16215         by Petter Reinholdtsen.
16216
16217 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
16218
16219         * gnulib-tool (avoidlist): Fix typo that broke options like
16220         --avoid=lock that are used by coreutils bootstrap.
16221
16222 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
16223
16224         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
16225         more systematically.
16226
16227 2006-09-18  Jim Meyering  <jim@meyering.net>
16228
16229         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
16230
16231 2006-09-18  Bruno Haible  <bruno@clisp.org>
16232
16233         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
16234
16235 2006-09-18  Bruno Haible  <bruno@clisp.org>
16236
16237         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
16238         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
16239         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
16240         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
16241         * m4/gettext.m4: Require autoconf >= 2.52.
16242         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
16243         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
16244         of gl_cv_header_inttypes_h.
16245
16246 2006-09-18  Bruno Haible  <bruno@clisp.org>
16247
16248         * lib/javaversion.c: Include configmake.h.
16249
16250 2006-09-18  Bruno Haible  <bruno@clisp.org>
16251
16252         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
16253         avoid that the while loops be executed in a subshell.
16254
16255 2006-09-18  Bruno Haible  <bruno@clisp.org>
16256
16257         * MODULES.html.sh (func_module): Break long lines.
16258         Suggested by Bruce Korb <bkorb@gnu.org>.
16259
16260 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16261
16262         Speed up by a factor of 1.12.
16263         * gnulib-tool (nl): New variable.
16264         (func_import): Rewrite include directive extraction to only read each
16265         directive once.
16266
16267 2006-09-17  Bruno Haible  <bruno@clisp.org>
16268
16269         * modules/javaversion (Makefile.am): Remove DEFS setting.
16270         (Depends-on): Add configmake, for PKGDATADIR definition.
16271
16272 2006-09-17  Bruno Haible  <bruno@clisp.org>
16273
16274         * gnulib-tool (func_create_testdir): Rewrite all files at once.
16275
16276 2006-09-17  Bruno Haible  <bruno@clisp.org>
16277
16278         * gnulib-tool (func_append): New function, stolen from libtool.m4.
16279         (func_modules_transitive_closure, func_modules_add_dummy,
16280         func_modules_to_filelist, func_import, func_create_testdir,
16281         func_create_megatestdir, ...): Use it wherever possible.
16282         Suggested by Ralf Wildenhues.
16283
16284 2006-09-16  Karl Berry  <karl@gnu.org>
16285
16286         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
16287         to avoid sectioning errors.
16288         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
16289         [ifinfo]: blank line after @center-ed titles.
16290         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
16291         Spell FSF address consistently with others.
16292         (These changes approved by rms.)
16293
16294 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16295
16296         Speed up by a factor of 1.61.
16297         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
16298         already checked module names again.
16299
16300 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16301
16302         Speed up by a factor of 1.13.
16303         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
16304         for new_files, and the input to func_add_or_update.
16305
16306 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16307
16308         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
16309         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
16310
16311 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
16312
16313         * modules/mkancesdirs (Depends-on): Add fcntl.
16314         * modules/savewd: New file.
16315         * MODULES.html.sh (File system functions): Add savewd.
16316
16317         * modules/configmake (Makefile.am): Add support for the
16318         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
16319
16320 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
16321
16322         * m4/savewd.m4: New file.
16323
16324 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
16325
16326         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
16327         (dirchownmod): New arg FD.  All callers changed.
16328         Use FD rather than opening the directory ourself, as opening is
16329         now the caller's responsibility.
16330         * lib/dirchownmod.h: Likewise.
16331         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
16332         hosts that require <sys/types.h> before <sys/stat.h>.  Include
16333         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
16334         (test_dir): Remove.
16335         (mkancesdirs): Return length of prefix of FILE that has already
16336         been made, or -2 if there is a child doing the work.  Redo
16337         algorithm so that it is O(N) rather than O(N**2).  Optimize away
16338         ".", and treat ".." specially since it might stray back into
16339         already-created areas.  Use a subprocess if necessary.  New arg
16340         WD; all users changed.  MAKE_DIR function should now return 1
16341         if it creates a directory that is not readable.  Return -2 if
16342         a child process is spun off.
16343         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
16344         Adjust signature to match code.
16345         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
16346         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
16347         all users changed.
16348         * lib/savewd.c, lib/savewd.h: New files.
16349
16350 2006-09-15  Jim Meyering  <jim@meyering.net>
16351
16352         * modules/rename-dest-slash: New module.
16353         * MODULES.html.sh (posix_compat): Add it here.
16354
16355         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
16356
16357 2006-09-15  Jim Meyering  <jim@meyering.net>
16358
16359         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
16360         file.
16361
16362         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
16363
16364 2006-09-15  Jim Meyering  <jim@meyering.net>
16365
16366         * lib/rename-dest-slash.c (has_trailing_slash): Use
16367         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
16368         (rpl_rename_dest_slash): Perform the cheaper trailing slash
16369         test before testing whether SRC is a directory.
16370         Suggestions from Bruno Haible.
16371
16372         Avoid a warning about an unused variable.
16373         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
16374         into the #ifdef block where it's used.
16375
16376         * lib/rename-dest-slash.c: New file.
16377
16378 2006-09-14  Bruno Haible  <bruno@clisp.org>
16379
16380         * lib/allocsa.c: Include <config.h> unconditionally.
16381         * lib/asnprintf.c: Likewise.
16382         * lib/asprintf.c: Likewise.
16383         * lib/c-strcasecmp.c: Likewise.
16384         * lib/c-strcasestr.c: Likewise.
16385         * lib/c-strncasecmp.c: Likewise.
16386         * lib/c-strstr.c: Likewise.
16387         * lib/classpath.c: Likewise.
16388         * lib/clean-temp.c: Likewise.
16389         * lib/concatpath.c: Likewise.
16390         * lib/copy-file.c: Likewise.
16391         * lib/csharpcomp.c: Likewise.
16392         * lib/csharpexec.c: Likewise.
16393         * lib/execute.c: Likewise.
16394         * lib/fatal-signal.c: Likewise.
16395         * lib/findprog.c: Likewise.
16396         * lib/fwriteerror.c: Likewise.
16397         * lib/gl_array_list.c: Likewise.
16398         * lib/gl_array_oset.c: Likewise.
16399         * lib/gl_avltree_list.c: Likewise.
16400         * lib/gl_avltree_oset.c: Likewise.
16401         * lib/gl_avltreehash_list.c: Likewise.
16402         * lib/gl_carray_list.c: Likewise.
16403         * lib/gl_linked_list.c: Likewise.
16404         * lib/gl_linkedhash_list.c: Likewise.
16405         * lib/gl_list.c: Likewise.
16406         * lib/gl_oset.c: Likewise.
16407         * lib/gl_rbtree_list.c: Likewise.
16408         * lib/gl_rbtree_oset.c: Likewise.
16409         * lib/gl_rbtreehash_list.c: Likewise.
16410         * lib/imaxabs.c: Likewise.
16411         * lib/imaxdiv.c: Likewise.
16412         * lib/javacomp.c: Likewise.
16413         * lib/javaexec.c: Likewise.
16414         * lib/javaversion.c: Likewise.
16415         * lib/linebreak.c: Likewise.
16416         * lib/localcharset.c: Likewise.
16417         * lib/lock.c: Likewise.
16418         * lib/mbchar.c: Likewise.
16419         * lib/mbswidth.c: Likewise.
16420         * lib/mkdtemp.c: Likewise.
16421         * lib/pipe.c: Likewise.
16422         * lib/printf-args.c: Likewise.
16423         * lib/printf-parse.c: Likewise.
16424         * lib/progname.c: Likewise.
16425         * lib/progreloc.c: Likewise.
16426         * lib/readlink.c: Likewise.
16427         * lib/sh-quote.c: Likewise.
16428         * lib/stpcpy.c: Likewise.
16429         * lib/stpncpy.c: Likewise.
16430         * lib/strcasecmp.c: Likewise.
16431         * lib/strcasestr.c: Likewise.
16432         * lib/strcspn.c: Likewise.
16433         * lib/striconv.c: Likewise.
16434         * lib/strncasecmp.c: Likewise.
16435         * lib/strnlen1.c: Likewise.
16436         * lib/strstr.c: Likewise.
16437         * lib/strtok_r.c: Likewise.
16438         * lib/tls.c: Likewise.
16439         * lib/tmpdir.c: Likewise.
16440         * lib/unicodeio.c: Likewise.
16441         * lib/unsetenv.c: Likewise.
16442         * lib/vasnprintf.c: Likewise.
16443         * lib/vasprintf.c: Likewise.
16444         * lib/wait-process.c: Likewise.
16445         * lib/xallocsa.c: Likewise.
16446         * lib/xsetenv.c: Likewise.
16447         * lib/xstriconv.c: Likewise.
16448
16449 2006-09-13  Simon Josefsson  <jas@extundo.com>
16450
16451         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
16452         that internally, suggested by Ralf Wildenhues
16453         <Ralf.Wildenhues@gmx.de>.
16454
16455 2006-09-13  Simon Josefsson  <jas@extundo.com>
16456
16457         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
16458         @LIBOBJS@.
16459         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16460
16461 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
16462
16463         * lib/_fpending.c: Include <config.h> unconditionally, since we no
16464         longer worry about uses that don't define HAVE_CONFIG_H.
16465         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
16466         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
16467         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
16468         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
16469         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
16470         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
16471         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
16472         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
16473         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
16474         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
16475         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
16476         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
16477         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
16478         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
16479         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
16480         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
16481         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
16482         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
16483         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
16484         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
16485         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
16486         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
16487         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
16488         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
16489         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
16490         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
16491         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
16492         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
16493         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
16494         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
16495         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
16496         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
16497         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
16498         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
16499         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
16500         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
16501         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
16502         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
16503         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
16504         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
16505         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
16506         Likewise.
16507
16508 2006-09-13  Eric Blake  <ebb9@byu.net>
16509
16510         * lib/getopt.c: Fix typo in last commit.
16511
16512 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
16513
16514         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
16515         dgettext.
16516
16517 2006-09-12  Jim Meyering  <jim@meyering.net>
16518
16519         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
16520         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
16521         Reported by Nelson H. F. Beebe.
16522
16523 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
16524
16525         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
16526         program_invocation_name and program_invocation_short_name are
16527         initialized.
16528         * lib/argp-namefrob.h: Move declarations of program_invocation_name
16529         and program_invocation_short_name to argp.h, so they are visible
16530         to user programs.
16531         * lib/argp.h: Likewise
16532
16533 2006-09-10  Bruno Haible  <bruno@clisp.org>
16534
16535         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
16536         m4/inttypes_h.m4, m4/uintmax_t.m4.
16537
16538 2006-09-10  Bruno Haible  <bruno@clisp.org>
16539
16540         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
16541         gl_AC_TYPE_UINTMAX_T.
16542
16543 2006-09-10  Bruno Haible  <bruno@clisp.org>
16544
16545         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
16546
16547 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
16548
16549         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
16550         convention.  Text proposed by Bruno Haible.
16551         (struct argp_option): Document the use of N_() wrappers.
16552
16553         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
16554         '\v', and translate the two parts separately, instead of feeding
16555         the whole string to gettext.  This allows to exclude
16556         '\v' from the strings visible to the translator by writing doc
16557         strings as N_("..") "\v" N_("..").
16558
16559 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
16560
16561         * config/srclist.txt: Undo latest change; the bug was fixed.
16562
16563 2006-09-09  Bruno Haible  <bruno@clisp.org>
16564
16565         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
16566         assignments if building a library without libtool.
16567         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
16568         in func_emit_lib_Makefile_am.
16569         (func_import): When building a static library libfoo.a, arrange to
16570         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
16571         (func_create_testdir): Likewise.
16572         * modules/gc (configure.ac, Makefile.am): If building statically,
16573         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
16574         * modules/iconvme (configure.ac, Makefile.am): Likewise.
16575         * modules/striconv (configure.ac, Makefile.am): Likewise.
16576         Based on a suggestion by Ralf Wildenhues.
16577
16578 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
16579
16580         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
16581         Check for unistd.h too, since Autoconf doesn't assume POSIX.
16582         Also:
16583
16584         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
16585         Add year_2050_test to catch glibc bug 2821
16586         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
16587
16588         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
16589         Prefer #ifdef to #if.
16590
16591         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
16592         Return from 'main' instead of calling 'exit'.
16593
16594 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
16595
16596         * lib/mktime.c (guess_time_tm): Fix bug where mktime
16597         returned the maximum time_t value rather than (time_t) -1.
16598         Problem originally reported by William Bardwell
16599         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
16600
16601         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
16602         Moved to here ...
16603         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
16604         ... from here.
16605
16606 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
16607
16608         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
16609         2821 is fixed.
16610
16611 2006-09-08  Jim Meyering  <jim@meyering.net>
16612
16613         Don't make generated files read-only.  That would bother too many
16614         people.  However, do retain the ability to work when targets are
16615         read-only: remove the destination and temporary files before writing
16616         them (when generated via sed or echo), or by using the -f option for
16617         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
16618         * modules/alloca-opt, modules/argz, modules/arpa_inet:
16619         * modules/byteswap, modules/configmake, modules/fcntl:
16620         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
16621         * modules/localcharset, modules/netinet_in, modules/poll:
16622         * modules/stdbool, modules/stdint, modules/sys_select:
16623         * modules/sys_socket, modules/sys_stat, modules/sysexits:
16624
16625 2006-09-08  Jim Meyering  <jim@meyering.net>
16626
16627         Avoid new build failure on FreeBSD 6.0.
16628         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
16629         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
16630         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
16631
16632 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16633
16634         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
16635
16636 2006-09-07  Jim Meyering  <jim@meyering.net>
16637
16638         Fix global typo in last change: use chmod u-w, not chmod u-x.
16639         Spotted by Paul Eggert and Bruce Korb.
16640         * modules/alloca-opt, modules/argz, modules/arpa_inet:
16641         * modules/byteswap, modules/configmake, modules/fcntl:
16642         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
16643         * modules/localcharset, modules/netinet_in, modules/poll:
16644         * modules/stdbool, modules/stdint, modules/sys_select:
16645         * modules/sys_socket, modules/sys_stat, modules/sysexits:
16646
16647 2006-09-06  Jim Meyering  <jim@meyering.net>
16648
16649         Make generated files be read-only.
16650         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
16651         Ensure that each generated file is now read-only.
16652         * modules/argz: Likewise.
16653         * modules/arpa_inet: Likewise.
16654         * modules/byteswap: Likewise.
16655         * modules/configmake: Likewise.
16656         * modules/fcntl: Likewise.
16657         * modules/fnmatch: Likewise.
16658         * modules/getopt: Likewise.
16659         * modules/glob: Likewise.
16660         * modules/inttypes: Likewise.
16661         * modules/netinet_in: Likewise.
16662         * modules/poll: Likewise.
16663         * modules/stdbool: Likewise.
16664         * modules/stdint: Likewise.
16665         * modules/sys_select: Likewise.
16666         * modules/sys_socket: Likewise.
16667         * modules/sys_stat: Likewise.
16668         * modules/sysexits: Likewise.
16669         * modules/localcharset: Same as above, but continue using temporary
16670         file named "t-$@" (why different?) rather than the "$@-t" used
16671         everywhere else.
16672
16673         * modules/sysexits (Makefile.am): Replace literal occurrences
16674         of "sysexit.h" more readable, and more consistent, "$@".
16675
16676 2006-09-06  Bruno Haible  <bruno@clisp.org>
16677
16678         * modules/striconv: New file.
16679         * modules/xstriconv: New file.
16680         * MODULES.html.sh (Internationalization functions): Add striconv,
16681         xstriconv.
16682
16683 2006-09-06  Bruno Haible  <bruno@clisp.org>
16684
16685         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
16686         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
16687         not using libtool correctly.
16688
16689 2006-09-06  Bruno Haible  <bruno@clisp.org>
16690
16691         * lib/striconv.h: New file.
16692         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
16693         iconvstring.c.
16694         * lib/xstriconv.h: New file.
16695         * lib/xstriconv.c: New file.
16696
16697 2006-09-06  Bruno Haible  <bruno@clisp.org>
16698
16699         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
16700         lib_..._LDFLAGS.
16701
16702 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16703
16704         * lib/argz_.h: Sync from Libtool.
16705
16706         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
16707                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16708
16709         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
16710
16711 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
16712
16713         * modules/trim: New file.
16714
16715 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
16716
16717         * lib/trim.h: New file.
16718         * lib/trim.c: New file.
16719
16720 2006-09-05  Bruno Haible  <bruno@clisp.org>
16721
16722         * MODULES.html.sh (String handling): Add trim.
16723
16724 2006-09-04  Karl Berry  <karl@gnu.org>
16725
16726         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
16727         until next release.
16728
16729 2006-09-03  Bruno Haible  <bruno@clisp.org>
16730
16731         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
16732         correctly.
16733
16734 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
16735
16736         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
16737         not gl_GETLOADAVG.  Omit unneeded semicolons.
16738         Problems reported by Ralf Wildenhues in
16739         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
16740         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
16741         at the end, which is the usual gnulib style.
16742
16743         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
16744         of doing all the work ourselves.
16745         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
16746         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
16747
16748 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
16749
16750         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
16751         Problem reported by Ralf Wildenhues in
16752         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
16753
16754         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
16755         HAVE_STRUCT_STATFS_F_FSTYPENAME.
16756
16757 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
16758
16759         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
16760         yesterday's patch by changing test -n to test -z.
16761
16762 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
16763
16764         * modules/getloadavg (Files): Add m4/getloadavg.m4.
16765         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
16766         the former is now obsolescent.
16767
16768         * modules/chdir-long (Depends-on): Add fcntl.
16769
16770 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
16771
16772         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
16773         obsolescent, and programs should use gnulib instead.
16774         * m4/getloadavg.m4: New file, with contents taken from Autoconf
16775         but with prefixes changed.
16776
16777 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
16778
16779         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
16780         or stdbool.h, because they might not exist while configuring.
16781
16782         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
16783         Don't include unistd.h or limits.h; not needed, since chdir-long.h
16784         does that for us.
16785         (O_DIRECTORY): Remove.
16786
16787 2006-08-31  Eric Blake  <ebb9@byu.net>
16788
16789         * gnulib-tool: Don't let emacs change spaces to TAB.
16790
16791 2006-08-31  Bruno Haible  <bruno@clisp.org>
16792
16793         * gnulib-tool: When calling func_import more than once, do it in a
16794         subshell.
16795         Reported by Eric Blake <ebb9@byu.net>.
16796
16797 2006-08-31  Bruno Haible  <bruno@clisp.org>
16798
16799         * gnulib-tool (nl): Remove variable.
16800         (sed_transform_lib_file): Use more robust test for config-h module.
16801         (func_import): Fix typo in 2006-08-25 patch.
16802
16803 2006-08-31  Bruno Haible  <bruno@clisp.org>
16804
16805         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
16806         specified, augment Makefile.am variables instead of assigning them.
16807
16808 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
16809
16810         Work around a bug in both the Linux and SunOS 64-bit kernels:
16811         nanosleep mishandles sleeps for longer than 2**31 seconds.
16812         Problem reported by Frank v Waveren in
16813         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
16814         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
16815         Check for nanosleep bug.
16816         (LIB_NANOSLEEP): Append clock_gettime library if needed.
16817
16818 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
16819
16820         Work around a bug in both the Linux and SunOS 64-bit kernels:
16821         nanosleep mishandles sleeps for longer than 2**31 seconds.
16822         Problem reported by Frank v Waveren in
16823         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
16824         * lib/nanosleep.c (BILLION): New constant.
16825         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
16826         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
16827         implementation.
16828
16829 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
16830
16831         * modules/nanosleep (Depends-on): Add gettime.
16832
16833 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
16834         and Simon Josefsson  <jas@extundo.com>
16835         and Oskar Liljeblad  <oskar@osk.mine.nu>
16836
16837         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
16838         * gnulib-tool (func_import): New license type 'unmodifiable license
16839         text'.
16840         * modules/fdl: Use it.  Longer description.
16841         * module/gpl, module/lgpl: New files.
16842
16843 2006-08-30  Jim Meyering  <jim@meyering.net>
16844
16845         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
16846         shadowing the parameter.
16847
16848 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16849
16850         Sync from Libtool:
16851
16852         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16853
16854         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
16855         sharing with gnulib.  Report by Eric Blake.
16856
16857 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
16858
16859         * modules/isapipe: New file.
16860         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
16861
16862 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
16863
16864         * modules/configmake (Makefile.am): Add a comment, and omit
16865         the CONFIGMAKE_ prefix from generated macro names.  Suggested
16866         by Bruno Haible.
16867
16868 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
16869
16870         * m4/isapipe.m4: New file.
16871
16872 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
16873
16874         * lib/isapipe.c, lib/isapipe.h: New files.
16875
16876 2006-08-29  Jim Meyering  <jim@meyering.net>
16877
16878         * modules/configmake (Makefile.am): Make configmake.h depend on
16879         Makefile.  Otherwise, a stale configmake.h could hang around.
16880
16881 2006-08-29  Eric Blake  <ebb9@byu.net>
16882
16883         * lib/error.c (error_at_line, print_errno_message): Match libc, after
16884         resolution of upstream bug 3044.
16885
16886 2006-08-29  Bruno Haible  <bruno@clisp.org>
16887
16888         * modules/localcharset (Depends-on): Add configmake.
16889         (Makefile.am): Remove setting of LIBDIR through DEFS.
16890
16891 2006-08-29  Bruno Haible  <bruno@clisp.org>
16892
16893         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
16894         defined.
16895
16896 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
16897
16898         * modules/fcntl: New file.
16899         * modules/chdir-safer (Depends-on): Add fcntl.
16900         * modules/fts: Likewise.
16901         * modules/mkdir-p: Likewise.
16902
16903         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
16904         This undoes the most recent change, since we're now addressing the
16905         problem in a different way.
16906
16907         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
16908         into output, since the output might be called Makefile.am even
16909         if $makefile_name is something different.
16910         (func_import): Use $makefile_am rather than
16911         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
16912         empty.
16913
16914         * modules/inttypes (Files): Add m4/inttypes-h.m4.
16915
16916 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
16917
16918         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
16919         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
16920         recent change to stdint.m4, since we're now addressing the problem in a
16921         different way.
16922
16923 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
16924
16925         * m4/fcntl_h.m4: New file.
16926
16927 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
16928
16929         * lib/fcntl_.h: New file.
16930         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
16931         the fcntl module.
16932         * lib/dirchownmod.c: Likewise.
16933         * lib/fts.c: Likewise.
16934
16935         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
16936         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
16937         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
16938         just before including <inttypes.h>, to avoid circular inclusion.
16939
16940 2006-08-28  Jim Meyering  <jim@meyering.net>
16941
16942         * doc/visibility.texi: Actually read and correct the grammar of the
16943         sentence affected by yesterday's change.
16944
16945 2006-08-28  Eric Blake  <ebb9@byu.net>
16946
16947         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
16948         needs wrapper.
16949
16950 2006-08-28  Eric Blake  <ebb9@byu.net>
16951
16952         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
16953
16954 2006-08-28  Eric Blake  <ebb9@byu.net>
16955
16956         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
16957
16958 2006-08-28  Bruno Haible  <bruno@clisp.org>
16959
16960         * modules/c-strstr: New file, from GNU gettext.
16961         * MODULES.html.sh (String handling): Add c-strstr.
16962
16963 2006-08-28  Bruno Haible  <bruno@clisp.org>
16964
16965         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
16966         macros.
16967         Reported by Eric Blake.
16968
16969 2006-08-28  Bruno Haible  <bruno@clisp.org>
16970
16971         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
16972         (VASNPRINTF): Return a string of length > INT_MAX without failing.
16973         * lib/vasprintf.c: Include errno.h, limits.h.
16974         (EOVERFLOW): New fallback definition.
16975         (vasprintf): Test here whether the string length is > INT_MAX.
16976         * lib/vsnprintf.c: Include errno.h, limits.h.
16977         (EOVERFLOW): New fallback definition.
16978         (vsnprintf): Fix bug when generated string was too long for the buffer.
16979         Test here whether the string length is > INT_MAX.
16980
16981 2006-08-28  Bruno Haible  <bruno@clisp.org>
16982
16983         * lib/inttypes_.h (SCNX*): Remove definitions.
16984         Reported by Eric Blake.
16985
16986 2006-08-28  Bruno Haible  <bruno@clisp.org>
16987
16988         * lib/c-strstr.h: New file, from GNU gettext.
16989         * lib/c-strstr.c: New file, from GNU gettext.
16990
16991 2006-08-28  Bruno Haible  <bruno@clisp.org>
16992
16993         * gnulib-tool: Reorder some statements.
16994
16995 2006-08-28  Bruno Haible  <bruno@clisp.org>
16996
16997         * gnulib-tool: New option --makefile-name.
16998         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
16999         $makefile_name.
17000         (func_import): Write $makefile_name to the cache file, and read it from
17001         there unless explicitly specified. Use $makefile_name as file name
17002         instead of Makefile.am. Adjust the recommendations accordingly.
17003
17004 2006-08-28  Bruno Haible  <bruno@clisp.org>
17005
17006         * gnulib-tool (func_verify_module): Check against misapplying patch.
17007
17008 2006-08-28  Bruno Haible  <bruno@clisp.org>
17009
17010         * gnulib-tool (func_relativize, func_relconcat): New functions.
17011         Give an error if --local-dir is given with --update.
17012         Remove trailing slashes from $local_gnulib_dir.
17013         (func_import): Store the relativized $local_gnulib_dir in
17014         gnulib-cache.m4, and read it from there if not specified explicitly.
17015
17016 2006-08-28  Bruno Haible  <bruno@clisp.org>
17017
17018         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
17019         is the current directory. Respect also $local_gnulib_dir.
17020
17021 2006-08-28  Bruno Haible  <bruno@clisp.org>
17022             Simon Josefsson  <jas@extundo.com>
17023
17024         BeOS portability.
17025         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
17026
17027 2006-08-27  Jim Meyering  <jim@meyering.net>
17028
17029         * doc/visibility.texi: Remove duplicate word: "pointer".
17030
17031 2006-08-26  Bruno Haible  <bruno@clisp.org>
17032
17033         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
17034         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
17035         (Makefile.am): Create inttypes.h from inttypes_.h.
17036         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
17037
17038         * modules/imaxabs: New file.
17039
17040         * modules/imaxdiv: New file.
17041
17042 2006-08-26  Bruno Haible  <bruno@clisp.org>
17043
17044         * m4/inttypes.m4: New file.
17045         * m4/_inttypes_h.m4: Remove file.
17046         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
17047         PRI_MACROS_BROKEN.
17048         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
17049
17050         * m4/imaxabs.m4: New file.
17051
17052         * m4/imaxdiv.m4: New file.
17053
17054 2006-08-26  Bruno Haible  <bruno@clisp.org>
17055
17056         * lib/inttypes_.h: New file.
17057         * lib/inttypes.h: Remove file.
17058         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
17059
17060         * lib/imaxabs.c: New file.
17061
17062         * lib/imaxdiv.c: New file.
17063
17064 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
17065
17066         New config-h module, so that "make" output needn't be cluttered
17067         by -DHAVE_CONFIG_H.
17068         * MODULES.html.sh (Support for building libraries and executables):
17069         Add config-h.
17070         * modules/config-h: New file.
17071         * gnulib-tool (nl, sed_transform_lib_file): New vars.
17072         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
17073         the config-h module is used.
17074
17075         New configmake module, so that "make" output needn't be cluttered
17076         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
17077         * MODULES.html.sh (Support for building libraries and executables):
17078         Add configmake.
17079         * modules/configmake: New file.
17080
17081 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
17082
17083         * m4/config-h.m4: New file.
17084
17085 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
17086
17087         * config/srclist.txt: Add elisp-comp.
17088
17089 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
17090
17091         * MODULES.html.sh (Support for building libraries and executables):
17092         Add elisp-comp.
17093         * build-aux/elisp-comp: New file.
17094         * modules/elisp-comp: New file.
17095
17096 2006-08-24  Bruno Haible  <bruno@clisp.org>
17097
17098         * gnulib-tool (func_create_testdir): Use non-default values of
17099         sourcebase and m4base.
17100
17101 2006-08-24  Bruno Haible  <bruno@clisp.org>
17102
17103         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
17104         HTML structure.
17105
17106 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
17107
17108         * modules/openat (Depends-on): Add lchown.
17109
17110 2006-08-23  Bruno Haible  <bruno@clisp.org>
17111
17112         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
17113         of gl_LOCK_EARLY instead of gl_LOCK.
17114
17115 2006-08-23  Bruno Haible  <bruno@clisp.org>
17116
17117         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
17118         on OSF/1 to no.
17119         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
17120
17121 2006-08-23  Bruno Haible  <bruno@clisp.org>
17122
17123         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
17124         as unusable.
17125
17126         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
17127         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
17128         (gl_LOCK): New macro.
17129
17130 2006-08-22  Simon Josefsson  <jas@extundo.com>
17131
17132         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
17133         to md5 module.
17134
17135 2006-08-22  Simon Josefsson  <jas@extundo.com>
17136
17137         * MODULES.html.sh: Add "Support for maintaining and release
17138         projects".
17139
17140         * build-aux/gnupload: New file, from coreutils.
17141
17142 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
17143
17144         Avoid the need for AC_LIBSOURCES in m4 macros.
17145         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
17146         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
17147         * modules/check-version (EXTRA_DIST): Add check-version.h.
17148         * modules/crc (EXTRA_DIST): Add crc.h.
17149         * modules/des (EXTRA_DIST): Add des.h.
17150         * modules/gc (EXTRA_DIST): Add gc.h.
17151         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
17152         * modules/getline (EXTRA_DIST): Add getline.h.
17153         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
17154         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
17155         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
17156         * modules/md2 (EXTRA_DIST): Add md2.h.
17157         * modules/md4 (EXTRA_DIST): Add md4.h.
17158         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
17159         * modules/read-file (EXTRA_DIST): Add read-file.h.
17160         * modules/readline (EXTRA_DIST): Add readline.h.
17161         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
17162         rijndael-api-fst.h.
17163
17164 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
17165
17166         * m4/rijndael.m4 (gl_ARCFOUR):
17167         * m4/arctwo.m4 (gl_ARCTWO):
17168         * m4/check-version.m4 (gl_CHECK_VERSION):
17169         * m4/crc.m4 (gl_CRC):
17170         * m4/des.m4 (gl_DES):
17171         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
17172         * m4/gc.m4 (gl_GC):
17173         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
17174         * m4/getline.m4 (gl_FUNC_GETLINE):
17175         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
17176         * m4/hmac-md5.m4 (gl_HMAC_MD5):
17177         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
17178         * m4/md2.m4 (gl_MD2):
17179         * m4/md4.m4 (gl_MD4):
17180         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
17181         * m4/read-file.m4 (gl_FUNC_READ_FILE):
17182         * m4/readline.m4 (gl_FUNC_READLINE):
17183         * m4/rijndael.m4 (gl_RIJNDAEL):
17184         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
17185         to get the necessary .h files and whatnot.
17186
17187 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
17188
17189         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
17190         gnulib rather than the other way around.
17191         * config/srclistvars.sh (COREUTILS): Remove.
17192
17193 2006-08-22  Jim Meyering  <jim@meyering.net>
17194
17195         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
17196
17197         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
17198
17199 2006-08-22  Eric Blake  <ebb9@byu.net>
17200
17201         * modules/regexprops-generic: New file.
17202         * MODULES.html.sh (Support for building documentation): List it.
17203
17204 2006-08-22  Eric Blake  <ebb9@byu.net>
17205
17206         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
17207         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
17208         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
17209         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
17210
17211 2006-08-22  Bruno Haible  <bruno@clisp.org>
17212
17213         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
17214         and lib_LTLIBRARIES like the other lib_* variables.
17215
17216 2006-08-22  Bruno Haible  <bruno@clisp.org>
17217
17218         * build-aux/x-to-1.in: New file, from GNU gettext.
17219
17220 2006-08-22  Bruno Haible  <bruno@clisp.org>
17221
17222         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
17223         <utmpx.h> exists.
17224
17225 2006-08-22  Bruno Haible  <bruno@clisp.org>
17226
17227         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
17228         <utmpx.h> exists.
17229
17230 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
17231
17232         BeOS portability.
17233         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
17234         exist.
17235         Problem reported by Bruno Haible.
17236
17237 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
17238
17239         Avoid the need for AC_LIBSOURCES in m4 macros.
17240         * modules/acl (EXTRA_DIST): Add acl.h.
17241         * modules/argmatch (Files): Add m4/argmatch.m4.
17242         (configure.ac): Add gl_ARGMATCH.
17243         (EXTRA_DIST): Renamed from lib_SOURCES, for
17244         consistency with the other modules.  Remove argmatch.c.
17245         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
17246         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
17247         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
17248         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
17249         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
17250         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
17251         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
17252         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
17253         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
17254         * modules/closeout (EXTRA_DIST): Add closeout.h.
17255         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
17256         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
17257         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
17258         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
17259         dirname.h; remove basename.c and stripslash.c.
17260         * modules/exclude (EXTRA_DIST): Add exclude.h.
17261         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
17262         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
17263         * modules/file-type (EXTRA_DIST): Add file-type.h.
17264         * modules/filemode (EXTRA_DIST): Add filemode.h.
17265         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
17266         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
17267         * modules/fpending (EXTRA_DIST): Add __fpending.h.
17268         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
17269         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
17270         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
17271         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
17272         * modules/getdate (EXTRA_DIST): Add getdate.c.
17273         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
17274         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
17275         * modules/getpass (EXTRA_DIST): Add getpass.h.
17276         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
17277         * modules/group-member (EXTRA_DIST): Add group-member.h.
17278         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
17279         * modules/hash (EXTRA_DIST): Add hash.h.
17280         * modules/human (EXTRA_DIST): Add human.h.
17281         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
17282         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
17283         * modules/lchown (EXTRA_DIST): Add lchown.h.
17284         * modules/long-options (EXTRA_DIST): Add long-options.h.
17285         * modules/lstat (EXTRA_DIST): Add lstat.h.
17286         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
17287         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
17288         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
17289         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
17290         * modules/memxor (EXTRA_DIST): Add memxor.h.
17291         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
17292         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
17293         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
17294         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
17295         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
17296         * modules/physmem (EXTRA_DIST): Add physmem.h.
17297         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
17298         * modules/posixver (EXTRA_DIST): Add posixver.h.
17299         * modules/quote (EXTRA_DIST): Add quote.h.
17300         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
17301         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
17302         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
17303         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
17304         regex_internal.h regexec.c.
17305         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
17306         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
17307         * modules/same (EXTRA_DIST): Add same.h.
17308         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
17309         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
17310         * modules/savedir (EXTRA_DIST): Add savedir.h.
17311         * modules/sha1 (EXTRA_DIST): Add sha1.h.
17312         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
17313         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
17314         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
17315         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
17316         * modules/strdup (EXTRA_DIST): Add strdup.h.
17317         * modules/strftime (EXTRA_DIST): Add strftime.h.
17318         * modules/strndup (EXTRA_DIST): Add strndup.h.
17319         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
17320         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
17321         * modules/time_r (EXTRA_DIST): Add time_r.h.
17322         * modules/timespec (EXTRA_DIST): Add timespec.h.
17323         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
17324         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
17325         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
17326         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
17327         * modules/userspec (EXTRA_DIST): Add userspec.h.
17328         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
17329         * modules/utimens (EXTRA_DIST): Add utimens.h.
17330         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
17331         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
17332         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
17333         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
17334         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
17335         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
17336         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
17337         * modules/yesno (EXTRA_DIST): Add yesno.h.
17338
17339 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
17340
17341         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
17342
17343         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
17344         * m4/dev-ino.m4, same-inode.m4: Remove.
17345
17346         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
17347         * m4/acl.m4 (AC_FUNC_ACL):
17348         * m4/backupfile.m4 (gl_BACKUPFILE):
17349         * m4/c-strtod.m4 (gl_C99_STRTOLD):
17350         * m4/canon-host.m4 (gl_CANON_HOST):
17351         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
17352         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
17353         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
17354         * m4/cloexec.m4 (gl_CLOEXEC):
17355         * m4/close-stream.m4 (gl_CLOSE_STREAM):
17356         * m4/closeout.m4 (gl_CLOSEOUT):
17357         * m4/dirfd.m4 (gl_FUNC_DIRFD):
17358         * m4/dirname.m4 (gl_DIRNAME):
17359         * m4/exclude.m4 (gl_EXCLUDE):
17360         * m4/exitfail.m4 (gl_EXITFAIL):
17361         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
17362         * m4/file-type.m4 (gl_FILE_TYPE):
17363         * m4/filemode.m4 (gl_FILEMODE):
17364         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
17365         * m4/fpending.m4 (gl_FUNC_FPENDING):
17366         * m4/fprintftime.m4 (gl_FPRINTFTIME):
17367         * m4/fts.m4 (gl_FUNC_FTS):
17368         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
17369         * m4/getdate.m4 (gl_GETDATE):
17370         * m4/gethrxtime.m4 (gl_GETHRXTIME):
17371         * m4/getpagesize.m4 (gl_GETPAGESIZE):
17372         * m4/getpass.m4 (gl_FUNC_GETPASS):
17373         * m4/gettime.m4 (gl_GETTIME):
17374         * m4/getugroups.m4 (gl_GETUGROUPS):
17375         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
17376         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
17377         * m4/hard-locale.m4 (gl_HARD_LOCALE):
17378         * m4/hash.m4 (gl_HASH):
17379         * m4/idcache.m4 (gl_IDCACHE):
17380         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
17381         * m4/lchown.m4 (gl_FUNC_LCHOWN):
17382         * m4/long-options.m4 (gl_LONG_OPTIONS):
17383         * m4/lstat.m4 (gl_FUNC_LSTAT):
17384         * m4/md5.m4 (gl_MD5):
17385         * m4/memcasecmp.m4 (gl_MEMCASECMP):
17386         * m4/memcoll.m4 (gl_MEMCOLL):
17387         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
17388         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
17389         * m4/memxor.m4 (gl_MEMXOR):
17390         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
17391         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
17392         * m4/modechange.m4 (gl_MODECHANGE):
17393         * m4/mountlist.m4 (gl_MOUNTLIST):
17394         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
17395         * m4/openat.m4 (gl_FUNC_OPENAT):
17396         * m4/pathmax.m4 (gl_PATHMAX):
17397         * m4/physmem.m4 (gl_PHYSMEM):
17398         * m4/posixtm.m4 (gl_POSIXTM):
17399         * m4/posixver.m4 (gl_POSIXVER):
17400         * m4/quote.m4 (gl_QUOTE):
17401         * m4/quotearg.m4 (gl_QUOTEARG):
17402         * m4/readtokens.m4 (gl_READTOKENS):
17403         * m4/readutmp.m4 (gl_READUTMP):
17404         * m4/regex.m4 (gl_REGEX):
17405         * m4/safe-read.m4 (gl_SAFE_READ):
17406         * m4/safe-write.m4 (gl_SAFE_WRITE):
17407         * m4/same.m4 (gl_SAME):
17408         * m4/save-cwd.m4 (gl_SAVE_CWD):
17409         * m4/savedir.m4 (gl_SAVEDIR):
17410         * m4/settime.m4 (gl_SETTIME):
17411         * m4/sha1.m4 (gl_SHA1):
17412         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
17413         * m4/stat-macros.m4 (gl_STAT_MACROS):
17414         * m4/stat-time.m4 (gl_STAT_TIME):
17415         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
17416         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
17417         * m4/strdup.m4 (gl_FUNC_STRDUP):
17418         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
17419         * m4/strndup.m4 (gl_FUNC_STRNDUP):
17420         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
17421         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
17422         * m4/time_r.m4 (gl_TIME_R):
17423         * m4/timespec.m4 (gl_TIMESPEC):
17424         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
17425         * m4/unlinkdir.m4 (gl_UNLINKDIR):
17426         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
17427         * m4/userspec.m4 (gl_USERSPEC):
17428         * m4/utimecmp.m4 (gl_UTIMECMP):
17429         * m4/utimens.m4 (gl_UTIMENS):
17430         * m4/xalloc.m4 (gl_XALLOC):
17431         * m4/xgetcwd.m4 (gl_XGETCWD):
17432         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
17433         * m4/xreadlink.m4 (gl_XREADLINK):
17434         * m4/xstrtod.m4 (gl_XSTRTOD):
17435         * m4/yesno.m4 (gl_YESNO):
17436         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
17437         to get the necessary .h files and whatnot.
17438
17439 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
17440             Bruno Haible  <bruno@clisp.org>
17441
17442         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
17443         /bin/sh understanding of '!' conditional negation.
17444
17445 2006-08-21  Jim Meyering  <jim@meyering.net>
17446
17447         * modules/openat (Depends-on): Really alphabetize.
17448
17449         * modules/acl (Depends-on): Add error and quote.
17450
17451         * check-module (find_included_lib_files): Add at-func.c to the
17452         ok-to-include-more-than-once white list.
17453
17454         * modules/openat (Depends-on): Add lstat.  Alphabetize.
17455
17456 2006-08-21  Bruno Haible  <bruno@clisp.org>
17457
17458         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17459         Emit a pkgdata_DATA variable only if some snippets add contents to it.
17460         Reported by Martin Lambers <marlam@marlam.de>.
17461
17462 2006-08-21  Bruno Haible  <bruno@clisp.org>
17463
17464         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
17465         specify an installation location, don't emit a noinst_LIBRARIES or
17466         noinst_LTLIBRARIES assignment.
17467
17468 2006-08-21  Bruno Haible  <bruno@clisp.org>
17469
17470         BeOS portability.
17471         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
17472         BeOS has mbrtowc() but no <wctype.h>.
17473
17474 2006-08-21  Bruno Haible  <bruno@clisp.org>
17475
17476         BeOS portability.
17477         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
17478         exist.
17479
17480 2006-08-21  Bruno Haible  <bruno@clisp.org>
17481
17482         BeOS portability.
17483         * lib/mbchar.h: Include <wctype.h> only if it exists.
17484
17485 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
17486
17487         Remove files that are no longer needed by their respective modules.
17488         * m4/obstack.m4: Remove.
17489         * m4/strerror_r.m4: Remove.
17490         * m4/uint32_t.m4: Remove.
17491         * m4/uintptr_t.m4: Remove.
17492         * m4/ullong_max.m4: Remove.
17493         * m4/xstrtoimax.m4: Remove.
17494         * m4/xstrtoumax.m4: Remove.
17495
17496         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
17497         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
17498         dependencies now capture this.
17499
17500         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
17501         Do not use AC_LIBSOURCES, since gnulib modules now do this.
17502         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
17503         * m4/human.m4 (gl_HUMAN): Likewise.
17504         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
17505         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
17506
17507         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
17508
17509         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
17510         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
17511         stdint.
17512         * m4/human.m4 (gl_HUMAN): Likewise.
17513         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
17514         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
17515         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
17516         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
17517         * m4/xstrtol (gl_XSTRTOL): Likewise.
17518
17519         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
17520         AC_TYPE_LONG_LONG_INT.
17521         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
17522         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
17523         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
17524         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
17525
17526         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
17527         on stdbool.
17528
17529         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
17530         (gl_PREREQ_XSTRTOUL): Remove.
17531
17532         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
17533
17534         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
17535         mode.
17536
17537 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
17538
17539         Add and change modules to make it easier for coreutils to use
17540         gnulib-tool.
17541         * modules/backupfile (Files): Remove m4/d-ino.m4.
17542         (Depends-on): Add d-ino.
17543         * modules/cycle-check (Depends-on): Add stdint.
17544         (lib_SOURCES): Add cycle-check.h.
17545         * modules/d-ino: New module.
17546         * modules/d-type: New module.
17547         * modules/error (Files): Remove m4/strerror_r.m4.
17548         * modules/filemode (Files): Add m4/st_dm_mode.m4.
17549         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
17550         m4/inttypes_h.m4, m4/uintmax_t.m4.
17551         (Depends-on): Add stdint.
17552         (lib_SOURCES): Add fsusage.h.
17553         * modules/getcwd (Files): Remove d-ino.m4.
17554         (Depends-on): Add d-ino.
17555         * modules/getndelim2 (Depends-on): Add stdint.
17556         * modules/glob (Files): Remove m4/d-type.m4.
17557         (Depends-on): Add d-type.
17558         * modules/host-os: New module.
17559         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
17560         m4/inttypes_h.m4, m4/uintmax_t.m4.
17561         * Depends-on: Add stdint.
17562         (lib_SOURCES): Add human.h.
17563         * modules/inttostr (Files): Remove m4/intmax_t.m4,
17564         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
17565         m4/uintmax_t.m4, m4/ulonglong.m4.
17566         (Depends-on): Add stdint.
17567         (EXTRA_DIST): Add inttostr.h.
17568         * modules/lchmod: New module.
17569         * modules/link-follow: New module.
17570         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
17571         (Depends-on): Add lchmod.
17572         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
17573         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
17574         (Depends-on): Add stdint.
17575         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
17576         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
17577         (Depends-on): Add stdint.
17578         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
17579         * modules/perl: New module.
17580         * modules/regex (Depends-on): Add stdint.
17581         * modules/rmdir-errno: New module.
17582         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
17583         m4/intmax_t.m4.
17584         (Depends-on): Add stdint.
17585         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
17586         m4/uintmax_t.m4.
17587         (Depends-on): Add stdint.
17588         * modules/unlink-busy: New module.
17589         * modules/utimecmp (Depends-on): Add stdint.
17590         * modules/uptime: New module.
17591         * modules/winsz-ioctl: New module.
17592         * modules/winsz-termios: New module.
17593         * modules/xnanosleep (Depends-on): Add nanosleep.
17594         * modules/ullong_max: Remove.
17595         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
17596         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
17597         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
17598         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
17599         (Depends-on): Add inttypes.
17600         (lib_SOURCES): Add xstrtol.h.
17601         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
17602         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
17603         * MODULES.html.sh: Move 'assert' into the assert section.
17604         Move 'dummy' into the linking section.
17605         Remove ullong_max.
17606         Add section for compatibility checks for POSIX:2001 functions,
17607         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
17608         winsz-ioctl, and winsz-termios into it.
17609         Add lchmod.
17610         Add top-level Misc section and put host-os, perl, and uptime
17611         into it.
17612
17613 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
17614
17615         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
17616         now assume the stdint module.  Do not include inttypes.h.
17617         * lib/fsusage.h: Likewise.
17618         * lib/getndelim2.c: Likewise.
17619         * lib/human.h: Likewise.
17620         * lib/inttostr.h: Likewise.
17621         * lib/obstack.c: Likewise.
17622         * lib/regex_internal.h: Likewise.
17623         * lib/tempname.c: Likewise.
17624         * lib/utimecmp.c: Likewise.
17625         * lib/xstrtol.h: Likewise.
17626
17627         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
17628
17629         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
17630         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
17631         * lib/xtime.h: Likewise.
17632
17633 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17634
17635         * modules/openat (Files): Add lib/fchmodat.c.
17636         Fixes problem reported by Jay Youngman.
17637
17638 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17639
17640         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
17641         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
17642
17643 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
17644             Bruno Haible  <bruno@clisp.org>
17645
17646         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
17647         and is a script that invokes bison. Tighten the code. Add comments.
17648
17649 2006-08-18  Jim Meyering  <jim@meyering.net>
17650
17651         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
17652         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
17653         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
17654         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
17655
17656 2006-08-18  Bruno Haible  <bruno@clisp.org>
17657
17658         * modules/bison-i18n: New file.
17659         * MODULES.html.sh (Internationalization functions): Add it.
17660
17661 2006-08-18  Bruno Haible  <bruno@clisp.org>
17662
17663         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
17664         sys/statvfs.h. When getmntinfo was found, check its declaration and
17665         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
17666
17667 2006-08-18  Bruno Haible  <bruno@clisp.org>
17668
17669         * m4/bison-i18n.m4: New file, from bison.
17670
17671 2006-08-18  Bruno Haible  <bruno@clisp.org>
17672
17673         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
17674         (ME_DUMMY): Treat "kernfs" as a dummy.
17675         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
17676
17677 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
17678
17679         Update from coreutils.
17680
17681         2006-08-15  Jim Meyering  <jim@meyering.net>
17682
17683         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
17684
17685         2006-01-17  Jim Meyering  <jim@meyering.net>
17686
17687         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
17688
17689         2006-01-11  Jim Meyering  <jim@meyering.net>
17690
17691         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
17692         Check for the lchmod function.
17693
17694 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
17695
17696         Update from coreutils.
17697
17698         * lib/__fpending.h: Add copyright notice.
17699         * lib/fprintftime.h: Likewise.
17700         * lib/savedir.c: Use (C) in copyright notice.
17701         * lib/savedir.h: Likewise.
17702
17703         2006-08-15  Jim Meyering  <jim@meyering.net>
17704
17705         * lib/at-func.c: New file, with the logic of all emulated at-functions.
17706         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
17707         in support of the EXPECTED_ERRNO macro.
17708         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
17709         definitions.  Instead, define the appropriate symbols and include
17710         "at-func.c".
17711         * lib/mkdirat.c (mkdirat): Likewise.
17712         * lib/fchmodat.c (fchmodat): Likewise.
17713         (ENOSYS): Remove definition.
17714         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
17715         it.  Don't include "unistd--.h" -- it wasn't ever used.
17716
17717         2006-01-17  Jim Meyering  <jim@meyering.net>
17718
17719         Rewrite fts.c not to change the current working directory,
17720         by using openat, fstatat, fdopendir, etc..
17721
17722         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
17723         (HAVE_OPENAT_SUPPORT): Define.
17724         [_LIBC] (fchdir): Don't undef or define; no longer used.
17725         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
17726         Now, this `function' always succeeds, and consumes its file descriptor
17727         parameter -- so callers must not close such FDs.  Update callers.
17728         (diropen_fd, opendirat, cwd_advance_fd): New functions.
17729         (diropen): Add parameter, SP.  Adjust all callers.
17730         Implement using diropen_fd, rather than open.
17731         (fts_open): Initialize new member, fts_cwd_fd.
17732         Remove fts_rft-setting code.
17733         (fts_close): Close fts_cwd_fd, if necessary.
17734         (__opendir2): Define in terms of opendir or opendirat,
17735         depending on whether the FST_NOCHDIR flag is set.
17736         (fts_build): Since fts_safe_changedir consumes its FD, and since
17737         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
17738         and close the dup'd file descriptor upon failure.
17739         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
17740         (fts_safe_changedir): Tweak semantics to reflect that this function
17741         now calls cwd_advance_fd and hence consumes its FD argument.
17742         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
17743         [struct FTS] (fts_rft): Remove now-unused member.
17744         [struct FTS] (fts_cycle.state): Improve comment.
17745
17746         * lib/openat.c (openat_needs_fchdir): New function.
17747         * lib/openat.h (openat_needs_fchdir): Declare it.
17748
17749 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
17750
17751         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
17752         Problem and fix reported by Pádraig Brady in
17753         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
17754
17755 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
17756
17757         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
17758
17759 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
17760
17761         * lib/memcoll.c (memcoll): Optimize for the common case where the
17762         arguments are bytewise equal.
17763
17764 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
17765
17766         * doc/regexprops-generic.texi: Add a copyright notice.
17767
17768 2006-08-15  Bruno Haible  <bruno@clisp.org>
17769
17770         * modules/tmpdir (License): Change to LGPL.
17771
17772 2006-08-15  Bruno Haible  <bruno@clisp.org>
17773
17774         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
17775         module.
17776
17777 2006-08-14  Simon Josefsson  <jas@extundo.com>
17778
17779         * config/srclist.txt: Add gnupload.
17780
17781 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
17782
17783         Change copyright notice from LGPL 2 to GPL 2, since that's the
17784         standard form used in the gnulib repository.
17785         * tests/test-lock.c: Likewise.
17786         * tests/test-stdint.c: Likewise.
17787         * tests/test-tls.c: Likewise.
17788
17789         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
17790         prelude-manager.  User shorter URLs for GNU projects, without '?'.
17791         Add copyright notice.
17792
17793         * check-module: Add copyright notice.  Output a copyright
17794         notice if "--version" is specified.
17795         * modules/COPYING: New file.
17796         * tests/test-getaddrinfo.c: Add copyright notice.
17797         * tests/test-verify.c: Likewise.
17798
17799 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
17800
17801         Change copyright notice from LGPL 2 to GPL 2, since that's the
17802         standard form used in the gnulib repository.
17803         * lib/lock.c: LGPL -> GPL.
17804         * lib/lock.h: Likewise.
17805         * lib/strnlen1.c: Likewise.
17806         * lib/strnlen1.h: Likewise.
17807         * lib/tls.c: Likewise.
17808         * lib/tls.h: Likewise.
17809         * lib/tmpdir.c: Likewise.
17810
17811         * lib/TODO: Remove; this belongs only in coreutils.
17812
17813 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
17814
17815         Add copyright notices to long-enough files that lack them, since
17816         otherwise the files aren't clearly free.  Use the same notice that
17817         getdate.texi already uses.
17818         * doc/alloca-opt.texi: Add copyright notice.
17819         * doc/alloca.texi: Likewise.
17820         * doc/ctime.texi: Likewise.
17821         * doc/functions.texi: Likewise.
17822         * doc/gcd.texi: Likewise.
17823         * doc/gnulib-tool.texi: Likewise.
17824         * doc/inet_ntoa.texi: Likewise.
17825         * doc/visibility.texi: Likewise.
17826
17827         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
17828         * doc/quote.texi: Add copyright notice.
17829
17830         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
17831         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
17832         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
17833         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
17834         is now obsolete, and give a pointer to the Sun list.
17835         Add copyright notice.
17836
17837 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
17838
17839         * config/srclistvars.sh: Add copyright notice.
17840
17841 2006-08-14  Eric Blake  <ebb9@byu.net>
17842
17843         Import the following change from libc:
17844
17845         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
17846
17847         Upstream bug 2997.
17848         * lib/misc/error.c: Add space between program name and message if file
17849         name is missing.
17850
17851 2006-08-12  Karl Berry  <karl@gnu.org>
17852
17853         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
17854         remove, these originate in gnulib now.
17855
17856 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17857
17858         * doc/Makefile (standards.info standards.html standards.dvi):
17859         Also depend on make-stds.texi.
17860
17861 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17862
17863         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
17864         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
17865
17866         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
17867         in wchar_t.  Problem reported by Eric Blake.
17868
17869         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
17870         LEN is smaller than SIZE.  Suggested by Bruno Haible.
17871         Also, help the compiler to keep LEN in a register.
17872
17873 2006-08-11  Eric Blake  <ebb9@byu.net>
17874
17875         * users.txt: Sort.  Add tar.
17876
17877 2006-08-11  Bruno Haible  <bruno@clisp.org>
17878
17879         * users.txt: New file.
17880
17881 2006-08-11  Bruno Haible  <bruno@clisp.org>
17882
17883         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
17884         before <wchar.h>. Needed for OSF/1 and BSD/OS.
17885
17886 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
17887
17888         * modules/snprintf (Depends-on): Remove minmax.
17889         (Maintainer): Add self and Bruno.
17890
17891 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
17892
17893         * lib/.cppi-disable: Add snprintf.h, socket_.h.
17894         * lib/snprintf.c: Include <errno.h> and <limits.h>.
17895         (EOVERFLOW): Define if the system does not.
17896         Do not include "minmax.h"; it wasn't used.
17897         (snprintf): Don't assume size_t promotes to an unsigned type.
17898         Fix bug when generated string was too long for the buffer: the
17899         buffer's contents are supposed to be the initial prefix of the
17900         output.  Don't assume vasnprintf returns EOVERFLOW if the size
17901         exceeds INT_MAX; do the check ourselves.
17902
17903         Import the following changes from libc:
17904
17905         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
17906
17907         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
17908         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
17909         set wc to the byte which couldn't be converted.
17910         (re_string_reconstruct): Don't clear valid_raw_len before calling
17911         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
17912         tip_context using re_string_context_at.
17913
17914         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
17915
17916         * lib/posix/regex.h: g++ still cannot handled [restrict].
17917
17918         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
17919
17920         * lib/posix/regex.h: Remove special handling for VMS.
17921
17922 2006-08-10  Jim Meyering  <jim@meyering.net>
17923
17924         * modules/same-inode: New module.
17925         * modules/dev-ino: New module.
17926         * modules/cycle-check: Depend on these modules, rather than simply
17927         including their .h files.
17928         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
17929         required via m4/cycle-check.m4.
17930         * modules/same: Depend on new same-inode module, rather than
17931         including same-inode.h.
17932         * modules/chdir-safer: New file.
17933
17934         * modules/chown (Depends-on): Add stat-macros.
17935
17936 2006-08-10  Jim Meyering  <jim@meyering.net>
17937
17938         * m4/cycle-check.m4: New file.
17939         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
17940         * m4/dev-ino.m4, m4/same-inode.m4: New files.
17941
17942 2006-08-10  Eric Blake  <ebb9@byu.net>
17943
17944         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
17945         in from original proposal.
17946
17947 2006-08-10  Eric Blake  <ebb9@byu.net>
17948         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17949
17950         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
17951         namespace.
17952
17953 2006-08-10  Bruno Haible  <bruno@clisp.org>
17954
17955         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
17956         as well.
17957
17958 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17959
17960         Sync from coreutils.
17961
17962         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
17963
17964         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
17965         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
17966
17967 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17968
17969         * modules/restrict: Remove; no longer needed now that we assume
17970         Autoconf 2.59 or later.
17971         * MODULES.html.sh: Remove 'restrict'.
17972         * modules/argp (Depends-on): Remove 'restrict'.
17973         * modules/base64 (Depends-on): Likewise.
17974         * modules/gc (Depends-on): Likewise.
17975         * modules/getaddrinfo (Depends-on): Likewise.
17976         * modules/glob (Depends-on): Likewise.
17977         * modules/inet_ntop (Depends-on): Likewise.
17978         * modules/inet_pton (Depends-on): Likewise.
17979         * modules/memxor (Depends-on): Likewise.
17980         * modules/regex (Depends-on): Likewise.
17981         * modules/strtok_r (Depends-on): Likewise.
17982         * modules/time_r (Depends-on): Likewise.
17983
17984 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17985
17986         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
17987         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
17988         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
17989         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
17990         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
17991         * m4/memxor.m4 (gl_MEMXOR): Likewise.
17992         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
17993         gl_C_RESTRICT replaced by AC_C_RESTRICT.
17994
17995         Merge from coreutils.
17996         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
17997         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
17998         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
17999         * m4/time_r.m4 (gl_TIME_R): Likewise.
18000
18001 2006-08-09  Karl Berry  <karl@gnu.org>
18002
18003         * config/srclist.txt: no more gettext-tools, per Bruno.
18004
18005 2006-08-08  Eric Blake  <ebb9@byu.net>
18006
18007         * modules/verror: New module.
18008         * MODULES.html.sh: Document it.
18009
18010 2006-08-08  Eric Blake  <ebb9@byu.net>
18011
18012         * lib/verror.h, lib/verror.c: New files.
18013
18014 2006-08-08  Eric Blake  <ebb9@byu.net>
18015
18016         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
18017         verror_at_line output complies with GNU Coding Standards even when
18018         file is NULL.
18019
18020 2006-08-07  Bruno Haible  <bruno@clisp.org>
18021
18022         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
18023         versions of AIX.
18024         Reported by Ralf Wildenhues.
18025
18026 2006-08-07  Bruno Haible  <bruno@clisp.org>
18027
18028         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
18029         in an AC_DEFUN. Needed so that the autoconf snippets can use
18030         AC_REQUIRE.
18031
18032 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18033
18034         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
18035         Initialize pkgdata_DATA.
18036         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
18037         overriding it.
18038
18039 2006-08-06  Eric Blake  <ebb9@byu.net>
18040
18041         * lib/error.h: Fold in some upstream changes from glibc.
18042         * lib/error.c: Likewise.
18043
18044 2006-08-04  Bruno Haible  <bruno@clisp.org>
18045
18046         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
18047         Make the mostlyclean-local rule depend on mostlyclean-generic.
18048         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
18049
18050 2006-07-31  Bruno Haible  <bruno@clisp.org>
18051
18052         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
18053         <stdlib.h>, <string.h>.
18054
18055 2006-07-30  Bruno Haible  <bruno@clisp.org>
18056
18057         * modules/readlink (License): Change to LGPL.
18058
18059 2006-07-30  Bruno Haible  <bruno@clisp.org>
18060
18061         * modules/javaversion (Makefile.am): Distribute javaversion.java and
18062         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
18063         set PKGDATADIR to point to it.
18064
18065 2006-07-30  Bruno Haible  <bruno@clisp.org>
18066
18067         * modules/csharpexec (configure.ac): Comment out macro invocation.
18068         * modules/javaexec (configure.ac): Likewise.
18069         * modules/javacomp-script (configure.ac): Likewise.
18070
18071         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
18072
18073 2006-07-30  Bruno Haible  <bruno@clisp.org>
18074
18075         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
18076         linked-list.
18077
18078 2006-07-30  Bruno Haible  <bruno@clisp.org>
18079
18080         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
18081
18082 2006-07-30  Bruno Haible  <bruno@clisp.org>
18083
18084         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
18085         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
18086         get removed.
18087
18088 2006-07-29  Bruno Haible  <bruno@clisp.org>
18089
18090         Make it possible for gnulib-tool to work with locally modified or
18091         augmented gnulib repositories.
18092         * gnulib-tool (func_usage): Document --local-dir option.
18093         (local_gnulib_dir): New variable.
18094         Handle --local-dir option.
18095         (func_lookup_file): New function.
18096         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
18097         (func_get_description, func_get_filelist, func_get_description,
18098         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
18099         func_get_automake_snippet, func_get_include_directive,
18100         func_get_license, func_get_maintainer): Use func_lookup_file.
18101         (func_import, func_create_testdir): Use func_lookup_file.
18102
18103 2006-07-29  Bruno Haible  <bruno@clisp.org>
18104
18105         * modules/setenv (Depends-on): Add unistd.
18106
18107 2006-07-29  Bruno Haible  <bruno@clisp.org>
18108
18109         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
18110
18111 2006-07-29  Bruno Haible  <bruno@clisp.org>
18112
18113         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
18114
18115 2006-07-29  Bruno Haible  <bruno@clisp.org>
18116
18117         * gnulib-tool (import, update): If there is no Makefile.am, look at
18118         aclocal.m4, instead of bailing out.
18119
18120 2006-07-29  Bruno Haible  <bruno@clisp.org>
18121
18122         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
18123         Categorize the options by when they are useful.
18124
18125 2006-07-29  Bruno Haible  <bruno@clisp.org>
18126
18127         * gnulib-tool (func_usage): Document option --no-libtool.
18128         Handle option --no-libtool.
18129         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
18130         for changed semantics of $libtool variable.
18131         (func_import): Likewise. If libtool is not used, show this through
18132         an option --no-libtool.
18133         (func_create_testdir): Update.
18134
18135 2006-07-29  Bruno Haible  <bruno@clisp.org>
18136
18137         * gnulib-tool (func_import): Extend error message about missing
18138         --doc-base.
18139
18140 2006-07-29  Bruno Haible  <bruno@clisp.org>
18141
18142         * gnulib-tool (func_import): Don't create the $docbase directory if
18143         there is no file to store there.
18144
18145 2006-07-29  Bruno Haible  <bruno@clisp.org>
18146
18147         * gnulib-tool (autoconf_minversion): If a --dir option is given and
18148         relevant, look for configure.ac there, not in the current directory.
18149         Also use a simple search for AC_PREREQ, not "autoconf --trace".
18150
18151 2006-07-29  Bruno Haible  <bruno@clisp.org>
18152
18153         * gnulib-tool (SORT): New variable.
18154         (func_usage): Undocument --assume-autoconf option.
18155         Remove --assume-autoconf option handling.
18156         (autoconf_minversion): Determine from the contents of configure.ac.
18157         (func_import): Remove autoconf_minversion handling.
18158         Suggested by Eric Blake.
18159
18160 2006-07-29  Bruno Haible  <bruno@clisp.org>
18161
18162         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
18163
18164 2006-07-29  Bruno Haible  <bruno@clisp.org>
18165
18166         * config/srclist.txt (*setenv.[ch]): Remove rules.
18167
18168 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18169
18170         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
18171
18172 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18173
18174         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
18175         arpa/inet.h.
18176
18177 2006-07-28  Simon Josefsson  <jas@extundo.com>
18178
18179         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
18180         * modules/inet_pton (Depends-on): Likewise.
18181
18182 2006-07-28  Simon Josefsson  <jas@extundo.com>
18183
18184         * m4/netinet_in_h.m4: New file.
18185
18186 2006-07-28  Simon Josefsson  <jas@extundo.com>
18187
18188         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
18189         #include's.
18190
18191 2006-07-28  Simon Josefsson  <jas@extundo.com>
18192
18193         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
18194         #include's.
18195
18196 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
18197
18198         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
18199         setgid on directories only if they set these bits.
18200         * lib/modechange.h: Remove obsolete comment about masks.
18201
18202 2006-07-28  Eric Blake  <ebb9@byu.net>
18203
18204         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
18205         macro expansion.
18206
18207 2006-07-28  Bruno Haible  <bruno@clisp.org>
18208
18209         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
18210
18211 2006-07-28  Bruno Haible  <bruno@clisp.org>
18212
18213         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
18214
18215 2006-07-28  Bruno Haible  <bruno@clisp.org>
18216
18217         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
18218         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
18219         Define fallbacks.
18220         Avoids link error on FreeBSD 4.x.
18221         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
18222
18223         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
18224         encoding.
18225         * lib/mbswidth.c (iswcntrl): Likewise.
18226
18227 2006-07-27  Bruno Haible  <bruno@clisp.org>
18228
18229         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
18230         test.
18231
18232 2006-07-27  Bruno Haible  <bruno@clisp.org>
18233
18234         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
18235         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
18236         defined.
18237
18238 2006-07-26  Eric Blake  <ebb9@byu.net>
18239
18240         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
18241
18242 2006-07-26  Eric Blake  <ebb9@byu.net>
18243
18244         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
18245         like mingw that lack mkstemp.
18246         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
18247         avoid compilation warning on mingw.
18248
18249 2006-07-26  Bruno Haible  <bruno@clisp.org>
18250
18251         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
18252         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
18253         INT_FAST*_MIN, INTPTR_MIN.
18254
18255 2006-07-25  Bruno Haible  <bruno@clisp.org>
18256
18257         * modules/version-etc (Depends-on): Add stdarg.
18258
18259 2006-07-25  Bruno Haible  <bruno@clisp.org>
18260
18261         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
18262         complex commands.
18263
18264 2006-07-25  Bruno Haible  <bruno@clisp.org>
18265
18266         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
18267         defined in <stdarg.h> or config.h.
18268
18269 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
18270
18271         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
18272         (gl_STDIO_SAFER): Remove.
18273
18274 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
18275
18276         * MODULES.html.sh (File stream based Input/Output):
18277         Add fopen-safer, tmpfile-safer; remove stdio-safer.
18278         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
18279         * modules/fopen-safer, modules/tmpfile-safer: New files.
18280         * modules/stdio-safer: Remove.
18281
18282 2006-07-24  Bruno Haible  <bruno@clisp.org>
18283
18284         * modules/tmpdir: New file.
18285         * MODULES.html.sh (File system functions): Add it.
18286
18287 2006-07-24  Bruno Haible  <bruno@clisp.org>
18288
18289         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
18290         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
18291
18292 2006-07-24  Bruno Haible  <bruno@clisp.org>
18293
18294         * modules/clean-temp: New file.
18295
18296 2006-07-24  Bruno Haible  <bruno@clisp.org>
18297
18298         * m4/tmpdir.m4: New file, from GNU gettext.
18299
18300 2006-07-24  Bruno Haible  <bruno@clisp.org>
18301
18302         * lib/tmpdir.h: New file, from GNU gettext.
18303         * lib/tmpdir.c: New file, from GNU gettext.
18304
18305 2006-07-24  Bruno Haible  <bruno@clisp.org>
18306
18307         * lib/clean-temp.h: New file, from GNU gettext.
18308         * lib/clean-temp.c: New file, from GNU gettext.
18309
18310 2006-07-23  Eric Blake  <ebb9@byu.net>
18311
18312         * modules/stdio-safer (Files): Add tmpfile-safer.c.
18313         (Depends-on): Add binary-io.
18314
18315 2006-07-23  Eric Blake  <ebb9@byu.net>
18316
18317         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
18318
18319 2006-07-23  Eric Blake  <ebb9@byu.net>
18320
18321         * lib/tmpfile-safer.c: New file.
18322         * lib/stdio-safer.h (fopen_safer): Add prototype.
18323         * lib/stdio--.h (tmpfile): Make safer.
18324
18325 2006-07-23  Bruno Haible  <bruno@clisp.org>
18326
18327         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
18328         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
18329         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
18330         gl_linked_remove_at): Use it.
18331
18332 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18333         and Simon Josefsson <jas@extundo.com>
18334
18335         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
18336
18337         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
18338
18339 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
18340
18341         * modules/close-stream: New file.
18342         * modules/closeout (Description): Make it clear that it exits
18343         with a diagnostic on error.
18344         (Depends-on): Add close-stream.  Remove fpending, stdbool.
18345         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
18346
18347 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
18348
18349         * m4/close-stream.m4: New file.
18350
18351 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
18352
18353         * lib/close-stream.c, lib/close-stream.h: New files.
18354
18355 2006-07-22  Bruno Haible  <bruno@clisp.org>
18356
18357         Merge from GNU gettext 0.15.
18358
18359         2006-05-01  Bruno Haible  <bruno@clisp.org>
18360
18361                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
18362
18363         2006-07-22  Bruno Haible  <bruno@clisp.org>
18364
18365                 * modules/javaversion: New file.
18366                 * MODULES.html.sh (Java): Add javaversion.
18367
18368         2006-03-12  Bruno Haible  <bruno@clisp.org>
18369
18370                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
18371
18372         2005-12-04  Bruno Haible  <bruno@clisp.org>
18373
18374                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
18375                 (untested).
18376
18377         2006-06-21  Bruno Haible  <bruno@clisp.org>
18378
18379                 Avoid warnings from recent versions of mcs.
18380                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
18381                 -o, -L, -r any more. Use options documented since mcs-1.0
18382                 instead. Similarly for -g.
18383
18384         2005-12-04  Bruno Haible  <bruno@clisp.org>
18385
18386                 * build-aux/csharpcomp.sh.in: Suffix for resources is
18387                 .resources, not .resource.
18388
18389         2005-07-09  Bruno Haible  <bruno@clisp.org>
18390
18391                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
18392                 add a .dll suffix.
18393                 Reported by Mark Junker <mjscod@gmx.de>.
18394
18395         2006-07-22  Bruno Haible  <bruno@clisp.org>
18396
18397                 * modules/gettext: Upgrade to gettext-0.15.
18398                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
18399                 m4/visibility.m4.
18400                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
18401
18402 2006-07-22  Bruno Haible  <bruno@clisp.org>
18403
18404         Merge from GNU gettext 0.15.
18405
18406         2006-03-25  Bruno Haible  <bruno@clisp.org>
18407
18408                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
18409
18410         2006-07-21  Bruno Haible  <bruno@clisp.org>
18411
18412                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
18413                 "1.1".
18414
18415         2006-05-09  Bruno Haible  <bruno@clisp.org>
18416
18417                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
18418                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
18419                 for the conftestver execution.
18420
18421         2006-05-01  Bruno Haible  <bruno@clisp.org>
18422
18423                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
18424                 optional target-version argument. Verify that the compiler
18425                 groks source of the specified source-version, or add -source
18426                 option as necessary. Verify that the compiler produces
18427                 bytecode in the specified target-version, or add -target and
18428                 -source options as necessary. Make the result of the test
18429                 available as variable CONF_JAVAC. Also log error output in
18430                 config.log.
18431
18432         2006-03-11  Bruno Haible  <bruno@clisp.org>
18433
18434                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
18435
18436         2006-05-09  Bruno Haible  <bruno@clisp.org>
18437
18438                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
18439                 CLASSPATH_SEPARATOR to a semicolon.
18440
18441         2006-03-12  Bruno Haible  <bruno@clisp.org>
18442
18443                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
18444                 available as variable CONF_JAVA, for subsequent autoconf
18445                 tests. Also log error output in config.log.
18446
18447         2006-07-19  Bruno Haible  <bruno@clisp.org>
18448
18449                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
18450                 that getline works on glibc2 systems. Needed to avoid trouble
18451                 in relocatable.c.
18452                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
18453
18454         2005-12-04  Bruno Haible  <bruno@clisp.org>
18455
18456                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
18457                 launcher (untested).
18458
18459         2005-12-04  Bruno Haible  <bruno@clisp.org>
18460
18461                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
18462
18463         2006-07-22  Bruno Haible  <bruno@clisp.org>
18464
18465                 * gettext.m4: Update from GNU gettext-0.15.
18466                 * nls.m4: Likewise.
18467                 * po.m4: Likewise.
18468                 * inttypes-pri.m4: Likewise.
18469                 * inttypes-h.m4: Renamed from inttypes.m4.
18470                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
18471
18472 2006-07-22  Bruno Haible  <bruno@clisp.org>
18473
18474         Merge from GNU gettext 0.15.
18475
18476         2005-07-05  Bruno Haible  <bruno@clisp.org>
18477
18478                 * printf-args.c (printf_fetchargs): Work around broken
18479                 definition of wint_t on mingw.
18480
18481         2005-02-12  Bruno Haible  <bruno@clisp.org>
18482
18483                 * xallocsa.h: Add extern "C" for C++.
18484
18485         2006-05-17  Bruno Haible  <bruno@clisp.org>
18486
18487                 Cygwin portability.
18488                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
18489
18490         2006-04-30  Bruno Haible  <bruno@clisp.org>
18491
18492                 * progreloc.c: Include <mach-o/dyld.h> if available.
18493                 (find_executable): Use _NSGetExecutablePath when possible.
18494
18495         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
18496
18497                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
18498                 function.
18499
18500         2005-12-29  Bruno Haible  <bruno@clisp.org>
18501
18502                 * progreloc.c (set_program_name_and_installdir): Fix
18503                 compilation error.
18504
18505         2005-12-04  Bruno Haible  <bruno@clisp.org>
18506
18507                 Cygwin portability.
18508                 * progreloc.c: Include <windows.h> also on Cygwin.
18509                 (find_executable): Add support for Cygwin.
18510                 (set_program_name_and_installdir): Handle also platforms with
18511                 nonempty EXEEXT.
18512
18513         2006-07-11  Bruno Haible  <bruno@clisp.org>
18514
18515                 * javacomp.c: Fix a comment.
18516                 Reported by Jim Meyering.
18517
18518         2006-04-30  Bruno Haible  <bruno@clisp.org>
18519
18520                 * javacomp.h (compile_java_class): Add source_version,
18521                 target_version arguments.
18522                 * javacomp.c: Rewritten to choose only a compiler that
18523                 respects the specified source_version and target_version.
18524
18525         2006-06-27  Bruno Haible  <bruno@clisp.org>
18526
18527                 Assume correct S_ISDIR macro.
18528                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
18529
18530         2006-07-22  Bruno Haible  <bruno@clisp.org>
18531
18532                 * javaversion.h: New file, from GNU gettext.
18533                 * javaversion.c: New file, from GNU gettext.
18534                 * javaversion.java: New file, from GNU gettext.
18535                 * javaversion.class: New file, from GNU gettext.
18536
18537         2006-05-17  Bruno Haible  <bruno@clisp.org>
18538
18539                 Cygwin portability.
18540                 * javaexec.c (execute_java_class): Test for jview program
18541                 also on Cygwin.
18542
18543         2006-04-09  Bruno Haible  <bruno@clisp.org>
18544
18545                 * fatal-signal.c: Don't include string.h.
18546                 (at_fatal_signal): Use a copying loop instead of memcpy.
18547
18548         2005-12-04  Bruno Haible  <bruno@clisp.org>
18549
18550                 * csharpexec.c: Add support for 'clix' launcher (untested).
18551                 (execute_csharp_using_sscli): New function.
18552                 (execute_csharp_program): Call it.
18553
18554         2006-06-21  Bruno Haible  <bruno@clisp.org>
18555
18556                 Avoid warnings from recent versions of mcs.
18557                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
18558                 -o, -L, -r any more. Use options documented since mcs-1.0
18559                 instead. Similarly for -g.
18560
18561         2005-07-09  Bruno Haible  <bruno@clisp.org>
18562
18563                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
18564                 add a .dll suffix.
18565                 Reported by Mark Junker <mjscod@gmx.de>.
18566
18567         2006-06-17  Bruno Haible  <bruno@clisp.org>
18568
18569                 * config.charset: Update for NetBSD 3.0.
18570
18571         2006-05-17  Bruno Haible  <bruno@clisp.org>
18572
18573                 Cygwin portability.
18574                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
18575
18576         2006-05-16  Bruno Haible  <bruno@clisp.org>
18577
18578                 * localcharset.c [CYGWIN]: Include <windows.h>.
18579                 (get_charset_aliases): For Cygwin, return the same CPxxx
18580                 aliases list as under WIN32.
18581                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
18582                 the environment variables. Fall back to GetACP().
18583
18584         2006-04-05  Bruno Haible  <bruno@clisp.org>
18585
18586                 * config.charset: Update Juan Manuel Guerrero's address.
18587
18588         2005-02-12  Bruno Haible  <bruno@clisp.org>
18589
18590                 * allocsa.h: Add extern "C" for C++.
18591
18592         2005-02-10  Bruno Haible  <bruno@clisp.org>
18593
18594                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
18595                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
18596
18597         2006-07-22  Bruno Haible  <bruno@clisp.org>
18598
18599                 * gettext.h: Update to GNU gettext-0.15.
18600
18601 2006-07-22  Bruno Haible  <bruno@clisp.org>
18602
18603         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
18604         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
18605         lib-prefix.m4, longdouble.m4, ssize_t.m4.
18606
18607 2006-07-21  Eric Blake  <ebb9@byu.net>
18608
18609         * modules/stdlib-safer: New file.
18610         * MODULES.html.sh (File stream based Input/Output): Add
18611         stdlib-safer.
18612
18613 2006-07-21  Eric Blake  <ebb9@byu.net>
18614
18615         * lib/stdlib-safer.h: New file from coreutils, required by
18616         stdlib--.h.
18617
18618 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
18619
18620         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
18621
18622 2006-07-20  Bruno Haible  <bruno@clisp.org>
18623
18624         * gnulib-tool: Recognize new option --assume-autoconf.
18625         (autoconf_minversion): New variable.
18626         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
18627
18628 2006-07-20  Bruno Haible  <bruno@clisp.org>
18629
18630         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
18631
18632 2006-07-19  Derek R. Price  <derek@ximbiot.com>
18633
18634         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
18635         Reindent and repaginate.
18636
18637 2006-07-19  Derek Price  <derek@ximbiot.com>
18638
18639         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
18640         Correct grammar.
18641
18642 2006-07-17  Bruno Haible  <bruno@clisp.org>
18643
18644         * modules/list: New file.
18645         * modules/array-list: New file.
18646         * modules/carray-list, modules/carray-list-tests: New files.
18647         * modules/linked-list, modules/linked-list-tests: New files.
18648         * modules/avltree-list, modules/avltree-list-tests: New files.
18649         * modules/rbtree-list, modules/rbtree-list-tests: New files.
18650         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
18651         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
18652         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
18653         * modules/oset: New file.
18654         * modules/array-oset: New file.
18655         * modules/avltree-oset, modules/avltree-oset-tests: New files.
18656         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
18657         * tests/test-carray_list.c: New file.
18658         * tests/test-linked_list.c: New file.
18659         * tests/test-avltree_list.c: New file.
18660         * tests/test-rbtree_list.c: New file.
18661         * tests/test-linkedhash_list.c: New file.
18662         * tests/test-avltreehash_list.c: New file.
18663         * tests/test-rbtreehash_list.c: New file.
18664         * tests/test-avltree_oset.c: New file.
18665         * tests/test-rbtree_oset.c: New file.
18666         * MODULES.html.sh (Container data structures): New section.
18667
18668 2006-07-17  Bruno Haible  <bruno@clisp.org>
18669
18670         * m4/gl_list.m4: New file.
18671
18672 2006-07-17  Bruno Haible  <bruno@clisp.org>
18673
18674         * lib/gl_list.h: New file.
18675         * lib/gl_list.c: New file.
18676         * lib/gl_array_list.h: New file.
18677         * lib/gl_array_list.c: New file.
18678         * lib/gl_carray_list.h: New file.
18679         * lib/gl_carray_list.c: New file.
18680         * lib/gl_linked_list.h: New file.
18681         * lib/gl_linked_list.c: New file.
18682         * lib/gl_anylinked_list1.h: New file.
18683         * lib/gl_anylinked_list2.h: New file.
18684         * lib/gl_avltree_list.h: New file.
18685         * lib/gl_avltree_list.c: New file.
18686         * lib/gl_anyavltree_list1.h: New file.
18687         * lib/gl_anyavltree_list2.h: New file.
18688         * lib/gl_rbtree_list.h: New file.
18689         * lib/gl_rbtree_list.c: New file.
18690         * lib/gl_anyrbtree_list1.h: New file.
18691         * lib/gl_anyrbtree_list2.h: New file.
18692         * lib/gl_anytree_list1.h: New file.
18693         * lib/gl_anytree_list2.h: New file.
18694         * lib/gl_linkedhash_list.h: New file.
18695         * lib/gl_linkedhash_list.c: New file.
18696         * lib/gl_anyhash_list1.h: New file.
18697         * lib/gl_anyhash_list2.h: New file.
18698         * lib/gl_avltreehash_list.h: New file.
18699         * lib/gl_avltreehash_list.c: New file.
18700         * lib/gl_rbtreehash_list.h: New file.
18701         * lib/gl_rbtreehash_list.c: New file.
18702         * lib/gl_anytreehash_list1.h: New file.
18703         * lib/gl_anytreehash_list2.h: New file.
18704
18705         * lib/gl_oset.h: New file.
18706         * lib/gl_oset.c: New file.
18707         * lib/gl_array_oset.h: New file.
18708         * lib/gl_array_oset.c: New file.
18709         * lib/gl_avltree_oset.h: New file.
18710         * lib/gl_avltree_oset.c: New file.
18711         * lib/gl_rbtree_oset.h: New file.
18712         * lib/gl_rbtree_oset.c: New file.
18713         * lib/gl_anytree_oset.h: New file.
18714
18715 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
18716
18717         * m4/mkancesdirs.m4: New file.
18718         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
18719         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
18720         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
18721         it.
18722
18723 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
18724
18725         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
18726         * lib/mkancesdirs.h: New files.
18727         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
18728         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
18729         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
18730         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
18731         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
18732         callers changed.  Revamp internals significantly, by not
18733         attempting to create directories that are temporarily more
18734         permissive than the final results.  Do not attempt to use
18735         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
18736         This removes some race conditions, fixes some bugs, and simplifies
18737         things.  Use new dirchownmod function to do owner and mode changes.
18738         * lib/mkdir-p.h: Likewise.
18739         * lib/modechange.c (octal_to_mode): New function.
18740         (struct mode_change): New member mentioned.
18741         (make_node_op_equals): New arg mentioned.  All callers changed.
18742         (mode_compile): Keep track of which mode bits the user has explicitly
18743         mentioned.
18744         (mode_adjust): New arg DIR, so that we implement the X op correctly.
18745         New arg PMODE_BITS, to keep track of which mode bits the user
18746         mentioned; it treats S_ISUID and S_ISGID speciall.
18747         All callers changed.
18748         * lib/modechange.h: Likewise.
18749
18750 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
18751
18752         * MODULES.html.sh: Add mkancestors.
18753         * modules/mkancesdirs: New module.
18754         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
18755         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
18756         The chdir-safer and afs files are now orphans; I'll remove them
18757         unless someone speaks up.
18758         Add lib/dirchownmod.c, lib/dirchownmod.h.
18759         (Depends-on): Remove alloca, chown, save-cwd, dirname.
18760         Add lchown, mkancesdirs.
18761         (Maintainer): Add self.
18762
18763 2006-07-15  Karl Berry  <karl@gnu.org>
18764
18765         * gnulib-tool: help message wording/arrangement.
18766
18767 2006-07-14  Simon Josefsson  <jas@extundo.com>
18768
18769         * doc/gnulib.texi (Libtool and Windows): New section.
18770
18771 2006-07-12  Simon Josefsson  <jas@extundo.com>
18772
18773         * modules/gendocs (License): Fix license, approved by Karl.
18774
18775 2006-07-12  Eric Blake  <ebb9@byu.net>
18776
18777         * MODULES.html.sh: Add gendocs.
18778
18779 2006-07-11  Eric Blake  <ebb9@byu.net>
18780
18781         * modules/fdl: New module, to install doc/fdl.texi.
18782         * MODULES.html.sh: Add new section for documentation modules.
18783         * gnulib-tool: Avoid space-tab.
18784         (--doc-base): New option, to manage files from doc.
18785
18786 2006-07-11  Eric Blake  <ebb9@byu.net>
18787
18788         * m4/absolute-header.m4: Fix comments to match recent change.
18789
18790 2006-07-11  Eric Blake  <ebb9@byu.net>
18791
18792         * gnulib-tool: List --doc-base before --tests-base.
18793
18794 2006-07-11  Derek R. Price  <derek@ximbiot.com>
18795
18796         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
18797
18798 2006-07-11  Bruno Haible  <bruno@clisp.org>
18799
18800         * README: Mention where to put documentation.
18801
18802 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18803
18804         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
18805
18806 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
18807
18808         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
18809         to stdint.m4.
18810
18811 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
18812
18813         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
18814         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
18815         "no/such/file/stdint.h" when there is no such file, so that
18816         the resulting C code can be parsed by dodgy compilers.
18817         Problems reported by Bob Proulx.
18818
18819 2006-07-10  Derek R. Price  <derek@ximbiot.com>
18820
18821         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
18822         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
18823         macros into the GNU _D_EXACT_NAMLEN.
18824         * lib/savedir.c:  Likewise.
18825         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
18826
18827 2006-07-10  Derek R. Price  <derek@ximbiot.com>
18828         and Paul Eggert  <eggert@cs.ucla.edu>
18829
18830         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
18831         * m4/savedir.m4:
18832         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
18833         macros into the GNU _D_EXACT_NAMLEN.
18834
18835 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
18836
18837         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
18838         around the absolute name, to work around a problem with the HP-UX
18839         11.23 native C compiler, reported by Bob Proulx.
18840
18841 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
18842
18843         * doc/maintain.texi, make-stds.texi: Sync from
18844         <http://savannah.gnu.org/projects/gnustandards>.
18845
18846 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
18847
18848         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
18849
18850 2006-07-09  Jim Meyering  <jim@meyering.net>
18851
18852         * m4/glob.m4: Remove a doubled word in a comment.
18853
18854 2006-07-09  Jim Meyering  <jim@meyering.net>
18855
18856         * lib/argp-pv.c: Remove a doubled word in a comment.
18857         * lib/check-version.c (check_version): Likewise.
18858         * lib/javacomp.c (compile_java_class): Likewise.
18859
18860 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
18861
18862         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
18863         for the benefit of people using Autoconf 2.60.  If you want to
18864         support older Autoconf versions you can copy m4/onceonly_2_57.m4
18865         (or m4/onceonly.m4, if pre-2.57) manually.
18866
18867 2006-07-08  Jim Meyering  <jim@meyering.net>
18868
18869         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
18870         comment.
18871         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
18872         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
18873         comment.
18874
18875 2006-07-08  Jim Meyering  <jim@meyering.net>
18876
18877         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
18878
18879 2006-07-07  Simon Josefsson  <jas@extundo.com>
18880
18881         * tests/test-crc.c: Change expected crc value, the test vector
18882         were probably computed using the old broken crc.c?
18883
18884 2006-07-06  Simon Josefsson  <jas@extundo.com>
18885
18886         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
18887         now the canonical place for the M4 file).
18888
18889         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
18890         from the sys_socket dependency now.
18891
18892         * modules/inet_pton (Files): Ditto.
18893
18894         * modules/inet_ntop (Files): Ditto.
18895
18896 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
18897
18898         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
18899         not gl_PREREQ_GETUSERSHELL.
18900
18901 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18902
18903         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
18904         with only one argument, for Autoconf 2.60.
18905         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
18906         expand to nothing, so add a shell command to avoid syntax error.
18907         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
18908
18909 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18910
18911         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
18912
18913 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18914
18915         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
18916         no longer needed.  Check for isblank decl.
18917         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
18918         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
18919         of existence.
18920
18921 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18922
18923         * lib/getloadavg.c: Use __VMS, not VMS.
18924         * lib/getopt.c: Likewise.
18925         * lib/getpagesize.h: Likewise.
18926         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
18927         and probably does not work.
18928
18929 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18930
18931         * lib/.cppi-disable: Add wcwidth.
18932         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
18933         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
18934         (ISGRAPH): Remove.  All uses changed to isgraph.
18935         (FOLD) [!defined _LIBC]: Remove special case.
18936         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
18937         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
18938         HAVE_ISBLANK.
18939         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
18940         case.
18941
18942 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
18943
18944         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
18945         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
18946         brackets.  Other minor changes to suppress some compiler
18947         warnings.
18948
18949 2006-07-06  Derek R. Price  <derek@ximbiot.com>
18950         and Paul Eggert  <eggert@cs.ucla.edu>
18951
18952         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
18953         of invoking obsolescent AC_HEADER_DIRENT macro.
18954         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
18955         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
18956         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
18957         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
18958         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
18959         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
18960         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
18961         * m4/readdir.m4: Remove; no longer needed.
18962
18963 2006-07-06  Derek R. Price  <derek@ximbiot.com>
18964         and Paul Eggert  <eggert@cs.ucla.edu>
18965
18966         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
18967         Don't worry about this obsolete case any more.
18968         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
18969         directories.
18970         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
18971         worry about this obsolete case any more.
18972         * lib/fts.c: Likewise.
18973         * lib/getcwd.c: Likewise.
18974         * lib/glob.h: Likewise.
18975         * lib/savedir.c: Likewise.
18976
18977 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
18978
18979         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
18980         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
18981         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
18982         needed.
18983         All uses removed.
18984         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
18985         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
18986         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
18987         needed.
18988         * m4/getdate.m4 (gl_GETDATE): Likewise.
18989         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
18990         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
18991         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
18992         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
18993         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
18994         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
18995         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
18996         needed.
18997
18998 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
18999
19000         * lib/memcasecmp.c: Include <limits.h>.
19001         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
19002         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
19003         Don't assume isdigit succeeds only on '0' through '9'.
19004
19005 2006-07-05  Eric Blake  <ebb9@byu.net>
19006
19007         * modules/getaddrinfo (Depends-on): Add snprintf.
19008
19009 2006-07-05  Eric Blake  <ebb9@byu.net>
19010
19011         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
19012         to avoid 'header present but could not be compiled' on cygwin.
19013
19014 2006-07-05  Eric Blake  <ebb9@byu.net>
19015
19016         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
19017         missing from netdb.h.
19018         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
19019
19020 2006-07-05  Derek R. Price  <derek@ximbiot.com>
19021
19022         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
19023         no longer needed.
19024         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
19025         * m4/getdate.m4 (gl_GETDATE): Likewise.
19026         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
19027         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
19028         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
19029         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
19030         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
19031
19032 2006-07-05  Derek R. Price  <derek@ximbiot.com>
19033
19034         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
19035         All uses of is_space replaced by isspace.
19036         * lib/exit.h: Don't talk about STDC_HEADERS.
19037         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
19038         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
19039         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
19040         replaced by isprint etc.
19041         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
19042         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
19043         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
19044         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
19045         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
19046         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
19047
19048 2006-07-05  Bruno Haible  <bruno@clisp.org>
19049
19050         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
19051         the function exists, before testing against AIX.
19052         Reported by Martin Lambers <marlam@marlam.de>.
19053
19054 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
19055
19056         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
19057         From Mark D. Baushke.
19058
19059 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
19060
19061         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
19062         to the absolute name, not just one, to bypass Sun C 5.8's
19063         "warning: #include of /usr/include/... may be non-portable".
19064
19065 2006-07-04  Eric Blake  <ebb9@byu.net>
19066
19067         * modules/dirname-tests: New test module.
19068         * tests/test-dirname.c: New file, replacing dirname.c
19069         TEST_DIRNAME section that was recently deleted.
19070
19071 2006-07-04  Bruno Haible  <bruno@clisp.org>
19072
19073         Assume ANSI C header files and <ctype.h> functions.
19074         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
19075         (mbsnwidth): Use isprint, iscntrl instead.
19076
19077 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
19078
19079         Merge from coreutils.
19080         * MODULES.html.sh: Add xstrtold.
19081         * modules/xstrtold: New file.
19082         * modules/cycle-check (Files): Add lib/same-inode.h.
19083         * modules/dirname (Files): Add m4/double-slash-root.m4.
19084         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
19085         * modules/mkdir-p (Files): Add lib/same-inode.h.
19086         * modules/same (Files): Add lib/same-inode.h.
19087
19088 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
19089
19090         * m4/absolute-header.m4: Renamed from full-header-path.m4.
19091         This is to keep the terminology clean; POSIX talks about
19092         "absolute pathnames", not "full pathnames", but the GNU
19093         Coding Standards say to use "path" for something else;
19094         so use "absolute" to keep both sides happy.
19095         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
19096         Set gl_absolute_header, not gl_full_header_path.
19097         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
19098         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
19099         All uses changed.
19100
19101         Merge from coreutils.
19102
19103         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
19104
19105         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
19106         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
19107         want to require the building of c-strtod.o.
19108         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
19109         needs -lm directly.
19110         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
19111
19112         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
19113
19114         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
19115         --as-needed option if available.  Problem reported by Albert Chin in
19116         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
19117         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
19118         cc merely issues a bunch of annoying warnings for --as-needed
19119         (this problem was reported by Bob Proulx).  Also, try linking with
19120         -lm to detect a bug in binutils 2.16 (this problem was reported
19121         by Ralf Wildenhues).
19122
19123         2006-06-18  Jim Meyering  <jim@meyering.net>
19124
19125         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
19126         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
19127         macro.
19128         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
19129         also check for glibc-2.4's abort-inducing bug.
19130
19131         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
19132         Low-probability clean-up should be to use rmdir to get rid of
19133         the just-created directory, not unlink.
19134
19135         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
19136         configure fail, and request a bug report to inform us about it.
19137         Add a comment that, barring reports to the contrary, in 2007 we'll
19138         assume ftruncate is universally available.
19139
19140         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
19141
19142         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
19143
19144         2006-03-12  Jim Meyering  <jim@meyering.net>
19145
19146         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
19147         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
19148         * m4/same.m4 (gl_SAME): Likewise.
19149         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
19150
19151         2006-03-11  Eric Blake  <ebb9@byu.net>
19152
19153         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
19154         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
19155         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
19156         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
19157
19158 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
19159
19160         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
19161         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
19162         reported by Mark D. Baushke, one in
19163         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
19164
19165         Merge from coreutils.
19166
19167         * lib/.cppi-disable: Add stdint_.h.
19168         * lib/.cvsignore: Add stdint.h.
19169
19170         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
19171
19172         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
19173         both double and long double versions.
19174         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
19175         * lib/xstrtold.c: New file.
19176         * lib/xstrtod.h (xstrtold): New decl.
19177
19178         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
19179
19180         * lib/filemode.c (setst): Remove.
19181         (strmode): Rewrite to avoid setst.  This makes the code shorter,
19182         (arguably) clearer, and the generated code is a bit smaller on my
19183         Debian GNU/Linux stable x86 host.
19184
19185         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
19186
19187         * lib/filemode.c: Include "filemode.h" first, to test the interface.
19188         Assume that filemode.h includes sys/types.h and sys/stat.h.
19189         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
19190         (ftypelet): Reorder to put common cases first, for efficiency.
19191         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
19192         to do 'M'.
19193         (strmode): Renamed from mode_string, and now stores 12 bytes instead
19194         of 10, for compatibility with FreeBSD.  All callers changed.
19195         (filemodestring): Now stores 12 bytes instead of 10, and sets file
19196         types that can't be deduced solely from st_mode.  First arg is now a
19197         const pointer.
19198         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
19199         (strmode): Renamed from mode_string.
19200         (filemodestring): New decl.
19201         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
19202         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
19203         needed.
19204         (S_ISPORT, S_ISWHT): New macros, if not already defined.
19205
19206         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
19207
19208         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
19209         fsusage.h now does that.  Include fsusage.h first, to test interface.
19210         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
19211         at most one method (the old code could have generated decls that
19212         didn't conform to C89, not that this was ever exercised).
19213         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
19214
19215         2006-03-19  Jim Meyering  <jim@meyering.net>
19216
19217         Work even in a chroot where d_ino values for entries in "/"
19218         don't match the stat.st_ino values for the same names.
19219         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
19220         number, iterate through all entries again, using lstat instead.
19221         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
19222         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
19223
19224         * lib/getcwd.c (__getcwd): Clarify a comment.
19225         Use memcpy in place of a call to strcpy.
19226
19227         2006-03-12  Jim Meyering  <jim@meyering.net>
19228
19229         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
19230         matches that of the current directory (which we're about to chdir ".."
19231         out of), then save the dev-ino of the parent, instead.
19232
19233         * lib/same-inode.h (SAME_INODE): New file/macro.
19234         * lib/chdir-safer.c (SAME_INODE): Remove definition.
19235         Include "same-inode.h", instead.
19236         * lib/same.c: Likewise.
19237         * lib/cycle-check.h: Include "same-inode.h".
19238         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
19239         * lib/cycle-check.c (SAME_INODE): Remove definition.
19240         * lib/root-dev-ino.h: Include "same-inode.h".
19241
19242         2006-03-11  Eric Blake  <ebb9@byu.net>
19243
19244         * lib/same.c (same_name): s/base_name/last_component/
19245         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
19246         * lib/filenamecat.c (file_name_concat): Likewise.
19247
19248         2006-03-11  Eric Blake  <ebb9@byu.net>,
19249                     Paul Eggert  <eggert@cs.ucla.edu>
19250
19251         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
19252         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
19253         drive prefix.
19254         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
19255         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
19256         (last_component): New method.
19257         * lib/dirname.c (dir_len): Determine when drive letters need a
19258         subsequent slash.  Preserve // when it is special.
19259         (dir_name): Don't append dot when drive letter is absolute.
19260         [TEST_DIRNAME]: Move into a full-blown gnulib test.
19261         * lib/basename.c (base_name): New semantics - malloc the result.
19262         Preserve // when it is special.  Preserve relative files that look
19263         like drive letters.
19264         (base_len): Preserve // when it is special.
19265         (last_component): New method, similar to old base_name semantics.
19266         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
19267         base_name.  Strip redundant slashes from ///.
19268
19269 2006-07-03  Jim Meyering  <jim@meyering.net>
19270
19271         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
19272         macro is used before the first cycle_check call.
19273
19274 2006-07-03  Eric Blake  <ebb9@byu.net>
19275
19276         * modules/dirname (Depends-on): Add xstrndup.
19277
19278 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
19279
19280         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
19281         test cases, so that config.log is a bit easier to follow.
19282
19283 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
19284
19285         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
19286         both are 64 bits, since this seems to be the tradition, and this
19287         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
19288         we ever run into a host that prefers long long to long in this
19289         case, we'll need another configure-time test.  Problem reported by
19290         Jim Meyering.
19291
19292 2006-07-02  Eric Blake  <ebb9@byu.net>
19293
19294         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
19295
19296 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
19297
19298         * modules/inttypes (Depends-on): No longer depends on stdint.
19299         * modules/stdint (Description): Say more about assumptions.
19300         Say that the fast types might differ.  Say macros are used.
19301         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
19302         (Makefile.am): Revise list of substituted symbols to match
19303         new stdint.m4.
19304         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
19305         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
19306         * tests/test-stdint.c (verify_same_types)
19307         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
19308         the code conforms to C99/C89.
19309         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
19310         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
19311
19312 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
19313
19314         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
19315         but fix a bug, by requiring at least 64 bits.
19316         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
19317         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
19318         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
19319         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
19320
19321         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
19322         changes.  Make 2.59 a prerequisite.  Check and substitute for
19323         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
19324         inttypes.h.  Do not use special include files; just use the
19325         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
19326         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
19327         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
19328         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
19329         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
19330         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
19331         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
19332         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
19333         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
19334         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
19335         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
19336         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
19337         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
19338         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
19339         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
19340         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
19341         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
19342         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
19343         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
19344         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
19345         WINT_MAX.  Check for C99 conformance more strictly, by detecting
19346         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
19347         not check for things that C99 does not require, e.g., int8_t.  If
19348         a test isn't needed unless <stdint.h> isn't working, and is
19349         unlikely to be needed for any other reason, then don't do it
19350         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
19351         size_t, since we assume C89 freestanding at least.  Do not check
19352         for sig_atomic_t, wchar_t, or wint_t, since the code now does
19353         the right thing even if the types are not defined.  Instead use:
19354         (gl_STDINT_TYPE_PROPERTIES): New macro.
19355         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
19356         testing whether <sys/types.h> clashes, as Autoconf does this for
19357         us now.  All uses removed.
19358         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
19359         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
19360         (gl_CHECK_TYPE_SAME):
19361         Remove; no longer needed.
19362         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
19363         exists, since we'll return 0 anyway in that case.
19364         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
19365
19366 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
19367
19368         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
19369         possible collision with system files.
19370         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
19371         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
19372         WCHAR_MIN and WCHAR_MAX in this case.
19373         (<stddef.h>): Do not include; no longer needed.
19374         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
19375         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
19376         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
19377         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
19378         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
19379         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
19380         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
19381         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
19382         !defined(__c99))]: Include in this case too, since it's harmless
19383         now.
19384         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
19385         dangerous to do so.
19386         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
19387         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
19388         (_STDINT_MIN, _STDINT_MAX): New macros.
19389         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
19390         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
19391         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
19392         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
19393         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
19394         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
19395         macros, not typedefs; this simplifies things quite a bit.
19396         Use long int for all types narrower than int64_t.
19397         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
19398         Define in terms of long long int or int64_t or long int,
19399         not int64_t or int32_t.  This saves some compile-time testing.
19400         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
19401         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
19402         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
19403         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
19404         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
19405         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
19406         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
19407         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
19408         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
19409         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
19410         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
19411         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
19412         undef any previous version and define our own version, for
19413         simplicity and consistency with the new macros for types.
19414         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
19415         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
19416         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
19417         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
19418         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
19419         @WINT_T_SUFFIX@ to keep things simple here.
19420         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
19421         Simplify by assuming typical 8/16/32/64 host, since we're
19422         already doing that elsewhere anyway.
19423         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
19424         and assume long long int is 64 bits if available.  This
19425         speeds up 'configure'.
19426
19427 2006-07-01  Eric Blake  <ebb9@byu.net>
19428
19429         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
19430         Reported by Andreas Buening.
19431
19432 2006-07-01  Eric Blake  <ebb9@byu.net>
19433
19434         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
19435
19436 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
19437
19438         * lib/getaddrinfo.c: fixed typo
19439
19440 2006-06-29  Jim Meyering  <jim@meyering.net>
19441
19442         * modules/strftime (Maintainer): Add my name, since with the
19443         FPRINTFTIME changes strftime.c has forked from glibc.
19444
19445 2006-06-29  Eric Blake  <ebb9@byu.net>
19446
19447         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
19448
19449 2006-06-29  Eric Blake  <ebb9@byu.net>
19450
19451         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
19452
19453 2006-06-29  Eric Blake  <ebb9@byu.net>
19454
19455         * lib/stat_.h: New file.
19456
19457 2006-06-29  Eric Blake  <ebb9@byu.net>
19458
19459         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
19460         unused static function.
19461
19462 2006-06-29  Eric Blake  <ebb9@byu.net>
19463
19464         * doc/functions.texi (Function Portability): Document missing lstat
19465         on mingw.
19466
19467 2006-06-29  Eric Blake  <ebb9@byu.net>
19468
19469         * MODULES.html.sh: Add sys_stat.
19470         * modules/sys_stat: New module.
19471         * modules/mkstemp (Depends-on): Add sys_stat.
19472
19473 2006-06-29  Derek R. Price  <derek@ximbiot.com>
19474
19475         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
19476
19477 2006-06-29  Derek R. Price  <derek@ximbiot.com>
19478
19479         * m4/c-bs-a.m4: Removed.
19480
19481 2006-06-29  Derek R. Price  <derek@ximbiot.com>
19482
19483         * lib/strftime.c: Assume strftime() exists.
19484
19485 2006-06-29  Derek Price  <derek@ximbiot.com>
19486
19487         * modules/c-bs-a: Removed - \a is C89.
19488         * MODULES.html.sh: Remove c-bs-a.
19489
19490 2006-06-29  Bruno Haible  <bruno@clisp.org>
19491
19492         * modules/wcwidth (License): Change to LGPL.
19493
19494 2006-06-28  Simon Josefsson  <jas@extundo.com>
19495
19496         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
19497         on _WIN32.
19498
19499         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
19500         getnameinfo.
19501
19502 2006-06-28  Simon Josefsson  <jas@extundo.com>
19503
19504         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
19505
19506 2006-06-28  Simon Josefsson  <jas@extundo.com>
19507
19508         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
19509         functions there.  It will succeed on Windows XP, but on Windows
19510         2000 and (presumably) earlier, it will fail, and use the internal
19511         re-implementation.
19512         (use_win32_p): New function.
19513         (getaddrinfo): Use strtoul on servname, to support numeric ports.
19514         Support AI_NUMERICSERV to disable getservbyname.
19515         (getnameinfo): New function, only supports
19516         NI_NUMERICHOST|NI_NUMERICSERV for now.
19517
19518         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
19519         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
19520         getnameinfo.
19521
19522 2006-06-28  Eric Blake  <ebb9@byu.net>
19523
19524         * modules/wcwidth: New file.
19525         * modules/mbchar (Depends-on): Add wcwidth.
19526         * modules/mbswidth (Depends-on): Add wcwidth.
19527         * MODULES.html.sh: Add wcwidth.
19528
19529 2006-06-28  Eric Blake  <ebb9@byu.net>
19530
19531         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
19532         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
19533
19534 2006-06-28  Eric Blake  <ebb9@byu.net>
19535
19536         * lib/xvasprintf.h: Fix comments.
19537
19538 2006-06-28  Eric Blake  <ebb9@byu.net>
19539
19540         * lib/mbchar.h (wcwidth): Include wcwidth.h.
19541         * lib/mbswidth.c (wcwidth): Move from here...
19542         * lib/wcwidth.h: ...to this new file.
19543
19544 2006-06-28  Derek R. Price  <derek@ximbiot.com>
19545
19546         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
19547
19548         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
19549         it's obsolete.
19550         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
19551
19552 2006-06-28  Derek R. Price  <derek@ximbiot.com>
19553
19554         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
19555         Autoconf 2.60 says this stuff was obsolete.
19556
19557 2006-06-28  Bruno Haible  <bruno@clisp.org>
19558
19559         * modules/wcwidth (Files): Add m4/wchar_t.m4.
19560
19561 2006-06-28  Bruno Haible  <bruno@clisp.org>
19562
19563         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
19564         gt_TYPE_WCHAR_T.
19565
19566 2006-06-28  Bruno Haible  <bruno@clisp.org>
19567
19568         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
19569         declaration for wcwidth.
19570         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
19571
19572 2006-06-28  Bruno Haible  <bruno@clisp.org>
19573
19574         * lib/mkdtemp.c [MINGW]: Include <io.h>.
19575         (mkdir): Define using _mkdir.
19576
19577 2006-06-28  Bruno Haible  <bruno@clisp.org>
19578
19579         * lib/getaddrinfo.h: Fix POSIX URL.
19580         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
19581         _WIN32.
19582         (use_win32_p): Make static.
19583         (getaddrinfo): Reject service name if it is empty or does not consist
19584         solely of decimal digits, or if its value is > 65535.
19585         (getnameinfo): Remove useless casts.
19586
19587 2006-06-27  Simon Josefsson  <jas@extundo.com>
19588
19589         * modules/sys_select: New file, suggested by Bruno Haible, Paul
19590         Eggert and Martin Lambers.
19591
19592 2006-06-27  Simon Josefsson  <jas@extundo.com>
19593
19594         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
19595         Eggert and Martin Lambers.
19596
19597 2006-06-27  Bruno Haible  <bruno@clisp.org>
19598
19599         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
19600         result to 0, not to empty.
19601         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
19602
19603 2006-06-27  Bruno Haible  <bruno@clisp.org>
19604
19605         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
19606
19607 2006-06-26  Simon Josefsson  <jas@extundo.com>
19608
19609         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
19610         present.
19611
19612 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
19613
19614         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
19615         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
19616         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
19617
19618 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
19619
19620         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
19621
19622 2006-06-26  Bruno Haible  <bruno@clisp.org>
19623
19624         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
19625
19626 2006-06-26  Bruno Haible  <bruno@clisp.org>
19627
19628         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
19629
19630 2006-06-26  Bruno Haible  <bruno@clisp.org>
19631
19632         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
19633         SGI C compiler in pre-C99 mode.
19634         Suggested by Mark D. Baushke and Larry Jones.
19635
19636 2006-06-26  Bruno Haible  <bruno@clisp.org>
19637
19638         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
19639         WCHAR_MAX.
19640         Reported by Mark D. Baushke and Larry Jones.
19641
19642 2006-06-26  Bruno Haible  <bruno@clisp.org>
19643
19644         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
19645         in pre-C99 mode.
19646         Suggested by Mark D. Baushke and Larry Jones.
19647
19648 2006-06-23  Simon Josefsson  <jas@extundo.com>
19649             Bruno Haible  <bruno@clisp.org>
19650
19651         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
19652         Emit mostlyclean-local rule.
19653         (func_emit_tests_Makefile_am): Likewise.
19654         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
19655
19656 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
19657
19658         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
19659
19660 2006-06-23  Bruno Haible  <bruno@clisp.org>
19661
19662         * tests/test-stdint.c: Update to match ISO C 99 Technical
19663         Corrigendum 1.
19664
19665 2006-06-23  Bruno Haible  <bruno@clisp.org>
19666
19667         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
19668
19669 2006-06-23  Bruno Haible  <bruno@clisp.org>
19670
19671         * lib/stdint_.h: Treat IRIX like OpenBSD.
19672
19673 2006-06-23  Bruno Haible  <bruno@clisp.org>
19674
19675         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
19676         ISO C 99 Technical Corrigendum 1.
19677
19678 2006-06-22  Simon Josefsson  <jas@extundo.com>
19679
19680         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
19681         MinGW.
19682
19683 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
19684
19685         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
19686         needed.  Some compiler complained about some of them.  Problem reported
19687         by Larry Jones in
19688         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
19689
19690 2006-06-21  Simon Josefsson  <jas@extundo.com>
19691
19692         * tests/test-getaddrinfo.c: New file.
19693
19694         * modules/getaddrinfo-tests: New file.
19695
19696         * MODULES.html.sh: Add inet_pton.
19697
19698         * modules/inet_pton: New file.
19699
19700 2006-06-21  Simon Josefsson  <jas@extundo.com>
19701
19702         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
19703         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
19704         of using the (limited) gnulib implementation on Windows XP.
19705
19706         * m4/inet_pton.m4: New file.
19707
19708 2006-06-21  Simon Josefsson  <jas@extundo.com>
19709
19710         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
19711         variable.
19712
19713         * lib/socket_.h: Don't define WINVER.
19714
19715         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
19716         slightly modified to work in gnulib.
19717
19718 2006-06-21  Simon Josefsson  <jas@extundo.com>
19719
19720         * doc/gnulib.texi (Windows sockets): Add.
19721
19722 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
19723
19724         * lib/read-file.c (fread_file): Start with buffer allocation of
19725         0 bytes rather than 1 byte; this simplifies the code.
19726         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
19727         code to free buffer and save/restore errno.
19728         (internal_read_file): Remove unused local.
19729
19730 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
19731
19732         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
19733         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
19734         Problem reported by Denis Excoffier in
19735         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
19736
19737 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19738
19739         * modules/sys_socket, modules/socklen: Include sys/types since
19740         FreeBSD 4.x's sys/socket.h needs it.
19741
19742 2006-06-19  Simon Josefsson  <jas@extundo.com>
19743
19744         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
19745
19746 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
19747
19748         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
19749
19750 2006-06-19  Bruno Haible  <bruno@clisp.org>
19751
19752         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
19753         and FULL_PATH_INTTYPES_H in angle brackets.
19754         Reported by Mark D. Baushke <mdb@gnu.org>.
19755
19756 2006-06-17  Eric Blake  <ebb9@byu.net>
19757
19758         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
19759         errno.
19760
19761 2006-06-17  Bruno Haible  <bruno@clisp.org>
19762
19763         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
19764         <sys/inttypes.h>.
19765
19766 2006-06-17  Bruno Haible  <bruno@clisp.org>
19767
19768         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
19769         whether errno is declared. Assume <errno.h> declares errno.
19770
19771 2006-06-17  Bruno Haible  <bruno@clisp.org>
19772
19773         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
19774
19775 2006-06-17  Bruno Haible  <bruno@clisp.org>
19776
19777         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
19778         problem on Solaris 2.5.1.
19779
19780 2006-06-16  Eric Blake  <ebb9@byu.net>
19781
19782         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
19783         * lib/unicodeio.c [!defined errno]: Likewise.
19784         * lib/strtol.c [!defined errno]: Likewise.
19785         * lib/strtod.c [!defined errno]: Likewise.
19786
19787 2006-06-15  Eric Blake  <ebb9@byu.net>
19788
19789         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
19790
19791 2006-06-15  Eric Blake  <ebb9@byu.net>
19792
19793         * config/srclist.txt (ssize_t.m4): Lose sync.
19794
19795 2006-06-15  Bruno Haible  <bruno@clisp.org>
19796
19797         * modules/stdint (Files): Include m4/full-header-path.m4,
19798         m4/size_max.m4, m4/wchar_t.m4.
19799         (Makefile.am): Many more substitutions.
19800         * modules/stdint-tests: New file.
19801         * tests/test-stdint.c: New file.
19802
19803 2006-06-15  Bruno Haible  <bruno@clisp.org>
19804
19805         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
19806         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
19807         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
19808         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
19809         gl_CHECK_TYPE_SAME): New macros.
19810
19811 2006-06-15  Bruno Haible  <bruno@clisp.org>
19812
19813         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
19814
19815 2006-06-15  Bruno Haible  <bruno@clisp.org>
19816
19817         * lib/stdint_.h: Rewritten to be fully auto-configured.
19818         Fixes bug on HP-UX/IA64.
19819
19820 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
19821
19822         * lib/getdate.y (__attribute__): Don't define if already defined.
19823         Problem reported by Larry Jones.
19824         * lib/utimens.c (__attribute__): Likewise.
19825
19826 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
19827
19828         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
19829         reported by Andreas Schwab.
19830
19831 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19832             Bruno Haible  <bruno@clisp.org>
19833
19834         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
19835         check for the declaration of strnlen and a run test that exposes the
19836         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
19837         rpl_strndup.
19838
19839 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19840             Bruno Haible  <bruno@clisp.org>
19841
19842         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
19843
19844 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19845
19846         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
19847         compile test, for Tru64 4.0D.
19848
19849 2006-05-28  Karl Berry  <karl@gnu.org>
19850
19851         * config/srclist.txt (printf-args.c): lose sync.
19852
19853 2006-05-26  Martin Lambers  <marlam@marlam.de>
19854
19855         * lib/getpass.c: Updates the test for the native W32 API, and adds
19856         missing includes, thus fixing compilation warnings.
19857
19858 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
19859
19860         * lib/exclude.c (exclude_fnmatch): New function.
19861         (excluded_file_name): Call exclude_fnmatch.
19862         * lib/exclude.h (excluded_file_name): New prototype
19863
19864 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
19865
19866         * lib/tempname.c (small_open, large_open): New macros.
19867         (__open, __open64) [!_LIBC]: Remove.
19868         (__gen_tempname): Use small_open and large_open instead of __open
19869         and __open64.  This fixes a portability bug on HP-UX 11.11i
19870         reported by Simon Wing-Tang in
19871         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
19872
19873 2006-05-24  Bruno Haible  <bruno@clisp.org>
19874
19875         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
19876         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
19877         Reported by Thorsten Maerz <torte@netztorte.de> via
19878         Aaron Stone <aaron@serendipity.cx>.
19879
19880 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19881
19882         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
19883         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
19884         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
19885         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
19886         not really conditional on the cache.
19887         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
19888
19889 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19890
19891         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
19892         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
19893         (my_usleep): Don't mishandle maximum value.
19894
19895 2006-05-19  Jim Meyering  <jim@meyering.net>
19896
19897         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
19898
19899 2006-05-17  Bruno Haible  <bruno@clisp.org>
19900
19901         Cygwin portability.
19902         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
19903
19904 2006-05-17  Bruno Haible  <bruno@clisp.org>
19905
19906         * lib/stdint_.h: Fix recognition of Cygwin.
19907
19908 2006-05-15  Bruno Haible  <bruno@clisp.org>
19909
19910         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
19911         on libtool patch by Ralf Wildenhues.
19912
19913 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
19914
19915         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
19916         test for C99 conformance; (bool) 0.5 is an integer constant
19917         expression, but (bool) -0.5 is not.  Problem reported by Fedor
19918         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
19919
19920 2006-05-11  Simon Josefsson  <jas@extundo.com>
19921
19922         * m4/xvasprintf.m4: Fix obvious typo.
19923
19924 2006-05-11  Jim Meyering  <jim@meyering.net>
19925
19926         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
19927         James Lemley.
19928
19929 2006-05-10  Simon Josefsson  <jas@extundo.com>
19930
19931         * lib/md4.c: Typo fix, update copyright years.
19932         (K1, K2): Don't use L because it turn computations into 64-bit on
19933         64-bit platforms.
19934
19935 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
19936
19937         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
19938         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
19939         unwanted sign propagation, e.g., on hosts with 64-bit int.
19940         There still are some problems with reeelly weird theoretical hosts
19941         (e.g., 33-bit int) but it's not worth worrying about now.
19942         * lib/sha1.c (rol): Likewise.
19943         (K1, K2, K3, K4): Remove unnecessary L suffix.
19944
19945 2006-05-10  Bruno Haible  <bruno@clisp.org>
19946
19947         * lib/des.c: Cast to avoid warnings.
19948
19949 2006-05-09  Bruno Haible  <bruno@clisp.org>
19950
19951         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
19952         (Depends-on): Depend also on xsize, stdarg.
19953         (configure.ac): Add gl_XVASPRINTF.
19954
19955 2006-05-09  Bruno Haible  <bruno@clisp.org>
19956
19957         * m4/xvasprintf.m4: New file.
19958
19959 2006-05-09  Bruno Haible  <bruno@clisp.org>
19960
19961         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
19962         (EOVERFLOW): Define fallback value.
19963         (xstrcat): New function.
19964         (xvasprintf): Recognize the special case of a string concatenation.
19965
19966 2006-05-08  Eric Blake  <ebb9@byu.net>
19967
19968         * gnulib-tool (func_version): Base copyright year on CVS date.
19969         (func_emit_copyright_notice): New function.
19970         (func_emit_lib_Makefile_am): Use it.
19971         (func_emit_tests_Makefile_am): Likewise.
19972         (func_import): Likewise.
19973
19974 2006-05-08  Bruno Haible  <bruno@clisp.org>
19975
19976         * modules/stdarg: New file.
19977         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
19978
19979 2006-05-08  Bruno Haible  <bruno@clisp.org>
19980
19981         * m4/stdarg.m4: New file, from GNU gettext.
19982
19983 2006-05-08  Bruno Haible  <bruno@clisp.org>
19984
19985         * config/srclist.txt (build-aux/config.rpath): different from latest
19986         release.
19987
19988 2006-05-08  Bruno Haible  <bruno@clisp.org>
19989
19990         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
19991
19992 2006-05-05  Jim Meyering  <jim@meyering.net>
19993
19994         * m4/warning.m4: New file, derived from bison's file by the same name.
19995
19996 2006-05-03  Bruno Haible  <bruno@clisp.org>
19997
19998         * lib/stdint_.h: Shorter URL.
19999         * lib/inttypes.h: Likewise.
20000
20001 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
20002
20003         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
20004
20005 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
20006
20007         * lib/verify.h: Document the internals better.  Most of this change
20008         was written by Bruno Haible.
20009
20010 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
20011
20012         * doc/verify.texi: New file, partly based on a proposal by
20013         Bruno Haible.
20014
20015 2006-05-02  Bruno Haible  <bruno@clisp.org>
20016
20017         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
20018         test from here...
20019         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
20020
20021 2006-04-29  Bruno Haible  <bruno@clisp.org>
20022
20023         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
20024         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
20025
20026 2006-04-29  Bruno Haible  <bruno@clisp.org>
20027
20028         * gnulib-tool: Make --update option actually work.
20029
20030 2006-04-29  Bruno Haible  <bruno@clisp.org>
20031
20032         * doc/gcd.texi: New file.
20033         * doc/gnulib.texi: Include it.
20034
20035 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
20036
20037         * lib/getdate.y (get_date): When adding relative date, start with the
20038         initial time, not with the result of the first mktime call.
20039
20040 2006-04-25  Bruno Haible  <bruno@clisp.org>
20041
20042         * gnulib-tool (func_import): Output the include directives in three
20043         blocks, sorted separately.
20044         Reported by Ben Pfaff <blp@cs.stanford.edu>.
20045
20046 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
20047
20048         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
20049         to define main with arguments, for C++.  Reported by Eric Blake.
20050         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
20051         Prefer 'int main ()' to 'int main (void)', for C++.
20052         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
20053         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
20054         for 'main', for C99 and C++.
20055
20056 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
20057
20058         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
20059         Don't assume that exit status -1 is valid.
20060         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
20061         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
20062         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
20063         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
20064         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
20065         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
20066         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
20067         functions can be used without declaring them, or that you can
20068         exit with status -1.
20069         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
20070
20071 2006-04-24  Karl Berry  <karl@gnu.org>
20072
20073         * config/srclist.txt (longdouble.m4): sync lost.
20074
20075 2006-04-24  Eric Blake  <ebb9@byu.net>
20076
20077         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
20078
20079 2006-04-24  Bruno Haible  <bruno@clisp.org>
20080
20081         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
20082         poll() implementation in AIX.
20083         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20084
20085 2006-04-24  Bruno Haible  <bruno@clisp.org>
20086
20087         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
20088         assigned exactly once.
20089
20090 2006-04-23  Claudio Fontana  <claudio@gnu.org>
20091             Bruno Haible  <bruno@clisp.org>
20092
20093         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
20094         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
20095         for AM_CPPFLAGS.
20096
20097 2006-04-23  Bruno Haible  <bruno@clisp.org>
20098
20099         * modules/copy-file: Depend on unistd.
20100         * modules/execute: Likewise.
20101         * modules/fatal-signal: Likewise.
20102         * modules/findprog: Likewise.
20103         * modules/mkdtemp : Likewise.
20104         * modules/pipe: Likewise.
20105         * modules/wait-process: Likewise.
20106
20107 2006-04-23  Bruno Haible  <bruno@clisp.org>
20108
20109         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
20110         condition was already detected.
20111         Reported by Ben Pfaff <blp@cs.stanford.edu>.
20112
20113 2006-04-23  Bruno Haible  <bruno@clisp.org>
20114
20115         * lib/copy-file.c: Include <unistd.h> unconditionally.
20116         * lib/execute.c: Likewise.
20117         * lib/fatal-signal.c: Likewise.
20118         * lib/findprog.c: Likewise.
20119         * lib/mkdtemp.c: Likewise.
20120         * lib/pipe.h: Likewise.
20121         * lib/pipe.c: Likewise.
20122         * lib/wait-process.h: Likewise.
20123
20124 2006-04-23  Bruno Haible  <bruno@clisp.org>
20125
20126         * gnulib-tool (func_usage): Fix --import description. Document
20127         --update.
20128         (func_import): Create temporary file in a temporary directory, if
20129         --dry-run is specified. Silence errors from 'grep' when there are no
20130         m4 files in $m4dir.
20131         (func_create_testdir): Silence errors from 'grep' when there are no
20132         m4 files in $m4dir.
20133         Reported by Karl Berry <karl@freefriends.org>.
20134
20135 2006-04-20  Bruno Haible  <bruno@clisp.org>
20136
20137         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
20138         one argument, so that the code will be portable to Autoconf 2.60.
20139         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
20140         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
20141         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
20142
20143 2006-04-19  Derek Price  <derek@ximbiot.com>
20144             Eric Blake  <ebb9@byu.net>
20145
20146         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
20147         rather than "/full/path.h".  Update comment to match.  Shorten &
20148         generalize m4_translit call via AS_TR_CPP.
20149
20150 2006-04-19  Derek Price  <derek@ximbiot.com>
20151             Eric Blake  <ebb9@byu.net>
20152
20153         * lib/inttypes.h: Correct grammar in comment.
20154
20155 2006-04-18  Derek Price  <derek@ximbiot.com>
20156             Paul Eggert  <eggert@cs.ucla.edu>
20157
20158         * modules/inttypes: New file.
20159         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
20160
20161 2006-04-18  Derek Price  <derek@ximbiot.com>
20162             Paul Eggert  <eggert@cs.ucla.edu>
20163
20164         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
20165         New files.
20166
20167 2006-04-18  Derek Price  <derek@ximbiot.com>
20168             Paul Eggert  <eggert@cs.ucla.edu>
20169
20170         * lib/inttypes.h: New file.
20171         * lib/strtoimax.c: Assume <inttypes.h>.
20172
20173 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
20174
20175         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
20176         isn't mounted.  Problem reported by Kir Kolyshkin.
20177
20178 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
20179
20180         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
20181         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
20182         Derek R. Price.
20183         * lib/regex.h (RE_DUP_MAX): Update comment to match current
20184         implementation.
20185
20186 2006-04-12  Eric Blake  <ebb9@byu.net>
20187
20188         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
20189         is now done automatically by the corresponding Autoconf macro.
20190
20191 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
20192
20193         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
20194         time_r.h.
20195
20196 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
20197
20198         Merge regex changes from libc, removing some of our
20199         POSIX-conformance changes that were rejected and redoing them in a
20200         less-intrusive way.
20201
20202         * lib/regcomp.c (re_compile_internal, init_dfa):
20203         Length arg is now size_t, not Idx.  All uses changed.
20204         (peek_token): Forward decl now says internal_function.
20205         (__re_error_msgid, __re_error_msgid_idx):
20206         Now static rather than extern with attribute_hidden.
20207         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
20208         For some reason libc prefers K&R style defns for external functions.
20209         (regerror) [!defined _LIBC]: Likewise.
20210         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
20211         (seek_collating_symbol_entry, lookup_collation_sequence_value):
20212         (build_range_exp, build_collating_symbol):
20213         Use K&R-style defn.
20214         (re_compile_fastmap): Use '\0' to memset, not 0.
20215         (utf8_sb_map): Make the calculations more obvious.
20216         (init_dfa, parse_bracket_exp, build_charclass_op):
20217         Call calloc and cast result, as glibc does.
20218         (init_word_char, fetch_token, peek_token, peek_token_bracket):
20219         (build_range_exp, build_collating_symbol):
20220         Now internal functions.
20221
20222         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
20223
20224         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
20225         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
20226         Don't depend on VMS; depend on __VMS instead, for POSIX
20227         namespace cleanness.
20228         (regoff_t): Define to ssize_t, not long int.
20229
20230         Remove the REG_ macros named below.  Instead, make the old names
20231         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
20232         __USE_GNU_REGEX.
20233         (REG_BACKSLASH_ESCAPE_IN_LISTS):
20234         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
20235         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
20236         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
20237         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
20238         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
20239         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
20240         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
20241         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
20242         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
20243         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
20244         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
20245         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
20246         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
20247         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
20248         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
20249         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
20250         (REG_NREGS):
20251         Remove.  All uses replaced by the old RE_* names.
20252         (RE_BACKSLASH_ESCAPE_IN_LISTS):
20253         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
20254         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
20255         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
20256         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
20257         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
20258         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
20259         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
20260         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
20261         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
20262         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
20263         Don't bother having these macros be independent of each others'
20264         values, since they no longer exist in the POSIX name space.
20265
20266         Rename the following member names back to their old names,
20267         unless !__USE_GNU_REGEX.  All uses changed back.
20268         (buffer): Renamed from re_buffer.
20269         (allocated): Renamed from re_allocated.
20270         (used): Renamed from re_used.
20271         (syntax): Renamed from re_syntax.
20272         (fastmap): Renamed from re_fastmap.
20273         (translate): Renamed from re_translate.
20274         (can_be_null): Renamed from re_can_be_null.
20275         (regs_allocated): Renamed from re_regs_allocated.
20276         (fastmap_accurate): Renamed from re_fastmap_accurate.
20277         (no_sub): Renamed from re_no_sub.
20278         (not_bol): Renamed from re_not_bol.
20279         (not_eol): Renamed from re_not_eol.
20280         (newline_anchor): Renamed from re_newline_anchor.
20281         (num_regs): Renamed from rm_num_regs.
20282         (start): Renamed from rm_start.
20283         (end): Renamed from rm_end.
20284
20285         (free_state): Move up a bit.
20286
20287         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
20288         #define to be empty.
20289         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
20290         when that is what is intended.
20291         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
20292         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
20293         (MAX): New macro.
20294         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
20295         All uses changed back to re_malloc, etc.  It's now the caller's
20296         responsibility to check for overflow; all callers changed.
20297         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
20298         (re_x2nrealloc): Remove.
20299         (free_state): Remove decl.
20300
20301         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
20302         (re_set_registers, re_exec):
20303         Use K&R-style defn.
20304
20305         2006-01-31  Roland McGrath  <roland@redhat.com>
20306
20307         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
20308         Reported by Mike Frysinger <vapier@gentoo.org>.
20309
20310         2006-01-15  Andreas Jaeger  <aj@suse.de>
20311
20312         [BZ #1950]
20313         * lib/regex_internal.c (re_string_reconstruct): Adjust for
20314         build_wcs_upper_buffer change.
20315         (build_wcs_upper_buffer): Change return type.
20316
20317         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
20318
20319         * lib/regex_internal.h: Include <stdint.h> if available.
20320
20321         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
20322
20323         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
20324
20325         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
20326
20327         * lib/regcomp.c: Adjust for changed secondary hash function.
20328
20329         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
20330
20331         * lib/regex.h: Pretty printing.
20332         Clean up namespace a bit.
20333
20334         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
20335
20336         * lib/regexec.c (update_cur_sifted_state, check_arrival,
20337         check_arrival_add_next_nodes): Avoid using uninitialized variable.
20338
20339         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
20340                     Ulrich Drepper  <drepper@redhat.com>
20341
20342         [BZ #1302]
20343         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
20344         changed.
20345         (bitset_word_t): Renamed from bitset_word.  All uses changed.
20346
20347         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
20348
20349         [BZ #281]
20350         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
20351         * lib/regcomp.c: Remove unnecessary uses of
20352         unsigned RE_TRANSLATE_TYPE.
20353         * lib/regex_internal.h: Likewise.
20354         * lib/regex_internal.c: Likewise.
20355         * lib/regexec.c: Likewise.
20356         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
20357
20358         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
20359
20360         * lib/regexec.c (find_recover_state): Remove unnecessary
20361         initialization.
20362         (transit_state_bkref): Make DFA a const pointer.
20363         (get_subexp): Likewise.
20364         (check_arrival): Likewise.
20365         (update_cur_sifted_state): Likewise.
20366         (re_search_internal): Likewise.
20367         (prune_impossible_nodes): Likewise.
20368         (acquire_init_state_context): Likewise.
20369         (proceed_next_node): Likewise.
20370         (set_regs): Likewise.
20371         (free_fail_stack_return): Likewise.
20372         (check_arrival_expand_ecl): Mark DFA parameter as const.
20373         (check_arrival_expand_ecl_sub): Likewise.
20374         (check_subexp_limits): Likewise.
20375         (sub_epsilon_src_nodes):  Likewise.
20376         (add_epsilon_src_nodes):  Likewise.
20377         (merge_state_array): Likewise.
20378         (update_regs): Likewise.
20379         (build_trtable): Likewise.
20380         (sift_states_backward): Mark MCTX parameter as const.
20381         (build_sifted_states): Likewise.
20382         (update_cur_sifted_state): Likewise.
20383         (sift_states_mkref): Likewise.
20384         (check_arrival_expand_ecl): Mark eclosure as const.
20385         (check_dst_limits_calc_pos_1): Likewise.
20386         * lib/regex_internal.h (re_match_context_t): Make dfa a const
20387         pointer.
20388
20389         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
20390
20391         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
20392         (transit_state_sb): Likewise.
20393         (transit_state_mb): Likewise.
20394         (sift_states_iter_mb): Likewise.
20395         (check_arrival_add_next_nodes): Likewise.
20396         (check_node_accept_bytes): Change first parameter to pointer-to-const.
20397         [_LIBC] (re_search_2_stub): Use mempcpy.
20398
20399         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
20400         mbrtowc for very simple UTF-8 case.
20401
20402         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
20403         a pointer-to-const.
20404         (re_acquire_state_context): Likewise.
20405         * lib/regex_internal.h: Adjust prototypes.
20406
20407         * lib/regex.c: Prevent using C++ compilers.
20408
20409         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
20410         (re_acquire_state_context): Likewise.
20411
20412 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
20413
20414         * modules/regex (Depends-on): Add ssize_t.
20415
20416 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
20417
20418         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
20419         translation table.
20420
20421 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
20422
20423         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
20424
20425 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
20426             Bruno Haible  <bruno@clisp.org>
20427
20428         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
20429         <sys/types.h> and <inttypes.h>.
20430
20431 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20432
20433         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
20434         `__error_t_defined', so argp.h will not typedef the former.
20435
20436 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
20437
20438         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
20439         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
20440         glibc names.  Even if glibc is changed to conform to POSIX, the
20441         traditional names will be available anyway, since regex depends on
20442         the extensions module.  Also, fix a longstanding typo in the
20443         implementation of Spencer ERE test #75 from grep 2.3.  Problems
20444         reported by Emanuele Giaquinta.  Also, change sense of cached
20445         variable, so that the message makes sense.
20446
20447 2006-03-24  Simon Josefsson  <jas@extundo.com>
20448
20449         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
20450         including some doc fixes.
20451         (base64_encode_alloc): Fix +1 bug on allocation failures.
20452
20453 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20454
20455         * lib/base64.c (base64_encode): Do not read past end of array with
20456         unsanitized input on systems with CHAR_BIT > 8.
20457
20458 2006-03-24  Eric Blake  <ebb9@byu.net>
20459
20460         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
20461
20462 2006-03-22  Karl Berry  <karl@gnu.org>
20463
20464         * config/srclist.txt (*setenv.[ch]): get from coreutils.
20465         * config/srclistvars.sh (COREUTILS): new var.
20466
20467 2006-03-17  Jim Meyering  <jim@meyering.net>
20468
20469         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
20470         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
20471
20472 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
20473
20474         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
20475         no longer needs it.  Instead, check that regoff_t is as least
20476         as wide as ptrdiff_t.
20477
20478         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
20479         so that our regex.h stays compatible with the installed regex.
20480         This is helpful for installers who configure --without-included-regex.
20481         Problem reported by Emanuele Giaquinta.
20482
20483 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
20484
20485         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
20486         Typedef to long int, not to off_, as POSIX will likely change
20487         in that direction.
20488
20489 2006-03-15  Eric Blake  <ebb9@byu.net>
20490
20491         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
20492
20493 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
20494
20495         * lib/argp-help.c (validate_uparams): Fix typo
20496         * lib/argp-parse.c (argp_default_options): Consistently begin help
20497         messages with a lowercase letter.
20498
20499 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
20500
20501         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
20502         overrun buffers and shouldn't be used (much as gets shouldn't be
20503         used).
20504         * lib/time_r.c (asctime_r, ctime_r): Likewise.
20505
20506 2006-03-08  Simon Josefsson  <jas@extundo.com>
20507
20508         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
20509         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20510
20511 2006-03-08  Simon Josefsson  <jas@extundo.com>
20512
20513         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
20514         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20515
20516 2006-03-08  Simon Josefsson  <jas@extundo.com>
20517
20518         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
20519         signal that configure disabled the device.
20520
20521 2006-03-08  Simon Josefsson  <jas@extundo.com>
20522
20523         * build-aux/maint.mk: Fix refresh-po, to handle no translated
20524         languages.
20525
20526 2006-03-07  Simon Josefsson  <jas@extundo.com>
20527
20528         * modules/getopt (Depends-on): Add unistd.
20529
20530         * modules/unistd: New file.
20531
20532 2006-03-07  Simon Josefsson  <jas@extundo.com>
20533
20534         * modules/gc-random: New file.
20535
20536 2006-03-07  Simon Josefsson  <jas@extundo.com>
20537
20538         * m4/unistd_h.m4: New file.
20539
20540 2006-03-07  Simon Josefsson  <jas@extundo.com>
20541
20542         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
20543         test to be side-effect free by storing the result in the cache
20544         variable gl_cv_lib_readline, and moving the assignment of
20545         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
20546         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20547
20548 2006-03-07  Simon Josefsson  <jas@extundo.com>
20549
20550         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
20551         error on missing devices (the functions will return an error).
20552
20553         * m4/gc.m4: Move random stuff to gc-random.m4
20554
20555 2006-03-07  Simon Josefsson  <jas@extundo.com>
20556
20557         * lib/unistd_.h: New file.
20558
20559 2006-03-07  Simon Josefsson  <jas@extundo.com>
20560
20561         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
20562
20563 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
20564
20565         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
20566         Problem reported by Juan Manuel Guerrero.
20567
20568 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
20569
20570         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
20571         the unistd module.
20572         * lib/getlogin_r.c: Likewise.
20573         * lib/getlogin_r.h: Likewise.
20574         * lib/glob.c: Likewise.
20575         * lib/pagealign_alloc.c: Likewise.
20576         * lib/unistd_.h: Remove; no longer needed.
20577
20578 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
20579
20580         * MODULES.html.sh (Support for systems lacking POSIX:2001):
20581         Add unistd.
20582         * modules/c-stack (Depends-on): Add unistd.
20583         * modules/getlogin_r: Likewise.
20584         * modules/glob: Likewise.
20585         * modules/pagealign_alloc: Likewise.
20586         * modules/unistd (Files): Remove lib/unistd_.h.
20587         (EXTRA_DIST): Remove.
20588         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
20589         need unistd_.h.
20590         (MOSTLYCLEANFILES): Remove unistd.h-t.
20591
20592 2006-03-03  Simon Josefsson  <jas@extundo.com>
20593
20594         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
20595
20596 2006-03-03  Simon Josefsson  <jas@extundo.com>
20597
20598         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
20599         libidn and bison.
20600
20601 2006-03-03  Simon Josefsson  <jas@extundo.com>
20602
20603         * build-aux/maint.mk: Add indent target.
20604
20605 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
20606
20607         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
20608         our replacement poll.h in any case, to avoid a differing
20609         declaration from a system header.  Seen on AIX.
20610
20611 2006-03-01  Simon Josefsson  <jas@extundo.com>
20612
20613         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
20614         <kasal@ucw.cz>.
20615
20616 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
20617
20618         * modules/gettime (Depends-on): Add extensions module.
20619         * modules/nanosleep (Depends-on): Likewise.
20620         * modules/settime (Depends-on): Likewise.
20621
20622 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
20623
20624         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
20625         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
20626         pedantically.
20627         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
20628         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
20629
20630         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
20631         not "==".  Reported by Ralf Wildenhues.
20632
20633 2006-03-01  Karl Berry  <karl@gnu.org>
20634
20635         * doc/Copyright/request-*: new files, synced from gnuorg.
20636
20637 2006-03-01  Karl Berry  <karl@gnu.org>
20638
20639         * config/srclist.txt (Copyright/*): new entries.
20640
20641 2006-02-28  Simon Josefsson  <jas@extundo.com>
20642
20643         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
20644
20645 2006-02-27  Simon Josefsson  <jas@extundo.com>
20646
20647         * lib/base64.h: Indent #define's.  From Jim Meyering
20648         <jim@meyering.net>.
20649
20650 2006-02-27  Jim Meyering  <jim@meyering.net>
20651
20652         Revert the change of 2006-02-24, so these files can continue
20653         to be sync'd from gettext.
20654         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
20655         of `config.h'.
20656
20657 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
20658
20659         * modules/intprops: New file.
20660         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
20661         Add intprops.
20662         * modules/getloadavg (Files): Remove lib/intprops.h.
20663         (Depends-on): Add intprops.
20664         * modules/human: Likewise.
20665         * modules/inttostr: Likewise.
20666         * modules/openat: Likewise.
20667         * modules/sig2str: Likewise.
20668         * modules/userspec: Likewise.
20669         * modules/utimecmp: Likewise.
20670         * modules/xnanosleep: Likewise.
20671         * modules/xstrtol: Likewise.
20672
20673 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
20674
20675         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
20676         * modules/lock-tests (TESTS): Use $(EXEEXT).
20677         * modules/tls-tests: Likewise.
20678         * modules/argp-tests: Likewise.
20679         (check_PROGRAMS): New var, replacing...
20680         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
20681
20682 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20683
20684         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
20685         `config.h'.
20686
20687 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
20688
20689         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
20690
20691 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20692
20693         Sync from coreutils.
20694         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
20695         gl_CHDIR_SAFER.
20696
20697 2006-02-22  Jim Meyering  <jim@meyering.net>
20698
20699         Sync from coreutils.
20700         * m4/chdir-safer.m4: New file.
20701
20702 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
20703
20704         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
20705         AT_FDCWD exceeds INT_MAX.
20706         * lib/openat.h (AT_FDCWD): Likewise.
20707
20708 2006-02-17  Eric Blake  <address@hidden>
20709
20710         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
20711
20712 2006-02-16  Simon Josefsson  <jas@extundo.com>
20713
20714         * modules/getaddrinfo (Depends-on): Add sys_socket.
20715
20716 2006-02-15  Simon Josefsson  <jas@extundo.com>
20717
20718         * build-aux/maint.mk: Add dsyntax-check rule.
20719
20720 2006-02-15  Eric Blake  <ebb9@byu.net>
20721
20722         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
20723         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
20724         'present but cannot compile' warnings on cygwin.
20725         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
20726         use ws2tcpip.h if sys/socket.h works.
20727         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
20728         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
20729
20730 2006-02-14  Simon Josefsson  <jas@extundo.com>
20731
20732         * modules/maintainer-makefile (Files): Rename.
20733
20734         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
20735         and (the local) Makefile.cfg to maint-cfg.mk.
20736
20737         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
20738         to the latter.
20739
20740         * modules/maintainer-makefile: New module.
20741
20742         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
20743         severaly stripped to make it possible to build it up from scratch
20744         with reliable tests.
20745
20746         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
20747         fixes to permit overriding the default actions when configure and
20748         makefile are not available.
20749
20750 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
20751
20752         Sync from coreutils.
20753         * modules/lstat (Depends-on): Don't depend on xalloc.
20754         (License): Change from GPL to LGPL, since this is now simply a
20755         replacement for a libc function.
20756
20757 2006-02-14  Jim Meyering  <jim@meyering.net>
20758
20759         Sync from coreutils.
20760
20761         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
20762         failure on deficient systems, and simplify gnulib lgpl dependencies.
20763         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
20764         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
20765
20766         * lib/xalloc-die.c: Remove unused definition of N_.
20767
20768 2006-02-14  Jim Meyering  <jim@meyering.net>
20769
20770         Sync from coreutils.
20771         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
20772         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
20773         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
20774         double-quote uses of that variable, to accommodate the rare case in
20775         which getmntent is available in none of the libraries checked.  This
20776         happens at least on FreeBSD 5.0.
20777
20778 2006-02-13  Simon Josefsson  <jas@extundo.com>
20779
20780         * gnulib-tool (Usage): Fix --import, from
20781         karl@freefriends.org (Karl Berry).
20782
20783 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
20784
20785         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
20786
20787 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
20788
20789         * lib/argp-namefrob.h: Restore changes accidentally lost during the
20790         "autoupdate" on 2005-12-12.
20791
20792 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
20793
20794         * modules/closeout (Depends-on): Remove atexit.
20795
20796 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
20797
20798         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
20799         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
20800
20801 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
20802
20803         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
20804         __EXTENSIONS__ if this causes compilation to fail.  Problem
20805         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
20806         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
20807
20808 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
20809
20810         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
20811         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
20812         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
20813         All uses changed.
20814
20815 2006-01-26  Simon Josefsson  <jas@extundo.com>
20816
20817         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
20818         prototype is visible on mingw32.
20819
20820         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
20821         for mingw32.
20822
20823         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
20824         mingw32).
20825
20826 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
20827
20828         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
20829         attempt to open for write; this always fails, at least on POSIX
20830         hosts.  This reinstates the 2006-01-09 change, which was
20831         inadvertently removed.
20832
20833 2006-01-26  Bruno Haible  <bruno@clisp.org>
20834
20835         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
20836         Reported by Paul Eggert.
20837
20838 2006-01-26  Bruno Haible  <bruno@clisp.org>
20839             Paul Eggert  <eggert@cs.ucla.edu>
20840
20841         * lib/stdbool_.h (_Bool)
20842         [(! (defined __cplusplus || defined __BEOS__)
20843           && !defined __GNUC__
20844           && !(defined __HP_cc || defined __xlc__
20845                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
20846                || defined __sgi))]:
20847         #define to signed char in these cases too; this simplifies
20848         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
20849         etc., separately) and makes it more conservative.
20850
20851 2006-01-25  Simon Josefsson  <jas@extundo.com>
20852
20853         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
20854         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
20855         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
20856
20857 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
20858
20859         * lib/argp-namefrob.h: Bugfix. Remove stray #
20860
20861 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
20862
20863         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
20864         so that we test the test.
20865         Check for yet another HP-UX cc bug involving *bool |= bool.
20866
20867 2006-01-25  Karl Berry  <karl@gnu.org>
20868
20869         * config/srclist.txt (vasnprintf.c): sync lost.
20870
20871 2006-01-25  Jim Meyering  <jim@meyering.net>
20872
20873         Sync from the stable (b5) branch of coreutils:
20874
20875         * lib/fts.c (fts_children): Don't let close() clobber errno from
20876         failed fchdir().
20877
20878         * lib/fts.c (fts_stat): When following a symlink-to-directory,
20879         don't necessarily interpret stat-fails+lstat-succeeds as indicating
20880         a dangling symlink.  That can also happen at least for ELOOP.
20881         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
20882         FYI, this bug predates the inclusion of fts.c in coreutils.
20883
20884         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
20885         in their own block, so pre-c99 compilers don't object.
20886
20887         Avoid the double-free (first in fts_read, second in fts_close) that
20888         would occur when an `active' directory is made inaccessible (e.g.,
20889         via chmod a-x) during a traversal.
20890         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
20891         before returning.  Reproduce this failure by
20892         mkdir -p a/b; cd a; chmod a-x . b
20893         Reported by Stavros Passas.
20894
20895 2006-01-25  Jim Meyering  <jim@meyering.net>
20896
20897         * lib/fileblocks.c: Remove more useless parentheses.
20898         * lib/readutmp.h: Likewise.
20899
20900 2006-01-25  Bruno Haible  <bruno@clisp.org>
20901
20902         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
20903         warnings.
20904         Reported by Paul Eggert.
20905
20906 2006-01-25  Bruno Haible  <bruno@clisp.org>
20907
20908         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
20909         rid of a trap command. For Solaris sh.
20910         Reported by Mark D. Baushke <mdb@gnu.org>.
20911
20912 2006-01-24  Simon Josefsson  <jas@extundo.com>
20913
20914         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
20915         Bruno.
20916
20917 2006-01-24  Karl Berry  <karl@gnu.org>
20918
20919         * config/srclist.txt (argp-namefrob.h): sync lost.
20920
20921 2006-01-24  Jim Meyering  <jim@meyering.net>
20922
20923         * modules/openat (Files): Add lib/intprops.h.
20924         From Mark D. Baushke.
20925
20926 2006-01-24  Jim Meyering  <jim@meyering.net>
20927
20928         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
20929         Reported by Mark D. Baushke.
20930
20931 2006-01-24  Jim Meyering  <jim@meyering.net>
20932
20933         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
20934
20935 2006-01-24  Bruno Haible  <bruno@clisp.org>
20936
20937         * modules/strnlen (Maintainer): Change from glibc to all.
20938
20939 2006-01-24  Bruno Haible  <bruno@clisp.org>
20940
20941         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
20942         Patch by Paul Eggert.
20943
20944 2006-01-24  Bruno Haible  <bruno@clisp.org>
20945
20946         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
20947         already has it.
20948         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
20949         2005-11-26.
20950
20951         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
20952         'signed char' to avoid problems with the built-in _Bool type.
20953         Reported by Paul Eggert on 2005-11-26.
20954
20955 2006-01-24  Bruno Haible  <bruno@clisp.org>
20956
20957         * gnulib-tool (func_import): Avoid constructing complicated sed
20958         expressions inside backquote.
20959         Report and solution by Mark D. Baushke <mdb@gnu.org>.
20960
20961 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
20962
20963         These changes imported from libc.
20964         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
20965         test and two separate function calls.
20966         * lib/strndup.c (__strndup): Add libc_hidden_def.
20967
20968 2006-01-23  Simon Josefsson  <jas@extundo.com>
20969
20970         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
20971         Remove the test_*_SOURCES variable: automake infers it by default.
20972         * modules/tls-tests: Likewise.
20973
20974 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20975
20976         Work around porting bugs reported by Dieter in
20977         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
20978         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
20979         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
20980         Include "getopt.h" first, to check interface.
20981         (getenv): Declare only if defined HAVE_DECL_GETENV &&
20982         !HAVE_DECL_GETENV.
20983         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
20984         (__strndup): Revert to K&R-style function dfns, the glibc style.
20985         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
20986         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
20987         Include strnlen.h first, to get prototype properly.
20988         (strnlen): Renamed from __strnlen.
20989         Remove weak alias.
20990
20991 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20992
20993         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
20994
20995 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20996
20997         * config/srclist.txt: Adjust to reflect glibc reorganization.
20998         This affects only comments.
20999
21000 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
21001
21002          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
21003          Reported by Bruce Korb <bkorb@gnu.org>.
21004
21005 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
21006
21007         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
21008         to pacify gcc -Wswitch-default.
21009
21010 2006-01-22  Bruno Haible  <bruno@clisp.org>
21011
21012         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
21013         temporary buffer for sprintf, take into account the precision also
21014         for 'd', 'i', 'u', 'o', 'x', 'X'.
21015
21016 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
21017
21018         * modules/argp-tests: New module
21019         * tests/test-argp.c: New file
21020         * tests/test-argp-2.sh: New file
21021
21022 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
21023
21024         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
21025         (__argp_base_name): Removed
21026         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
21027         typo.
21028         (__argp_base_name): Provide macro definition or extern declaration
21029         depending on the configuration
21030
21031 2006-01-20  Simon Josefsson  <jas@extundo.com>
21032
21033         * modules/inet_ntop (Depends-on): Depend on sys_socket.
21034
21035 2006-01-20  Simon Josefsson  <jas@extundo.com>
21036
21037         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
21038
21039 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
21040
21041         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
21042         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
21043         Suggested by Bruno Haible.
21044
21045 2006-01-20  Karl Berry  <karl@gnu.org>
21046
21047         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
21048         until changes propagate, I guess.
21049
21050 2006-01-19  Simon Josefsson  <jas@extundo.com>
21051
21052         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
21053
21054 2006-01-19  Simon Josefsson  <jas@extundo.com>
21055
21056         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
21057
21058 2006-01-19  Simon Josefsson  <jas@extundo.com>
21059
21060         * gnulib-tool: Set check_PROGRAMS.
21061
21062         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
21063         modules/des-tests, modules/gc-arcfour-tests,
21064         modules/gc-arctwo-tests, modules/gc-des-tests,
21065         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
21066         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
21067         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
21068         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
21069         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
21070         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
21071         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
21072         test_*_SOURCES.
21073
21074 2006-01-18  Simon Josefsson  <jas@extundo.com>
21075
21076         * modules/socklen (Depends-on): Depend on sys_socket.
21077
21078 2006-01-18  Simon Josefsson  <jas@extundo.com>
21079
21080         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
21081         modules/des-tests, modules/gc-arcfour-tests,
21082         modules/gc-arctwo-tests, modules/gc-des-tests,
21083         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
21084         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
21085         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
21086         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
21087         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
21088         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
21089         $(EXEEXT) to automake TESTS variable, for mingw32.
21090
21091 2006-01-17  Simon Josefsson  <jas@extundo.com>
21092
21093         * modules/socklen (Include): Need sys/socket.h.
21094
21095 2006-01-17  Bruno Haible  <bruno@clisp.org>
21096
21097         * modules/ssize_t (Include): Add <sys/types.h>.
21098
21099 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
21100
21101         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
21102         it's not portable and it doesn't work with cross-compiles.
21103         Problem reported by Bruno Haible.  Fix missing-$ typo in
21104         'test "gl_cv_ignore_unused_libraries" ...' that prevented
21105         -zignore from being used with Sun's C compiler.
21106
21107 2006-01-12  Simon Josefsson  <jas@extundo.com>
21108
21109         * lib/base64.c: Fix warning, reported by Bruno Haible
21110         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
21111
21112 2006-01-12  Bruno Haible  <bruno@clisp.org>
21113
21114         * modules/ldd: New file.
21115         * build-aux/ldd.sh.in: New file.
21116         * MODULES.html.sh (Support for building libraries and executables): Add
21117         ldd.
21118
21119 2006-01-12  Bruno Haible  <bruno@clisp.org>
21120
21121         * m4/ldd.m4: New file.
21122
21123 2006-01-12  Bruno Haible  <bruno@clisp.org>
21124
21125         * gnulib-tool (func_import, func_create_testdir): Don't go into an
21126         endless loop while replacing $auxdir with build-aux.
21127
21128 2006-01-11  Simon Josefsson  <jas@extundo.com>
21129
21130         * lib/stdint_.h (SIZE_MAX): Add missing (.
21131
21132 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
21133
21134         Sync from coreutils.
21135         * lib/md5.c: Fix commentary typos.
21136         (alignof, UNALIGNED_P): No need for a GCC-specific version.
21137         * lib/md5.h (__attribute__): Remove; unused.
21138         * lib/sha1.c: Fix commentary to match md5 better.
21139         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
21140         so that we don't need to worry about alignment.  All uses changed.
21141         This merges the 2005-10-28 md5 change into sha1.
21142
21143 2006-01-11  Jim Meyering  <jim@meyering.net>
21144
21145         Sync from coreutils.
21146         * lib/md5.c (OP): Fix spacing.
21147
21148 2006-01-11  Bruno Haible  <bruno@clisp.org>
21149
21150         Ensure automatic ordering between gl_LOCK and gl_ARGP.
21151         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
21152         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
21153
21154 2006-01-11  Bruno Haible  <bruno@clisp.org>
21155
21156         Ensure automatic ordering between gl_LOCK and gl_ARGP.
21157         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
21158         the "early" section as well.
21159
21160 2006-01-11  Bruno Haible  <bruno@clisp.org>
21161
21162         Avoid "ar: no archive members specified" error on MacOS X.
21163         * gnulib-tool (func_modules_add_dummy): New function.
21164         (func_import, func_create_testdir): Invoke it.
21165
21166 2006-01-11  Bruno Haible  <bruno@clisp.org>
21167
21168         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
21169         with $auxdir in AC_CONFIG_FILES statements.
21170
21171 2006-01-11  Bruno Haible  <bruno@clisp.org>
21172
21173         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
21174         Initialize also noinst_HEADERS to empty.
21175
21176 2006-01-11  Bruno Haible  <bruno@clisp.org>
21177
21178         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
21179         variables.
21180         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
21181         autoreconf.
21182
21183 2006-01-11  Bruno Haible  <bruno@clisp.org>
21184
21185         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
21186         overridable by the user.
21187         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21188
21189 2006-01-10  Simon Josefsson  <jas@extundo.com>
21190
21191         * modules/sys_socket: New file.
21192
21193 2006-01-10  Simon Josefsson  <jas@extundo.com>
21194
21195         * m4/sys_socket_h.m4: New file.
21196
21197 2006-01-10  Simon Josefsson  <jas@extundo.com>
21198
21199         * lib/socket_.h: New file.
21200
21201 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
21202
21203         * modules/readutmp (Maintainer): Add myself.
21204
21205 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
21206
21207         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
21208         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
21209         People who are still concerned with buggy memcmp implementations
21210         can invoke gl_FUNC_MEMCMP themselves.
21211
21212 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
21213
21214         * lib/regex_internal.h (BITSET_WORD_BITS):
21215         Work around a bug in 64-bit PGC (before version 6.1-2), where the
21216         preprocessor mishandles large unsigned values as if they were signed.
21217         Problem reported by Claudio Fontana in
21218         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
21219
21220 2006-01-10  Jim Meyering  <jim@meyering.net>
21221
21222         Avoid the double-free (first in fts_read, second in fts_close) that
21223         would occur when an `active' directory is made inaccessible (e.g.,
21224         via chmod a-x) during a traversal.
21225         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
21226         before returning.  Reproduce this failure by
21227         mkdir -p a/b; cd a; chmod a-x . b
21228         Reported by Stavros Passas.
21229
21230         Sync from coreutils.
21231         * lib/sha1.c: Tweak grammar in a comment.
21232
21233 2006-01-10  Jim Meyering  <jim@meyering.net>
21234
21235         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
21236         Patch by Joerg Sonnenberger.
21237
21238 2006-01-10  Bruno Haible  <bruno@clisp.org>
21239
21240         * modules/readutmp: Depend on module free.
21241         * modules/strtok_r: Depend on module restrict.
21242
21243 2006-01-10  Bruno Haible  <bruno@clisp.org>
21244
21245         * modules/gettext (configure.ac): Add an invocation of
21246         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
21247
21248 2006-01-10  Bruno Haible  <bruno@clisp.org>
21249
21250         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
21251         Reported by Werner Lemberg <wl@gnu.org>.
21252
21253 2006-01-10  Bruno Haible  <bruno@clisp.org>
21254
21255         * lib/localcharset.c: Update from GNU gettext.
21256
21257 2006-01-10  Bruno Haible  <bruno@clisp.org>
21258
21259         * lib/argp.h (__const): Remove macro. Use const instead.
21260         * lib/argp-fmtstream.h (__const): Likewise.
21261         * lib/glob_.h (__const): Remove macro.
21262         * lib/glob-libc.h: Use const instead of __const.
21263
21264 2006-01-10  Bruno Haible  <bruno@clisp.org>
21265
21266         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
21267         variable.
21268         Needed to avoid an automake error regarding the 'gettext' module.
21269
21270 2006-01-09  Simon Josefsson  <jas@extundo.com>
21271
21272         * modules/inet_ntop (Depends-on): Add restrict.
21273
21274 2006-01-09  Simon Josefsson  <jas@extundo.com>
21275
21276         * modules/gc-rijndael-tests (License): Put under LGPL.
21277
21278         * modules/gc-des-tests (License): Likewise.
21279
21280         * modules/gc-arcfour-tests (License): Likewise.
21281
21282         * modules/gc-arctwo-tests (License): Likewise.
21283
21284         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
21285
21286         * modules/gc-hmac-sha1-tests (Files): Likewise.
21287
21288         * modules/gc-hmac-md5-tests (License): Likewise.
21289
21290         * modules/gc-sha1-tests (License): Likewise.
21291
21292         * modules/gc-md5-tests (License): Likewise.
21293
21294         * modules/gc-md4-tests (License): Likewise.
21295
21296         * modules/gc-md2-tests (License): Likewise.
21297
21298         * modules/gc-tests (License): Likewise.
21299
21300         * modules/des-tests (License): Likewise.
21301
21302         * modules/md4-tests (License): Likewise.
21303
21304         * modules/md2-tests (License): Likewise.
21305
21306 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
21307
21308         Sync from coreutils:
21309
21310         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
21311         * modules/lib-ignore: New file.
21312         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
21313         chdir-safer.m4, lchmod.m4.
21314         * modules/openat: Add mkdirat.c, openat-priv.h.
21315
21316 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
21317
21318         Sync from coreutils.
21319         * m4/lib-ignore.m4: New file.
21320         * m4/lchmod.m4: New file.
21321
21322 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
21323
21324         Sync from coreutils.
21325         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
21326         for write access: POSIX says that must fail.
21327         * lib/fts.c (diropen): Likewise.
21328         * lib/save-cwd.c (save_cwd): Likewise.
21329         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
21330         well, for minor improvements on hosts that lack O_DIRECTORY.
21331         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
21332         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
21333         Fall back on chown if open failed with EACCES.
21334
21335         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
21336         Report an error at compile-time if only a 1-second nominal clock
21337         resolution is found.
21338
21339         * lib/lchmod.h: New file.
21340         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
21341         (make_dir_parents): Use lchown rather than chown, and
21342         lchmod rather than chmod.
21343
21344         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
21345         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
21346         "proc" reported by n0dalus.
21347
21348         * lib/mountlist.c: Include <limits.h>.
21349         (dev_from_mount_options)
21350         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
21351         New function.  It no longer assumes "dev=" has the System V meaning
21352         on Linux (since it doesn't).  It also parses "dev=" more carefully.
21353         (read_file_system_list)
21354         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
21355         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
21356         dev= in that case.
21357
21358         * lib/posixtm.h (PDS_PRE_2000): New macro.
21359         * lib/posixtm.c (year): Arg is now syntax_bits rather than
21360         allow_century.  All usages changed.  Reject dates outside the range
21361         1969-1999 if PDS_PRE_2000 is used.
21362
21363 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
21364
21365         Sync from coreutils.
21366         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
21367         (Time of day items): Mention the possibility of leap seconds.
21368         Problem reported by Dr. David Alan Gilbert.
21369
21370 2006-01-09  Jim Meyering  <jim@meyering.net>
21371
21372         Sync from coreutils.
21373
21374         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
21375
21376         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
21377
21378         * lib/modechange.c (mode_compile): Reject an invalid mode string
21379         that starts with an octal digit.  From Andreas Gruenbacher.
21380
21381         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
21382         and dup to open_safer and dup_safer, respectively.
21383         (openat_permissive): Fix typo in comment.
21384
21385         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
21386         "gettext.h"; either no longer needed or are guaranteed by openat.h.
21387         (_): Remove; no longer needed.
21388         (openat): Renamed from rpl_openat; no need for rpl_openat
21389         since openat.h renames openat for us.
21390         Replace most of the body with a call to openat_permissive,
21391         to avoid duplicate code.
21392         Port to (probably hypothetical) environments were mode_t is
21393         wider than int.
21394         (openat_permissive): Require mode arg, so that we can check
21395         types better.  Put it just after flags.  Change cwd failure
21396         indicator from pointer-to-bool to pointer-to-errno-value.
21397         All callers changed.
21398         Invoke openat_save_fail and/or openat_restore_fail if
21399         cwd_errno is null, so that openat can call us.
21400         (openat_permissive, fdopendir, fstatat, unlinkat):
21401         Simplify errno handling to avoid some duplicate code,
21402         as it's OK to set errno on success.
21403         * lib/openat.h: Revamp code so that function macros depend on
21404         __OPENAT_PREFIX only, not also on AT_FDCWD.
21405         (openat_ro): Remove.  Caller changed to use openat_permissive.
21406         (openat_permissive): Now a macro, if not a function.
21407         (openat_restore_fail, openat_save_fail): Now always functions,
21408         since mkdirat needs them even if __OPENAT_PREFIX is defined.
21409
21410         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
21411         and openat.c.
21412         * lib/mkdirat.c: Include openat-priv.h.
21413         Remove definitions of macros defined therein.
21414         * lib/openat.c: Likewise.
21415
21416         * lib/mkdirat.c (mkdirat): New file and function.
21417         * lib/openat.h (mkdirat): Declare.
21418
21419         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
21420
21421         * lib/openat.h (openat_permissive): Declare.
21422         (openat_ro): Define.
21423
21424         * lib/openat.c (EXPECTED_ERRNO): New macro.
21425         (openat_permissive): New function -- used in remove.c rewrite.
21426         (all functions): Set errno just before returning, only if there
21427         was an actual failure.
21428         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
21429
21430         Emulate openat-family functions using Linux's procfs, if possible.
21431         Idea and some code based on Ulrich Drepper's glibc changes.
21432
21433         * lib/openat.c: (BUILD_PROC_NAME): New macro.
21434         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
21435         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
21436         before falling back on save_cwd and restore_cwd.
21437         (fdopendir, fstatat, unlinkat): Likewise.
21438
21439         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
21440         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
21441
21442         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
21443         as second argument to va_arg.  Otherwise, some versions of gcc
21444         warn that `if this code is reached, the program will abort'.
21445
21446 2006-01-09  Jim Meyering  <jim@meyering.net>
21447
21448         Sync from coreutils.
21449         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
21450         Require openat-priv.h.
21451
21452 2006-01-09  Bruno Haible  <bruno@clisp.org>
21453
21454         * modules/strnlen (Include): Use strnlen.h.
21455
21456 2006-01-09  Bruno Haible  <bruno@clisp.org>
21457
21458         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
21459
21460 2006-01-09  Bruno Haible  <bruno@clisp.org>
21461
21462         * lib/sysexit_.h (EX_OK): New macro.
21463         Suggested by Martin Lambers <marlam@marlam.de>.
21464
21465 2006-01-09  Bruno Haible  <bruno@clisp.org>
21466
21467         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
21468         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
21469
21470 2006-01-09  Bruno Haible  <bruno@clisp.org>
21471
21472         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
21473         numbers.
21474
21475 2006-01-09  Bruno Haible  <bruno@clisp.org>
21476
21477         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
21478         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
21479         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
21480         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
21481
21482 2006-01-09  Bruno Haible  <bruno@clisp.org>
21483
21484         * build-aux/javacomp.sh.in: New file, moved from lib/.
21485         * modules/javacomp-script (Files): Update.
21486         (configure.ac): Add AC_CONFIG_FILES invocation.
21487         (EXTRA_DIST): Remove variable.
21488
21489         * build-aux/javaexec.sh.in: New file, moved from lib/.
21490         * modules/javaexec (Files): Update.
21491         (configure.ac): Add AC_CONFIG_FILES invocation.
21492         (EXTRA_DIST): Remove javaexec.sh.in.
21493
21494         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
21495         * modules/csharpcomp-script (Files): Update.
21496         (configure.ac): Add AC_CONFIG_FILES invocation.
21497         (EXTRA_DIST): Remove variable.
21498
21499         * build-aux/csharpexec.sh.in: New file, moved from lib/.
21500         * modules/csharpexec (Files): Update.
21501         (configure.ac): Add AC_CONFIG_FILES invocation.
21502         (EXTRA_DIST): Remove csharpexec.sh.in.
21503
21504 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
21505
21506         Sync from coreutils.
21507
21508         Add POSIX ACL support
21509         * lib/acl.h (copy_acl, set_acl): Add declarations.
21510         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
21511         systems other than Linux.
21512         (chmod_or_fchmod): New function: use fchmod when possible,
21513         and chmod otherwise.
21514         (file_has_acl): Add a POSIX ACL implementation, with a
21515         Linux-specific subcase.
21516         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
21517         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
21518         acls are unsupported.
21519         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
21520         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
21521         are unsupported.
21522
21523 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
21524
21525         Sync from coreutils.
21526         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
21527
21528 2006-01-07  Bruno Haible  <bruno@clisp.org>
21529
21530         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
21531         gl_EARLY.
21532
21533 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
21534
21535         * lib/strftime.c (tzname): Don't declare if it is already #defined.
21536         Problem reported for Mingw by Mark Junker.
21537
21538 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
21539
21540         * README: Gnulib normally doesn't generate a tarball.
21541
21542 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
21543
21544         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
21545         long int, not int, for nanosecond counts, so that people who are
21546         used to POSIX struct timespec won't be surprised.  Reported by Jim
21547         Meyering.
21548
21549 2005-12-28  Bruno Haible  <bruno@clisp.org>
21550
21551         * build-aux/config.rpath: Update from GNU gettext.
21552
21553 2005-12-16  Jim Meyering  <jim@meyering.net>
21554
21555         * modules/fprintftime: New module.
21556         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
21557
21558 2005-12-16  Jim Meyering  <jim@meyering.net>
21559
21560         * m4/fprintftime.m4: New file.
21561
21562 2005-12-16  Jim Meyering  <jim@meyering.net>
21563
21564         * lib/fprintftime.c, lib/fprintftime.h: New files.
21565
21566 2005-12-15  Simon Josefsson  <jas@extundo.com>
21567
21568         * modules/socklen (configure.ac): Fix M4 macro name, to align with
21569         new m4/socklen.m4.
21570
21571 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
21572
21573         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
21574         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
21575
21576 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
21577
21578         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
21579         * lib/argp-help.c (fill_in_uparams): Check if the constructed
21580         struct uparams is valid. Fall back to the default values if it is
21581         not.
21582
21583 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
21584
21585         * modules/argp (Files): Add argp-pin.c
21586         (Depends-on): dirname
21587         (lib_SOURCES): Add argp-pin.c
21588
21589 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
21590
21591         * m4/argp.m4:  Check if program_invocation_name and
21592         program_invocation_short_name are declared and define appropriate
21593         macros if they are not.
21594
21595 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
21596
21597         * lib/argp-help.c (__argp_base_name): New function
21598         (__argp_short_program_name): Rewrite using __argp_base_name
21599         * lib/argp-namefrob.h: Define program_invocation_name and
21600         program_invocation_short_name if requested
21601         (__argp_base_name): Add prototype
21602         * lib/argp-parse.c (argp_def): Use gettext wrappers
21603         (argp_default_parser): Use __argp_base_name
21604         * lib/argp-pin.c: New file. Defines program_invocation_name and
21605         program_invocation_short_name on systems that lack them.
21606
21607 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
21608
21609         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
21610         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
21611         porting problem reported by Georg Schwarz in
21612         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
21613
21614 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
21615
21616         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
21617         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
21618         porting problem reported by Georg Schwarz in
21619         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
21620
21621 2005-12-05  Bruno Haible  <bruno@clisp.org>
21622
21623         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
21624         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
21625         Reported by Mark Junker <mjscod@gmx.de>.
21626
21627 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
21628
21629         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
21630         Use implementation from Albert Chin, with some
21631         comments/corrections by Stepan Kasal and myself.
21632
21633 2005-12-02  Bruno Haible  <bruno@clisp.org>
21634
21635         * gnulib-tool (func_import): Accept GPLed build tool modules when
21636         --lgpl is given.
21637         * modules/csharpcomp-script: New file.
21638         * modules/csharpcomp: Depend on it.
21639         * modules/javacomp-script: New file.
21640         * modules/javacomp: Depend on it.
21641         Suggested by Simon Josefsson.
21642
21643 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
21644
21645         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
21646         statement, to work around an HP-UX 10.20 compiler bug reported by
21647         Peter O'Gorman.
21648
21649 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
21650
21651         * modules/savedir (Depends-on): Add openat.
21652
21653 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
21654
21655         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
21656         (uintmax_t) [defined uintmax_t]: Do not declare.
21657         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
21658         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
21659         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
21660         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
21661         sake of portability to weird hosts that C allows (though we don't
21662         know of any practical examples).
21663
21664         * lib/savedir.h (fdsavedir): New decl.
21665         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
21666         contains most of the former guts of savedir.
21667         (savedir): Use savedirstream.
21668         Include "openat.h".
21669
21670 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
21671
21672         * modules/obstack (Files): Add m4/ulonglong.m4.
21673         Problem reported by Davide Angelocola.
21674
21675 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
21676
21677         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
21678         coreutils no longer futzes with rounding modes.
21679
21680 2005-11-14  Jim Meyering  <jim@meyering.net>
21681
21682         * lib/mkstemp-safer.c: Include <config.h>, required for possible
21683         replacement of mkstemp.
21684
21685 2005-11-10  Simon Josefsson  <jas@extundo.com>
21686
21687         * lib/readline.c: Remove EOL.
21688
21689 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
21690
21691         * modules/gethrxtime (Depends-on): Add gettime.
21692
21693 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
21694
21695         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
21696         or gettimeofday; no longer needed.
21697
21698 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
21699
21700         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
21701         time business.
21702         (gethrxtime) [! (HAVE_NANOUPTIME
21703         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
21704         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
21705         our own approximation.
21706
21707 2005-11-08  Eric Blake  <ebb9@byu.net>
21708
21709         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
21710
21711 2005-11-08  Eric Blake  <ebb9@byu.net>
21712
21713         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
21714
21715 2005-11-04  Bruno Haible  <bruno@clisp.org>
21716
21717         * gnulib-tool: Implement --update mode.
21718
21719 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
21720
21721         Fix porting problem reported by Theodoros V. Kalamatianos.
21722         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
21723         Don't assume that futimes failing means we must fail.
21724
21725 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
21726
21727         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
21728         variables to suggest the intended function of the PATH_MAX check.
21729
21730 2005-10-30  Kean Johnston  <jkj@sco.com>
21731
21732         Trivial changes to support SCO systems.
21733         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
21734         as PATH_MAX.
21735         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
21736         where __ptr is null when no I/O is pending.
21737
21738 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
21739
21740         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
21741         leave errno alone.  Problem reported by Dmitry V. Levin.
21742
21743 2005-10-28  Simon Josefsson  <jas@extundo.com>
21744
21745         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
21746         Test more.
21747
21748         * tests/test-gc-md2.c, tests/test-md2.c: New files.
21749
21750         * modules/md2, modules/md2-tests: New files.
21751
21752 2005-10-28  Simon Josefsson  <jas@extundo.com>
21753
21754         * m4/inet_ntop.m4: More tests.
21755
21756         * m4/gc-md2.m4, md2.m4: New file.
21757
21758 2005-10-28  Simon Josefsson  <jas@extundo.com>
21759
21760         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
21761         "restrict" keywords, as per POSIX.  Protect the function
21762         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
21763         Don't use K&R prototypes.  Check the sprintf return values.
21764         Re-define EAFNOSUPPORT if not present.  Indent.
21765
21766         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
21767         suggested by Bruno Haible <bruno@clisp.org>.
21768
21769         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
21770
21771         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
21772
21773         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
21774         libgcrypt).
21775
21776         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
21777
21778         * lib/md2.h, lib/md2.c: New files.
21779
21780 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
21781
21782         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
21783         errno alone.  Problem reported by Frederic Jolliton.
21784
21785 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
21786
21787         * modules/verify (License): Change from GPL to LGPL.  This is a
21788         tiny module and there are apparently near-equivalents that are
21789         under the BSD license.
21790
21791 2005-10-24  Simon Josefsson  <jas@extundo.com>
21792
21793         * modules/sha1: Relicense to LGPL.
21794
21795 2005-10-24  Simon Josefsson  <jas@extundo.com>
21796
21797         * lib/md4.h: Shrink buffer size, now that we changed the type.
21798
21799 2005-10-23  Simon Josefsson  <jas@extundo.com>
21800
21801         * gnulib-tool (func_import): Fix --tests-base.
21802
21803 2005-10-22  Simon Josefsson  <jas@extundo.com>
21804
21805         * modules/arcfour (Depends-on): Need stdint.
21806
21807 2005-10-22  Simon Josefsson  <jas@extundo.com>
21808
21809         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
21810         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
21811
21812 2005-10-22  Simon Josefsson  <jas@extundo.com>
21813
21814         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
21815         suggested by Bruno Haible <bruno@clisp.org>.
21816
21817 2005-10-22  Simon Josefsson  <jas@extundo.com>
21818
21819         * lib/crc.h: Include stddef.h, for size_t.
21820
21821 2005-10-22  Simon Josefsson  <jas@extundo.com>
21822
21823         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
21824         arcfour_context struct (simplify test vector testing in GNU
21825         Shishi).
21826
21827 2005-10-21  Simon Josefsson  <jas@extundo.com>
21828
21829         * modules/des, modules/des-tests: New files.
21830
21831         * modules/gc-des, modules/gc-des-tests: New files.
21832
21833         * tests/test-des.c, tests/test-gc-des.c: New file.
21834
21835 2005-10-21  Simon Josefsson  <jas@extundo.com>
21836
21837         * modules/arctwo, modules/arctwo-tests: New files.
21838
21839         * tests/test-arctwo.c: New file.
21840
21841         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
21842
21843         * tests/test-gc-arctwo.c: New file.
21844
21845 2005-10-21  Simon Josefsson  <jas@extundo.com>
21846
21847         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
21848         Bruno Haible <bruno@clisp.org>.
21849
21850         * m4/gc-des.m4: New file.
21851
21852 2005-10-21  Simon Josefsson  <jas@extundo.com>
21853
21854         * m4/arctwo.m4: New file.
21855
21856         * m4/gc-arctwo.m4: New file.
21857
21858 2005-10-21  Simon Josefsson  <jas@extundo.com>
21859
21860         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
21861         block.
21862
21863 2005-10-21  Simon Josefsson  <jas@extundo.com>
21864
21865         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
21866         <bruno@clisp.org>.
21867
21868         * lib/hmac-sha1.c (hmac_sha1): Likewise.
21869
21870         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
21871         Bruno Haible <bruno@clisp.org>.
21872
21873         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
21874         <bruno@clisp.org>.
21875
21876 2005-10-21  Simon Josefsson  <jas@extundo.com>
21877
21878         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
21879
21880 2005-10-21  Simon Josefsson  <jas@extundo.com>
21881
21882         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
21883
21884 2005-10-21  Simon Josefsson  <jas@extundo.com>
21885
21886         * lib/des.h, lib/des.c: New files.
21887
21888         * lib/gc-gnulib.c: Support DES.c
21889
21890 2005-10-21  Simon Josefsson  <jas@extundo.com>
21891
21892         * lib/arctwo.h, lib/arctwo.c: New files.
21893
21894         * lib/gc-gnulib.c: Support ARCTWO.
21895
21896 2005-10-21  Simon Josefsson  <jas@extundo.com>
21897
21898         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
21899         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21900
21901 2005-10-21  Simon Josefsson  <jas@extundo.com>
21902
21903         * gnulib-tool (func_import, func_create_testdir): Define automake
21904         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
21905         Makefile.am snippet),
21906         suggested by Bruno Haible <bruno@clisp.org>.
21907
21908         * modules/gc (Makefile.am): Use it.
21909
21910 2005-10-21  Bruno Haible  <bruno@clisp.org>
21911
21912         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
21913         patch.
21914
21915 2005-10-19  Simon Josefsson  <jas@extundo.com>
21916
21917         * tests/test-gc-rijndael.c: New file.
21918
21919         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
21920
21921 2005-10-19  Simon Josefsson  <jas@extundo.com>
21922
21923         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
21924         interface too.
21925
21926 2005-10-19  Simon Josefsson  <jas@extundo.com>
21927
21928         * tests/test-gc-arcfour.c: New file.
21929
21930         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
21931
21932 2005-10-19  Simon Josefsson  <jas@extundo.com>
21933
21934         * modules/gc-md4, modules/gc-md4-tests: New file.
21935
21936         * tests/test-gc-md4.c: New file.
21937
21938 2005-10-19  Simon Josefsson  <jas@extundo.com>
21939
21940         * m4/gc-md4.m4: New file.
21941
21942 2005-10-19  Simon Josefsson  <jas@extundo.com>
21943
21944         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
21945         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
21946         <kasal@ucw.cz>.
21947
21948 2005-10-19  Simon Josefsson  <jas@extundo.com>
21949
21950         * m4/gc-arcfour.m4: New file.
21951
21952         * m4/gc-rijndael.m4: New file.
21953
21954 2005-10-19  Simon Josefsson  <jas@extundo.com>
21955
21956         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
21957
21958 2005-10-19  Simon Josefsson  <jas@extundo.com>
21959
21960         * lib/gc-gnulib.c: Support ARCFOUR.
21961
21962 2005-10-19  Simon Josefsson  <jas@extundo.com>
21963
21964         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
21965         support.
21966
21967         * lib/gc.h: Add ECB enum type.
21968
21969         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
21970
21971 2005-10-18  Simon Josefsson  <jas@extundo.com>
21972
21973         * tests/test-md5.c: New file.
21974
21975         * modules/md5-tests: New file.
21976
21977 2005-10-18  Simon Josefsson  <jas@extundo.com>
21978
21979         * tests/test-md4.c: New file.
21980
21981         * modules/md4, modules/md4-tests: New files.
21982
21983 2005-10-18  Simon Josefsson  <jas@extundo.com>
21984
21985         * m4/md4.m4: New file.
21986
21987 2005-10-18  Simon Josefsson  <jas@extundo.com>
21988
21989         * lib/md4.h, lib/md4.c: New files, based on md5.?.
21990
21991 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
21992
21993         * gnulib-tool (func_create_testdir): Omit the second check whether
21994         BUILT_SOURCES in nonempty.
21995
21996 2005-10-17  Simon Josefsson  <jas@extundo.com>
21997
21998         * tests/test-rijndael.c: New file.
21999
22000 2005-10-17  Simon Josefsson  <jas@extundo.com>
22001
22002         * modules/sha1: Depend on stdint instead of md5.
22003
22004         * modules/md5: Depend on stdint, remove uint32_t.
22005
22006 2005-10-17  Simon Josefsson  <jas@extundo.com>
22007
22008         * modules/gc-sha1-tests: New file.
22009
22010         * tests/test-gc-sha1.c: New file.
22011
22012 2005-10-17  Simon Josefsson  <jas@extundo.com>
22013
22014         * m4/md5.m4: Remove call to uint32_t.m4.
22015
22016 2005-10-17  Simon Josefsson  <jas@extundo.com>
22017
22018         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
22019
22020         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
22021         md5.h.
22022
22023         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
22024
22025         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
22026
22027 2005-10-17  Simon Josefsson  <jas@extundo.com>
22028
22029         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
22030
22031 2005-10-17  Simon Josefsson  <jas@extundo.com>
22032
22033         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
22034
22035 2005-10-17  Simon Josefsson  <jas@extundo.com>
22036
22037         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
22038
22039         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
22040
22041 2005-10-17  Bruno Haible  <bruno@clisp.org>
22042
22043         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
22044         that it can also be used in a test.
22045
22046 2005-10-16  Bruno Haible  <bruno@clisp.org>
22047
22048         * gnulib-tool (func_emit_tests_Makefile_am): Also define
22049         TESTS_ENVIRONMENT, so that individual tests can augment it.
22050
22051         * gnulib-tool (func_create_testdir): Use an intermediate target for
22052         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
22053         macros, like $(ALLOCA_H), which cannot be passed through the command
22054         line.
22055
22056 2005-10-15  Simon Josefsson  <jas@extundo.com>
22057
22058         * modules/rijndael-tests: New file.
22059
22060         * modules/rijndael: New file.
22061
22062 2005-10-15  Simon Josefsson  <jas@extundo.com>
22063
22064         * m4/rijndael.m4: New file.
22065
22066 2005-10-15  Simon Josefsson  <jas@extundo.com>
22067
22068         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
22069
22070         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
22071
22072 2005-10-14  Simon Josefsson  <jas@extundo.com>
22073
22074         * tests/test-arcfour.c: New file.
22075
22076         * modules/arcfour, modules/arcfour-tests: New files.
22077
22078 2005-10-14  Simon Josefsson  <jas@extundo.com>
22079
22080         * m4/arcfour.m4: New file.
22081
22082 2005-10-14  Simon Josefsson  <jas@extundo.com>
22083
22084         * lib/arcfour.h, lib/arcfour.c: New files.
22085
22086 2005-10-14  Roland McGrath  <roland@redhat.com>
22087
22088         Import from libc.  [BZ #1331]
22089         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
22090         macro argument.
22091         Reported by Matej Vela <vela@debian.org>.
22092
22093 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
22094
22095         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
22096         include <wchar.h>; no longer needed.
22097
22098 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
22099
22100         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
22101
22102 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
22103         and  Ulrich Drepper  <drepper@redhat.com>
22104
22105         Import from libc.
22106         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
22107         instead of inline stream orientation test and two separate
22108         function calls.  Pay no attention to USE_IN_LIBIO.
22109
22110 2005-10-13  Simon Josefsson  <jas@extundo.com>
22111
22112         * modules/gc-hmac-md5-tests: New file.
22113
22114         * tests/test-gc-hmac-sha1.c: New file.
22115
22116         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
22117
22118         * modules/gc-hmac-md5-tests: New file.
22119
22120         * tests/test-gc-md5.c: New file.
22121
22122         * modules/gc-md5-tests: New file.
22123
22124 2005-10-13  Simon Josefsson  <jas@extundo.com>
22125
22126         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
22127         Move memory allocation outside of loop.
22128
22129 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
22130
22131         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
22132         intermediate directory is in a read-only file system.  Problem
22133         reported by Eric Blake.
22134
22135 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
22136
22137         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
22138
22139 2005-10-12  Simon Josefsson  <jas@extundo.com>
22140
22141         * tests/test-hmac-sha1.c: New file.
22142
22143         * modules/hmac-sha1-tests: New file.
22144
22145         * modules/hmac-sha1: New file.
22146
22147 2005-10-12  Simon Josefsson  <jas@extundo.com>
22148
22149         * modules/gc-sha1: New file.
22150
22151 2005-10-12  Simon Josefsson  <jas@extundo.com>
22152
22153         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
22154
22155         * tests/test-gc-pbkdf2-sha1.c: New file.
22156
22157 2005-10-12  Simon Josefsson  <jas@extundo.com>
22158
22159         * modules/gc-md5, modules/gc-hmac-md5: New files.
22160
22161         * modules/gc (Files): Remove md5, memxor and hmac files.
22162
22163 2005-10-12  Simon Josefsson  <jas@extundo.com>
22164
22165         * m4/gc-pbkdf2-sha1.m4: New file.
22166
22167         * m4/gc-hmac-sha1.m4: New file.
22168
22169         * m4/gc-sha1: New file.
22170
22171         * m4/hmac-sha1.m4: New file.
22172
22173 2005-10-12  Simon Josefsson  <jas@extundo.com>
22174
22175         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
22176
22177         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
22178
22179 2005-10-12  Simon Josefsson  <jas@extundo.com>
22180
22181         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
22182         suggested by Bruno Haible <bruno@clisp.org>.
22183
22184 2005-10-12  Simon Josefsson  <jas@extundo.com>
22185
22186         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
22187
22188 2005-10-12  Simon Josefsson  <jas@extundo.com>
22189
22190         * lib/gc-pbkdf2-sha1.c: New file.
22191
22192         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
22193
22194 2005-10-12  Simon Josefsson  <jas@extundo.com>
22195
22196         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
22197
22198         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
22199
22200 2005-10-12  Simon Josefsson  <jas@extundo.com>
22201
22202         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
22203         GC_USE_HMAC_MD5, respectively.
22204
22205         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
22206         (gc_md5): Fix typo.
22207
22208         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
22209
22210         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
22211
22212         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
22213
22214 2005-10-12  Bruno Haible  <bruno@clisp.org>
22215
22216         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
22217         Reported by Stepan Kasal <kasal@ucw.cz>.
22218
22219 2005-10-11  Simon Josefsson  <jas@extundo.com>
22220
22221         * tests/test-crc.c: New file.
22222
22223         * modules/crc, modules/crc-tests: New files.
22224
22225 2005-10-11  Simon Josefsson  <jas@extundo.com>
22226
22227         * m4/crc.m4: New file.
22228
22229 2005-10-11  Simon Josefsson  <jas@extundo.com>
22230
22231         * lib/gc.h: Add gc_hash and gc_hash_buffer.
22232
22233         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
22234
22235         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
22236
22237 2005-10-11  Simon Josefsson  <jas@extundo.com>
22238
22239         * lib/crc.h, lib/crc.c: New files.
22240
22241         * lib/gc.h (gc_hash_buffer): Add doc.
22242
22243 2005-10-11  Bruno Haible  <bruno@clisp.org>
22244
22245         * modules/c-strcasestr: New file.
22246         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
22247
22248 2005-10-11  Bruno Haible  <bruno@clisp.org>
22249
22250         * modules/c-strcase: New file.
22251         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
22252
22253 2005-10-11  Bruno Haible  <bruno@clisp.org>
22254
22255         * lib/strcasecmp.c: Include limits.h.
22256         (strcasecmp): Avoid integer overflow on exotic platforms.
22257         * lib/strncasecmp.c: Include limits.h.
22258         (strncasecmp): Avoid integer overflow on exotic platforms.
22259         Reported by Paul Eggert.
22260
22261 2005-10-11  Bruno Haible  <bruno@clisp.org>
22262
22263         * lib/c-strcasestr.h: New file, from GNU gettext.
22264         * lib/c-strcasestr.c: New file, from GNU gettext.
22265
22266 2005-10-11  Bruno Haible  <bruno@clisp.org>
22267
22268         * lib/c-strcase.h: New file, from GNU gettext.
22269         * lib/c-strcasecmp.c: New file, from GNU gettext.
22270         * lib/c-strncasecmp.c: New file, from GNU gettext.
22271
22272 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
22273
22274         * modules/mempcpy (License): GPL -> LGPL.
22275         * modules/strchrnul (License): Likewise.
22276         * modules/sysexits (License): Likewise.
22277
22278 2005-10-08  Simon Josefsson  <jas@extundo.com>
22279
22280         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
22281
22282 2005-10-07  Simon Josefsson  <jas@extundo.com>
22283
22284         * m4/memxor.m4: Remove gl_C_RESTRICT call.
22285
22286 2005-10-06  Simon Josefsson  <jas@extundo.com>
22287
22288         * tests/test-hmac-md5.c: New file.
22289
22290         * modules/hmac-md5-tests: New file.
22291
22292         * modules/hmac-md5: New file.
22293
22294 2005-10-06  Simon Josefsson  <jas@extundo.com>
22295
22296         * m4/hmac-md5.m4: New file.
22297
22298         * m4/memxor.m4: Require gl_C_RESTRICT.
22299
22300 2005-10-06  Simon Josefsson  <jas@extundo.com>
22301
22302         * lib/memxor.c (memxor): Avoid casts and warnings.
22303
22304 2005-10-06  Simon Josefsson  <jas@extundo.com>
22305
22306         * lib/hmac-md5.c: New file.
22307
22308         * lib/hmac.h: New file.
22309
22310 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
22311
22312         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
22313         promotes to int, not unsigned int, to catch the AIX 5.3
22314         compiler bug.
22315
22316 2005-10-05  Simon Josefsson  <jas@extundo.com>
22317
22318         * modules/memxor: New file.
22319
22320         * modules/iconv (Files): Move config.rpath to havelib, it is used
22321         there.
22322
22323         * modules/havelib (Files): Add config.rpath.
22324
22325 2005-10-05  Simon Josefsson  <jas@extundo.com>
22326
22327         * m4/memxor.m4: New file.
22328
22329 2005-10-05  Simon Josefsson  <jas@extundo.com>
22330
22331         * lib/memxor.c (memxor): Fix compiler error.
22332
22333         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
22334         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
22335
22336         * lib/memxor.h, lib/memxor.c: New files.
22337
22338         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
22339         we assume all systems have it, suggested by Jim Meyering
22340         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
22341         any systems lack sys/socket.h; mingw32 is known to lack it, but we
22342         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
22343         same reasons.
22344
22345 2005-10-05  Simon Josefsson  <jas@extundo.com>
22346
22347         * config/srclist.txt: Add glibc bug 1423 for md5.h.
22348
22349 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
22350
22351         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
22352         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
22353         needed, since the source code now assumes these .h files.
22354
22355 2005-10-05  Derek Price  <derek@ximbiot.com>
22356
22357         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
22358
22359 2005-10-05  Bruno Haible  <bruno@clisp.org>
22360
22361         * modules/stdint (License): Change to LGPL.
22362
22363 2005-10-04  Simon Josefsson  <jas@extundo.com>
22364
22365         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
22366         D. Baushke" <mdb@gnu.org>.
22367
22368 2005-10-04  Bruno Haible  <bruno@clisp.org>
22369
22370         * lib/verify.h (verify_true): Provide alternative definition for C++.
22371
22372 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
22373
22374         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
22375         (SSIZE_MAX): New macro, if not already defined.
22376         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
22377         than 2 GiB.
22378
22379 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
22380
22381         Sync from coreutils.
22382         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
22383         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
22384         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
22385         ULLONG_MAX doesn't work with 2.7.2.1.
22386
22387 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
22388
22389         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
22390         From Ben Pfaff.
22391
22392         * modules/exclude (Depends-on): Depend on verify.
22393         * modules/strtoimax (Depends-on): Likewise.
22394         * modules/utimecmp (Depends-on): Likewise.
22395
22396 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
22397
22398         * lib/exclude.c: Include verify.h.
22399         (verify): Remove.  All callers changed to use verify.h's version.
22400         * lib/strtoimax.c: Likewise.
22401         * lib/utimecmp.c: Likewis.e
22402
22403         Sync from coreutils.
22404         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
22405         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
22406         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
22407         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
22408         bother returning ENOSYS if settimeofday or stime fails; just let
22409         them return whatever errno they want to return.
22410         * lib/utimens.c: Include unistd.h, for dup2.
22411         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
22412         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
22413
22414 2005-10-02  Jim Meyering  <jim@meyering.net>
22415
22416         Sync from coreutils.
22417         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
22418         from glibc-2.2.5 that fails for read-only files.
22419
22420 2005-10-02  Jim Meyering  <jim@meyering.net>
22421
22422         Sync from coreutils.
22423         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
22424         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
22425         `#if HAVE_CONFIG_H'.
22426         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
22427         Remove AT_FDCWD test.
22428         Do not consume the fd unless successful.
22429         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
22430         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
22431         block, so that we don't even try to compile it if settimeofday is
22432         available.  This works around a compilation failure on OSF1 V5.1,
22433         due to stime requiring a `long int*' while tv_sec is `int'.
22434
22435 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
22436
22437         Sync from coreutils.
22438         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
22439         against `yes', rather than just testing for nonempty.
22440
22441 2005-10-01  Simon Josefsson  <jas@extundo.com>
22442
22443         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
22444         and Darwin.
22445
22446         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
22447         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
22448         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
22449         freeaddrinfo and gai_strerror are declared by the POSIX headers.
22450         Check if struct addrinfo is declared.
22451
22452 2005-10-01  Simon Josefsson  <jas@extundo.com>
22453
22454         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
22455         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
22456         AI_* and EAI_* definitions.  Protect function declarations.
22457
22458 2005-10-01  Jim Meyering  <jim@meyering.net>
22459
22460         Sync from coreutils.
22461
22462         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
22463         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
22464         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
22465         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
22466         in the inet and nsl libraries.  Required on Solaris 5.7.
22467
22468 2005-10-01  Jim Meyering  <jim@meyering.net>
22469
22470         Sync from coreutils.
22471         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
22472         in the inet and nsl libraries.  Required on Solaris 5.7.
22473
22474 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
22475
22476         * lib/getdelim.c (getdelim): Remove unused variables.
22477
22478 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
22479
22480         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
22481         so that the code works even with ancient cpp.  Portability problem
22482         with GCC 2.7.2.1 reported by Thomas M.Ott.
22483
22484 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
22485
22486         * modules/regex (Depends-on): Add strcase.
22487
22488         * modules/gethostname (Licence): Change from GPL to LGPL, since
22489         gethostname.c is a trivial implementation of a standard library
22490         function.
22491         * modules/poll (License): Change from GPL to LGPL, since it's
22492         derived from LGPL code.
22493
22494 2005-09-27  Jim Meyering  <jim@meyering.net>
22495
22496         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
22497         HAVE_CONFIG_H.
22498
22499         * lib/intprops.h (signed_type_or_expr__): Define.
22500         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
22501         for unsigned types.
22502
22503 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
22504
22505         * lib/verify.h (verify_expr): Remove, replacing with:
22506         (verify_true): New macro that returns true instead of void.
22507         (verify_type__): Remove.
22508         (verify): Use verify_true rather than verify_type__.
22509
22510 2005-09-26  Bruno Haible  <bruno@clisp.org>
22511
22512         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
22513         is necessary.
22514         (lib_SOURCES): Remove mbchar.c.
22515         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
22516         (Files): Add m4/mbrtowc.m4.
22517         * modules/mbiter: Likewise.
22518         * modules/mbuiter: Likewise.
22519
22520 2005-09-26  Bruno Haible  <bruno@clisp.org>
22521
22522         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
22523         compile mbchar.c if they are not both present.
22524         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
22525         * m4/mbiter.m4 (gl_MBITER): Likewise.
22526         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
22527         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
22528         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
22529
22530 2005-09-25  Jim Meyering  <jim@meyering.net>
22531
22532         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
22533         also uses socklen_t.
22534
22535 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
22536
22537         * lib/utimens.c (ENOSYS): Define if not already defined.
22538         (futimens): Support having a null PATH if the file descriptor
22539         is nonnegative.
22540
22541         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
22542         Remove.
22543         (__attribute): Define to empty unless GCC 3.1 or later.
22544         This works around a core dump on OpenBSD 3.4, which has GCC
22545         2.95.3, which dumps core when given __attribute__(()).  It also
22546         simplifies other tests, since we really don't want to bother with
22547         worrying about which ancient version of GCC supported what.
22548         Original problem reported by Yoann Vandoorselaere, with part of
22549         the fix suggested by Derek Price.
22550
22551 2005-09-24  Jim Meyering  <jim@meyering.net>
22552
22553         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
22554         so we can once again use a positive bitfield width of 1 -- now we
22555         don't have to explain why we were using a bitfield width of 2.
22556
22557 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
22558
22559         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
22560         and similarly for the other external symbols.  Problem reported
22561         by James Gallager.
22562
22563         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
22564         bug reported by Jim Meyering.
22565
22566         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
22567         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
22568         not needed, since socklen is a prerequisite module.
22569
22570 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
22571
22572         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
22573         Problem reported by Eric Blake.
22574         (getaddrinfo): Initialize se so that it's not garbage.
22575         Redo internal storage allocation so that it doesn't make unportable
22576         assumptions about alignment.
22577         Fix a memory leak.
22578
22579         * lib/utimens.c (futimens): Use futimesat if available.
22580         Prefer it to futimes since it doesn't have the futimes bug.
22581
22582         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
22583         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
22584         Instead, declare a function that returns a pointer to an array,
22585         and use verify_type__ to declare the size of the array.
22586         Problem and germ of a solution reported by Bruno Haible.
22587         (verify_type__): Use 2, not 1, for bitfield size, to avoid
22588         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
22589
22590 2005-09-23  Jim Meyering  <jim@meyering.net>
22591
22592         Sync from coreutils.
22593         Correct build failure (socklen_t not defined) on at least
22594         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
22595         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
22596
22597 2005-09-23  Jim Meyering  <jim@meyering.net>
22598
22599         * modules/getaddrinfo (Depends-on): Add socklen.
22600
22601 2005-09-23  Bruno Haible  <bruno@clisp.org>
22602
22603         * tests/test-verify.c: New file.
22604
22605 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
22606
22607         Sync from coreutils.
22608
22609         * modules/argmatch (Depends-on): Add verify.
22610         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
22611         unistd-safer.
22612         * modules/save-cwd (Depends-on): Likewise.
22613
22614         * modules/openat (Files): Add lib/openat-die.c.
22615         (Depends-on): Remove error, exitfail.
22616         Add dirname.
22617
22618         * modules/verify: New file.
22619         * MODULES.html.sh (Diagnostics <assert.h>): New section,
22620         with "verify" module.
22621
22622 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
22623
22624         Sync from coreutils.
22625
22626         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
22627         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
22628         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
22629         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
22630         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
22631         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
22632         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
22633         Don't bother checking for string.h, stdlib.h, unistd.h.
22634         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
22635         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
22636         module's job.
22637         * m4/jm-macros.m4 (gl_MACROS): Likewise.
22638         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
22639
22640         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
22641         (gl_GETDATE): Use it.
22642
22643         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
22644
22645 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
22646
22647         Sync from coreutils.
22648
22649         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
22650         stat-time.h.
22651         * lib/argmatch.h: Include verify.h
22652         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
22653         (ARGMATCH_ASSERT): Remove; unused.
22654         * lib/canonicalize.c: Assume STDC_HEADERS.
22655         * lib/exclude.c: Include "strcase.h".
22656         * lib/regex_internal.h [!defined _LIBC]: Likewise.
22657         * lib/getusershell.c: Include stdio--.h rather than stdio.h
22658         and stdio-safer.h.
22659         (getusershell): Call fopen, not fopen_safer.
22660         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
22661         Do not include unistd-safer.h.
22662         (save_cwd): Don't call fd_safer; no longer needed
22663         now that we include fcntl--.h.
22664
22665         * lib/getdate.y (relative_time): New type.
22666         (RELATIVE_TIME_0): New constant.
22667         (parser_control): Use relative_time instead of doing it ourselves.
22668         (%union): Add new relative_time rel member.
22669         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
22670         Now typeless.
22671         (relunit, relunit_snumber): Now of type rel.
22672         (zone, rel, relunit, get_date): Adjust to above changes.
22673
22674         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
22675         Do not include unistd-safer.h.
22676         (getloadavg): Don't call fd_safer; no longer needed
22677         now that we include fcntl--.h.
22678
22679         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
22680         (make_dir_parents): Treat ENOSYS like EEXIST.
22681
22682         Improve quality of diagnostics on restore_cwd failure.
22683         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
22684         (make_dir_parents): Last arg is now int * (for errno), not bool *.
22685         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
22686         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
22687         each time through the loop.  Do not diagnose restore_cwd failure;
22688         that is the caller's job (and perhaps the caller does not care).
22689
22690         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
22691         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
22692         If the file already exists but is not a directory, don't bother
22693         to try to make its parents.
22694         Close potential file descriptor leak if we can't chdir("/") (!).
22695         Don't always return true if chdir($PWD) fails; return true only
22696         if the requested action was done successfully (except for the
22697         chdir($PWD)).
22698         Don't log final directory unless we actually made it.
22699         Refactor to avoid duplicate code to fix up permissions.
22700         Don't attempt to fix up parent permissions if chdir($PWD) fails.
22701
22702         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
22703         to make it a bit faster and (I hope) clearer.
22704         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
22705         Fix bug in formats like %2N.
22706
22707         * lib/verify.h: New file.
22708
22709 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
22710
22711         Sync from coreutils.
22712         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
22713
22714 2005-09-22  Jim Meyering  <jim@meyering.net>
22715
22716         Sync from coreutils.
22717
22718         * m4/lstat.m4 (gl_FUNC_LSTAT):
22719         Use AC_LIBSOURCES to require lstat.c and lstat.h.
22720         Remove obsolete comment.
22721         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
22722         * m4/xstrtod.m4: Likewise.
22723
22724         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
22725
22726 2005-09-22  Jim Meyering  <jim@meyering.net>
22727
22728         Sync from coreutils.
22729
22730         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
22731
22732         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
22733         the .tm_year member, since otherwise gcc-4.0 would now warn about
22734         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
22735
22736         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
22737         order to avoid an unsuppressible warning from gcc on 64-bit systems.
22738
22739         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
22740         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
22741         when run in a time zone for which daylight savings time is in effect
22742         for the starting date.
22743
22744         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
22745         stop us from restricting permissions of just-created absolute-named
22746         directories.
22747         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
22748         to restore initial working directory.
22749         * lib/mkdir-p.c (make_dir_parents): New parameter:
22750         different_working_dir, to tell caller if/when we change the working
22751         directory and are unable to return to the initial one.
22752         * lib/mkdir-p.h (make_dir_parents): Update prototype.
22753         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
22754         `return false'.  This fixes a bug introduced on 2004-07-30.
22755
22756         * lib/openat.c (fdopendir): Be sure to close the supplied
22757         file descriptor before returning.  This makes our replacement
22758         implementation a little closer to Solaris's, where fdopendir
22759         ties the file descriptor to the returned DIR* pointer.
22760         * lib/openat.c (unlinkat): New function.
22761         * lib/openat.h (unlinkat): Add prototype.
22762         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
22763         (openat_restore_fail): Rename from openat_restore_die.
22764         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
22765
22766         Provide an alternative to exiting immediately upon save_cwd or
22767         restore_cwd failure.  Now, an application can arrange e.g.,
22768         to perform a longjump in that case.
22769         * lib/openat.c: Include dirname.h.
22770         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
22771         (rpl_openat, fdopendir, fstatat): Call openat_save_die
22772         and openat_restore_die rather than calling error directly.
22773         Don't include "error.h" or "exitfail.h"; they're no longer needed.
22774
22775         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
22776         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
22777         define.
22778
22779         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
22780         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
22781                             int utc, int nanoseconds);
22782         Background:
22783         date should not have to allocate a megabyte of virtual memory to
22784         handle a format argument like +%1048575T.  When implemented with
22785         strftime, it must allocate such a buffer, use strftime to fill it
22786         in, print it, then free it.
22787         With fprintftime, it simply prints everything and exits.
22788         With no need for memory allocation, that's one fewer way to fail.
22789         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
22790         optional field width, not before, so we accept %9:z, not %:9z.
22791         (my_strftime): Be sure to use L_('x') for literals.
22792
22793         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
22794         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
22795         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
22796         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
22797         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
22798         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
22799         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
22800         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
22801         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
22802         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
22803         * lib/xgethostname.c, lib/xreadlink.c:
22804         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
22805
22806         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
22807         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
22808         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
22809         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
22810         and don't include <sys/file.h>).
22811
22812 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
22813
22814         Sync from coreutils.
22815
22816         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
22817         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
22818         [!LDAV_DONE]: Avoid unused variable warning.
22819
22820 2005-09-21  Bruno Haible  <bruno@clisp.org>
22821
22822         * lib/unicodeio.h (unicode_to_mb): New declaration.
22823
22824 2005-09-20  Derek Price  <derek@ximbiot.com>
22825
22826         * lib/getaddrinfo.c: Don't include <netdb.h> included from
22827         getaddrinfo.h.
22828
22829 2005-09-20  Bruno Haible  <bruno@clisp.org>
22830
22831         * gnulib-tool: Remove trailing slashes from the values specified for
22832         --source-base, --m4-base, --tests-base, --aux-dir.
22833         Suggested by Simon Josefsson <jas@extundo.com>.
22834
22835 2005-09-20  Bruno Haible  <bruno@clisp.org>
22836
22837         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
22838         func_modules_to_filelist, func_import, func_create_testdir): Make all
22839         sorting results locale-independent, so that gnulib-cache.m4 doesn't
22840         change when gnulib-tool is invoked in a different locale.
22841
22842 2005-09-19  Simon Josefsson  <jas@extundo.com>
22843
22844         * m4/socklen.m4: Fix typo.
22845
22846 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22847
22848         Use a consistent style for including <config.h>.
22849         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
22850         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
22851         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
22852         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
22853         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
22854         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
22855         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
22856         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
22857         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
22858         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
22859         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
22860         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
22861         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
22862         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
22863         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
22864         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
22865         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
22866         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
22867         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
22868         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
22869         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
22870         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
22871         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
22872         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
22873         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
22874         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
22875         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
22876         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
22877         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
22878         lib/xstrtoumax.c, lib/yesno.c:
22879         Standardize inclusion of config.h.
22880         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
22881         lib/inttostr.h:  Removed inclusion of config.h from header files.
22882         * lib/inttostr.c:  Adjusted in-tree users.
22883         * lib/timespec.h: Remove superfluous warning to include config.h.
22884         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
22885         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
22886         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
22887         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
22888         config.h with HAVE_CONFIG_H.
22889
22890 2005-09-19  Jim Meyering  <jim@meyering.net>
22891
22892         * modules/pathmax (License): Change to LGPL.
22893
22894 2005-09-19  Derek Price  <derek@ximbiot.com>
22895
22896         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
22897
22898 2005-09-19  Bruno Haible  <bruno@clisp.org>
22899
22900         * gnulib-tool (import): Provide default for --tests-base.
22901
22902 2005-09-19  Bruno Haible  <bruno@clisp.org>
22903
22904         * doc/quote.texi: New file, extracted from gnulib.texi.
22905         * doc/ctime.texi: New file, extracted from gnulib.texi.
22906         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
22907         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
22908         * doc/gnulib.texi: Include them.
22909
22910 2005-09-18  Bruno Haible  <bruno@clisp.org>
22911
22912         Portability fix.
22913         * gnulib-tool (func_readlink): New function.
22914         (func_ln_if_changed): Use it.
22915
22916 2005-09-18  Bruno Haible  <bruno@clisp.org>
22917
22918         * gnulib-tool: Support --with-tests also with --import.
22919         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
22920         (func_import): Use variables $testsbase and $inctests. Emit a
22921         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
22922         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
22923         SUBDIRS += $testsdir.
22924         (func_create_testdir): Update.
22925
22926 2005-09-18  Bruno Haible  <bruno@clisp.org>
22927
22928         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
22929         instead of $dry_run.
22930         (func_cp_if_changed, func_mv_if_changed): Remove functions.
22931         (func_ln_if_changed): Don't handle dry-run here.
22932         (func_import): In dry-run mode, detect more precisely which actions
22933         would be performed, and don't use "...ing" verbs.
22934
22935 2005-09-18  Bruno Haible  <bruno@clisp.org>
22936
22937         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
22938         (func_import): Use join on two temporary files instead of three nested
22939         loops, in order to determine which files are new or old.
22940
22941 2005-09-18  Bruno Haible  <bruno@clisp.org>
22942
22943         * gnulib-tool (func_import): Comment out code that spits out the
22944         new files with --dry-run.
22945
22946 2005-09-18  Bruno Haible  <bruno@clisp.org>
22947
22948         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
22949
22950 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
22951
22952         * lib/stat-time.h: New file.
22953         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
22954         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
22955         in a different way.
22956         (timespec_cmp): New function.
22957         * lib/utimecmp.c: Include stat-time.h.
22958         (SYSCALL_RESOLUTION): Depend on whether various struct stat
22959         members exist, not on the obsolescent ST_MTIM_NSEC.
22960         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
22961
22962 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
22963
22964         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
22965
22966 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
22967
22968         * MODULES.html.sh (File system functions): Add stat-time.
22969         * modules/stat-time: New file.
22970         * modules/timespec (Files): Remove m4/st_mtim.m4; this
22971         is now done in a different way, by the stat-time module.
22972         * modules/utimecmp (Depends-on): Add stat-time.
22973
22974 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
22975
22976         * m4/st_mtim.m4: Remove.  Superseded by...
22977         * m4/stat-time.m4: New file.
22978         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
22979         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
22980
22981 2005-09-15  Derek Price  <derek@ximbiot.com>
22982
22983         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
22984
22985 2005-09-15  Derek Price  <derek@ximbiot.com>
22986
22987         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
22988         * lib/regex_internal.c: Ditto, using this...
22989         (__GNUC_PREREQ): ...new macro.
22990         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
22991         using...
22992         (__GNUC_PREREQ): ...this new macro.
22993
22994         * lib/strstr.h: Include string.h. Define strstr as a macro here.
22995
22996 2005-09-15  Derek Price  <derek@ximbiot.com>
22997             Paul Eggert  <eggert@cs.ucla.edu>
22998
22999         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
23000         changes, consolidating in...
23001         * lib/regex_internal.h: ...this file.
23002
23003 2005-09-13  Jim Meyering  <jim@meyering.net>
23004
23005         * lib/canon-host.c: Filter through gnu indent and reword comments
23006         slightly.
23007         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
23008
23009 2005-09-13  Derek Price  <derek@ximbiot.com>
23010
23011         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
23012         failure.
23013         Reported by Jim Meyering  <jim@meyering.net>.
23014
23015 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
23016
23017         * lib/base64.c: Typo.
23018         (base64_encode): Put b64str in initialized data section.
23019
23020 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
23021
23022         Merge glibc and coreutils changes into gnulib, plus a few
23023         extra fixes.
23024         * lib/md5.c: Use #error rather than a string.
23025         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
23026         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
23027         (__attribute__): Define to empty for non recent-GCC.
23028         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
23029         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
23030         Renamed from their non-__ counterparts, with new macros replacing
23031         them if not _LIBC.  Add __THROW attribute.
23032         (rol): Remove.
23033         (struct md5_ctx): Align buffer if using GCC.
23034         * lib/sha1.h (struct sha1_ctx): Likewise.
23035         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
23036         The old name was backwards.
23037         (NOTSWAP): Remove; not used.
23038         (rol): New macro, moved here from md5.h.
23039         (sha1_process_block): Remove a FIXME that doesn't make sense.
23040
23041 2005-09-12  Derek Price  <derek@ximbiot.com>
23042
23043         Return usable errors from canon-host.
23044         * lib/canon-host.h: New file.
23045         * lib/canon-host.c (canon_host): Wrap...
23046         (canon_host_r): ...this new function, which now relies exclusively on
23047         getaddrinfo.
23048         (ch_strerror): New function.
23049         (last_cherror): New global.
23050         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
23051         interface.
23052         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
23053         void *.
23054         (freeaddrinfo): Free ai->ai_canonname when set.
23055
23056 2005-09-12  Derek Price  <derek@ximbiot.com>
23057
23058         Make canon-host require getaddrinfo.
23059         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
23060         AC_LIBSOURCE canon-host.h.  Call...
23061         (gl_PREREQ_CANON_HOST): ...this new function, which requires
23062         gl_GETADDRINFO.
23063         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
23064
23065 2005-09-12  Derek Price  <derek@ximbiot.com>
23066
23067         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
23068         LGPL.
23069         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
23070
23071 2005-09-12  Derek Price  <derek@ximbiot.com>
23072
23073         * lib/gai_strerror.c: Include config.h when available.  Include
23074         getaddrinfo.h before other headers to test interface.
23075         Reported by Larry Jones <lawrence.jones@ugs.com>.
23076
23077 2005-09-12  Derek Price  <derek@ximbiot.com>
23078             Paul Eggert  <eggert@cs.ucla.edu>
23079
23080         * modules/glob (Files): Add glob-libc.h.
23081
23082 2005-09-12  Derek Price  <derek@ximbiot.com>
23083             Paul Eggert  <eggert@cs.ucla.edu>
23084
23085         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
23086         glob_.h, glob-libc.h.
23087         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
23088
23089 2005-09-12  Derek Price  <derek@ximbiot.com>
23090             Paul Eggert  <eggert@cs.ucla.edu>
23091
23092         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
23093         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
23094         protecting things that should be done only in gnulib contexts.
23095         * lib/glob_.h: New file, containing only the glob things needed for
23096         gnulib.
23097         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
23098         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
23099         (glob, globfree, glob_pattern_p): Now defined simply in terms of
23100         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
23101         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
23102         and to respect the namespace rules better.
23103
23104 2005-09-08  Simon Josefsson  <jas@extundo.com>
23105
23106         * modules/socklen: New file.
23107
23108 2005-09-08  Simon Josefsson  <jas@extundo.com>
23109
23110         * m4/socklen.m4: New file.
23111
23112 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
23113
23114         * modules/utimens (Files): Add m4/utimbuf.m4, since
23115         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
23116         Reported by Sergey Poznyakoff.
23117
23118 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
23119
23120         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
23121         definitions, since that's the preferred style in glibc.
23122         Fix a minor spacing issue, and update copyright notice to match
23123         glibc's.
23124
23125 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
23126
23127         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
23128
23129 2005-09-06  Simon Josefsson  <jas@extundo.com>
23130
23131         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
23132         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
23133
23134 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
23135
23136         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
23137         warning.
23138
23139 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
23140
23141         * config/srclist.txt: Add glibc bug 1302.
23142
23143 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
23144
23145         Change bitset word type from unsigned int to unsigned long int,
23146         as this has better performance on typical 64-bit hosts.
23147         Port bitset code to hosts with unusual word sizes.
23148         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
23149         (build_collating_symbol):
23150         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
23151         argument is a bitset.  This is merely a style issue, but it makes
23152         it clearer that an entire array is expected.
23153         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
23154         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
23155         Port to the case where bitset_word is not the same as unsigned int.
23156         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
23157         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
23158         Likewise.
23159         * lib/regexec.c (check_dst_limits_calc_pos_1,
23160         check_subexp_matching_top):
23161         (build_trtable, group_nodes_into_DFAstates):
23162         Likewise.
23163         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
23164         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
23165         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
23166         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
23167         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
23168         * lib/regcomp.c (optimize_subexps, lower_subexp):
23169         Work even if bitset_word has holes in its bitwise representation.
23170         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
23171         * lib/regexec.c (check_dst_limits_calc_pos_1,
23172         check_subexp_matching_top):
23173         Likewise.
23174         * lib/regex_internal.c (re_string_reconstruct):
23175         Don't assume UCHAR_MAX == 255.
23176         * lib/regex_internal.h (bitset_set_all): Likewise.
23177         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
23178         All uses changed.
23179         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
23180         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
23181         All uses changed.
23182         (BITSET_WORD_MAX): New macro.
23183         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
23184         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
23185         (bitset_empty, bitset_copy):
23186         Prefer sizeof (bitset) to multiplying it out ourselves.
23187         (bitset_not_merge): Remove; unused.
23188         (bitset_contain): Return bool, not unsigned int with one bit on.
23189         All callers changed.
23190         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
23191         alignment than re_node_set; do this by defining a new internal
23192         type struct dests_alloc and using it to allocate memory.
23193
23194 2005-09-05  Bruno Haible  <bruno@clisp.org>
23195
23196         * gnulib-tool (func_import): Fix comparison in handling of symbolic
23197         links.
23198
23199 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
23200
23201         * modules/size_max (Makefile.am): Add size_max.h
23202
23203 2005-09-04  Derek Price  <derek@ximbiot.com>
23204
23205         * gnulib-tool (func_import): Fix reversed $symbolic logic.
23206
23207 2005-09-03  Simon Josefsson  <jas@extundo.com>
23208
23209         * gnulib-tool: Fix typo.
23210
23211 2005-09-03  Simon Josefsson  <jas@extundo.com>
23212
23213         * config/srclist.txt: Add glibc bug 1293.
23214
23215 2005-09-03  Derek Price  <derek@ximbiot.com>
23216
23217         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
23218         From Larry Jones <lawrence.jones@ugs.com>.
23219
23220 2005-09-02  Simon Josefsson  <jas@extundo.com>
23221
23222         * modules/socklen: New file.
23223
23224 2005-09-02  Simon Josefsson  <jas@extundo.com>
23225
23226         * modules/havelib: New module.
23227
23228         * modules/gettext, modules/iconv, modules/lock, modules/readline:
23229         Use havelib.
23230
23231 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
23232
23233         Check for arithmetic overflow when calculating sizes, to prevent
23234         some buffer-overflow issues.  These patches are conservative, in the
23235         sense that when I couldn't determine whether an overflow was possible,
23236         I inserted a run-time check.
23237         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
23238         macros.
23239         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
23240         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
23241         (re_xnrealloc, re_x2nrealloc): New inline functions.
23242         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
23243         parse_bracket_exp):
23244         (build_equiv_class, build_charclass): Check for arithmetic overflow
23245         in size expression calculations.
23246         * lib/regex_internal.c (re_string_realloc_buffers):
23247         (build_wcs_upper_buffer, re_node_set_add_intersect):
23248         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
23249         (re_dfa_add_node, register_state): Likewise.
23250         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
23251         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
23252         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
23253         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
23254
23255 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
23256
23257         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
23258         m4/ulonglong.m4.  Problem reported by Martin Lambers.
23259
23260 2005-09-02  Bruno Haible  <bruno@clisp.org>
23261
23262         Support for lib vs. lib64 distinction on biarch platforms.
23263         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
23264         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
23265         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
23266
23267 2005-09-02  Bruno Haible  <bruno@clisp.org>
23268
23269         * gnulib-tool (import): In the other first-use case, provide defaults
23270         as well.
23271
23272 2005-09-02  Bruno Haible  <bruno@clisp.org>
23273
23274         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
23275         patches not yet found in the latest gettext release.
23276
23277 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
23278
23279         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
23280         to avoid a collision with bits/local_lim.h in glibc.
23281         All uses changed.  Problem reported by Dmitry V. Levin in
23282         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
23283
23284         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
23285         bugs in int versus size_t comparisons.
23286         (re_string_context_at): Fix bug where the code assumed that
23287         Idx is signed.
23288
23289         Use bool where appropriate.
23290         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
23291         All callers changed.
23292         (calc_eclosure_iter): Likewise, for ROOT arg.
23293         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
23294         (build_charclass_op): Likewise, for NON_MATCH arg.
23295         * lib/regex_internal.c (re_string_allocate, re_string_construct):
23296         (re_string_construct_common): Likewise, for ICASE arg.
23297         * lib/regexec.c (re_search_2_stub, re_search_stub):
23298         Likewise, for RET_LEN arg.
23299         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
23300         (set_regs): Likewise, for FL_BACKTRACK arg.
23301         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
23302         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
23303         (calc_eclosure_iter, parse_bracket_exp):
23304         Use bool for internal variables that are booleans.
23305         * lib/regexec.c (re_search_internal, check_matching,
23306         proceed_next_node):
23307         (set_regs, build_sifted_states, sift_states_bkref):
23308         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
23309         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
23310         (find_collation_sequence_value):
23311         Likewise.
23312         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
23313         (re_node_set_compare):
23314         Return bool, not int. All callers changed.
23315         * lib/regexec.c (check_halt_node_context, check_dst_limits):
23316         (build_trtable, check_node_accept): Likewise.
23317         * lib/regex_internal.h: Include stdbool.h.
23318
23319         Fix bugs uncovered when converting to bool.
23320         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
23321         failure instead of charging ahead blindly.
23322         * lib/regex_internal.c (register_state): Likewise.
23323         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
23324         for freeing internal storage.
23325         (group_nodes_into_DFA_states): Use unsigned int, not int, for
23326         bitset pieces used as boolean, to avoid undefined behavior
23327         on hosts that do int overflow checking.
23328
23329 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
23330
23331         * config/srclist.txt: Add glibc bugs 1285-1287.
23332
23333 2005-09-01  Jim Meyering  <jim@meyering.net>
23334
23335         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
23336         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
23337         Require gl_STAT_MACROS, too.
23338
23339 2005-09-01  Bruno Haible  <bruno@clisp.org>
23340
23341         * gnulib-tool (import): In the first-use case, provide defaults.
23342
23343 2005-09-01  Bruno Haible  <bruno@clisp.org>
23344
23345         * gnulib-tool (func_import): Remove the .tmp files.
23346
23347 2005-09-01  Bruno Haible  <bruno@clisp.org>
23348
23349         * gnulib-tool (func_import): Fix handling of symbolic links.
23350
23351 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
23352
23353         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
23354         old glibc regex code mishandles strings longer than 2**31 bytes.
23355         This patch fixes this when the regex code is used in gnulib
23356         (i.e., outside glibc).
23357
23358         This patch should not affect the use of the regex code inside
23359         glibc.  No doubt this problem also needs to be handled for glibc
23360         as well, but the result will be an incompatible change to the
23361         glibc ABI, and the old ABI will have to be supported too.  That
23362         can be the the subject for another patch.
23363
23364         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
23365         governing whether the rest of this patch is active.  By default,
23366         the macro is disabled and the patch has no effect.
23367         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
23368         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
23369         (struct re_pattern_buffer, re_search, re_search_2, re_match):
23370         (re_match_2, re_set_registers): Use the new types.
23371         * lib/regex_internal.h (Idx, re_hashval_t): New types.
23372         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
23373         New macros.
23374         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
23375         (re_string_context_at, bin_tree_t, re_dfastate_t):
23376         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
23377         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
23378         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
23379         (re_string_char_size_at, re_string_wchar_at):
23380         (re_string_elem_size_at):
23381         Use the new types and macros to port to 64-bit hosts.
23382         Use unsigned types for internal values, so that the code
23383         mostly works even for arrays larger than SSIZE_MAX.
23384         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
23385         (search_duplicated_node, calc_eclosure_iter, fetch_number):
23386         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
23387         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
23388         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
23389         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
23390         (calc_inveclosure, parse_dup_op, build_range_exp):
23391         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
23392         (fetch_number, create_token_tree, mark_opt_subexp):
23393         Likewise.
23394         * lib/regex_internal.c (re_string_construct_common,
23395         create_ci_newstate):
23396         (create_cd_newstate, re_string_allocate, re_string_construct):
23397         (re_string_realloc_buffers, build_wcs_upper_buffer):
23398         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
23399         (re_string_reconstruct, re_string_peek_byte_case):
23400         (re_string_fetch_byte_case, re_string_context_at):
23401         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
23402         (re_node_set_init_copy, re_node_set_add_intersect):
23403         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
23404         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
23405         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
23406         (re_acquire_state, re_acquire_state_context, register_state):
23407         Likewise.
23408         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
23409         search_cur_bkref_entry):
23410         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
23411         (re_search_internal, re_search_2_stub, re_search_stub)
23412         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
23413         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
23414         (update_cur_sifted_state, check_dst_limits):
23415         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
23416         (check_subexp_limits, sift_states_bkref, merge_state_array):
23417         (check_subexp_matching_top, get_subexp, get_subexp_sub):
23418         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
23419         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
23420         (expand_bkref_cache, check_node_accept_bytes):
23421         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
23422         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
23423         (acquire_init_state_context, check_halt_node_context):
23424         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
23425         (sift_states_backward, clean_state_log_if_needed):
23426         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
23427         (find_recover_state, transit_state_sb, transit_state_mb):
23428         (transit_state_bkref, build_trtable, match_ctx_clean):
23429         Likewise.
23430         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
23431         to work around an assumption that REG_MISSING is negative.
23432
23433         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
23434         (seek_collating_symbol_entry) [defined _LIBC]:
23435         (lookup_collation_sequence_value) [defined _LIBC]:
23436         (build_range_exp, build_collating_symbol) [defined _LIBC]:
23437         Use prototypes rather than old-style function definitions.
23438         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
23439         (transit_state_sb) [0]:
23440         (find_collation_sequence_value) [defined _LIBC]: Likewise.
23441
23442         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
23443         rm_eo.
23444
23445         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
23446         (optimize_subexps, lower_subexp):
23447         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
23448         since the signed shift might overflow.  Use 1u<<31 instead.
23449         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
23450         Likewise.
23451         * lib/regexec.c (check_dst_limits_calc_pos_1,
23452         check_subexp_matching_top): Likewise.
23453
23454         * lib/regcomp.c (optimize_subexps, lower_subexp):
23455         Use CHAR_BIT rather than 8, for clarity.
23456         * lib/regexec.c (check_dst_limits_calc_pos_1):
23457         (check_subexp_matching_top): Likewise.
23458         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
23459         have to worry about portability issues when shifting it left.
23460         Remove no-longer-needed test for table_size > 0.
23461         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
23462         in a word, as the resulting behavior is undefined.
23463         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
23464         in one case, a <= should have been an <, and in another case the
23465         whole test was missing.
23466         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
23467         the standard name CHAR_BIT.
23468         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
23469         this is not true on one's complement and signed-magnitude hosts.
23470
23471         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
23472         next_last_offset.
23473         (struct re_dfa_t): Remove unused member states_alloc.
23474         * lib/regcomp.c (init_dfa): Don't initialize unused members.
23475
23476 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
23477
23478         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
23479         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
23480         and large-file glibc and in 32-bit large-file Solaris.
23481
23482 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
23483
23484         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
23485         lengths fit in regoff_t; this isn't true if regoff_t is the same
23486         width as size_t.
23487         * lib/regex.c (re_search_internal): 5th arg is LAST_START
23488         (= START + RANGE) instead of RANGE.  This avoids overflow
23489         problems when regoff_t is the same width as size_t.
23490         All callers changed.
23491         (re_search_2_stub): Check for overflow when adding the
23492         sizes of the two strings.
23493         (re_search_stub): Check for overflow when adding START
23494         to RANGE; if it occurs, substitute the extreme value.
23495
23496 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
23497
23498         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
23499
23500 2005-08-31  Jim Meyering  <jim@meyering.net>
23501
23502         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
23503         a pointer-to-const.
23504         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
23505         (register_state): Likewise.
23506         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
23507         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
23508         (group_nodes_into_DFAstates): Likewise.
23509
23510 2005-08-31  Jim Meyering  <jim@meyering.net>
23511
23512         * check-module: Add a FIXME comment.
23513
23514 2005-08-31  Eric Blake  <ebb9@byu.net>
23515
23516         * modules/unistd-safer (Files): Add unistd--.h.
23517         * modules/stdio-safer (Files): Add stdio--.h.
23518
23519 2005-08-31  Derek Price  <derek@ximbiot.com>
23520
23521         * lib/getdelim.c (getdelim): Return EOF on EOF.
23522         Reported by Larry Jones <lawrence.jones@ugs.com>.
23523
23524 2005-08-31  Bruno Haible  <bruno@clisp.org>
23525
23526         Avoid unnecessary diffs in the generated lib/Makefile.am.
23527         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
23528         the generated files.
23529         (func_import): Don't set cmd.
23530
23531 2005-08-31  Bruno Haible  <bruno@clisp.org>
23532
23533         * lib/strstr.c: Include <stddef.h>, for NULL.
23534         * lib/strcasestr.c: Likewise.
23535         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
23536
23537 2005-08-31  Bruno Haible  <bruno@clisp.org>
23538
23539         * gnulib-tool: New option --macro-prefix.
23540         (func_import): Use macro_prefix.
23541         (import): Handle option --macro-prefix.
23542
23543 2005-08-31  Bruno Haible  <bruno@clisp.org>
23544
23545         * gnulib-tool (import): Rename most ac_* variables to cached_*.
23546         Also use new variables cached_lgpl, cached_libtool.
23547
23548 2005-08-31  Bruno Haible  <bruno@clisp.org>
23549
23550         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
23551         always instantiating them.
23552
23553 2005-08-31  Bruno Haible  <bruno@clisp.org>
23554
23555         * gnulib-tool (func_import): Read the previous cached settings
23556         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
23557         earlier added by gnulib but are now dropped. Warn when a gnulib file
23558         overwrites a non-gnulib file.
23559
23560 2005-08-31  Bruno Haible  <bruno@clisp.org>
23561
23562         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
23563         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
23564         projects that don't keep autogenerated files in CVS. Put into
23565         actioncmd only the specified modules, not the transitive closure.
23566
23567 2005-08-31  Bruno Haible  <bruno@clisp.org>
23568
23569         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
23570         Create directories that shall be filled.
23571         (import): Don't look for gl_* macros in configure.ac. Recurse across
23572         all directories containing a gnulib-cache.m4 files, if meaningful.
23573
23574 2005-08-31  Bruno Haible  <bruno@clisp.org>
23575
23576         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
23577         (import): Set seen_libtool when we see gl_LIBTOOL.
23578
23579 2005-08-31  Bruno Haible  <bruno@clisp.org>
23580
23581         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
23582         declaration macro definitions from generated gnulib.m4.
23583
23584 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
23585
23586         * lib/iconvme.h: Add prototype for iconv_alloc.
23587
23588 2005-08-29  Simon Josefsson  <jas@extundo.com>
23589
23590         * lib/iconvme.c: Fix errno.
23591
23592 2005-08-29  Bruno Haible  <bruno@clisp.org>
23593
23594         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
23595         that it works when the directory contains spaces.
23596
23597 2005-08-29  Bruno Haible  <bruno@clisp.org>
23598
23599         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
23600
23601 2005-08-29  Bruno Haible  <bruno@clisp.org>
23602
23603         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
23604         Emit more advice.
23605
23606 2005-08-29  Bruno Haible  <bruno@clisp.org>
23607         and Stepan Kasal  <kasal@ucw.cz>
23608
23609         * check-module: If more parameters are given, check each of them
23610         separately; add more exceptions, as noted by Jim Meyering.
23611         (check_module): New procedure.
23612         (%exempt_header): Now contains all exceptions.
23613
23614 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
23615
23616         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
23617
23618 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
23619
23620         * lib/iconvme.c: Split iconv_string into iconv_alloc.
23621
23622 2005-08-28  Bruno Haible  <bruno@clisp.org>
23623
23624         * m4/gnulib-tool.m4: New file.
23625
23626 2005-08-27  Jim Meyering  <jim@meyering.net>
23627
23628         * modules/unistd-safer (Files): Add pipe-safer.c.
23629         * modules/fcntl-safer (Files): Add creat-safer.c.
23630
23631 2005-08-27  Jim Meyering  <jim@meyering.net>
23632
23633         * m4/stdlib-safer.m4: New file.  From coreutils.
23634         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
23635         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
23636         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
23637         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
23638         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
23639
23640 2005-08-27  Jim Meyering  <jim@meyering.net>
23641
23642         * lib/fopen-safer.c: Merge minor changes from coreutils.
23643         * lib/dup-safer.c: Likewise.
23644         * lib/fd-safer.c: Likewise.
23645
23646         Merge from coreutils.
23647         * lib/stdio--.h: New file.
23648         * lib/stdlib--.h: New file.
23649         * lib/mkstemp-safer.c: New file.
23650
23651         GNU tar needs these.
23652         * lib/pipe-safer.c: New file.
23653         * lib/creat-safer.c: New file.
23654         * lib/fcntl--.h (creat): Define to creat_safer.
23655         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
23656         * lib/unistd--.h (pipe): Define to pipe_safer.
23657         * lib/unistd-safer.h: Declare pipe_safer.
23658
23659 2005-08-26  Simon Josefsson  <jas@extundo.com>
23660
23661         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
23662         Haible <bruno@clisp.org>.
23663
23664 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
23665
23666         * lib/regex_internal.h: Remove all references to
23667         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
23668         or better.
23669         (bitset_not, bitset_merge, bitset_not_merge):
23670         (bitset_mask, re_string_allocate, re_string_construct):
23671         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
23672         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
23673         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
23674         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
23675         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
23676         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
23677         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
23678         (re_acquire_state_context):
23679         Remove unnecessary forward decls.
23680         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
23681         Put __attribute at function definition,
23682         now that the function decl has been removed.
23683         * lib/regex_internal.c (re_string_peek_byte_case):
23684         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
23685         Likewise.
23686
23687 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
23688
23689         * m4/regex.m4: Add AC_PREREQ(2.50).
23690         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
23691
23692 2005-08-25  Simon Josefsson  <jas@extundo.com>
23693
23694         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
23695         __fsetlocking.
23696
23697 2005-08-25  Simon Josefsson  <jas@extundo.com>
23698
23699         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
23700         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
23701         GLIBC specific code.
23702
23703 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
23704
23705         Make regex safe for g++.  This fixes one real bug (an "err"
23706         that should have been "*err").  g++ problem reported by
23707         Sam Steingold.
23708         * lib/regex_internal.h (re_calloc): New macro, consistent with
23709         re_malloc etc.  All callers of calloc changed to use re_calloc.
23710         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
23711         not int.  All callers changed.
23712         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
23713         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
23714         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
23715         (find_recover_state): Change "err" to "*err"; this fixes what
23716         appears to be a real bug.
23717         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
23718         versus int.
23719
23720 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
23721
23722         * modules/regex (Depends-on): Add malloc, since the code
23723         assumes that !malloc(0) means failure.
23724
23725 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
23726
23727         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
23728
23729         alloca modernization/simplification for regex.
23730         * lib/regex.c: Remove portability cruft for alloca.  This no longer
23731         needs to be at the start of the file, and can be moved into
23732         regex_internal.h and simplified.
23733         * lib/regex_internal.h: Include <alloca.h>.
23734         (__libc_use_alloca) [!defined _LIBC]: New macro.
23735         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
23736         now works outside glibc.
23737
23738 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
23739
23740         * config/srclist.txt: Add glibc bugs 1241, 1245.
23741
23742 2005-08-25  Jim Meyering  <jim@meyering.net>
23743
23744         * lib/open-safer.c: Include <config.h>.
23745         Otherwise, we'd lose LARGEFILE support in any file using
23746         e.g. "fcntl--.h"
23747
23748 2005-08-25  Bruno Haible  <bruno@clisp.org>
23749
23750         * m4/minmax.m4: Require autoconf 2.52.
23751         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
23752         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
23753         alternatives of translit over the alphabet.
23754         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
23755
23756 2005-08-24  Simon Josefsson  <jas@extundo.com>
23757
23758         * tests/test-getpass.c: New file.
23759
23760 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
23761
23762         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
23763         for GNU regex features.
23764
23765 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
23766
23767         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
23768         * lib/regex.h (regerror): Likewise.
23769
23770         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
23771         requires this.  (The code never needed it.)
23772
23773         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
23774         All uses of recently-renamed identifiers changed to use the new,
23775         POSIX-compliant names.  The code will build and run just fine
23776         without these changes, but it's better to eat our own dog food
23777         and use the standard-conforming names.
23778
23779         * lib/regex.h: Fix a multitude of POSIX name space violations.
23780         These changes have an effect only for programs that define
23781         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
23782         do not change anything for programs compiled in the normal way.
23783         Also, there is no effect on the ABI.
23784
23785         (_REGEX_SOURCE): New macro.
23786         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
23787         defined and _GNU_SOURCE is not; this fixes a name space violation.
23788
23789         Rename the following macros to obey POSIX requirements.
23790         The old names are still visible as macros if _REGEX_SOURCE is defined.
23791         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
23792         RE_BACKSLASH_ESCAPE_IN_LISTS.
23793         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
23794         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
23795         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
23796         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
23797         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
23798         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
23799         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
23800         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
23801         (REG_INTERVALS): renamed from RE_INTERVALS.
23802         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
23803         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
23804         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
23805         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
23806         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
23807         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
23808         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
23809         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
23810         RE_UNMATCHED_RIGHT_PAREN_ORD.
23811         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
23812         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
23813         (REG_DEBUG): renamed from RE_DEBUG.
23814         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
23815         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
23816         unusual, since we can't clash with the POSIX REG_ICASE.
23817         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
23818         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
23819         (REG_NO_SUB): renamed from RE_NO_SUB.
23820         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
23821         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
23822         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
23823         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
23824         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
23825         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
23826         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
23827         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
23828         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
23829         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
23830         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
23831         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
23832         RE_SYNTAX_POSIX_MINIMAL_BASIC.
23833         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
23834         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
23835         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
23836         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
23837         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
23838         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
23839         (REG_FIXED): Renamed from REGS_FIXED.
23840         (REG_NREGS): Renamed from RE_NREGS.
23841
23842         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
23843         of other REG_* macros, since POSIX says the user is allowed to
23844         #undef these macros selectively.
23845
23846         (reg_errcode_t): Update comment stating what other tables need
23847         to be consistent.
23848
23849         Rename the following enum values to obey POSIX requirements.
23850         The old names are still visible as macros.
23851         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
23852         is not defined, since GNU is supposed to be a superset of POSIX as
23853         much as possible, and since we want reg_errcode_t to be a signed
23854         type for implementation consistency.
23855         (_REG_NOERROR): Renamed from REG_NOERROR.
23856         (_REG_NOMATCH): Renamed from REG_NOMATCH.
23857         (_REG_BADPAT): Renamed from REG_BADPAT.
23858         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
23859         (_REG_ECTYPE): Renamed from REG_ECTYPE.
23860         (_REG_EESCAPE): Renamed from REG_EESCAPE.
23861         (_REG_ESUBREG): Renamed from REG_ESUBREG.
23862         (_REG_EBRACK): Renamed from REG_EBRACK.
23863         (_REG_EPAREN): Renamed from REG_EPAREN.
23864         (_REG_EBRACE): Renamed from REG_EBRACE.
23865         (_REG_BADBR): Renamed from REG_BADBR.
23866         (_REG_ERANGE): Renamed from REG_ERANGE.
23867         (_REG_ESPACE): Renamed from REG_ESPACE.
23868         (_REG_BADRPT): Renamed from REG_BADRPT.
23869         (_REG_EEND): Renamed from REG_EEND.
23870         (_REG_ESIZE): Renamed from REG_ESIZE.
23871         (_REG_ERPAREN): Renamed from REG_ERPAREN.
23872         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
23873         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
23874         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
23875         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
23876
23877         (_REG_RE_NAME, _REG_RM_NAME): New macros.
23878         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
23879         changed.  But support the old name if the new one is not defined
23880         and if _REGEX_SOURCE.
23881
23882         Change the following member names in struct re_pattern_buffer.
23883         The old names are still supported if !_REGEX_SOURCE.
23884         The new names are always supported, regardless of _REGEX_SOURCE.
23885         (re_buffer): Renamed from buffer.
23886         (re_allocated): Renamed from allocated.
23887         (re_used): Renamed from used.
23888         (re_syntax): Renamed from syntax.
23889         (re_fastmap): Renamed from fastmap.
23890         (re_translate): Renamed from translate.
23891         (re_can_be_null): Renamed from can_be_null.
23892         (re_regs_allocated): Renamed from regs_allocated.
23893         (re_fastmap_accurate): Renamed from fastmap_accurate.
23894         (re_no_sub): Renamed from no_sub.
23895         (re_not_bol): Renamed from not_bol.
23896         (re_not_eol): Renamed from not_eol.
23897         (re_newline_anchor): Renamed from newline_anchor.
23898
23899         Change the following member names in struct re_registers.
23900         The old names are still supported if !_REGEX_SOURCE.
23901         The new names are always supported, regardless of _REGEX_SOURCE.
23902         (rm_num_regs): Renamed from num_regs.
23903         (rm_start): Renamed from start.
23904         (rm_end): Renamed from end.
23905
23906         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
23907         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
23908         Prepend __ to parameter names.
23909
23910         Undo yesterday's changes.
23911
23912 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
23913
23914         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
23915         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
23916         lib/regex.c.
23917
23918 2005-08-24  Jim Meyering  <jim@meyering.net>
23919
23920         Sync from coreutils.
23921         * m4/fcntl-safer.m4: New file.
23922
23923         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
23924         and object files for this module.
23925
23926 2005-08-24  Jim Meyering  <jim@meyering.net>
23927
23928         Sync from coreutils.
23929         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
23930
23931 2005-08-24  Jim Meyering  <jim@meyering.net>
23932
23933         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
23934         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
23935
23936 2005-08-24  Jim Meyering  <jim@meyering.net>
23937
23938         * modules/fcntl-safer: New module.
23939         * modules/fts (Depends-on): Add fcntl-safer.
23940         * MODULES.html.sh (File descriptor based Input/Output):
23941         Add fcntl-safer.
23942
23943 2005-08-24  Bruno Haible  <bruno@clisp.org>
23944
23945         Support for unit test modules.
23946         * modules/README: Mention tests modules.
23947         * modules/TEMPLATE-TESTS: New file.
23948         * gnulib-tool: New options --extract-tests-module, --with-tests and
23949         --tests-base (unused for the moment).
23950         (testsbase, inctests): New variables.
23951         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
23952         (func_verify_module): Exclude TEMPLATE-TESTS.
23953         (func_verify_nontests_module, func_verify_tests_module): New functions.
23954         (func_get_dependencies): Add implicit dependency for tests modules.
23955         (func_get_tests_module): New function.
23956         (func_modules_transitive_closure): When --with-tests was specified,
23957         include the unit tests as well, unless explicitly avoided.
23958         (func_emit_lib_Makefile_am): Ignore the tests modules here.
23959         (func_emit_tests_Makefile_am): New function.
23960         (func_create_testdir): When --with-tests was specified, emit a
23961         tests/ directory.
23962         * MODULES.html.sh (Future developments): Update.
23963
23964 2005-08-24  Bruno Haible  <bruno@clisp.org>
23965
23966         * modules/tls-tests: New file.
23967         * tests/test-tls.c: New file, from GNU gettext.
23968
23969 2005-08-24  Bruno Haible  <bruno@clisp.org>
23970
23971         * modules/lock-tests: New file.
23972         * tests/test-lock.c: New file, from GNU gettext.
23973
23974 2005-08-24  Bruno Haible  <bruno@clisp.org>
23975
23976         * lib/lock.h: Add multiple inclusion guard.
23977         * lib/tls.h: Add multiple inclusion guard.
23978
23979 2005-08-24  Bruno Haible  <bruno@clisp.org>
23980
23981         * gnulib-tool: Add support for the --aux-dir option to
23982         --create-testdir, --create-megatestdir, --test, --megatest.
23983         (func_create_testdir, func_create_megatestdir): Optionally emit a
23984         AC_CONFIG_AUX_DIR directive.
23985         (create-testdir, create-megatestdir, test, megatest): Provide a
23986         default value for $auxdir.
23987
23988 2005-08-24  Bruno Haible  <bruno@clisp.org>
23989
23990         * gnulib-tool (import): Use compound statement instead of subshell
23991         where possible.
23992
23993 2005-08-24  Bruno Haible  <bruno@clisp.org>
23994
23995         * gnulib-tool (import): Change --aux-dir default to "build-aux".
23996
23997 2005-08-24  Bruno Haible  <bruno@clisp.org>
23998
23999         * gnulib-tool (func_version): Update.
24000
24001 2005-08-24  Bruno Haible  <bruno@clisp.org>
24002
24003         * gnulib-tool (func_import, func_create_testdir,
24004         func_create_megatestdir): Quote all autoconf macro arguments.
24005
24006 2005-08-24  Bruno Haible  <bruno@clisp.org>
24007
24008         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
24009         option --force, because --force causes the aclocal.m4 of each
24010         subdirectory to be newer than the corresponding config.h.in.
24011
24012 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
24013
24014         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
24015         All contents moved to gl_REGEX.
24016         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
24017         assume that it does.
24018
24019 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
24020
24021         * lib/regex.h (REG_NOSYS)
24022         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
24023         Define, since POSIX requires it as of 2001.
24024         (_REG_ENOSYS)
24025         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
24026         New private symbol, used to keep the enum signed in all cases.
24027         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
24028         Youngman in
24029         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
24030
24031         * lib/regex_internal.c (re_string_skip_chars, register_state):
24032         (calc_state_hash):
24033         Remove forward decls; no longer needed now that we use prototypes.
24034         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
24035         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
24036         (clean_state_log_if_needed): Likewise.
24037
24038 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
24039
24040         * config/srclist.txt: Add glibc bugs 1231-1233.
24041
24042 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
24043
24044         Fix problems reported by Sam Steingold in
24045         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
24046         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
24047         assumed that reg_errcode_t is a signed type, which is not
24048         necessarily true if _XOPEN_SOURCE is not defined.
24049         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
24050         since some compilers warn about it otherwise.
24051
24052 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
24053
24054         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
24055         (init_word_char, create_initial_state, duplicate_node_closure):
24056         (fetch_token, peek_token_bracket, build_range_exp):
24057         (build_collating_symbol): Remove forward decls; no longer needed
24058         now that we use prototypes.
24059
24060         * lib/regcomp.c:
24061         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
24062         (re_compile_fastmap_iter, regcomp, regerror, regfree):
24063         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
24064         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
24065         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
24066         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
24067         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
24068         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
24069         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
24070         (build_range_exp, build_collating_symbol, parse_bracket_exp):
24071         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
24072         (build_charclass, build_charclass_op, fetch_number, create_tree):
24073         (create_token_tree, mark_opt_subexp, duplicate_tree):
24074         Use prototypes rather than old-style definitions.
24075
24076         * lib/regex_internal.c:
24077         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
24078         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
24079         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
24080         (re_string_reconstruct, re_string_peek_byte_case):
24081         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
24082         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
24083         (re_node_set_init_copy, re_node_set_add_intersect):
24084         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
24085         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
24086         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
24087         (re_acquire_state, re_acquire_state_context, register_state):
24088         (create_ci_newstate, create_cd_newstate, free_state):
24089         Likewise.
24090         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
24091         re_search_2):
24092         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
24093         (re_search_internal, prune_impossible_nodes):
24094         (acquire_init_state_context, check_matching, static):
24095         (check_halt_node_context, check_halt_state_context, proceed_next_node):
24096         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
24097         (update_regs, sift_states_backward, build_sifted_states):
24098         (clean_state_log_if_needed, merge_state_array):
24099         (update_cur_sifted_state, add_epsilon_src_nodes):
24100         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
24101         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
24102         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
24103         (find_recover_state, check_subexp_matching_top, transit_state_mb):
24104         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
24105         (check_arrival, check_arrival_add_next_nodes):
24106         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
24107         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
24108         (check_node_accept_bytes, check_node_accept, extend_buffers):
24109         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
24110         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
24111         (sift_ctx_init):
24112         Likewise.
24113
24114         * lib/regex_internal.h:
24115         (re_string_allocate, re_string_construct, re_string_reconstruct):
24116         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
24117         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
24118         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
24119         (re_string_context_at, re_string_peek_byte_case):
24120         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
24121         is defined, since we now use prototypes always.
24122
24123         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
24124         C89 or better.  All uses removed.
24125
24126 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
24127
24128         * config/srclist.txt: Add glibc bugs 1220-1227.
24129
24130 2005-08-20  Jim Meyering  <jim@meyering.net>
24131
24132         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
24133         of unused local, dfa.
24134
24135 2005-08-20  Bruno Haible  <bruno@clisp.org>
24136
24137         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
24138
24139 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
24140
24141         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
24142         (re_node_set_insert_last, re_dfa_add_node):
24143         Rename local variables to avoid GCC shadowing warnings.
24144
24145 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
24146
24147         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
24148         [defined lint]: Suppress bogus uninitialized-variable warnings.
24149
24150         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
24151         and let the caller return REG_ESPACE if out of space.  This
24152         removes an uninitialied-variable warning with GCC 4.0.1, and also
24153         avoids taking the address of a local variable.  All callers
24154         changed.
24155
24156 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
24157
24158         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
24159         $LIBCSRC/posix/regexec.c.
24160         Add glibc bug 1217 for regcomp.c.
24161
24162 2005-08-19  Jim Meyering  <jim@meyering.net>
24163
24164         * lib/regexec.c (proceed_next_node): Redo local variables to
24165         avoid GCC shadowing warnings.
24166
24167 2005-08-18  Bruno Haible  <bruno@clisp.org>
24168
24169         * lib/strstr.c (strstr): Fix return value in multibyte case.
24170         * lib/strcasestr.c (strcasestr): Likewise.
24171
24172 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
24173
24174         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
24175
24176 2005-08-17  Jim Meyering  <jim@meyering.net>
24177
24178         Make the %s format (seconds since the epoch) work for a negative
24179         number and when used with a zero-padded field width, e.g. %015s.
24180
24181         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
24182         label so that it precedes the code to set `digits'.  Otherwise,
24183         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
24184         print `00-22'.  Now, it prints `-0022', as it should.
24185
24186 2005-08-17  Bruno Haible  <bruno@clisp.org>
24187
24188         * modules/strstr (Files): Add m4/mbrtowc.m4.
24189         (Depends-on): Add mbuiter.
24190
24191 2005-08-17  Bruno Haible  <bruno@clisp.org>
24192
24193         * modules/strcasestr: New file.
24194         * MODULES.html.sh (String handling, based on ANSI C 89): Add
24195         strcasestr.
24196
24197 2005-08-17  Bruno Haible  <bruno@clisp.org>
24198
24199         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
24200
24201 2005-08-17  Bruno Haible  <bruno@clisp.org>
24202
24203         * modules/mbuiter: New file.
24204         * MODULES.html.sh (Extended multibyte and wide character utilities):
24205         Add mbuiter.
24206
24207 2005-08-17  Bruno Haible  <bruno@clisp.org>
24208
24209         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
24210         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
24211
24212 2005-08-17  Bruno Haible  <bruno@clisp.org>
24213
24214         * m4/strcasestr.m4: New file.
24215
24216 2005-08-17  Bruno Haible  <bruno@clisp.org>
24217
24218         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
24219         * lib/strstr.c: Completely rewritten, with multibyte locale support.
24220
24221 2005-08-17  Bruno Haible  <bruno@clisp.org>
24222
24223         * lib/strcasestr.h: New file.
24224         * lib/strcasestr.c: New file.
24225
24226 2005-08-17  Bruno Haible  <bruno@clisp.org>
24227
24228         * lib/strcasecmp.c: Use mbuiter.h.
24229
24230 2005-08-17  Bruno Haible  <bruno@clisp.org>
24231
24232         * lib/mbuiter.h: New file.
24233
24234 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
24235
24236         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
24237         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
24238         and gl_GETOPT are both invoked via different paths (as happens
24239         with GNU tar CVS because it uses both argp and getopt), the former
24240         wins.
24241
24242 2005-08-16  Bruno Haible  <bruno@clisp.org>
24243
24244         * modules/tls: New file.
24245         * MODULES.html.sh (Multithreading): Add tls.
24246
24247 2005-08-16  Bruno Haible  <bruno@clisp.org>
24248
24249         * modules/strnlen1: New file.
24250         * MODULES.html.sh (String handling): Add strnlen1.
24251
24252 2005-08-16  Bruno Haible  <bruno@clisp.org>
24253
24254         * modules/strcase (Files): Add m4/mbrtowc.m4.
24255         (Depends-on): Add strnlen1, mbchar.
24256
24257 2005-08-16  Bruno Haible  <bruno@clisp.org>
24258
24259         * modules/mbiter: New file.
24260         * MODULES.html.sh (Extended multibyte and wide character utilities):
24261         Add mbiter.
24262
24263 2005-08-16  Bruno Haible  <bruno@clisp.org>
24264
24265         * modules/mbfile: New file.
24266         * MODULES.html.sh (Extended multibyte and wide character utilities):
24267         Add mbfile.
24268
24269 2005-08-16  Bruno Haible  <bruno@clisp.org>
24270
24271         * modules/mbchar: New file.
24272         * MODULES.html.sh (Extended multibyte and wide character utilities):
24273         New section.
24274
24275 2005-08-16  Bruno Haible  <bruno@clisp.org>
24276
24277         * m4/tls.m4: New file, from GNU gettext.
24278
24279 2005-08-16  Bruno Haible  <bruno@clisp.org>
24280
24281         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
24282         always.
24283         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
24284
24285 2005-08-16  Bruno Haible  <bruno@clisp.org>
24286
24287         * m4/mbiter.m4: New file.
24288
24289 2005-08-16  Bruno Haible  <bruno@clisp.org>
24290
24291         * m4/mbfile.m4: New file.
24292
24293 2005-08-16  Bruno Haible  <bruno@clisp.org>
24294
24295         * m4/mbchar.m4: New file.
24296
24297 2005-08-16  Bruno Haible  <bruno@clisp.org>
24298
24299         * lib/tls.h: New file, from GNU gettext.
24300         * lib/tls.c: New file, from GNU gettext.
24301
24302 2005-08-16  Bruno Haible  <bruno@clisp.org>
24303
24304         * lib/strnlen1.h: New file.
24305         * lib/strnlen1.c: New file.
24306
24307 2005-08-16  Bruno Haible  <bruno@clisp.org>
24308
24309         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
24310         (mbi_init): Update.
24311         (mbi_avail, mbi_advance): Let the iteration end before the terminating
24312         NUL byte, not after it.
24313
24314 2005-08-16  Bruno Haible  <bruno@clisp.org>
24315
24316         * lib/strcase.h (strcasecmp): Add note in comments.
24317         * lib/strncasecmp.c: Use code from strcasecmp.c.
24318         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
24319         (strcasecmp): Work correctly in multibyte locales.
24320
24321 2005-08-16  Bruno Haible  <bruno@clisp.org>
24322
24323         * lib/mbiter.h: New file.
24324
24325 2005-08-16  Bruno Haible  <bruno@clisp.org>
24326
24327         * lib/mbfile.h: New file.
24328
24329 2005-08-16  Bruno Haible  <bruno@clisp.org>
24330
24331         * lib/mbchar.h: New file.
24332         * lib/mbchar.c: New file.
24333
24334 2005-08-16  Bruno Haible  <bruno@clisp.org>
24335
24336         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
24337         the valid ones. Makes the comparison operations transitive:
24338         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
24339         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
24340
24341 2005-08-15  Simon Josefsson  <jas@extundo.com>
24342
24343         * modules/ssize_t (License): Change to 'unlimited'.
24344
24345         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
24346
24347 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
24348
24349         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
24350         Add comments for each pending glibc patch.
24351
24352 2005-08-15  Bruno Haible  <bruno@clisp.org>
24353
24354         * lib/regex.h (__restrict_arr): Don't define to __restrict if
24355         __cplusplus is defined.
24356
24357 2005-08-14  Jim Meyering  <jim@meyering.net>
24358
24359         Sync from coreutils.
24360
24361         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
24362         Use the hash-table-based cycle-detection code not just when
24363         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
24364         Reported by James Youngman in
24365         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
24366         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
24367         FTS_TIGHT_CYCLE_CHECK.
24368         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
24369         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
24370         once again.
24371         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
24372         * lib/fts.c (fd_safer): Remove decl.
24373         Include fcntl--.h rather than unistd-safer.h
24374         (fts_safe_changedir): Don't call fd_safer; no longer needed
24375         now that we include fcntl--.h.
24376
24377 2005-08-12  Simon Josefsson  <jas@extundo.com>
24378
24379         * modules/getndelim2: Use ssize_t module.
24380         * modules/getnline: Likewise.
24381         * modules/safe-read: Likewise.
24382         * modules/xreadlink: Likewise.
24383
24384         * modules/ssize_t: New file.
24385
24386 2005-08-12  Simon Josefsson  <jas@extundo.com>
24387
24388         * m4/readline.m4: Look for termcap, curses or ncurses if required.
24389
24390 2005-08-12  Simon Josefsson  <jas@extundo.com>
24391
24392         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
24393         ssize_t.
24394
24395 2005-08-12  Simon Josefsson  <jas@extundo.com>
24396
24397         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
24398         readline, getdelim and check_version.
24399         (Support for systems lacking ISO C 99: Sizes of integer types):
24400         Add size_max.
24401
24402 2005-08-12  Bruno Haible  <bruno@clisp.org>
24403
24404         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
24405
24406 2005-08-11  Simon Josefsson  <jas@extundo.com>
24407
24408         * modules/readline: New file.
24409
24410         * modules/strnlen (Files): Add strnlen.h.
24411
24412 2005-08-11  Simon Josefsson  <jas@extundo.com>
24413
24414         * m4/readline.m4: New file.
24415
24416 2005-08-11  Simon Josefsson  <jas@extundo.com>
24417
24418         * lib/readline.h, readline.c: New file.
24419
24420 2005-08-11  Simon Josefsson  <jas@extundo.com>
24421
24422         * doc/gnulib.texi (Initial import, Finishing touches): Mention
24423         gl_AVOID.
24424
24425 2005-08-11  Bruno Haible  <bruno@clisp.org>
24426
24427         * lib/strnlen.h (strnlen): Change parameter name to match comment.
24428
24429 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
24430
24431         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
24432
24433 2005-08-10  Simon Josefsson  <jas@extundo.com>
24434
24435         * tests/test-iconvme.c: New file.
24436
24437 2005-08-10  Simon Josefsson  <jas@extundo.com>
24438
24439         * m4/strnlen.m4: New file.
24440
24441         * m4/strndup.m4: Don't check for strnlen declaration, done in
24442         strnlen.m4.
24443
24444 2005-08-10  Simon Josefsson  <jas@extundo.com>
24445
24446         * lib/strndup.c: Use strnlen.h.
24447
24448         * lib/strnlen.h: New file.
24449
24450 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
24451
24452         * README: Typos.
24453
24454 2005-08-02  Simon Josefsson  <jas@extundo.com>
24455
24456         * modules/readline: New file.
24457
24458 2005-08-02  Simon Josefsson  <jas@extundo.com>
24459
24460         * modules/getdelim: New file.
24461
24462         * modules/getline: Rewrite, don't use getndelim2.
24463
24464 2005-08-02  Simon Josefsson  <jas@extundo.com>
24465
24466         * m4/getline.m4: Separate out getdelim stuff into separate module.
24467
24468         * m4/getdelim.m4: New file.
24469
24470 2005-08-02  Simon Josefsson  <jas@extundo.com>
24471
24472         * lib/getline.h, getline.c: Rewrite.
24473
24474         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
24475
24476 2005-07-31  Bruno Haible  <bruno@clisp.org>
24477
24478         * lib/lock.h (gl_lock_initializer): New macro.
24479         (gl_lock_define_initialized): Use it.
24480         (gl_rwlock_initializer): New macro.
24481         (gl_rwlock_define_initialized): Use it.
24482         (gl_recursive_lock_initializer): New macro.
24483         (gl_recursive_lock_define_initialized): Use it.
24484
24485 2005-07-30  Karl Berry  <karl@gnu.org>
24486
24487         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
24488         Report from Ben Pfaff, regarding getopt.
24489
24490 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
24491
24492         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
24493         normal way.
24494         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
24495         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
24496         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
24497         (gl_GETOPT): Use the new macros.  Most of the implementation
24498         is moved to the new macros.  This is for programs like Emacs
24499         that don't want all the functionality of gl_GETOPT.
24500
24501 2005-07-26  Bruno Haible  <bruno@clisp.org>
24502
24503         * m4/lock.m4: Update from GNU gettext.
24504
24505 2005-07-26  Bruno Haible  <bruno@clisp.org>
24506
24507         * lib/lock.h: Update from GNU gettext.
24508         * lib/lock.c: Update from GNU gettext.
24509
24510 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
24511
24512         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
24513         obsolescent AC_TRY_RUN.  Include the default includes files, for
24514         'exit'.
24515
24516 2005-07-24  Bruno Haible  <bruno@clisp.org>
24517
24518         * modules/visibility: New file.
24519         * MODULES.html.sh (Misc): Add visibility.
24520
24521 2005-07-24  Bruno Haible  <bruno@clisp.org>
24522
24523         * m4/visibility.m4: New file.
24524
24525 2005-07-24  Bruno Haible  <bruno@clisp.org>
24526
24527         * doc/visibility.texi: New file.
24528
24529 2005-07-22  Bruno Haible  <bruno@clisp.org>
24530
24531         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
24532         $(ALLOCA_H), redundant through BUILT_SOURCES.
24533         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
24534         redundant through BUILT_SOURCES.
24535         * modules/byteswap (Makefile.am): Remove explicit dependency on
24536         $(BYTESWAP_H), redundant through BUILT_SOURCES.
24537         * modules/fnmatch (Makefile.am): Remove explicit dependency on
24538         $(FNMATCH_H), redundant through BUILT_SOURCES.
24539         * modules/getopt (Makefile.am): Remove explicit dependency on
24540         $(GETOPT_H), redundant through BUILT_SOURCES.
24541         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
24542         redundant through BUILT_SOURCES.
24543         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
24544         redundant through BUILT_SOURCES.
24545         * modules/stdbool (Makefile.am): Remove explicit dependency on
24546         $(STDBOOL_H), redundant through BUILT_SOURCES.
24547         * modules/stdint (Makefile.am): Remove explicit dependency on
24548         $(STDINT_H), redundant through BUILT_SOURCES.
24549         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
24550         Remove explicit dependency on $(SYSEXITS_H).
24551         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
24552
24553 2005-07-18  Simon Josefsson  <jas@extundo.com>
24554
24555         * lib/check-version.c (check_version): Accept identical versions too.
24556
24557 2005-07-18  Bruno Haible  <bruno@clisp.org>
24558
24559         * modules/lock: New file.
24560         * MODULES.html.sh (Multithreading): New section.
24561
24562 2005-07-18  Bruno Haible  <bruno@clisp.org>
24563
24564         * m4/lock.m4: New file, from GNU gettext.
24565
24566 2005-07-18  Bruno Haible  <bruno@clisp.org>
24567
24568         * lib/lock.h: New file, from GNU gettext.
24569         * lib/lock.c: New file, from GNU gettext.
24570
24571 2005-07-18  Bruno Haible  <bruno@clisp.org>
24572
24573         * lib/lock.h (gl_once_t): New type.
24574         (gl_once_define, gl_once): New macros.
24575         * lib/lock.c (fresh_once): New variable.
24576         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
24577         functions.
24578
24579 2005-07-16  Simon Josefsson  <jas@extundo.com>
24580
24581         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
24582         workaround, suggested by Bruno.
24583
24584 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
24585
24586         * modules/xalloc (Depends-on): Add xalloc-die.
24587         * modules/xvasprintf (Depends-on): Add xalloc-die.
24588
24589 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
24590
24591         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
24592         with a minor change.
24593
24594 2005-07-15  Bruno Haible  <bruno@clisp.org>
24595
24596         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
24597         When using lib/poll.c, define poll as rpl_poll.
24598
24599 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
24600
24601         * modules/argp (Depends-on): Remove unlocked-io.
24602
24603 2005-07-14  Derek Price  <derek@ximbiot.com>
24604
24605         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
24606         for glob symlink bug.
24607
24608 2005-07-14  Bruno Haible  <bruno@clisp.org>
24609
24610         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
24611         Instead, test for *_unlocked function declarations directly.
24612
24613 2005-07-11  Simon Josefsson  <jas@extundo.com>
24614
24615         * modules/size_max: New file.
24616
24617         * modules/xsize: Depend on size_max module for size_max.m4.
24618
24619 2005-07-11  Simon Josefsson  <jas@extundo.com>
24620
24621         * lib/size_max.h: New file.
24622
24623 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
24624
24625         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
24626         copyright symbol and the year.
24627         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
24628         (version_etc_va): Use parameterized copyright notice.
24629         Reword to conform to the current GNU coding standards.
24630
24631 2005-07-11  Karl Berry  <karl@gnu.org>
24632
24633         * doc/gnulib.texi (Quoting): new node.
24634         (Initial import): more info, from Patrice.
24635
24636 2005-07-11  Bruno Haible  <bruno@clisp.org>
24637
24638         * gnulib-tool (func_usage): Document option --avoid.
24639         (Command line options): Handle --avoid.
24640         (func_acceptable): New function.
24641         (func_modules_transitive_closure): Use it.
24642
24643 2005-07-11  Bruno Haible  <bruno@clisp.org>
24644
24645         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
24646         Reported by Jim Meyering.
24647
24648 2005-07-10  Bruno Haible  <bruno@clisp.org>
24649
24650         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
24651         Needed when size_t is smaller than 'unsigned int'.
24652         Reported by Paul Eggert.
24653
24654 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
24655
24656         * modules/argp (Depends-on): Add unlocked-io
24657
24658 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
24659
24660         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
24661         block of defines.
24662
24663 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
24664
24665         * config/srclist.txt: Comment out regcomp.c, since we have a porting
24666         fix now.
24667
24668 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
24669         and Paul Eggert  <eggert@cs.ucla.edu>
24670
24671         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
24672         in wint_t, not wchar_t.  Remove now-unnecessary cast.
24673
24674 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
24675
24676         * modules/regex (Files): Add lib/regex_internal.c,
24677         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
24678         (Depends-on): Add extensions.
24679         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
24680
24681 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
24682
24683         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
24684         pathconf.
24685         * m4/same.m4 (gl_SAME): Likewise.
24686         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
24687
24688         * m4/regex.m4: Adjust to new libc regex implementation.
24689         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
24690         all the .c and .h parts of (the new) regex.
24691         Quote the m4 stuff better.
24692         Check for RE_ICASE bug of old gnulib.
24693         Check for REG_STARTEND of recent libc.
24694         Rename local variables from jm_* to gl_*.
24695         Quote operand of "test -f".
24696         Say "recent enough" version of libc, not "version 2".
24697         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
24698         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
24699         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
24700         Remove check for btowc, isascii.
24701         Require AM_LANGINFO_CODESET.
24702
24703 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
24704
24705         * lib/regex.c, regex.h: Sync from libc.
24706         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
24707         * lib/regexec.c:
24708         New files, synced from libc, except that regex_internal.h
24709         currently has a small porting fix.
24710
24711 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
24712
24713         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
24714         regex_internal.c, regexec.c.
24715         Add regex_internal.h too, but as a comment, since the libc version
24716         is currently broken in gnulib mode.
24717
24718 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
24719
24720         Support programs like Emacs that use gnulib but not gettext.
24721         * MODULES.html.sh (Internationalization functions): Add gettext-h.
24722         * modules/gettext-h: New file.
24723         * modules/gettext (Files): Remove lib/gettext.h.
24724         (Depends-on): Add gettext-h.
24725         (Makefile.am): Remove lib_SOURCES.
24726         * modules/argmatch, modules/c-stack, modules/closeout:
24727         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
24728         * modules/execute, modules/file-type, modules/getaddrinfo:
24729         * modules/getopt, modules/human, modules/javacomp:
24730         * modules/javaexec, modules/mkdir-p, modules/obstack:
24731         * modules/openat, modules/pagealign_alloc, modules/pipe:
24732         * modules/quotearg, modules/regex, modules/rpmatch:
24733         * modules/unicodeio, modules/userspec, modules/version-etc:
24734         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
24735         * modules/xsetenv:
24736         Depend on gettext-h, not gettext.
24737
24738 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
24739
24740         * gnulib-tool (func_import): Add support for 'public domain' license.
24741         * modules/alloca, modules/atexit, modules/memmove:
24742         Now public domain, not GPL.
24743         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
24744         * modules/realloc, modules/strerror, modules/strtod:
24745         Now LGPL, not GPL.
24746
24747 2005-07-05  Bruno Haible  <bruno@clisp.org>
24748
24749         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
24750         autoconf CVS. Needed for mingw.
24751
24752 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
24753
24754         Remove the dependency of the strftime module on the tzset module.
24755         * modules/strftime (Depends-on): Remove dependency on tzset.
24756
24757 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
24758
24759         Remove the dependency of the strftime module on the tzset module.
24760         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
24761         gl_FUNC_TZSET_CLOBBER.
24762
24763 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
24764
24765         Remove the dependency of the strftime module on the tzset module.
24766         * lib/strftime.c (my_strftime)
24767         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
24768         Copy the input structure, to work around some of the bug with
24769         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
24770         Solaris releases, you should also use the tzset module, but we won't
24771         require it as a dependency any more since we don't want LGPLed code
24772         to depend on GPLed code.
24773
24774 2005-07-02  Jim Meyering  <jim@meyering.net>
24775
24776         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
24777         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
24778         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
24779         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
24780
24781 2005-07-02  Jim Meyering  <jim@meyering.net>
24782
24783         * lib/backupfile.c (backup_args): Change a `0' to NULL.
24784
24785 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
24786
24787         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
24788         declares only 'struct timespec;' (!).
24789
24790 2005-07-01  Jim Meyering  <jim@meyering.net>
24791
24792         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
24793         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
24794         * lib/save-cwd.c, tempname.c:
24795         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
24796         and don't include <sys/file.h>).
24797
24798 2005-06-29  Jim Meyering  <jim@meyering.net>
24799
24800         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
24801         type name.  Use the variable name instead.
24802         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
24803         Likewise.
24804
24805 2005-06-28  Simon Josefsson  <jas@extundo.com>
24806
24807         * modules/check-version (Files): Add check-version.m4.
24808
24809 2005-06-28  Simon Josefsson  <jas@extundo.com>
24810
24811         * m4/check-version.m4: New file, suggested by Jim Meyering
24812         <jim@meyering.net>.
24813
24814 2005-06-28  Simon Josefsson  <jas@extundo.com>
24815
24816         * lib/check-version.h, lib/check-version.c: New files.
24817
24818 2005-06-28  Simon Josefsson  <jas@extundo.com>
24819
24820         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
24821         collision with global variable.  Better indentation.  Don't
24822         increment buffer pointer beyond buffer end.  Based on comments
24823         from Paul Eggert <eggert@cs.ucla.edu>.
24824
24825         * lib/base64.h: Indent.
24826
24827 2005-06-28  Simon Josefsson  <jas@extundo.com>
24828
24829         * doc/gnulib.texi (Library version handling): New section.
24830
24831 2005-06-28  Jim Meyering  <jim@meyering.net>
24832
24833         * check-module (find_included_lib_files): Hard-code another
24834         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
24835         but modules/fts-lgpl (correctly) does not list those files.
24836
24837         * modules/canonicalize (Files): Add lib/pathmax.h.
24838
24839 2005-06-25  Simon Josefsson  <jas@extundo.com>
24840
24841         * modules/check-version: New file.
24842
24843 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
24844
24845         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
24846         initializer of struct addrinfo, as an indication that we don't
24847         care how many members the structure has.
24848
24849 2005-06-24  Derek Price  <derek@ximbiot.com>
24850         and Bruno Haible  <bruno@clisp.org>
24851
24852         Remove stat module & update lstat.
24853         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
24854         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
24855         * m4/stat.m4: Remove this file.
24856
24857 2005-06-24  Derek Price  <derek@ximbiot.com>
24858         and Bruno Haible  <bruno@clisp.org>
24859
24860         Remove stat module & update lstat.
24861         * lib/stat.c: Remove this file...
24862         (slash_aware_lstat): ...moving this content and its support...
24863         * lib/lstat.c (rpl_lstat): ...into here.
24864         * lib/lstat.h: New file.
24865
24866 2005-06-24  Derek Price  <derek@ximbiot.com>
24867         and Bruno Haible  <bruno@clisp.org>
24868
24869         Remove stat module & update lstat.
24870         * config/srclist.txt (libc sources): Remove stat.
24871
24872 2005-06-24  Derek Price  <derek@ximbiot.com>
24873         and Bruno Haible  <bruno@clisp.org>
24874
24875         Remove stat module & update lstat.
24876         * MODULES.html.sh (stat): Remove.
24877         * MODULES.html: Regenerated.
24878         * modules/lstat (Description): Correct function name.
24879         (Files): Add "lstat.h".
24880         (Depends-on): Remove stat, add xalloc, stat-macros.
24881         * modules/stat: Remove this file.
24882         (Include): Add "lstat.h", remove <sys/stat.h>.
24883
24884 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
24885
24886         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
24887         (ranged_convert): Don't save conversion in a temporary struct.
24888         This causes a warning with GCC 4.0.0, and anyway in the typical
24889         case it's not worth the extra 100 bytes or so of code.
24890         (ranged_convert, __mktime_internal): When calling a function via a
24891         pointer P, use P () rather than (*P) (), as we now assume C89 or
24892         better.
24893
24894 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
24895
24896         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
24897         "who -r" failed to give output.  Problem reported by Tim Waugh.
24898
24899         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
24900         (xcalloc): Use it to avoid needless tests.
24901         Problem reported by Jim Meyering.
24902
24903 2005-06-20  Derek Price  <derek@ximbiot.com>
24904
24905         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
24906         unnecessary for Autoconfs > 2.59c.
24907
24908 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
24909
24910         * lib/argp.h (__option_is_short): Check upper limit of
24911         __key. Isprint() requires its argument to have the value
24912         of an unsigned char or EOF.
24913
24914 2005-06-16  Jim Meyering  <jim@meyering.net>
24915
24916         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
24917         when either N or S is zero.
24918
24919 2005-06-16  Derek Price  <derek@ximbiot.com>
24920
24921         * m4/bison.m4: Declare YACC & YFLAGS precious.
24922
24923 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
24924
24925         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
24926         multibyte string or pattern, fall back on unibyte matching.
24927         Problem reported by James Youngman.
24928
24929 2005-06-08  Bruno Haible  <bruno@clisp.org>
24930
24931         * modules/csharpcomp: New file.
24932         * MODULES.html.sh (C#): Add csharpcomp.
24933
24934 2005-06-08  Bruno Haible  <bruno@clisp.org>
24935
24936         * m4/csharpcomp.m4: New file, from GNU gettext.
24937
24938 2005-06-08  Bruno Haible  <bruno@clisp.org>
24939
24940         * lib/csharpcomp.h: New file, from GNU gettext.
24941         * lib/csharpcomp.c: New file, from GNU gettext.
24942         * lib/csharpcomp.sh.in: New file, from GNU gettext.
24943
24944 2005-06-08  Bruno Haible  <bruno@clisp.org>
24945
24946         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
24947         warning on mingw.
24948
24949 2005-06-07  Derek Price  <derek@ximbiot.com>
24950
24951         Sync from CVS.
24952         * lib/glob_.h: Indent nested #ifdef.
24953
24954 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
24955
24956         Sync from coreutils.
24957         Use "file name" when talking about file names, instead of "filename"
24958         or "path", as per the GNU coding standards.
24959         * lib/mkdir-p.c: Renamed from makepath.c.
24960         (make_dir_parents): Renamed from make_path.  All callers changed.
24961         * lib/mkdir-p.h: Likewise.  All includers changed.
24962         * lib/filenamecat.c: Renamed from path-concat.c.
24963         (file_name_concat): Renamed from path_concat.  All callers changed.
24964         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
24965         * lib/filenamecat.h: Likewise.  All includers changed.
24966         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
24967         in comments or local variable names.
24968         * lib/basename.c: Likewise.
24969         * lib/canonicalize.c, canonicalize.h: Likewise.
24970         * lib/dirname.c, dirname.h: Likewise.
24971         * lib/euidaccess.c: Likewise.
24972         * lib/exclude.c: Likewise
24973         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
24974         * lib/fsusage.c, fsuage.h: Likewise.
24975         * lib/fts.c, fts_.h: Likewise.
24976         * lib/getcwd.c: Likewise.
24977         * lib/getloadavg.c: Likewise.
24978         * lib/mkstemp.c: Likewise.
24979         * lib/mountlist.c, mountlist.h: Likewise.
24980         * lib/openat.c, openat.h: Likewise.
24981         * lib/readlink-stub.c: Likewise.
24982         * lib/readutmp.c, readutmp.h: Likewise.
24983         * lib/rename.c: Likewise.
24984         * lib/rmdir.c: Likewise.
24985         * lib/same.c: Likewise.
24986         * lib/savedir.c: Likewise.
24987         * lib/stripslash.c: Likewise.
24988         * lib/tempname.c: Likewise.
24989         * lib/xreadlink.c: Likewise.
24990         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
24991         All uses changed.
24992         * lib/exclude.h: Likewise.
24993
24994         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
24995         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
24996         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
24997         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
24998         * lib/pathmax.h: Include <limits.h> unconditionally, since other
24999         files have been getting away with it for years (MORE/BSD 4.3
25000         is extinct now).
25001         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
25002         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
25003
25004         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
25005         Define to 256, not 255, as per modern POSIX.
25006
25007 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
25008
25009         Sync from coreutils.
25010         Use "file name" when talking about file names, instead of "filename"
25011         or "path", as per the GNU coding standards.
25012         * MODULES.html.sh: mkdir-p renamed from makepath.
25013         filenamecat renamed from path-concat.
25014         * modules/filenamecat: Renamed from modules/path-concat.
25015         (Files): filenamecat.h and filenamecat.c renamed from
25016         path-concat.h and path-concat.c.
25017         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
25018         (Include): filenamecat.h, not path-concat.h.
25019         * modules/mkdir-p: Renamed from modules/makepath.
25020         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
25021         makepath.c.
25022         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
25023         (Include): mkdir-p.h, not makepath.h.
25024
25025 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
25026
25027         Sync from coreutils.
25028         * m4/mkdir-p.m4: Renamed from makepath.m4.
25029         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
25030         Rename files from makepath.c to mkdir-p.c, and from
25031         makepath.h to mkdir-p.h.
25032         * m4/filenamecat.m4: Renamed from path-concat.m4.
25033         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
25034         Rename files from path-concat.c to filenamecat.c,
25035         and from path-concat.h to filenamecat.h.
25036         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
25037         "file name" in local variables or comments.
25038         * m4/rename.m4: Likewise.
25039
25040 2005-06-01  Bruno Haible  <bruno@clisp.org>
25041
25042         * modules/csharpexec: New file.
25043         * MODULES.html.sh (C#): New section.
25044
25045 2005-06-01  Bruno Haible  <bruno@clisp.org>
25046
25047         * m4/csharp.m4: New file, from GNU gettext.
25048         * m4/csharpexec.m4: New file, from GNU gettext.
25049
25050 2005-06-01  Bruno Haible  <bruno@clisp.org>
25051
25052         * lib/csharpexec.h: New file, from GNU gettext.
25053         * lib/csharpexec.c: New file, from GNU gettext.
25054         * lib/csharpexec.sh.in: New file, from GNU gettext.
25055
25056 2005-05-31  Derek Price  <derek@ximbiot.com>
25057             Paul Eggert  <eggert@cs.ucla.edu>
25058
25059         Sync from cvs.
25060         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
25061
25062 2005-05-31  Derek Price  <derek@ximbiot.com>
25063             Paul Eggert  <eggert@cs.ucla.edu>
25064
25065         Sync from cvs.
25066         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
25067
25068 2005-05-29  Derek Price  <derek@ximbiot.com>
25069
25070         * config/srclist.txt (glob_.h, glob.c): Add these files.
25071
25072 2005-05-29  Derek Price  <derek@ximbiot.com>
25073
25074         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
25075         * modules/glob: New file.
25076         * modules/getlogin_r: Add link to POSIX spec in description.
25077
25078 2005-05-29  Derek Price  <derek@ximbiot.com>
25079             Paul Eggert  <eggert@cs.ucla.edu>
25080
25081         * m4/glob.m4: New file.
25082
25083 2005-05-29  Derek Price  <derek@ximbiot.com>
25084             Paul Eggert  <eggert@cs.ucla.edu>
25085
25086         * lib/glob_.h, lib/glob.c: New files.
25087
25088 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
25089
25090         * modules/fts (Files): Remove m4/inttypes-pri.m4.
25091         * modules/fts-lgpl (Depends-on): Remove gettext.
25092
25093 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
25094
25095         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
25096         and don't require gt_INTTYPES_PRI.
25097
25098 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
25099
25100         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
25101
25102         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
25103         the configuration hassle isn't worth it.
25104         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
25105         (LONGEST_MODIFIER, PRIuMAX): Remove.
25106
25107 2005-05-27  Bruno Haible  <bruno@clisp.org>
25108
25109         * lib/getlogin_r.h: Remove second include of <stddef.h>.
25110
25111 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
25112
25113         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
25114         _POSIX_PTHREAD_SEMANTICS for Solaris.
25115
25116 2005-05-25  Derek Price  <derek@ximbiot.com>
25117
25118         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
25119
25120 2005-05-25  Derek Price  <derek@ximbiot.com>
25121             Paul Eggert  <eggert@cs.ucla.edu>
25122
25123         * modules/getlogin_r, m4/getlogin_r.m4: New files.
25124         * lib/getlogin_r.c, getlogin_r.h: New files.
25125
25126 2005-05-25  Bruno Haible  <bruno@clisp.org>
25127             Derek Price  <derek@ximbiot.com>
25128
25129         * lib/getlogin_r.h: Simplify API documentation.
25130
25131 2005-05-23  Derek Price  <derek@ximbiot.com>
25132
25133         * modules/minmax (Files): Add m4/minmax.m4.
25134         (configure.ac): Add gl_MINMAX.
25135
25136 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
25137
25138         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
25139         so that unistd-safer.h (GPL'ed code) need not be included.
25140
25141 2005-05-22  Bruno Haible  <bruno@clisp.org>
25142
25143         * m4/minmax.m4: New file.
25144         Based on a patch by Derek Price <derek@ximbiot.com>.
25145
25146 2005-05-22  Bruno Haible  <bruno@clisp.org>
25147
25148         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
25149         (INT64_MIN): Fix definition.
25150         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
25151
25152         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
25153         NEED_SIGNED_INT_TYPES.
25154
25155         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
25156         HAVE_SYSTEM_INTTYPES.
25157
25158 2005-05-22  Bruno Haible  <bruno@clisp.org>
25159
25160         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
25161         Also include <sys/param.h> if it defines MIN, MAX.
25162         Based on a patch by Derek Price <derek@ximbiot.com>.
25163
25164 2005-05-21  Jim Meyering  <jim@meyering.net>
25165
25166         * modules/fts (Files): Add m4/inttypes-pri.m4.
25167         (Depends-on): Add lstat and remove gettext.  Alphabetize.
25168
25169 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
25170
25171         New fts module.
25172         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
25173         (setup_dir, free_dir): New functions.
25174         (enter_dir, leave_dir): Define trivial
25175         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
25176         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
25177         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
25178         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
25179         Move to fts-cycle.c.
25180         (fts_open): Use setup_dir.
25181         (fts_close): Use free_dir.
25182         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
25183         This adds a label and some gotos, but the alternatives were messier.
25184         Check for memory allocation failure when entering a dir.
25185         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
25186         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
25187         (FTS): New member fts_cycle, that is a union that contains the
25188         old active_dir_ht and cycle_state.  All uses changed to mention
25189         fts_cycle.ht and fts_cycle.state.
25190         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
25191         fts.c, with the following changes:
25192         (setup_dir, free_dir): New functions.
25193         (enter_dir): Now returns bool.  Return true if successful, false
25194         if memory exhausted.  All callers changed.
25195         Do not bother partly cleaning up on
25196         memory allocation failure; that is free_dir's job.
25197         However, free ad if hash_insert fails, to avoid memory leak.
25198         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
25199         fts->fts_options to see which union member to use.
25200
25201 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
25202
25203         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
25204         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
25205
25206 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
25207
25208         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
25209
25210 2005-05-20  Jim Meyering  <jim@meyering.net>
25211
25212         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
25213         Now a macro, to pacify GCC.
25214
25215 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
25216
25217         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
25218         of -1.
25219
25220 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
25221
25222         * lib/chown.c (rpl_chown): Return -1 on failure.
25223
25224 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
25225
25226         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
25227         Don't check for stddef.h.
25228         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
25229         don't use its results.
25230         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
25231         since we include them unconditionally.  Don't require
25232         AM_STDBOOL_H, since stdbool is a prerequisite.
25233         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
25234         since we assume C89 or better.
25235         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
25236         as we don't use their results.
25237         Don't check for fchdir, memmove, memset, strrchr, as we use
25238         them unconditionally.
25239         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
25240         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
25241
25242 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
25243
25244         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
25245         Include <stddef.h> unconditionally, since we assume C89 now.
25246         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
25247         * lib/fts.c: Include fts_.h first, to check interface.
25248         Do not include intprops.h; no longer needed.
25249         Include cycle-check.h and hash.h, since fts_.h no longer does.
25250         Remove unnecessary casts of closedir to void.
25251         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
25252         decide whether to decrement nlinks.
25253         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
25254         (FTS): Use struct hash_table * instead of Hash_table, so that
25255         we no longer need to include hash.h here.
25256
25257 2005-05-18  Jim Meyering  <jim@meyering.net>
25258
25259         * modules/dirfd (License): Change to LGPL.  Most of the code
25260         is already in the public domain.
25261
25262 2005-05-18  Jim Meyering  <jim@meyering.net>
25263
25264         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
25265         Reported by Yoann Vandoorselaere.
25266
25267 2005-05-17  Jim Meyering  <jim@meyering.net>
25268
25269         * m4/fts.m4: New file, from coreutils.
25270
25271 2005-05-17  Jim Meyering  <jim@meyering.net>
25272
25273         * lib/fts.c, lib/fts_.h: New files, from coreutils.
25274
25275 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
25276
25277         Sync from coreutils.
25278         * m4/unlinkdir.m4: New file.
25279
25280 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
25281
25282         Sync from coreutils.
25283         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
25284         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
25285         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
25286         White space changes only.
25287         * lib/makepath.c (make_path): Port to hosts where leading "//" is
25288         special.
25289         * lib/yesno.c: Include getline.h, not ctype.h.
25290         (yesno): Don't remove leading white space; POSIX doesn't allow it.
25291         Use getline to remove arbitrary restriction on response length.
25292
25293 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
25294
25295         * config/srclist-update: Spell out "Street" in FSF postal
25296         mail address; this is the style the FSF seems to prefer.
25297
25298         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
25299         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
25300         this updates FSF postal mail address.
25301
25302         Sync from coreutils.
25303         * modules/unlinkdir: New file.
25304         * modules/yesno (Depends-on): Add getline.
25305         * MODULES.html.sh (File system functions): Add unlinkdir.
25306
25307 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
25308
25309         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
25310         lib/strsep.h:
25311         Change the initial comment to refer to GPL, not LGPL.
25312         gnulib-tool will change it to LGPL as needed.
25313
25314         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
25315         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
25316         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
25317         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
25318         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
25319         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
25320         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
25321         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
25322         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
25323         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
25324         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
25325         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
25326         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
25327         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
25328         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
25329         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
25330         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
25331         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
25332         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
25333         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
25334         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
25335         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
25336         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
25337         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
25338         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
25339         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
25340         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
25341         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
25342         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
25343         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
25344         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
25345         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
25346         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
25347         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
25348         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
25349         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
25350         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
25351         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
25352         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
25353         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
25354         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
25355         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
25356         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
25357         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
25358         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
25359         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
25360         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
25361         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
25362         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
25363         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
25364         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
25365         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
25366         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
25367         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
25368         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
25369         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
25370         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
25371         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
25372         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
25373         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
25374         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
25375         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
25376         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
25377         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
25378         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
25379         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
25380         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
25381         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
25382         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
25383         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
25384         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
25385         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
25386         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
25387         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
25388         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
25389         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
25390         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
25391         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
25392         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
25393         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
25394         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
25395         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
25396         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
25397         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
25398         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
25399         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
25400         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
25401         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
25402         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
25403         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
25404         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
25405         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
25406         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
25407         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
25408         lib/yesno.c, lib/yesno.h:
25409         Update FSF postal mail address.
25410
25411 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
25412
25413         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
25414         tests/test-memmem.c, tests/test-stpncpy.c:
25415         Update FSF postal mail address.
25416
25417 2005-05-13  Bruno Haible  <bruno@clisp.org>
25418
25419         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
25420         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
25421         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
25422         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
25423         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
25424         Add support for 64-bit integers in the MSVC compiler.
25425
25426 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
25427
25428         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
25429
25430 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
25431
25432         * gnulib-tool (func_import): Sort and uniquify recommended includes.
25433
25434 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
25435
25436         * doc/getdate.texi (General date syntax): Don't say that date
25437         date --iso-8601=ns generates acceptable dates; it doesn't yet.
25438         Problem reported by Nic Ferrier.
25439
25440 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25441
25442         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
25443         specified in ai_socktype. Fix invalid ai_protocol
25444         check. ai_protocol is usually set to 0 or depending on
25445         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
25446         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
25447         ai_socktype / ai_protocol in the returned addrinfo structure.
25448
25449 2005-05-10  Simon Josefsson  <jas@extundo.com>
25450
25451         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
25452         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
25453
25454 2005-05-10  Karl Berry  <karl@gnu.org>
25455
25456         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
25457         (from http://www.gnu.org/licenses).
25458         * doc/COPYING.LIB: also rename to COPYING.LESSER.
25459         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
25460         fdl.texi suffices.
25461
25462 2005-05-10  Karl Berry  <karl@gnu.org>
25463
25464         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
25465         (COPYING.DOC): remove.
25466
25467         * config/srclist-update: new FSF address.
25468
25469 2005-05-10  Derek Price  <derek@ximbiot.com>
25470
25471         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
25472         possible.
25473
25474 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25475             Bruno Haible  <bruno@clisp.org>
25476
25477         * modules/inet_ntop: New file.
25478         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
25479         inet_ntop.
25480
25481 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25482             Bruno Haible  <bruno@clisp.org>
25483
25484         * m4/inet_ntop.m4: New file.
25485
25486 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25487             Bruno Haible  <bruno@clisp.org>
25488
25489         * lib/inet_ntop.h: New file.
25490         * lib/inet_ntop.c: New file, from glibc with modifications.
25491
25492 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
25493
25494         * modules/time_r (License): Change to LGPL.
25495         * modules/extensions (License): Change to LGPL.  Actually,
25496         the license is more permissive than that, but currently gnulib-tool
25497         doesn't know how to handle more-permissive licenses.
25498
25499         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
25500         Problem reported by Dave Love.
25501
25502 2005-05-08  Jim Meyering  <jim@meyering.net>
25503
25504         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
25505         blank.
25506
25507 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
25508
25509         * modules/argmatch (Depends-on): Add stdbool.
25510         * modules/backupfile (Depends-on): Likewise.
25511         * modules/chdir-long (Depends-on): Likewise.
25512         * modules/closeout (Depends-on): Likewise.
25513         * modules/cycle-check (Depends-on): Likewise.
25514         * modules/dirname (Depends-on): Likewise.
25515         * modules/fnmatch (Depends-on): Likewise.
25516         * modules/fsusage (Depends-on): Likewise.
25517         * modules/fwriteerror (Depends-on): Likewise.
25518         * modules/getcwd (Depends-on): Likewise.
25519         * modules/getloadavg (Depends-on): Likewise.
25520         * modules/hard-locale (Depends-on): Likewise.
25521         * modules/makepath (Depends-on): Likewise.
25522         * modules/mountlist (Depends-on): Likewise.
25523         * modules/nanosleep (Depends-on): Likewise.
25524         * modules/posixtm (Depends-on): Likewise.
25525         * modules/quotearg (Depends-on): Likewise.
25526         * modules/readtokens (Depends-on): Likewise.
25527         * modules/readtokens0 (Depends-on): Likewise.
25528         * modules/readutmp (Depends-on): Likewise.
25529         * modules/save-cwd (Depends-on): Likewise.
25530         * modules/strftime (Depends-on): Likewise.
25531         * modules/userspec (Depends-on): Likewise.
25532         * modules/utimecmp (Depends-on): Likewise.
25533         * modules/xgetcwd (Depends-on): Likewise.
25534         * modules/xnanosleep (Depends-on): Likewise.
25535         * modules/xstrtod (Depends-on): Likewise.
25536         * modules/yesno (Depends-on): Likewise.
25537
25538 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
25539
25540         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
25541         needless checks.
25542
25543 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
25544
25545         Merge from coreutils.  Among other things,
25546         add bulletproofing for cases where stdin, stdout, or stderr are closed.
25547         * lib/fd-safer.c: New file.
25548         * lib/fcntl-safer.h, open-safer.c: Remove.
25549         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
25550         * lib/dup-safer.c: Include unistd-safer.h first.
25551         Don't include errno.h.
25552         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
25553         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
25554         * lib/file-type.c: Rely on file-type.h change.
25555         * lib/getloadavg.c: Include unistd-safer.h.
25556         (getloadavg): Use safer open.
25557         * lib/getusershell.c: Include "stdio-safer.h".
25558         (getusershell): Use safer fopen.
25559         * lib/long-options.c (long_options): Use NULL rather than 0.
25560         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
25561         'free'.
25562         * lib/modechange.c: Likewise.
25563         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
25564         (MODE_DONE): New constant.
25565         (struct mode_change): Remove 'next' member.
25566         (make_node_op_equals): New function; like the old one of the
25567         same name, except it allocates an array.
25568         (mode_compile, mode_create_from_ref): Use it.
25569         (mode_compile): Allocate result as an array, not a linked list.
25570         Parse octal string ourself, so that we catch mistakes like "+0".
25571         (mode_adjust): Arg is an array, not a linked list.
25572         * lib/modechange.c: Include stat-macros.h, xalloc.h.
25573         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
25574         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
25575         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
25576         Remove.  This is now stat-macros.h's job.
25577         (talloc): Remove.  All callers replaced by xalloc, so that
25578         our invokers don't have to worry about reporting memory failures.
25579         (make_node_op_equals): Remove.
25580         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
25581         New constants.
25582         (struct mode_change): Moved here from modechange.h.
25583         (mode_append_entry): Remove.
25584         (mode_compile): Remove MASKED_OPS arg, since it encouraged
25585         apps to have incorrect behavior.  Use simpler algorithm for head
25586         and tail.  Don't futz with umask; that's now the job of mode_adjust.
25587         Detect more invalid usages rather than having somewhat-random behavior.
25588         Don't insert an "a=" action, as that leads to incorrect behavior.
25589         (mode_compile, mode_create_from_ref): Return NULL on error instead
25590         of an enum, since now there's only one way to have an error.  All
25591         callers changed.
25592         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
25593         at the correct time.  Simplify calculation of "+u" and its ilk.
25594         Don't mishandle "+X".
25595         (mode_free): Remove "register" and localize decls.
25596         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
25597         (struct mode_change): Move to modechange.c; callers don't
25598         need to see this stuff.
25599         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
25600         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
25601         (mode_change, mode_adjust): Reflect the new signatures noted above.
25602         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
25603         that might redefine system include files.
25604         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
25605         (my_usleep): Use NULL rather than (void *) 0.
25606         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
25607         Use siginterrupt to specify that system calls should be interrupted.
25608         (rpl_nanosleep): Move initialization of suspended closer to call of
25609         my_usleep.
25610         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
25611         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
25612         (desirable_utmp_entry): New function.
25613         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
25614         using x2nrealloc, to simplify logic.
25615         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
25616         size calculation.  Do not assume utmp file is a regular file.
25617         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
25618         (READ_UTMP_CHECK_PIDS): New constant.
25619         * lib/save-cwd.c: Include unistd-safer.h.
25620         (save_cwd): Use fd_safer.
25621         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
25622         [!_LIBC] Include "stat-macros.h" instead.
25623         * lib/unistd-safer.h (fd_safer): New decl.
25624
25625 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
25626
25627         * modules/getloadavg (Depends-on): Add unistd-safer.
25628         * modules/getusershell (Depends-on): Add stdio-safer.
25629         * modules/lstat (Depends-on): Remove xalloc.
25630         * modules/mkstemp (Depends-on): Add stat-macros.
25631         * modules/modechange (Depends-on): Remove xstrtol.
25632         Add stat-macros, xalloc.
25633         * modules/save-cwd (Depends-on): Add unistd-safer.
25634         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
25635         * modules/unistd-safer (Files): Add lib/fd-safer.c
25636         (Makefile.am): Remove lib_SOURCES.
25637
25638         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
25639         Remove fcntl-safer; unistd-safer supersedes it.
25640
25641 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
25642
25643         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
25644         AC_HEADER_STAT.
25645         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
25646         (gl_PREREQ_CHOWN): Remove.
25647         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
25648         it.  Don't require AC_HEADER_STAT.
25649         (gl_PREREQ_LSTAT): Remove.
25650         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
25651         Don't require AC_HEADER_STAT.
25652         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
25653         (gl_PREREQ_RMDIR): Remove.
25654         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
25655         mention stat-macros.h or AC_HEADER_STAT, since we'll make
25656         the stat-macros module a prerequisite.
25657         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
25658         * m4/filemode.m4 (gl_FILEMODE): Likewise.
25659         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
25660         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
25661         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
25662         variable names.
25663         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
25664         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
25665         variable prefixes.
25666         * m4/fcntl-safer.m4: Remove.
25667         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
25668         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
25669         Invoke gl_PREREQ_FD_SAFER.
25670         (gl_PREREQ_FD_SAFER): New macro.
25671         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
25672         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
25673         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
25674         Remove duplicate call to AC_LIBOBJ(readutmp).
25675         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
25676
25677         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
25678         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
25679
25680 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
25681
25682         * MODULES.html.sh (Misc): Add byteswap.
25683
25684 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
25685
25686         * modules/getcwd (Depends-on): Add extensions.
25687         * modules/openat (Depends-on): Likewise.
25688
25689 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
25690
25691         * modules/byteswap: New file.
25692
25693 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
25694
25695         * m4/byteswap.m4: New file.
25696
25697 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
25698
25699         * lib/byteswap_.h: New file.
25700
25701 2005-04-25  Karl Berry  <karl@gnu.org>
25702
25703         * m4/gettext.m4: Update from GNU gettext 0.14.4.
25704
25705 2005-04-25  Albert Chin  <china@thewrittenword.com>
25706
25707         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
25708         Toolkit C bug.
25709
25710 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
25711
25712         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
25713         (func_ln_if_changed) Remove forcibly for no error message
25714         in case file does not exist.
25715
25716 2005-04-19  Simon Josefsson  <jas@extundo.com>
25717
25718         * gnulib-tool (Options): Make --symlink mean --symbolic.
25719
25720 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
25721
25722         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
25723
25724 2005-04-16  Simon Josefsson  <jas@extundo.com>
25725
25726         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
25727
25728 2005-04-15  Simon Josefsson  <jas@extundo.com>
25729
25730         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
25731
25732 2005-04-15  Simon Josefsson  <jas@extundo.com>
25733
25734         * gnulib-tool: Rename --symlink to --symbolic.
25735
25736 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
25737
25738         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
25739         symbolic links to files instead of copying/moving.  Add --aux-dir,
25740         specifying directory relative --dir where auxiliary build tools
25741         are placed.
25742
25743 2005-04-14  Bruno Haible  <bruno@clisp.org>
25744
25745         * modules/allocsa (License): Change to LGPL.
25746         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
25747
25748 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
25749
25750         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
25751         that "UTC +1 second" continues to work.  Problem reported
25752         by Dmitry V. Levin.
25753         (relunit_snumber): New rule.
25754         (relunit): Use it.
25755
25756 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
25757
25758         * lib/getdate.y (universal_time_zone_table): New constant.
25759         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
25760         universal_time_zone_table.
25761         (lookup_zone): Prefer universal_time_zone_table to
25762         local_time_zone_table, so that "GMT" time stamps are allowed in
25763         London during the summer.  Problem reported by Ian Abbott.
25764
25765 2005-04-12  Jim Meyering  <jim@meyering.net>
25766
25767         * lib/human.c (humblock): Set *options even when returning due to
25768         xstrtoumax conversion failure.  Thanks to a used-uninitialized
25769         warning from gcc-4.
25770
25771 2005-04-09  Jim Meyering  <jim@meyering.net>
25772
25773         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
25774         -Wuninitialized: initialize tm0.tm_year.
25775
25776 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
25777
25778         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
25779         count, since there's no maximum.  All uses changed.
25780         Add member dsts_seen.
25781         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
25782         not being INT_MAX.
25783         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
25784         Use pc_rels_seen to decide whther a date is absolute.
25785
25786         * lib/getdate.y (number): Don't overwrite year.
25787         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
25788         check.
25789
25790 2005-04-02  Simon Josefsson  <jas@extundo.com>
25791
25792         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
25793         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
25794
25795 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
25796
25797         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
25798         where no absolute path name can be longer than PATH_MAX.
25799
25800 2005-03-27  Jim Meyering  <jim@meyering.net>
25801
25802         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
25803
25804 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
25805
25806         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
25807         "one's complement" -> "ones' complement" in comment, as per Knuth.
25808         "value of type" -> "type or expression" in comment.
25809         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
25810
25811 2005-03-26  Jim Meyering  <jim@meyering.net>
25812
25813         Comment nits.
25814         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
25815         Correct typos: s/or/of/.
25816
25817 2005-03-26  Jim Meyering  <jim@meyering.net>
25818
25819         * modules/check-include-files: Move to ../ and rename to...
25820         * check-module: ...this.
25821
25822 2005-03-25  Jim Meyering  <jim@meyering.net>
25823
25824         * modules/xvasprintf (Files): Add xalloc.h.
25825
25826 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
25827
25828         * modules/gettext (Files): config/config.rpath ->
25829         build-aux/config.rpath
25830         * modules/iconv (Files): Likewise.
25831         Problem reported by Oskar Liljeblad.
25832
25833 2005-03-23  Jim Meyering  <jim@meyering.net>
25834
25835         * modules/check-include-files: New script to check for
25836         missing dependencies, multiple includes, etc.
25837
25838         * modules/c-strtold (Depends-on): Add xalloc.
25839         * modules/c-strtod (Depends-on): Add xalloc.
25840         * modules/hash (Depends-on): Add xalloc.
25841         (Files): Remove lib/xalloc.h.
25842
25843         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
25844         * modules/userspec (Files): Add lib/inttostr.h.
25845
25846 2005-03-23  Jim Meyering  <jim@meyering.net>
25847
25848         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
25849
25850 2005-03-22  Jim Meyering  <jim@meyering.net>
25851
25852         * modules/stat-macros: New module.
25853         * modules/canonicalize, modules/euidaccess, modules/file-type,
25854         * modules/filemode, modules/lchown, modules/makepath,
25855         * modules/rmdir, modules/stat: Depend on new stat-macros module
25856         rather than listing lib/stat-macros.h manually.
25857         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
25858
25859 2005-03-22  Jim Meyering  <jim@meyering.net>
25860
25861         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
25862
25863 2005-03-22  Bruno Haible  <bruno@clisp.org>
25864
25865         * config/srclist.txt: Replace target directory 'config' with
25866         'build-aux'.
25867         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
25868         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
25869         ../build-aux/.
25870
25871 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
25872
25873         * modules/chdir-long (Depends-on): Add mempcpy.
25874
25875         * modules/acl, modules/backupfile, modules/c-strtod,
25876         modules/c-strtold, modules/canon-host, modules/canonicalize,
25877         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
25878         modules/exclude, modules/exitfail, modules/file-type,
25879         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
25880         modules/getdate, modules/getline, modules/getpagesize,
25881         modules/getpass, modules/getugroups, modules/group-member,
25882         modules/hard-locale, modules/hash, modules/human, modules/idcache,
25883         modules/inttostr, modules/long-options, modules/makepath,
25884         modules/md5, modules/memcasecmp, modules/memcoll,
25885         modules/modechange, modules/mountlist, modules/path-concat,
25886         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
25887         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
25888         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
25889         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
25890         modules/strftime, modules/strndup, modules/strverscmp,
25891         modules/timespec, modules/unlocked-io, modules/userspec,
25892         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
25893         modules/yesno:
25894         Remove lib_SOURCES line from Makefile.am section, as this is now
25895         done automatically by the corresponding Autoconf macro.
25896
25897 2005-03-21  Jim Meyering  <jim@meyering.net>
25898
25899         Changes imported from coreutils.
25900
25901         * lib/cycle-check.c: Don't include xalloc.h.
25902
25903         * lib/path-concat.c: Don't include assert.h.
25904         (path_concat): Remove assertion that would have triggered
25905         for ABASE starting with more than one slash.
25906         Reported by Andreas Schwab.
25907
25908         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
25909         properly when ABASE is an absolute file name.
25910         Correct the description of this function.
25911         Include <assert.h>.
25912         Add an assertion and a test driver.
25913         This fixes a bug introduced on 2004-07-02.
25914         Andreas Schwab reported the resulting failure of cp --parents:
25915         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
25916
25917 2005-03-21  Jim Meyering  <jim@meyering.net>
25918
25919         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
25920         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
25921
25922 2005-03-21  Jim Meyering  <jim@meyering.net>
25923         and  Paul Eggert  <eggert@cs.ucla.edu>
25924
25925         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
25926         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
25927         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
25928         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
25929         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
25930         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
25931         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
25932         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
25933         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
25934         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
25935         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
25936         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
25937         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
25938         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
25939         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
25940         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
25941         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
25942         for these modules.
25943
25944 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
25945
25946         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
25947         (which shouldn't happen), generate nothing instead of returning 0
25948         immediately, so that nstrftime (NULL, ...) doesn't return 0.
25949
25950 2005-03-16  Bruno Haible  <bruno@clisp.org>
25951
25952         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
25953         HAVE_LONGLONG_64BIT.
25954
25955 2005-03-16  Bruno Haible  <bruno@clisp.org>
25956
25957         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
25958         HAVE_LONGLONG_64BIT.
25959
25960 2005-03-16  Bruno Haible  <bruno@clisp.org>
25961
25962         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
25963         HAVE_LONGLONG_64BIT.
25964
25965 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
25966
25967         * lib/strftime.c (my_strftime): Prepend space to format so that we can
25968         reliably distinguish strftime failure from empty output on POSIX
25969         hosts.
25970
25971 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
25972
25973         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
25974         (iconv_string): Don't guess a size-zero buffer, as that might cause
25975         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
25976         result would be 'too large', where 'too large' is (heuristically)
25977         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
25978         overflow concerns.  This will prevent some unwanted malloc failures
25979         when the inputs are very large.
25980
25981 2005-03-15  Karl Berry  <karl@gnu.org>
25982
25983         * config/srclist.txt (config.rpath): from gettext.
25984         * config/config.rpath: update.
25985
25986 2005-03-15  Bruno Haible  <bruno@clisp.org>
25987
25988         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
25989         to 'negate'.
25990
25991         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
25992         variable.
25993
25994         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
25995         results.
25996
25997 2005-03-14  Simon Josefsson  <jas@extundo.com>
25998
25999         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
26000         <fx@gnu.org>.
26001
26002 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
26003
26004         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
26005         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
26006         intprops.h.
26007         * lib/strtol.c: Likewise.
26008
26009 2005-03-14  Jim Meyering  <jim@meyering.net>
26010
26011         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
26012         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
26013         to be nonzero so that we (and caller) can detect the difference
26014         between a valid zero-length expansion and an error return, even
26015         when the underlying strftime fails before writing anything into
26016         that location.
26017
26018 2005-03-14  Bruno Haible  <bruno@clisp.org>
26019
26020         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
26021         Update from GNU gettext 0.14.3.
26022
26023 2005-03-10  Jim Meyering  <jim@meyering.net>
26024
26025         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
26026
26027 2005-03-10  Jim Meyering  <jim@meyering.net>
26028
26029         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
26030         so that this module works on systems without fchdir.
26031
26032 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
26033
26034         Factor int-properties macros into a single file, except for
26035         glibc-related files.
26036         * lib/intprops.h: New file.
26037         * lib/getloadavg.c: Include it instead of limits.h.
26038         (INT_STRLEN_BOUND): Remove.
26039         * lib/human.c: Include intprops.h.
26040         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
26041         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
26042         302/1000.
26043         * lib/inttostr.h: Include intprops.h instead of limits.h.
26044         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
26045         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
26046         for consistency with intprops.h.
26047         (time_t_is_integer, twos_complement_arithmetic): Use them.
26048         * lib/sig2str.h: Include <signal.h>, intprops.h.
26049         (INT_STRLEN_BOUND): Remove.
26050         * lib/strftime.c (TYPE_SIGNED): Remove.
26051         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
26052         * lib/strtol.c: Adjust comments to match intprops.h.
26053         * lib/userspec.c: Include intprops.h.
26054         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
26055         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
26056         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
26057         instead of rolling our own expressions.
26058         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
26059
26060         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
26061         instead of int.
26062         (my_strftime): Do not mishandle years close to INT_MAX, by doing
26063         the right thing even if adding 1900 would overflow.  Similarly
26064         for tm_mon + 1 and tm_yday + 1.
26065         Make %Y always equivalent to %C%y, and similarly for %G and %g.
26066         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
26067         (DO_SIGNED_NUMBER): New macro.
26068         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
26069
26070 2005-03-07  Bruno Haible  <bruno@clisp.org>
26071
26072         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
26073
26074 2005-03-07  Bruno Haible  <bruno@clisp.org>
26075
26076         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
26077
26078 2005-03-04  Derek R. Price  <derek@ximbiot.com>
26079
26080         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
26081         (func_import): Only replace files via --import when they have actually
26082         changed.
26083
26084 2005-03-03  Derek R. Price  <derek@ximbiot.com>
26085
26086         * m4/mmap-anon.m4: New file.
26087         * m4/pagealign_alloc.m4: New file.
26088
26089 2005-03-03  Derek R. Price  <derek@ximbiot.com>
26090             Bruno Haible  <bruno@clisp.org>
26091
26092         * modules/pagealign_alloc: New file.
26093         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
26094
26095 2005-03-03  Derek R. Price  <derek@ximbiot.com>
26096             Bruno Haible  <bruno@clisp.org>
26097
26098         * lib/pagealign_alloc.h: New file.
26099         * lib/pagealign_alloc.c: New file.
26100
26101 2005-03-03  Bruno Haible  <bruno@clisp.org>
26102
26103         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
26104         Use an all-permissive copyright notice, recommended by RMS.
26105
26106 2005-03-02  Bruno Haible  <bruno@clisp.org>
26107
26108         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
26109         of AIX, the replacement has to be done only after <string.h> is
26110         included, therefore not in config.h. stpncpy.h does the replacement,
26111         and stpncpy.c uses it.
26112
26113 2005-03-02  Bruno Haible  <bruno@clisp.org>
26114
26115         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
26116         stpncpy.c uses it.
26117
26118 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
26119
26120         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
26121         The workaround isn't strictly needed for POSIX conformance, and
26122         it's too much of a pain to configure and maintain.  We'll ask
26123         people to fix their kernels instead.
26124         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
26125         (NANOSLEEP_BUG_WORKAROUND): Remove.
26126         (xnanosleep): Remove the workaround.
26127
26128 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
26129
26130         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
26131         Reported by Derek Price.
26132         (Include): Add "timespec.h".
26133
26134         * modules/xnanosleep (Depends-on): Remove gethrxtime.
26135
26136 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
26137
26138         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
26139         to detect nanosleep bug.
26140
26141 2005-03-01  Bruno Haible  <bruno@clisp.org>
26142
26143         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
26144
26145 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
26146
26147         * modules/gethrxtime: New file.
26148         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
26149         (Depends-on): Add gethrxtime.
26150         (configure.ac): Add gl_XNANOSLEEP.
26151         (Makefile.am): Remove lib_SOURCES line.
26152
26153 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
26154
26155         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
26156         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
26157
26158 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
26159
26160         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
26161         * lib/timespec.h (gettime): Return void, since it always
26162         succeeds now.  All uses changed.
26163         * lib/gettime.c (gettime) Likewise.
26164         [HAVE_NANOTIME]: Prefer nanotime.
26165         Assume gettimeofday succeeds, as POSIX requires.
26166         Assime time () succeeds, since other code already does.
26167         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
26168         (timespec_subtract): Remove.
26169         (NANOSLEEP_BUG_WORKAROUND): New constant.
26170         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
26171         things considerably.  Use it only on GNU/Linux hosts, since the
26172         workaround shouldn't be needed elsewhere.
26173
26174 2005-02-24  Bruno Haible  <bruno@clisp.org>
26175
26176         * modules/gettext (Files): Add m4/glibc2.m4.
26177
26178 2005-02-24  Bruno Haible  <bruno@clisp.org>
26179
26180         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
26181         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
26182         * m4/progtest.m4:
26183         Update from GNU gettext 0.14.2.
26184         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
26185
26186 2005-02-24  Bruno Haible  <bruno@clisp.org>
26187
26188         * lib/localcharset.c: Update from GNU gettext 0.14.2.
26189         * lib/config.charset: Update from GNU gettext 0.14.2.
26190
26191 2005-02-24  Bruno Haible  <bruno@clisp.org>
26192
26193         * lib/gettext.h: Update from GNU gettext 0.14.2.
26194
26195 2005-02-23  Simon Josefsson  <jas@extundo.com>
26196
26197         * m4/iconvme.m4: New file.
26198
26199 2005-02-23  Jim Meyering  <jim@meyering.net>
26200
26201         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
26202         change.
26203         Thanks to Bruno Haible for catching it.
26204
26205 2005-02-22  Simon Josefsson  <jas@extundo.com>
26206
26207         * modules/iconvme: New file.
26208
26209         * MODULES.html.sh: Add iconvme.
26210
26211 2005-02-22  Simon Josefsson  <jas@extundo.com>
26212
26213         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
26214
26215 2005-02-22  Simon Josefsson  <jas@extundo.com>
26216
26217         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
26218
26219 2005-02-22  Jim Meyering  <jim@meyering.net>
26220
26221         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
26222         s/ifndef/ifdef/.
26223
26224 2005-02-20  Neil Conway  <neilc@samurai.com>
26225
26226         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
26227         returned by OSX/Darwin if the specified buffer is not large
26228         enough for the hostname.
26229
26230 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
26231
26232         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
26233         pass it to _help, otherwise the latter coredumps trying to
26234         dereference state.root_argp.
26235
26236 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
26237
26238         * modules/chdir-long (Depends-on): Add memrchr.
26239         * modules/memrchr (Files): Add lib/memrchr.h.
26240         (Include): "memrchr.h".
26241
26242 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
26243
26244         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
26245
26246 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
26247
26248         * lib/memrchr.h: New file.
26249         * lib/chdir-long.c: Include it.
26250         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
26251         Don't bother including stddef.h.
26252
26253 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
26254
26255         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
26256         inclusion.
26257         Include <sys/types.h>, for dev_t.
26258         (ME_DUMMY, ME_REMOTE): Move from here....
26259         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
26260         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
26261         Dmitry V. Levin.
26262         Include mountlist.h first, to test the interface.
26263
26264 2005-01-29  Bruno Haible  <bruno@clisp.org>
26265
26266         * lib/progname.c (program_name): Initialize.
26267         Needed when linking statically on MacOS X.
26268
26269 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
26270
26271         Sync from coreutils.
26272         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
26273         (Depends-on): Add c-strtod.
26274         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
26275
26276 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
26277
26278         Sync from coreutils.
26279         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
26280
26281         Remove files that are specific to coreutils.
26282         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
26283
26284 2005-01-28  Bruno Haible  <bruno@clisp.org>
26285
26286         * modules/javacomp: New file.
26287         * MODULES.html.sh (Java): Add javacomp.
26288
26289 2005-01-28  Bruno Haible  <bruno@clisp.org>
26290
26291         * m4/javacomp.m4: New file, from GNU gettext.
26292
26293 2005-01-28  Bruno Haible  <bruno@clisp.org>
26294
26295         * lib/javacomp.sh.in: New file, from GNU gettext.
26296         * lib/javacomp.h: New file, from GNU gettext.
26297         * lib/javacomp.c: New file, from GNU gettext.
26298
26299 2005-01-26  Simon Josefsson  <jas@extundo.com>
26300
26301         * lib/gai_strerror.c: Use GPL in header.
26302
26303 2005-01-26  Bruno Haible  <bruno@clisp.org>
26304
26305         * modules/javaexec: New file.
26306         * MODULES.html.sh (Java): Add javaexec.
26307
26308 2005-01-26  Bruno Haible  <bruno@clisp.org>
26309
26310         * m4/javaexec.m4: New file, from GNU gettext.
26311
26312 2005-01-26  Bruno Haible  <bruno@clisp.org>
26313
26314         * lib/javaexec.sh.in: New file, from GNU gettext.
26315         * lib/javaexec.h: New file, from GNU gettext.
26316         * lib/javaexec.c: New file, from GNU gettext.
26317
26318 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
26319
26320         * modules/lchown (Depends-on): Remove lchown.h
26321
26322 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
26323
26324         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
26325         must be defined if the header file was not found, in order
26326         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
26327
26328 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
26329
26330         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
26331         initializers for struct pentry_state.
26332         (__argp_error): Check return value of __asprintf
26333         (__argp_failure): Translate error message
26334
26335         * lib/argp-parse.c: Removed braces around the expansion of N_()
26336
26337 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
26338
26339         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
26340         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
26341         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
26342         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
26343         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
26344         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
26345         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
26346         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
26347         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
26348         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
26349         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
26350         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
26351         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
26352         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
26353         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
26354         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
26355         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
26356         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
26357         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
26358         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
26359         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
26360         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
26361         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
26362         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
26363         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
26364         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
26365         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
26366         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
26367         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
26368         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
26369         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
26370         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
26371         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
26372         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
26373         xstrtol.m4, xstrtoumax.m4, yesno.m4:
26374         Use an all-permissive copyright notice, recommended by RMS.
26375
26376 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
26377
26378         * modules/chdir-long (Depends-on): Remove mempcpy.
26379
26380 2005-01-21  Jim Meyering  <jim@meyering.net>
26381
26382         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
26383         same value as for Solaris 9.
26384
26385         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
26386         component length.  This included changing the parameter to be
26387         of type `char *' rather than `char const *'.
26388         * lib/chdir-long.h (chdir_long): Update prototype.
26389
26390         * lib/openat.c (fdopendir, fstatat): New functions.
26391         * lib/openat.h: Include headers required for use of DIR and struct
26392         stat.
26393         [AT_SYMLINK_NOFOLLOW]: Define.
26394         (fdopendir, fstatat): Add prototypes.
26395
26396 2005-01-21  Bruno Haible  <bruno@clisp.org>
26397
26398         * modules/classpath: New file.
26399         * MODULES.html.sh (Java): Add classpath.
26400
26401 2005-01-21  Bruno Haible  <bruno@clisp.org>
26402
26403         * lib/classpath.h: New file, from GNU gettext.
26404         * lib/classpath.c: New file, from GNU gettext.
26405
26406 2005-01-20  Simon Josefsson  <jas@extundo.com>
26407
26408         * modules/version-etc-fsf: New file.
26409
26410 2005-01-20  Simon Josefsson  <jas@extundo.com>
26411
26412         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
26413         * lib/version-etc.c: Remove version_etc_copyright.
26414         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
26415         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
26416
26417 2005-01-20  Simon Josefsson  <jas@extundo.com>
26418
26419         * lib/base64.h (isbase64): Add.
26420
26421         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
26422         using a unsigned prototype, don't inline.
26423         (base64_decode): Use it.
26424
26425 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
26426
26427         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
26428         it.
26429
26430 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
26431
26432         * lib/save-cwd.c (save_cwd): Remove code to support the case
26433         where fchdir is missing or flaky.
26434
26435 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
26436
26437         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
26438
26439 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
26440
26441         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
26442         AC_LIBSOURCES now does this.
26443         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
26444         with new ullong_max module.
26445
26446 2005-01-19  Bruno Haible  <bruno@clisp.org>
26447
26448         * modules/sh-quote: New file.
26449         * MODULES.html.sh (Executing programs): Add sh-quote.
26450
26451 2005-01-19  Bruno Haible  <bruno@clisp.org>
26452
26453         * lib/sh-quote.h: New file, from GNU gettext.
26454         * lib/sh-quote.c: New file, from GNU gettext.
26455
26456 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
26457
26458         Merge from coreutils.
26459         * m4/ullong_max.m4: New file.
26460         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
26461         (gl_MACROS): Assume localeconv exists.
26462
26463 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
26464
26465         Merge changes from coreutils, as described below in several
26466         changelogs dated today.
26467
26468         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
26469         (O_DIRECTORY): Remove; not needed here, since "." must be
26470         a directory.  All uses removed.
26471         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
26472         universal on Suns, and we also need to test for IRIX.
26473         Revamp code to use 'if' rather than '#if'.
26474         Avoid unnecessary comparison of cwd->desc to 0.
26475
26476         * lib/utimens.c (futimens): Robustify the previous patch, by checking
26477         for known valid error numbers rather than observed invalid ones.
26478
26479 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
26480
26481         * modules/ullong_max: New file.
26482
26483         * modules/chdir-long, modules/openat: New files.
26484         * modules/save-cwd (Depends-on): Depend on chdir-long.
26485         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
26486
26487 2005-01-18  Jim Meyering  <jim@meyering.net>
26488
26489         Merge from coreutils.
26490         * m4/chdir-long.m4, m4/openat.m4: New files.
26491         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
26492         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
26493         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
26494         is sane and DOES follow symlinks.  Besides, testing 20 different
26495         systems found no broken chown implementations.
26496         Prompted by a change in rsync's copy of this macro.
26497         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
26498
26499         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
26500
26501         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
26502         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
26503         NULL-means-set-to-current-time semantics.
26504         Remove temporary file immediately, rather than waiting
26505         for configure's at-exit trap code to do it.
26506
26507 2005-01-18  Jim Meyering  <jim@meyering.net>
26508
26509         * lib/version-etc.c (version_etc_copyright): Update copyright date.
26510
26511         * lib/utimens.c (futimens): Account for the fact that futimes
26512         can also fail with errno == ENOSYS or errno == ENOENT.
26513         Patch from Dmitry V. Levin.
26514
26515         Change the name of the robust chdir function from chdir to chdir_long.
26516         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
26517         (restore_cwd): Use chdir_long, not chdir.
26518         * lib/chdir-long.c: Renamed from chdir.c.
26519         * lib/chdir-long.h: Renamed from chdir.h.
26520         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
26521         Hurd.
26522
26523 2005-01-18  Bruno Haible  <bruno@clisp.org>
26524
26525         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
26526         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
26527         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
26528         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
26529         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
26530         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
26531         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
26532         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
26533         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
26534         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
26535         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
26536         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
26537         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
26538         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
26539         Use an all-permissive copyright notice, recommended by RMS.
26540
26541 2005-01-18  Bob Proulx  <bob@proulx.com>
26542
26543         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
26544         simplify offsetof() macro construct to avoid compile failure with
26545         native HP-UX 11.0 ANSI C compiler.
26546
26547 2005-01-17  Bruno Haible  <bruno@clisp.org>
26548
26549         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
26550         redundant because stpncpy.m4 takes care of it.
26551
26552 2005-01-17  Bruno Haible  <bruno@clisp.org>
26553
26554         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
26555
26556 2005-01-17  Bruno Haible  <bruno@clisp.org>
26557
26558         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
26559         used.
26560
26561 2005-01-17  Bruno Haible  <bruno@clisp.org>
26562
26563         * lib/fwriteerror.h (fwriteerror): Change specification to include
26564         fclose.
26565         * lib/fwriteerror.c: Include <stdbool.h>.
26566         (fwriteerror): At the end, close the file stream. Record whether
26567         stdout was already closed.
26568
26569 2005-01-17  Bruno Haible  <bruno@clisp.org>
26570
26571         * lib/execute.c (environ): Declare if needed.
26572         * lib/pipe.c (environ): Likewise.
26573         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
26574
26575 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
26576
26577         * modules/argp: Depend on vsnprintf
26578
26579 2005-01-10  Jim Meyering  <jim@meyering.net>
26580
26581         * modules/closeout (Depends-on): Add atexit.
26582
26583 2005-01-06  Bruno Haible  <bruno@clisp.org>
26584
26585         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
26586
26587 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
26588
26589         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
26590         definitions to be after all include files, to avoid collisions.
26591         Problem reported by Bob Proulx.
26592
26593 2005-01-04  Jim Meyering  <jim@meyering.net>
26594
26595         Changes imported from coreutils.
26596         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
26597         as the mkstemp template, use a temporary directory and an
26598         8.3-friendly template to avoid trouble on systems like DJGPP.
26599         Reported by Juan M. Guerrero via Stepan Kasal.
26600         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
26601         close. Remove the temporary directory right away, rather than waiting
26602         for configure's at-exit trap code to do it.
26603         Suggestion from Stepan Kasal.
26604
26605 2005-01-01  Simon Josefsson  <jas@extundo.com>
26606
26607         * gnulib-tool: Print #include directives when --import'ing.
26608
26609 2004-12-28  Simon Josefsson  <jas@extundo.com>
26610
26611         * tests/test-base64.c: Include required header files.  Remove
26612         unused variables.
26613
26614 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
26615
26616         * modules/error (Depends-on): Remove gettext.
26617
26618 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
26619
26620         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
26621         not needed.  This removes a dependency on the gettext module.
26622         [defined _LIBC]: Do not include <libintl.h>; not needed.
26623
26624 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
26625
26626         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
26627         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
26628
26629 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
26630
26631         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
26632         HAVE_DECL_STRTOLD.
26633
26634 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
26635
26636         * modules/getdate (Depends-on): Remove alloca-opt.
26637
26638 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
26639
26640         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
26641
26642 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
26643
26644         * lib/argp-parse.c: Include <stddef.h>.
26645         (alignof, alignto): New macros.
26646         (parser_init): Don't assume that void * is aligned sufficiently
26647         for struct option.
26648
26649         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
26650         need to extend the stack.
26651         (YYINITDEPTH): New macro, so that the initial stack isn't overly
26652         large.
26653
26654 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
26655
26656         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
26657
26658 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
26659
26660         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
26661         (2004-10-24) change.  Apparently this was a false alarm.
26662
26663         * modules/getdate: Depend on alloca-opt, not alloca.
26664
26665 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
26666
26667         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
26668         Remove now-obsolete comment about AIX.
26669         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
26670         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
26671         (YYMAXDEPTH): New macro.
26672
26673 2004-12-18  Simon Josefsson  <jas@extundo.com>
26674
26675         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
26676
26677 2004-12-18  Bruno Haible  <bruno@clisp.org>
26678
26679         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
26680
26681 2004-12-18  Bruno Haible  <bruno@clisp.org>
26682
26683         * lib/fatal-signal.c (fatal_signals): Make non-const.
26684         (init_fatal_signals): New function.
26685         (uninstall_handlers, install_handlers): Ignore signals that were set to
26686         SIG_IGN.
26687         (at_fatal_signal): Call init_fatal_signals.
26688         (init_fatal_signal_set): Likewise. Ignore signals that were set to
26689         SIG_IGN.
26690         Reported by Paul Eggert.
26691
26692 2004-12-18  Bruno Haible  <bruno@clisp.org>
26693
26694         * doc/alloca.texi: New file.
26695         * doc/alloca-opt.texi: New file.
26696
26697 2004-12-17  Jim Meyering  <jim@meyering.net>
26698
26699         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
26700         Otherwise, install-sh could exit with improper exit status when
26701         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
26702
26703 2004-12-16  Simon Josefsson  <jas@extundo.com>
26704
26705         * tests/test-base64.c: Add license.
26706
26707 2004-12-15  Stepan Kasal  <address@hidden>
26708
26709         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
26710
26711 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
26712
26713         * modules/getcwd (Files): Add m4/d-ino.m4.
26714         Suggested by Mark D. Baushke.
26715
26716 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
26717
26718         * lib/getdate.y (textint): New member "negative".
26719         (time_zone_hhmm): New function.
26720         Expect 14 shift-reduce conflicts, not 13.
26721         (o_colon_minutes): New rule.
26722         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
26723         (yylex): Set the "negative" member of signed numbers.
26724
26725 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
26726
26727         * doc/getdate.texi (Time of day items, Time zone items):
26728         Describe new formats +00:00, UTC+00:00.
26729
26730 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
26731
26732         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
26733         spurious "-l"s.  Problem reported by Stepan Kasal.
26734
26735 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
26736
26737         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
26738         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
26739
26740 2004-12-04  Simon Josefsson  <jas@extundo.com>
26741
26742         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
26743         Vandoorselaere <yoann@prelude-ids.org>.
26744
26745 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
26746
26747         Changes imported from coreutils.
26748         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
26749         exist.
26750         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
26751
26752 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
26753
26754         Changes imported from coreutils.
26755         * lib/hard-locale.c: Assume <locale.h> exists.
26756         Include "strdup.h".
26757         (GLIBC_VERSION): New macro.
26758         (hard_locale): Assume setlocale exists.
26759         Rewrite to avoid #ifdef.
26760         Use strdup rather than malloc + strcpy.
26761         * lib/human.c: Assume <locale.h> exists.
26762         (human_readable): Assume localeconv exists.
26763
26764 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
26765
26766         * modules/hard-locale (Depends-on): Add strdup.
26767
26768 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
26769
26770         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
26771         convert T2, not T.  (Imported from libc.)
26772
26773 2004-11-30  Simon Josefsson  <jas@extundo.com>
26774
26775         * modules/restrict (License): Change to LGPL.
26776
26777 2004-11-30  Simon Josefsson  <jas@extundo.com>
26778
26779         * m4/restrict.m4: Add copyright and copying conditions.
26780
26781 2004-11-30  Simon Josefsson  <jas@extundo.com>
26782
26783         * m4/base64.m4: New file.
26784
26785 2004-11-30  Simon Josefsson  <jas@extundo.com>
26786
26787         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
26788         base64.
26789
26790         * tests/test-base64.c: New file.
26791
26792         * modules/base64: New file.
26793
26794 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
26795
26796         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
26797         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
26798
26799         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
26800
26801 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
26802
26803         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
26804         (__getcwd.c): Don't restore errno; glibc doesn't.
26805         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
26806         first, falling back to our code only if its results look suspicious.
26807         Ensure that the resulting buffer is only as large as necessary.
26808
26809         * lib/readutmp.c: Include readutmp.h first.
26810         Include <errno.h>, since readutmp.h no longer does that.
26811         * lib/readutmp.h: Don't include <errno.h>,
26812         <sys/param.h>, <time.h>; not needed to establish interface.
26813         (errno): Remove decl.
26814         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
26815         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
26816         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
26817
26818 2004-11-28  Simon Josefsson  <jas@extundo.com>
26819
26820         * lib/base64.h, base64.c: New file.
26821
26822 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
26823
26824         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
26825
26826 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
26827
26828         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
26829         (Depends-on): Remove pathmax, same.  Add mempcpy.
26830         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
26831         (Makefile.am): Append getcwd.h to lib_SOURCES.
26832         (Include): Add getcwd.h.
26833         (Maintainer): Change from Jim Meyering to "all, glibc",
26834         since getdate now uses intended-for-glibc code.
26835         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
26836         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
26837
26838 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
26839
26840         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
26841         HP's ANSI C compiler.
26842         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
26843         Declaring int functions causes warnings on some modern systems and
26844         shouldn't be needed to compile on ancient ones.
26845         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
26846         defined.
26847
26848         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
26849         with the following changes.
26850         (__set_errno): Parenthesize properly.
26851         Include <stdbool.h>.
26852         (MIN, MAX, MATCHING_INO): New macros.
26853         (__getcwd): Define with prototype, not K&R form.
26854         Use heuristics to allocate default buffer on stack if possible.
26855         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
26856         behavior, and to avoid the PATH_MAX limit when computing
26857         ../../../../...
26858         Use MATCHING_INO to compare inode number to file.
26859         Check for arithmetic overflow in size calculations.
26860         Fix bug in reallocation of dot array that caused getcwd to fail
26861         on directories nested deeper than 75.
26862         Be more careful about saving errno on error.
26863         Do not use realloc; use only free+malloc, as this is a bit
26864         more flexible and avoids a needless copy operation.
26865         Do not inspect st_dev and st_ino for symbolic links; POSIX
26866         doesn't specify the latter.
26867         Check for closedir errors.
26868         Avoid needless casts.
26869         Use "#ifdef weak_alias" around weak_alias, to be like other
26870         glibc code.
26871         The following changes to getcwd.c have effect only when used in
26872         gnulib; they have no effect inside glibc proper.
26873         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
26874         as alloca isn't used.
26875         (alloca, __alloca): Likewise.
26876         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
26877         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
26878         unconditionally, as gnulib assumes C89 or better.
26879         Do not include <sys/param.h>.
26880         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
26881         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
26882         better.
26883         (NULL) [!defined NULL]: Remove; we assume C89 or better.
26884         Include <dirent.h> in a way that is compatible with modern Autoconf.
26885         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
26886         New macros, if not already defined.
26887         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
26888         Use "_LIBC", not "defined _LIBC", for consistency.
26889         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
26890         a mempcpy module.
26891         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
26892         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
26893         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
26894         credit only to Jim Meyering and adjust the copyright dates.
26895         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
26896         <stdlib.h>, <unistd.h>, "pathmax.h".
26897         Instead, include "xgetcwd.h" (first) and "getcwd.h".
26898         (INITIAL_BUFFER_SIZE): Remove.
26899         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
26900
26901 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
26902
26903         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
26904         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
26905         Use the _ONCE methods, for efficiency.
26906         Check for fcntl.h.  In test program, include <errno.h>
26907         and <fcntl.h> if available.  Remove old K&R cruft from
26908         test program.  Check for common errors in GNU/Linux,
26909         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
26910         don't do AC_LIBOBJ, as that's getcwd.m4's job.
26911         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
26912         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
26913         name accordingly.
26914         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
26915         accommodate new getcwd.c.
26916         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
26917         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
26918         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
26919         that's all we need now.
26920
26921 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
26922
26923         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
26924         argp-parse.c depends on getopt internals, that means we should
26925         always use our getopt, to be on the safe side.
26926         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
26927         order not to spoil the result of an eventual previous invocation
26928         of gl_GETOPT_SUBSTITUTE.
26929
26930 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
26931
26932         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
26933         redefinition warnings. To avoid them, include the defines
26934         in `#if !defined __need_getopt ... #endif'. The only place
26935         where __getopt_argv_const is used is in definitions
26936         of getopt_long and getopt_long_only below, which are as well
26937         protected by `#ifndef __need_getopt'.
26938         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
26939         __need_getopt after including <stdio.h> and <unistd.h> These
26940         headers might have defined it.
26941
26942 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
26943
26944         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
26945
26946 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
26947
26948         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
26949         (futimens): New function, which uses futimes if available.
26950         (futimens, utimens): Support timespec==NULL, with same semantics
26951         as utime and utimens.
26952         * lib/utimens.h (futimens): New decl.
26953
26954 2004-11-23  Jim Meyering  <jim@meyering.net>
26955
26956         * lib/getopt_.h: Remove trailing blanks.
26957
26958 2004-11-23  Jim Meyering  <jim@meyering.net>
26959
26960         * lib/__fpending.c: Add comment.
26961
26962 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
26963
26964         * modules/canonicalize (Depends-on): Add xreadlink.
26965         Problem reported by James Youngman.
26966
26967 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
26968
26969         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
26970         New macros.
26971         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
26972         optopt): Use them instead of invoking ## directly; otherwise, the
26973         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
26974
26975 2004-11-19  Bruno Haible  <bruno@clisp.org>
26976
26977         * lib/strtok_r.c: Move comments from here...
26978         * lib/strtok_r.h: ... to here.
26979
26980 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
26981
26982         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
26983         implementations that mishandle size_t overflow.
26984
26985 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
26986
26987         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
26988         might fail.  Problem reported by Yoann Vandoorselaere.
26989         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
26990         implementations that mishandle size_t overflow.
26991
26992 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
26993
26994         * modules/canon-host (Depends-on): Add strdup.
26995
26996 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
26997
26998         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
26999
27000 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
27001
27002         * lib/canon-host.c: Include "strdup.h".
27003         (canon_host): Use getaddrinfo if available, so that IPv6 works.
27004         Use strdup instead of malloc/strcpy to duplicate strings.
27005
27006         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
27007         (human_space_before_unit): New constant.
27008         * lib/human.c (human_readable): Support it.
27009
27010         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
27011         (xgetcwd): Set errno correctly when failing.
27012         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
27013         the failure is actually due to a PATH_MAX problem.
27014
27015         Further getopt changes to make it more likely that glibc will
27016         buy the changes back.
27017         * lib/getopt.c (POSIXLY_CORRECT): New constant.
27018         (getopt): Use it, so to preserve glibc semantic
27019         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
27020         when compiling for libc.
27021         * lib/getopt_.h (__getopt_argv_const): Bring it back.
27022         (getopt_long, getopt_long_only): Use it.
27023
27024         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
27025         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
27026         (getopt): Argv is now char * const *, as per standard.
27027         (_getopt_internal_r, _getopt_internal): Argv is now char **,
27028         not char *__getopt_argv_const *.
27029         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
27030         _getopt_long_only_r): Likewise.
27031         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
27032         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
27033         _getopt_long_r, _getopt_long_only_r): Likewise.
27034         * lib/getopt_.h (__getopt_argv_const): Remove.
27035         (getopt): Argv is now char * const *, as per standard.
27036
27037         * lib/getdate.y (tORDINAL): New token.
27038         (day, relunit): Allow it for relative times.
27039         (relative_time_table): Use tORDINAL for ordinals.
27040
27041 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
27042
27043         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
27044         Document that "second" isn't allowed as an ordinal number.
27045
27046 2004-11-16  Jim Meyering  <jim@meyering.net>
27047
27048         * modules/closeout (Depends-on): Add fpending.
27049
27050 2004-11-15  Jim Meyering  <jim@meyering.net>
27051
27052         * lib/closeout.c: Include "__fpending.h" once again.
27053         Include <stdbool.h>.
27054         (close_stdout): Don't fail just because stdout was closed initially,
27055         since some programs don't write to stdout in the normal course of
27056         operation (other than --version and --help), and we don't want this
27057         function to make e.g. `touch file >&-' fail.
27058         But do fail if it was closed and someone has tried to write to it.
27059         E.g., `printf foo >&-' must fail.
27060
27061 2004-11-13  Jim Meyering  <jim@meyering.net>
27062
27063         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
27064
27065 2004-11-12  Simon Josefsson  <jas@extundo.com>
27066
27067         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
27068         small doc fix is still pending.
27069
27070 2004-11-11  Simon Josefsson  <jas@extundo.com>
27071
27072         * modules/strtok_r: New file.
27073
27074         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
27075         strtok_r.
27076
27077 2004-11-11  Simon Josefsson  <jas@extundo.com>
27078
27079         * m4/strtok_r.m4: New file.
27080
27081         * m4/getopt.m4: Replace opterr.
27082
27083 2004-11-11  Simon Josefsson  <jas@extundo.com>
27084
27085         * lib/strtok_r.h, strtok_r.c: New file.
27086
27087 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
27088
27089         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
27090         of replacing opterr, getopt, etc.  This should handle the
27091         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
27092
27093 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
27094
27095         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
27096         we can stop lying to compilers about the constness of argv when we
27097         are compiled outside glibc.
27098         (getopt, getopt_long, getopt_long_only): Use it.
27099         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
27100         _getopt_internal, getopt): Likewise.
27101         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
27102         _getopt_long_only_r): Likewise.
27103         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
27104         _getopt_long_r, _getopt_long_only_r): Likewise.
27105
27106         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
27107         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
27108         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
27109         the other external symbols.
27110         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
27111         declaration, since the above renaming now works around collisions.
27112
27113 2004-11-11  Jim Meyering  <jim@meyering.net>
27114
27115         * lib/linebreak.c: Remove trailing blanks.
27116         * lib/alloca_.h: Likewise.
27117         * lib/acosl.c: Likewise.
27118         * lib/euidaccess.c: Likewise.
27119         * lib/allocsa.h: Likewise.
27120
27121 2004-11-10  Simon Josefsson  <jas@extundo.com>
27122
27123         * m4/getaddrinfo.m4: New file.
27124
27125 2004-11-10  Simon Josefsson  <jas@extundo.com>
27126
27127         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
27128
27129 2004-11-10  Simon Josefsson  <jas@extundo.com>
27130
27131         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
27132         getaddrinfo.
27133
27134         * modules/getaddrinfo: New file.
27135
27136 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
27137
27138         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
27139
27140 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
27141
27142         * lib/mktime.c (SHR): New macro, which is a portable
27143         substitute for >> that should work even on Crays.
27144         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
27145         Problem reported by Mark D. Baushke in
27146         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
27147         * lib/getdate.y (SHR): Likewise.
27148         (tm_diff): Use it.
27149         * lib/strftime.c (SHR): Likewise.
27150         (tm_diff): Use it.
27151         * lib/quotearg.c (struct quoting_options): Use unsigned int for
27152         quote_these_too, so that right shifts are well defined.  All uses
27153         changed.
27154
27155 2004-11-10  Jim Meyering  <jim@meyering.net>
27156
27157         Ensure that no close failure goes unreported.
27158         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
27159         return early when it seems there's nothing to flush.
27160         Don't include __fpending.h.
27161
27162 2004-11-10  Jim Meyering  <jim@meyering.net>
27163
27164         * modules/closeout (Depends-on): Remove fpending.
27165
27166 2004-11-10  Jim Meyering  <jim@meyering.net>
27167
27168         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
27169
27170 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
27171
27172         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
27173         gl_FUNC_STRFTIME.
27174         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
27175         and AC_REQUIRE when possible, to avoid duplicate checks.
27176         Check for <wchar.h>.
27177
27178 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
27179
27180         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
27181
27182 2004-11-09  Bruno Haible  <bruno@clisp.org>
27183
27184         * m4/sockpfaf.m4: New file.
27185
27186 2004-11-05  Bruno Haible  <bruno@clisp.org>
27187
27188         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
27189         Reported by Mark D. Baushke <mdb@cvshome.org>.
27190
27191 2004-11-04  Bruno Haible  <bruno@clisp.org>
27192
27193         2004-09-11  Bruno Haible  <bruno@clisp.org>
27194                 * allocsa.valgrind: New file.
27195         2004-02-06  Bruno Haible  <bruno@clisp.org>
27196                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
27197                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
27198                 Reported by Christopher Seip <chris.seip@hp.com>.
27199
27200 2004-11-04  Bruno Haible  <bruno@clisp.org>
27201
27202         * modules/allocsa (Files): Add lib/allocsa.valgrind.
27203         (Makefile.am): Distribute it.
27204
27205 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
27206
27207         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
27208         with errno == ERANGE if the buffer is too small.
27209         Problem reported by Mark D. Baushke.
27210
27211 2004-11-03  Albert Chin  <china@thewrittenword.com>
27212             Paul Eggert  <eggert@cs.ucla.edu>
27213
27214         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
27215         equivalent, substitute $ac_type for equivalent type rather than
27216         blindly using uint32_t *always* which won't work if uint32_t is not
27217         available.  Define _UINT32_T to work around typedef of uint32_t if
27218         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
27219         2.5.1.
27220
27221 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
27222
27223         * m4/jm-macros.m4: Sync from coreutils.
27224         (gl_MACROS): Check for mbrlen, for pathchk.
27225         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
27226
27227 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
27228
27229         * lib/xreadlink.c (MAXSIZE): New macro.
27230         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
27231         size does not exceed MAXSIZE.  Avoid cast.
27232         As suggested by Mark D. Baushke in
27233         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
27234         if readlink fails with buffer size just under MAXSIZE, try again
27235         with MAXSIZE.
27236
27237 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
27238
27239         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
27240
27241 2004-11-02  Derek R. Price  <derek@ximbiot.com>
27242         and  Paul Eggert  <eggert@cs.ucla.edu>
27243
27244         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
27245         (get_date): Overparenthesize to avoid GCC warning.
27246
27247 2004-11-02  Bruno Haible  <bruno@clisp.org>
27248
27249         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
27250         returns void.
27251
27252 2004-11-02  Bruno Haible  <bruno@clisp.org>
27253
27254         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
27255         function returns void.
27256
27257 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
27258
27259         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
27260         fflush_unlocked, flockfile, funlockfile, funlockfile,
27261         fputs_unlocked, putc_unlocked.
27262
27263 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
27264
27265         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
27266         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
27267         already declared.
27268
27269 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
27270
27271         * modules/getdate (Files): Add doc/getdate.texi.
27272         (Depends-on): Add setenv, xalloc.
27273
27274 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
27275
27276         * lib/getdate.y: Add support for TZ="foo" within a date string.
27277         Fix some bugs near time_t boundaries.  Reject dates with
27278         out-of-range components, e.g., "Sept 31".
27279         Include <stdlib.h>, "setenv.h", "xalloc.h".
27280         (ISDIGIT_LOCALE): Remove; unused.
27281         Note that the TZ and time functions used here are not reentrant.
27282         (mktime_ok, get_tz): New functions.
27283         (TZBUFSIZE): New constant.
27284         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
27285         This requires that we sometimes generate our own TZ="XXX..." setting.
27286
27287 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
27288
27289         * doc/getdate.texi: New file, from coreutils with modifications for
27290         the new TZ parsing.
27291
27292 2004-10-27  Derek R. Price  <derek@ximbiot.com>
27293
27294         * lib/mktime.c (not_equal_tm): Remove redundant check.
27295
27296 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
27297
27298         * modules/regex (lib_SOURCES): Add regex.c.
27299         Reported by James Youngman in
27300         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
27301
27302 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
27303
27304         * lib/getdate.y: Use Bison 1.875 features, and some minor
27305         code cleanups.  This change does not affect semantics.
27306         Don't include <stdlib.h>; no longer needed.
27307         Don't include unlocked-io.h; only the "#if TEST" code uses
27308         stdio, and performance isn't crucial there.
27309         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
27310         Bison 1.875 features as described below.
27311         All uses of "PC." replaced by "pc->".
27312         (YYSTYPE): Add a forward declaration.
27313         (yylex, yyerror): Use full prototypes in forward decls.
27314         Use "%pure-parser" rather than obsolescent "%pure_parser".
27315         Use %parse-param and %lex-param instead of obsolescent
27316         YYPARSE_PARAM and YYLEX_PARAM.
27317         (meridian_table, month_and_day_table, time_units_table,
27318         relative_time_table, time_zone_table, military_table,
27319         lookup_zone, lookup_word, get_date):
27320         Use NULL instead of 0 where appropriate.
27321         (to_hour): Avoid abort (), to avoid a dependency on
27322         stdlib.h.
27323         (yyerror, yylex): Now accepts parser_control * arg.
27324         (main) [TEST]: Use '\0' rather than 0 for char.
27325
27326 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
27327
27328         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
27329
27330 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
27331
27332         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
27333         It's now the caller's responsibility to handle the case where
27334         !HAVE_GETPAGESIZE && !defined getpagesize.
27335
27336         * lib/mktime.c (leapyear): Arg is long int, not int.
27337
27338 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
27339
27340         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
27341
27342 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
27343
27344         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
27345         missing.  Problem reported by James Youngman.
27346
27347 2004-10-16  Simon Josefsson  <jas@extundo.com>
27348
27349         * gnulib-tool: Fix comments.  Fix parse problem.
27350         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
27351
27352 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
27353
27354         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
27355         implementation of getopt_long.  Problem reported by Alexander Taler in:
27356         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
27357
27358 2004-10-15  Bruno Haible  <bruno@clisp.org>
27359
27360         * gnulib-tool: Untabify. Initialize supplied_libname.
27361         (func_usage): More homogenous output.
27362         (func_modules_transitive_closure, func_modules_to_filelist,
27363         func_emit_lib_Makefile_am): New functions.
27364         (func_import): New function, extracted from big case statement. Use
27365         func_get_license, func_modules_transitive_closure,
27366         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
27367         opt_lgpl. Don't use test -a, as it's not portable.
27368         (func_create_testdir): Use func_modules_transitive_closure,
27369         func_modules_to_filelist, func_emit_lib_Makefile_am.
27370
27371 2004-10-15  Bruno Haible  <bruno@clisp.org>
27372
27373         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
27374
27375 2004-10-15  Bruno Haible  <bruno@clisp.org>
27376
27377         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
27378         the portions belonging to each module.
27379         Suggested by Derek Robert Price <derek@ximbiot.com>.
27380
27381 2004-10-12  Simon Josefsson  <jas@extundo.com>
27382
27383         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
27384         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
27385         to real functions.
27386
27387 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
27388
27389         * modules/vsnprintf: New file.
27390
27391 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
27392
27393         * m4/vsnprintf.m4: New file.
27394
27395 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
27396
27397         * lib/vsnprintf.h: New file.
27398         * lib/vsnprintf.c: New file.
27399
27400 2004-10-11  Bruno Haible  <bruno@clisp.org>
27401
27402         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
27403         vsnprintf.
27404
27405 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
27406
27407         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
27408
27409 2004-10-07  Bruno Haible  <bruno@clisp.org>
27410
27411         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
27412         fits into the provided buffer.
27413
27414 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
27415
27416         * lib/diacrit.c, diacrit.h: Add GPL notice.
27417
27418         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
27419         notice.
27420         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
27421         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
27422         This avoids a potential constant-folding bug.
27423
27424 2004-10-05  Bruno Haible  <bruno@clisp.org>
27425
27426         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
27427         for the declaration of strsep.
27428
27429 2004-10-05  Bruno Haible  <bruno@clisp.org>
27430
27431         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
27432
27433 2004-10-04  Simon Josefsson  <jas@extundo.com>
27434
27435         * modules/memmem: New file.
27436         * tests/test-memmem.c: New file.
27437         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
27438
27439 2004-10-04  Simon Josefsson  <jas@extundo.com>
27440
27441         * m4/memmem.m4: New file.
27442
27443 2004-10-04  Simon Josefsson  <jas@extundo.com>
27444
27445         * lib/memmem.h: New file.
27446         * lib/memmem.c: New file, taken from glibc.
27447
27448 2004-10-04  Simon Josefsson  <jas@extundo.com>
27449
27450         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
27451         '#ifdef USE_UNLOCKED_IO'.
27452
27453 2004-10-04  Simon Josefsson  <jas@extundo.com>
27454
27455         * config/srclist.txt: Add memmem from glibc.
27456
27457 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
27458
27459         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
27460
27461         * modules/argmatch, modules/argp, modules/closeout, modules/error,
27462         modules/exclude, modules/getdate, modules/getline,
27463         modules/getndelim2, modules/getpass, modules/getpass-gnu,
27464         modules/getusershell, modules/linebuffer, modules/md5,
27465         modules/mountlist, modules/posixtm, modules/readtokens,
27466         modules/readutmp, modules/regex, modules/sha1,
27467         modules/version-etc, modules/yesno:
27468         Remove dependency on unlocked-io.
27469
27470 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
27471
27472         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
27473
27474         * m4/unlocked-io.m4: Add copyright notice.
27475         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
27476
27477 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
27478
27479         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
27480         * lib/xmalloc.c (xmemdup): Likewise.
27481         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
27482         XFREE): Remove these long-obsolescent macros.
27483         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
27484         * lib/xstrdup.c: Remove.
27485
27486         * lib/regex.c (re_comp): Cast gettext return value to char *,
27487         Problem reported by Martin Neitzel via Mark D. Baushke.
27488
27489 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
27490
27491         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
27492         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
27493         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
27494         regex.c, sha1.c, version-etc.c, yesno.c:
27495         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
27496         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
27497         the includer's responsibility.
27498
27499         Sync from coreutils.
27500
27501         * lib/modechange.c (mode_compile): Don't decrement a pointer that
27502         points to the start of a string, as the C Standard says the
27503         resulting behavior is undefined.
27504
27505         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
27506         simple -> simple_backups, numbered_existing ->
27507         numbered_existing_backups, numbered -> numbered_backups
27508         to avoid shadowing problems.  All uses changed.
27509         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
27510         * lib/backupfile.c (check_extension, numbered_backup):
27511         Rename locals to avoid shadowing 'basename'.
27512         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
27513         once.
27514
27515         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
27516         * lib/.cvsignore: Add getopt.h.
27517
27518 2004-10-04  Bruno Haible  <bruno@clisp.org>
27519
27520         * modules/README: New file.
27521         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
27522         not a module.
27523
27524 2004-10-02  Jim Meyering  <jim@meyering.net>
27525
27526         * lib/dirfd.h, getpagesize.h: Add copyright notice.
27527
27528 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
27529
27530         * modules/strsep: New file.
27531
27532 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
27533
27534         * m4/strsep.m4: New file.
27535
27536 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
27537
27538         * lib/strsep.h: New file.
27539         * lib/strsep.c: New file.
27540
27541 2004-10-01  Simon Josefsson  <jas@extundo.com>
27542
27543         * lib/snprintf.c (snprintf): Handle size==0.
27544
27545 2004-10-01  Simon Josefsson  <jas@extundo.com>
27546             Bruno Haible  <bruno@clisp.org>
27547
27548         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
27549         (snprintf): Declare 'args'.
27550
27551 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
27552
27553         * lib/snprintf.c: Remove comments as to why each header is needed.
27554
27555 2004-10-01  Bruno Haible  <bruno@clisp.org>
27556
27557         * MODULES.html.sh: Add strsep.
27558
27559 2004-09-30  Simon Josefsson  <jas@extundo.com>
27560
27561         * modules/snprintf: New file.
27562
27563 2004-09-30  Simon Josefsson  <jas@extundo.com>
27564
27565         * m4/snprintf.m4: New file.
27566
27567 2004-09-30  Simon Josefsson  <jas@extundo.com>
27568
27569         * lib/snprintf.h, lib/snprintf.c: New files.
27570
27571 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
27572
27573         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
27574         (hol_entry_help): Never translate an empty string.
27575         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
27576         * lib/argp.h (OPTION_NO_TRANS): New option.
27577
27578 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
27579
27580         * modules/argp (Maintainer): Replace Simon Josefsson
27581         by Sergey Poznyakoff.
27582
27583 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
27584
27585         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
27586         changes merged back into glibc.
27587
27588 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
27589
27590         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
27591
27592 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
27593
27594         * lib/xvasprintf.c: Include xalloc.h.
27595         (xvasprintf): Use xalloc_die, not xmalloc_die.
27596
27597 2004-09-29  Bruno Haible  <bruno@clisp.org>
27598
27599         * modules/alloca-opt: New file, derived from modules/alloca.
27600         * modules/allocsa: Depend on alloca-opt instead of alloca.
27601         * modules/setenv: Likewise.
27602         * modules/vasnprintf: Likewise.
27603         * MODULES.html.sh: Add alloca-opt.
27604
27605 2004-09-28  Simon Josefsson  <jas@extundo.com>
27606
27607         * gnulib-tool: New parameter --lgpl, to asseert that modules are
27608         LGPL, and to replace license template from GPL to LGPL.
27609
27610 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
27611
27612         * modules/dummy: Change license to LGPL.
27613
27614 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
27615
27616         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
27617
27618 2004-09-24  Simon Josefsson  <jas@extundo.com>
27619
27620         * modules/minmax (License): Change from GPL to LGPL.
27621
27622 2004-09-23  Simon Josefsson  <jas@extundo.com>
27623
27624         * gnulib-tool (--import): Typo.
27625
27626 2004-09-23  Simon Josefsson  <jas@extundo.com>
27627
27628         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
27629
27630 2004-09-22  Bruno Haible  <bruno@clisp.org>
27631
27632         * modules/*: Add 'License' field.
27633         * gnulib-tool: Accept --extract-license option.
27634         (func_get_license): New function.
27635
27636 2004-09-21  Bruno Haible  <bruno@clisp.org>
27637
27638         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
27639         Reported by Simon Josefsson.
27640
27641 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
27642
27643         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
27644         gl_AC_TYPE_LONG_LONG.
27645
27646 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
27647
27648         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
27649
27650 2004-09-18  Simon Josefsson  <jas@extundo.com>
27651         and  Paul Eggert  <eggert@cs.ucla.edu>
27652
27653         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
27654         calls with autoreconf.  Define GL_LIB.
27655
27656 2004-09-14  Karl Berry  <karl@gnu.org>
27657
27658         * config/srclist.txt: unsync setenv.c, sigh.
27659
27660 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
27661
27662         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
27663         Problem reported by Bruno Haible in:
27664         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
27665
27666 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
27667
27668         * config/srclist.txt: Comment out argp-pvh.c.
27669
27670 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
27671
27672         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
27673         in case some system header has #define'd it.  Problem reported by
27674         Soeren D. Schulze in
27675         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
27676
27677 2004-09-09  Karl Berry  <karl@gnu.org>
27678
27679         * regex.[ch]: delete from the root.  These were supposed to be
27680                 synced with emacs cvs, but this has not happened for about
27681                 a year, and anyway nothing else uses emacs regex.[ch].
27682                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
27683                 lib/regex[.ch] is untouched.
27684
27685 2004-09-09  Bruno Haible  <bruno@clisp.org>
27686
27687         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
27688
27689 2004-09-09  Bruno Haible  <bruno@clisp.org>
27690
27691         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
27692         modifications.
27693         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
27694
27695 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
27696
27697         * modules/xvasprintf: New file.
27698         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
27699
27700 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
27701
27702         * lib/xvasprintf.h: New file.
27703         * lib/xvasprintf.c: New file.
27704         * lib/xasprintf.c: New file.
27705
27706 2004-09-08  Bruno Haible  <bruno@clisp.org>
27707
27708         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
27709
27710 2004-09-08  Bruno Haible  <bruno@clisp.org>
27711
27712         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
27713         length is > INT_MAX.
27714         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
27715         more.
27716
27717 2004-09-08  Bruno Haible  <bruno@clisp.org>
27718
27719         * lib/stdint_.h: New file, taken from GNU clisp.
27720
27721 2004-09-08  Bruno Haible  <bruno@clisp.org>
27722             Oskar Liljeblad  <oskar@osk.mine.nu>
27723
27724         * modules/stdint: New file.
27725         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
27726
27727 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
27728
27729         Import from coreutils.
27730         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
27731         strings on unbounded length.  alloca's performance benefits aren't
27732         that important here.
27733         (V_STRDUP): Remove.
27734         (parse_with_separator): New function, with most of the internals
27735         of the old parse_user_spec.  Allow user to omit both user and group,
27736         for compatibility with FreeBSD.
27737         Clone only the user name, not the entire spec.
27738         Do not set *uid, *gid unless entirely successful.
27739         Avoid memory leak in some failing cases.
27740         Fix regression for USER.GROUP reported by Dmitry V. Levin in
27741         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
27742         (parse_user_spec): Rewrite to use parse_with_separator.
27743
27744 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
27745
27746         * modules/userspec: Don't depend on alloca.
27747
27748 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
27749
27750         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
27751
27752 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
27753
27754         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
27755         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
27756         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
27757
27758 2004-08-16  Simon Josefsson  <jas@extundo.com>
27759
27760         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
27761         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
27762         Add --dry-run for --import.
27763         Let user provided command line parameters override configure.ac
27764         settings.
27765
27766 2004-08-12  Simon Josefsson  <jas@extundo.com>
27767
27768         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
27769         as discussed with Paul Eggert in threads rooted at
27770         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
27771         and
27772         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
27773         Before, the test was empty, and relied on ELIDE_CODE in source
27774         code.)
27775         (gl_PREREQ_GETOPT): New macro.
27776         (gl_GETOPT): Use them.
27777
27778 2004-08-12  Simon Josefsson  <jas@extundo.com>
27779
27780         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
27781         * lib/getopt_.h: Renamed from getopt.h.
27782
27783 2004-08-12  Simon Josefsson  <jas@extundo.com>
27784
27785         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
27786         Change default library name from libfoo to libgnu.
27787         Now, if you have a configure.ac that says:
27788                 gl_SOURCE_BASE(gl)
27789                 gl_M4_BASE(gl/m4)
27790                 gl_MODULES(error getopt etcetera)
27791                 gl_INIT
27792         you can import all you need by running:
27793                 ../gnulib/gnulib-tool --import
27794
27795         * modules/getopt (Files): Rename getopt.h to getopt_.h.
27796         (Makefile.am): Rewrite, use logic from argz.
27797         (Include): Use <getopt.h> instead of "getopt.h".
27798
27799 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
27800
27801         * modules/argp (Files): Add m4/unlocked-io.m4.
27802         (Depends-on): Add extensions.
27803
27804 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
27805
27806         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
27807         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
27808         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
27809         Check for program_invocation_name, program_invocation_short_name,
27810         flockfile, funlockfile, features.h, _getopt_long_only_r.
27811
27812 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
27813
27814         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
27815         its complicated substitute.
27816         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
27817         and program_invocation_name.
27818         (__argp_basename) [!_LIBC]: Remove; the only use was
27819         replaced by its body.
27820         (__argp_short_program_name): Change condition from
27821         !defined __argp_short_program_name to
27822         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
27823         to match argp-namefrob.h.
27824         (__argp_failure): Don't assume strerror_r returns char *.
27825         * lib/argp-parse.c (N_): Define unconditionally.
27826         (argp_default_options): Fill out initializers with 0 to avoid
27827         gcc warnings.
27828
27829 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
27830
27831         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
27832         getopt1.c.
27833
27834 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
27835
27836         Merge from coreutils.
27837
27838         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
27839
27840         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
27841         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
27842
27843 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
27844
27845         Merge from coreutils.
27846
27847         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
27848         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
27849         for Reliant Unix 5.43.
27850
27851         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
27852         (union fooround): Use uintmax_t, not long int.
27853         The rest is a merge from libc:
27854         [defined _LIBC]: Include <shlib-compat.h>.
27855         (_obstack) [defined _LIBC]: Remove after 2.3.4.
27856
27857         * lib/settime.c (settime): Recode to avoid warning with
27858         Sun Forte C 6U2.
27859
27860         * lib/strverscmp.c: Convert to UTF-8.
27861
27862 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
27863
27864         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
27865         m4/uintmax_t.m4.
27866
27867 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
27868
27869         * modules/xalloc-die: New file.
27870         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
27871
27872         * modules/md5 (Files): Add m4/uint32_t.m4.
27873         * modules/sha1: Renamed from modules/sha.
27874         (Files):
27875         Rename lib/sha.h to lib/sha1.h.
27876         Rename lib/sha.c to lib/sha1.c.
27877         Rename m4/sha.m4 to m4/sha1.m4.
27878         (lib_SOURCES): Likewise.
27879         (configure.ac): Rename gl_SHA to gl_SHA1.
27880         (Include): sha.h -> sha1.h.
27881
27882 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
27883
27884         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
27885         * m4/sha1.m4: Renamed from sha.m4.
27886         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
27887
27888 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
27889
27890         * lib/obstack.h (obstack_empty_p):
27891         Don't assume that chunk->contents is suitably aligned.
27892         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
27893         Likewise. Problem reported by Benno in
27894         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
27895
27896         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
27897         readable.  This could be improved further but it'd take some work.
27898
27899 2004-08-08  Simon Josefsson  <jas@extundo.com>
27900
27901         * modules/xgethostname (Depends-on): Remove exit and error (not
27902         used).
27903
27904         * modules/getpass-gnu: Add getpass.h.
27905         (Depends-on): Add stdbool.
27906         * modules/getpass: Add getpass.h.
27907
27908 2004-08-08  Simon Josefsson  <jas@extundo.com>
27909
27910         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
27911         Check getpass declaration.
27912
27913 2004-08-08  Simon Josefsson  <jas@extundo.com>
27914
27915         * lib/xgethostname.c: Don't include error.h (not used).
27916
27917         * lib/getpass.h: Add.
27918         * lib/getpass.c: Include getpass.h first.
27919
27920 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
27921
27922         * lib/xalloc-die.c: New file.
27923         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
27924         All uses removed.
27925         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
27926         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
27927         xalloc-die.c.
27928         (_, N_, xalloc_die): Move to xalloc-die.c.
27929         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
27930         so that we needn't mess with xalloc_msg_memory_exhausted.
27931
27932         * lib/sha1.h: Renamed from sha.h.
27933         (SHA1_H): Renamed from _SHA_H.
27934         (sha1_ctx): Renamed from sha_ctx.
27935         (sha1_init_ctx): Renamed from sha_init_ctx.
27936         (sha1_process_block): Renamed from sha_process_block.
27937         (sha1_process_bytes): Renamed from sha_process_bytes.
27938         (sha1_finish_ctx): Renamed from sha_finish_ctx.
27939         (sha1_read_ctx): Renamed from sha_read_ctx.
27940         (sha1_stream): Renamed from sha_stream.
27941         (sha1_buffer): Renamed from sha_buffer.
27942         * lib/sha1.c: Likewise; renamed from sha.c.
27943         Do not include <sys/types.h>.
27944         Include <stddef.h> rather than <stdlib.h>.
27945
27946 2004-08-08  Bruno Haible  <bruno@clisp.org>
27947
27948         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
27949         FILESYSTEM_PREFIX_LEN.
27950         * lib/progreloc.c: Likewise.
27951         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
27952
27953 2004-08-06  Simon Josefsson  <jas@extundo.com>
27954
27955         * modules/progname (Depends-on): Don't depend on stdbool.
27956
27957 2004-08-06  Simon Josefsson  <jas@extundo.com>
27958
27959         * modules/getsubopt: New file.
27960         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
27961         getsubopt.
27962
27963 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
27964
27965         More merge from coreutils.
27966
27967         * m4/utimens.m4, m4/utimecmp.m4: New files.
27968         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
27969         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
27970         prereq.m4, sha.m4: Import changes from coreutils.
27971
27972 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
27973
27974         More merge from coreutils.
27975         * modules/raise, modules/readtokens0, modules/utimens:
27976         * modules/utimecmp, module/xnanosleep: New files.
27977         * modules/strftime: Add lib/strftime.h.
27978         Change include from <time.h> to "strftime.h".
27979         * modules/yesno: Add lib/yesno.h.
27980         * modules/backupfile: Remove lib/addext.c.
27981         * modules/euidaccess: Add stat-macros.h.
27982         * modules/canonicalize, modules/euidaccess,
27983         modules/filemode, modules/lchown, modules/makepath,
27984         modules/rmdir, modules/stat: Likewise.
27985
27986 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
27987
27988         Merge from tar.
27989         * lib/argp-help.c (make_hol, hol_append): Don't assume that
27990         SIZE_MAX is a valid preprocessor constant.
27991         (__argp_basename): Change from "#ifndef _LIBC"
27992         to "#ifndef __argp_short_program_name", so that
27993         we don't compile these functions for tar.
27994
27995         More merges from coreutils.
27996         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
27997         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
27998         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
27999         * lib/addext.c: Remove; no longer needed.
28000         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
28001         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
28002         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
28003         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
28004         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
28005         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
28006         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
28007         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
28008         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
28009         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
28010         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
28011         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
28012         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
28013         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
28014         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
28015         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
28016         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
28017         Import changes from coreutils.
28018
28019 2004-08-05  Simon Josefsson  <jas@extundo.com>
28020
28021         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
28022
28023 2004-08-05  Simon Josefsson  <jas@extundo.com>
28024
28025         * m4/getsubopt.m4: New file.
28026
28027 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
28028
28029         Merge from coreutils.
28030
28031         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
28032         * m4/getcwd-path-max.m4: New files.
28033
28034         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
28035         FILESYSTEM_PREFIX_LEN ->
28036         FILE_SYSTEM_PREFIX_LEN.
28037         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
28038         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
28039         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
28040         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
28041
28042         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
28043         prerequisite modules now handle the DOS stuff.
28044         Don't check for unistd.h.
28045
28046 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
28047
28048         Merge from coreutils.
28049
28050         * lib/.gdb-history: Remove; this doesn't belong here.
28051
28052         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
28053         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
28054         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
28055         * lib/getcwd.c: New files.
28056
28057         * lib/dirname.h: Include <stdbool.h>.
28058         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
28059         for consistency with POSIX terminology.  All uses changed.
28060         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
28061         (strip_trailing_slashes): Use bool for booleans.
28062         * lib/stripslash.c (strip_trailing_slashes): Likewise.
28063
28064         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
28065         sometimes returns a positive errno value even when it succeeds.
28066         (print_errno_message) [!LIBC]: Fall back on strerror if
28067         __strerror_r fails.
28068
28069         * lib/path-concat.c (mempcpy): Don't define if a system header defines
28070         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
28071         (longest_relative_suffix): New function.
28072         (path_concat): Use it.  Assume first argument is not NULL.
28073         Port to DOS.  Omit redundant separators.
28074         Report an error instead of returning NULL.
28075         Use mempcpy instead of memcpy.
28076         (xpath_concat): Remove: not declared or used.
28077
28078         * lib/same.h: Include <stdbool.h>
28079         (same_name): Return bool, not int.
28080         * lib/same.c (same_name): Likewise.
28081         (errno): Don't declare; we assume C89 or better now.
28082
28083         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
28084         if not already defined.
28085
28086         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
28087         * lib/dup-safer.c (errno): Likewise.
28088
28089 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
28090
28091         Merge from coreutils.
28092         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
28093         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
28094         * modules/path-concat: Don't depend on strdup.
28095
28096 2004-08-03  Simon Josefsson  <jas@extundo.com>
28097
28098         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
28099         * lib/progname.h: Don't include stdbool.h.
28100
28101 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
28102
28103         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
28104         * MODULES.html.sh (func_all_modules): Remove fatal.
28105
28106 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
28107
28108         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
28109
28110 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
28111
28112         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
28113         working.
28114
28115 2004-08-02  Simon Josefsson  <jas@extundo.com>
28116
28117         * lib/getsubopt.h: New file, with comments from Bruno Haible.
28118         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
28119         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
28120
28121 2004-08-01  Simon Josefsson  <jas@extundo.com>
28122
28123         * lib/xgetdomainname.c: Include stdlib.h, for free().
28124
28125 2004-07-19  Bruno Haible  <bruno@clisp.org>
28126
28127         * MODULES.html.sh (func_all_modules): Add dummy.
28128
28129 2004-07-16  Simon Josefsson  <jas@extundo.com>
28130
28131         * modules/dummy: New file.
28132
28133 2004-07-16  Simon Josefsson  <jas@extundo.com>
28134
28135         * lib/dummy.c: New file.
28136
28137 2004-07-16  Bruno Haible  <bruno@clisp.org>
28138
28139         * lib/backupfile.h: Add extern "C" for C++.
28140         * lib/closeout.h: Likewise.
28141         * lib/copy-file.h: Likewise.
28142         * lib/findprog.h: Likewise.
28143         * lib/full-write.h: Likewise.
28144         * lib/pathname.h: Likewise.
28145         * lib/progname.h: Likewise.
28146         * lib/stpcpy.h: Likewise.
28147         * lib/stpncpy.h: Likewise.
28148         * lib/strcase.h: Likewise.
28149         * lib/strstr.h: Likewise.
28150         * lib/xalloc.h: Likewise.
28151
28152         * lib/mbswidth.h: Add extern "C" for C++.
28153         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
28154
28155 2004-07-13  Robert Millan  <robertmh@gnu.org>
28156
28157         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
28158
28159 2004-07-09  Simon Josefsson  <jas@extundo.com>
28160
28161         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
28162         failed without this.)
28163
28164 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
28165
28166         * modules/chown (Files): Add lib/fchown-stub.c, since
28167         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
28168
28169 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
28170
28171         * lib/fchown-stub.c: New file.
28172
28173 2004-06-24  Jim Meyering  <jim@meyering.net>
28174
28175         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
28176
28177 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
28178
28179         * modules/argz: Omit "#include".
28180
28181         * MODULES.html.sh (func_all_modules): Add calloc, to match
28182         2004-06-01 addition of calloc module.
28183
28184 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
28185
28186         * m4/argz.m4: New file, which is autoupdated from libtool.
28187
28188 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
28189
28190         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
28191         libtool.
28192
28193 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
28194
28195         * config/srclist-update: Don't insist on "USA." before the
28196         close-comment, as libtool omits the period and puts the */ on a
28197         separate line.
28198         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
28199         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
28200
28201 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
28202
28203         * modules/argz: New file.
28204         * MODULES.html.sh (func_all_modules): Add argz.
28205
28206 2004-06-12  Jim Meyering  <jim@meyering.net>
28207         and  Paul Eggert  <eggert@cs.ucla.edu>
28208
28209         * modules/hash (Files): Add lib/xalloc.h.
28210         * modules/pipe (Depends-on): Add wait-process.
28211         * modules/stat (Depends-on): Add xalloc.
28212         * modules/userspec (Files): Add lib/userspec.h.
28213         * modules/xstrto
28214
28215         Upgrade from gettext-0.13.
28216         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
28217         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
28218         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
28219
28220 2004-06-10  Jim Meyering  <jim@meyering.net>
28221
28222         * lib/calloc.c: New file.
28223
28224 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
28225
28226         * lib/getdate.y (yylex): Allow space between sign and number.
28227         Problem reported by Dan Jacobson.
28228
28229 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
28230
28231         Merge from coreutils CVS.
28232
28233         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
28234         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
28235         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
28236         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
28237         xstrtol.m4: Fix copyright date and/or serial number.
28238
28239         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
28240         See if we need an fchown replacement.
28241         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
28242         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
28243         and use the replacement function if we detect either defect.
28244
28245         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
28246         gl_UTIMECMP.
28247
28248 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
28249         and  Jim Meyering  <jim@meyering.net>
28250
28251         Merge from coreutils CVS.
28252
28253         * lib/stat-macros.h: New file, with contents from file-type.h
28254         and coreutils' system.h.
28255         * lib/file-type.c: Include "stat-macros.h".
28256         * lib/file-type.h (file_type): Move all macro definitions to new file,
28257         stat-macros.h.
28258
28259         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
28260         Wrap old code with this conditional.
28261         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
28262         function that does not dereference symlinks.
28263         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
28264
28265         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
28266         dependency problems.
28267         (xreadlink): Accept new arg SIZE, for efficiency.
28268         All decls and uses changed.
28269         * lib/xreadlink.h: Include <stddef.h>, for size_t.
28270
28271         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
28272         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
28273
28274         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
28275         sysexits.h.
28276
28277 2004-06-01  Jim Meyering  <jim@meyering.net>
28278
28279         * m4/calloc.m4: New file.
28280
28281 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
28282
28283         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
28284         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
28285         Also, fix a typo in a diagnostic.
28286
28287 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
28288
28289         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
28290         or AC_FUNC_REALLOC.
28291
28292 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
28293
28294         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
28295         macros to be defined.
28296         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
28297         the allocator returns NULL because the requested size is zero.
28298
28299 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
28300
28301         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
28302         var.  Add comment explaining why libc still defines it.  This
28303         merges the following patch from glibc:
28304         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
28305
28306 2004-05-20  Andreas Schwab  <schwab@suse.de>
28307
28308         * m4/free.m4: Replace free if it not known to work, not the other
28309         way round.
28310
28311 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
28312
28313         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
28314         present in glibc since revision 1.1 of this file.
28315         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
28316         obstack_alignment_mask, obstack_alloc, obstack_base,
28317         obstack_blank, obstack_blank_fast, obstack_chunk_size,
28318         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
28319         obstack_grow0, obstack_init, obstack_int_grow,
28320         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
28321         obstack_next_free, obstack_object_size, obstack_ptr_grow,
28322         obstack_ptr_grow_fast, obstack_room): Remove declarations of
28323         nonexistent functions.
28324
28325 2004-05-18  Karl Berry  <karl@gnu.org>
28326
28327         * config/srclist.txt: break link for vasnprintf.c.
28328
28329 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
28330
28331         Port obstack to the AS/400, where pointers are 16 bytes wide and
28332         you cannot cast an integer to a valid pointer.  This patch is
28333         currently waiting to be integrated into glibc; see
28334         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
28335
28336         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
28337         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
28338         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
28339         (struct obstack): temp member is now a union of a pointer and
28340         an integer, instead of an integer.  All integer uses changed.
28341         This does not affect the physical layout of struct obstack,
28342         except on hosts (like the AS/400) where the size or alignment of
28343         void * is greater than that of ptrdiff_t.
28344         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
28345         __STDC__)]: Store temporary in pointer member of union, not
28346         integer member.
28347         * lib/obstack.c: Include <stddef.h>, for offsetof.
28348         (struct fooalign): Remove; it doesn't need a name.
28349         (union fooround): Change double to long double, and add void *.
28350         (DEFAULT_ALIGNMENT): Use offsetof to compute.
28351         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
28352         not a macro.  Hence the values are always int; so remove all
28353         casts-to-int in uses.
28354
28355 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
28356
28357         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
28358         we can get this patch merged into glibc.
28359
28360 2004-05-17  Derek R. Price  <derek@ximbiot.com>
28361             Paul Eggert  <eggert@cs.ucla.edu>
28362
28363         * m4/argp: Depend on alloca.
28364
28365 2004-05-17  Derek R. Price  <derek@ximbiot.com>
28366             Paul Eggert  <eggert@cs.ucla.edu>
28367
28368         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
28369         freecoding.
28370
28371 2004-05-17  Bruno Haible  <bruno@clisp.org>
28372
28373         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
28374         precision that consists of a '.' followed by an empty digit string.
28375         Patch by Tor Lillqvist <tml@iki.fi>.
28376
28377 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
28378
28379         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
28380         for backward compatibility with older code.  We need our own
28381         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
28382         it under some other name, and our alloca.h will define it.
28383
28384 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
28385             Derek Price  <derek@ximbiot.com>
28386
28387         * lib/alloca.c: Include <alloca.h>, to get our interface.
28388         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
28389         include <alloca.h> first.  Use C89 prototype for alloca; this
28390         requires including <stddef.h> for size_t.  Use extern "C" if C++.
28391         Use #elif for simplicity, since we can assume C89 now.
28392         Don't try to source the system alloca.h since it will not be found
28393         and to prevent recursively including its replacement.
28394         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
28395         * lib/regex.c: Likewise.
28396
28397 2004-05-16  Derek Price  <derek@ximbiot.com>
28398             Paul Eggert  <eggert@cs.ucla.edu>
28399
28400         getline cleanup.  This changes the getndelim2 API: both order of
28401         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
28402         no delimiter).
28403
28404         * lib/getline.c: Don't include stddef.h or stdio.h, since our
28405         interface does that.
28406         (getline): Always use getdelim, so that we don't have two
28407         copies of this code.
28408         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
28409         if available.
28410         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
28411         (GETNDELIM2_MAXIMUM): New macro.
28412         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
28413         instead of the old practice of delim2==0.  All callers changed.
28414         Return -1 on overflow, instead of returning junk.
28415         Do not set *linesize unless allocation succeeds.
28416         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
28417         that we include sys/types.h.
28418         * lib/getnline.h: Likewise.
28419         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
28420         (getndelim2): Reorder arguments.
28421         * lib/getnline.c (getnline, getndelim):
28422         Don't discard the NMAX argument.
28423         (getnline): Invoke getndelim, to avoid code duplication.
28424         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
28425         of (size_t) -1 by callers of the getnline family.
28426
28427 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
28428
28429         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
28430         Check for gettimeofday.
28431         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
28432         Check for settimeofday, stime.
28433
28434 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
28435
28436         * lib/nanosleep.c (suspended): Change its type from int to
28437         sig_atomic_t volatile.
28438         (first_call): Make it private to rpl_nanosleep, and have it
28439         be zero initially as that's a bit faster.
28440         (my_usleep): Round up fractional times instead of truncating them,
28441         as this is the usual meaning for 'sleep'.
28442
28443         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
28444         doesn't work.
28445         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
28446         (ENOSYS): Define if not defined.
28447         (settime): Fall back on stime if it exists and settimeofday fails.
28448         But don't bother with fallbacks if a method fails with errno == EPERM.
28449
28450 2004-05-11  Jim Meyering  <jim@meyering.net>
28451
28452         Prior to this change, the save_cwd caller required read access to the
28453         current directory on most systems (ones with the fchdir function).
28454
28455         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
28456         fails, try write-only, and finally, resort to using xgetcwd.
28457
28458 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
28459
28460         * lib/obstack.c, obstack.h: Import changes from libc.
28461
28462 2004-04-28  Bruno Haible  <bruno@clisp.org>
28463
28464         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
28465         also implicitly appends .exe to executables.
28466         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
28467         accepts Windows pathnames.
28468         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
28469         Treat Cygwin like Windows, since it now accepts Windows pathnames.
28470         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
28471         Treat Cygwin like Windows, since it now accepts Windows pathnames.
28472         Reported by Derek Robert Price <derek@ximbiot.com>.
28473
28474 2004-04-21  Karl Berry  <karl@gnu.org>
28475
28476         * config/srclist.txt (localcharset.c): break sync.
28477
28478 2004-04-20  Paul Eggert  <eggert@twinsun.com>
28479
28480         * m4/host-os.m4: Add a copyright notice.
28481
28482 2004-04-20  Jim Meyering  <jim@meyering.net>
28483
28484         Change UTILS_ to gl_ in AC_DEFINE'd names.
28485         Change utils_- and jm_-prefixed variables, too.
28486         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
28487         UTILS_FUNC_MKDIR_TRAILING_SLASH.
28488         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
28489
28490         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
28491         Don't emit trailing blanks.
28492         Also rename jm_-prefixed variables to have gl_ prefix.
28493
28494         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
28495         Also rename jm_-prefixed variables to have gl_ prefix.
28496
28497         * m4/jm-macros.m4: Reflect the renamings.
28498         * m4/prereq.m4: Likewise.
28499
28500 2004-04-20  Jim Meyering  <jim@meyering.net>
28501
28502         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
28503         memory.
28504
28505 2004-04-20  Jim Meyering  <jim@meyering.net>
28506             Bruno Haible  <bruno@clisp.org>
28507
28508         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
28509         memory when realloc fails.
28510
28511 2004-04-19  Jim Meyering  <jim@meyering.net>
28512
28513         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
28514         now that readutmp.c may call `free (0)'.
28515
28516 2004-04-19  Bruno Haible  <bruno@clisp.org>
28517
28518         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
28519         * m4/inttypes_h.m4: Likewise.
28520         * m4/stdint_h.m4: Likewise.
28521         * m4/intmax_t.m4: Likewise.
28522         * m4/uintmax_t.m4: Likewise.
28523
28524 2004-04-18  Jim Meyering  <jim@meyering.net>
28525
28526         * m4/prereq.m4: Don't forbid jm_ prefix.
28527
28528         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
28529         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
28530         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
28531         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
28532         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
28533         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
28534         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
28535         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
28536         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
28537         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
28538         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
28539         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
28540         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
28541         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
28542         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
28543         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
28544         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
28545         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
28546         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
28547
28548 2004-04-18  Jim Meyering  <jim@meyering.net>
28549
28550         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
28551         failure, don't leak memory and do call END_UTMP_ENT.
28552
28553 2004-04-16  Jim Meyering  <jim@meyering.net>
28554
28555         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
28556         coreutils' stat program.
28557         (gl_PREREQ): Don't require jm_PREREQ_STAT.
28558
28559 2004-04-11  Paul Eggert  <eggert@twinsun.com>
28560
28561         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
28562         C89.
28563         (CHAR_BIT): Remove, since we assume C89.
28564         Include <stdint.h> if available, as per current Autoconf CVS advice.
28565
28566 2004-03-31  Jim Meyering  <jim@meyering.net>
28567
28568         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
28569         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
28570         * m4/xalloc.m4: Likewise.
28571
28572 2004-03-30  Paul Eggert  <eggert@twinsun.com>
28573
28574         Merge from coreutils.
28575
28576         * m4/inttostr.m4: New file.
28577         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
28578         Require AM_STDBOOL_H and gl_TIMESPEC instead.
28579         Require gl_CLOCK_TIME.
28580         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
28581
28582 2004-03-30  Paul Eggert  <eggert@twinsun.com>
28583
28584         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
28585         not bool, to be more consistent with Unix conventions.
28586         Suggested by Bruno Haible.
28587
28588         Merge from coreutils.
28589
28590         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
28591         * lib/umaxtostr.c: New files.
28592
28593         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
28594         the usual <time.h> dance.
28595         (get_date): Change signature to support fractional time stamps.
28596         All callers changed.
28597         * lib/getdate.y: Include "getdate.h" first, as we can now
28598         assume C89 and don't need to worry about 'const'.
28599         Similarly, include "unlocked-io.h" near start, not in middle.
28600         Include <limits.h>.
28601         (textint.value): Use long int rather than int.
28602         (textint.digits): Use size_t rather than int.
28603         (BILLION, LOG10_BILLION): New constants.
28604         (parser_control): New member rel_ns.  Members day_ordinal,
28605         time_zone, month, day, hour, minutes, rel_year, rel_month,
28606         rel_day, rel_hour, rel_minutes, rel_seconds
28607         are now long int, not int.  Member seconds is now struct timespec,
28608         not int.  New member timespec_seen.  Members dates_seen, days_seen,
28609         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
28610         not int.
28611         (%union.intval): Now long int, not int.
28612         New member timespec.
28613         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
28614         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
28615         (spec): Now is a timespec or an item list.
28616         (timespec, items): New nonterminals.
28617         (time, rel, relunit, number, get_date):
28618         Add support for fractional seconds.
28619         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
28620         (gmtime, localtime, mktime): Remove decls; not needed with C89.
28621         (to_hour): First arg is now long int, not int.
28622         (to_year): Returns long int, not int.
28623         Don't treat year -70 like 70.
28624         (tm_diff): Returns long int, not int.
28625         (lookup_word): Use bool instead of int when appropriate.
28626         (yylex): Use size_t for count, not int.
28627         Detect overflow when parsing large integer constants.
28628         Add support for fractions.
28629         (get_date): Make pointers 'const' if possible.
28630         Use more-portable code to detect integer overflow.
28631         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
28632         Don't use ctime; it's not reliable if the year has >4 digits.
28633
28634         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
28635         This is for compatibility with BSD.
28636
28637         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
28638         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
28639         From coreutils' system.h.
28640
28641         * lib/userspec.c: Don't include "posixver.h".
28642         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
28643         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
28644         compatible extension.  Simplify code by removing a boolean int
28645         that was always nonzero if a string was nonnull.
28646
28647 2004-03-30  Jim Meyering  <jim@meyering.net>
28648
28649         Merge from coreutils.
28650
28651         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
28652         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
28653         on some systems one must include <grp.h> before it.
28654         Reported by Christian Krackowizer.
28655
28656 2004-03-30  Jim Meyering  <jim@meyering.net>
28657
28658         Merge from coreutils.
28659
28660         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
28661
28662         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
28663         an empty input stream.
28664
28665         * lib/readtokens.c: Include <stdbool.h>.
28666         (readtoken): Use `size_t' rather than int/long.
28667         All callers adjusted.
28668         Use `bool' rather than `int' where appropriate.
28669         Use memset rather than an explicit loop.
28670         Use x2nrealloc rather than xrealloc.
28671         Allow the use of `\0' as a delimiter.
28672         (readtokens): Likewise.
28673         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
28674
28675 2004-03-30  Jim Meyering  <jim@meyering.net>
28676
28677         * m4/realloc.m4: Remove file, since now it does no more than
28678         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
28679         the `configure.ac' section of module/realloc.
28680         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
28681
28682 2004-03-30  Bruno Haible  <bruno@clisp.org>
28683
28684         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
28685         nonnull.
28686
28687 2004-03-29  Paul Eggert  <eggert@twinsun.com>
28688
28689         Merge changes to getloadavg.c from coreutils and Emacs.
28690
28691         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
28692         Define to an expression, not to the empty string.
28693         Include cloexec.h and xalloc.h.
28694         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
28695         Use set_cloexec_flag rather than rolling our own.
28696         * lib/cloexec.c, lib/cloexec.h: New files.
28697
28698 2004-03-29  Paul Eggert  <eggert@twinsun.com>
28699
28700         * m4/cloexec.m4: New file.
28701
28702 2004-03-18  Paul Eggert  <eggert@twinsun.com>
28703
28704         * lib/getopt.h: Sync with libc CVS.
28705
28706 2004-03-18  Paul Eggert  <eggert@twinsun.com>
28707             Bruno Haible  <bruno@clisp.org>
28708
28709         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
28710         mbswidth.
28711
28712 2004-03-18  Paul Eggert  <eggert@twinsun.com>
28713             Bruno Haible  <bruno@clisp.org>
28714
28715         * lib/mbswidth.h: Include <wchar.h> only if
28716         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
28717         <wchar.h>.
28718         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
28719
28720 2004-03-09  Paul Eggert  <eggert@twinsun.com>
28721
28722         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
28723         Sync with libc CVS.
28724         * lib/getopt_int.h: New file, also synced from libc.
28725
28726 2004-03-09  Paul Eggert  <eggert@twinsun.com>
28727
28728         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
28729         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
28730         Bring back getopt.c, getopt.h, getopt1.c.
28731
28732 2004-03-07  Paul Eggert  <eggert@twinsun.com>
28733
28734         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
28735         All uses changed.  Check for sa_sigaction member; this fixes
28736         a bug first reported by Jason Andrade in
28737         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
28738
28739 2004-03-07  Paul Eggert  <eggert@twinsun.com>
28740
28741         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
28742         '#if' expressions.  Unlike the code it replaces, it does not
28743         depend on (defined _SC_PAGESIZE).  However, it does depend on
28744         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
28745         first reported by Jason Andrade in
28746         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
28747
28748 2004-02-25  Simon Josefsson  <jas@extundo.com>
28749
28750         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
28751
28752 2004-02-25  Simon Josefsson  <jas@extundo.com>
28753
28754         * lib/strdup.h: New file.
28755         * lib/strdup.c: Include it.
28756         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
28757         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
28758
28759 2004-02-23  Karl Berry  <karl@gnu.org>
28760
28761         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
28762         (from fencepost.gnu.org:/gd/gnuorg).
28763
28764 2004-02-23  Karl Berry  <karl@gnu.org>
28765
28766         * config/srclistvars.sh (GNUORG) [karl]: redefine.
28767         * config/srclist.txt: add maintain/standards documents.
28768
28769 2004-02-18  Bruno Haible  <bruno@clisp.org>
28770
28771         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
28772         Reported by Derek Robert Price <derek@ximbiot.com>.
28773
28774 2004-02-16  Karl Berry  <karl@gnu.org>
28775
28776         * config/mkinstalldirs, install-sh: update from automake.
28777
28778 2004-02-06  Karl Berry  <karl@gnu.org>
28779
28780         * m4/po.m4: update from gettext 0.14.1.
28781
28782 2004-02-06  Karl Berry  <karl@gnu.org>
28783
28784         * lib/config.charset: update from gettext 0.14.1.
28785
28786 2004-02-05  Paul Eggert  <eggert@twinsun.com>
28787
28788         Add comments and code, prompted by suggestions from Bruno Haible
28789         for sh-quote.
28790         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
28791         describing the enum quoting_style values.
28792         * lib/quotearg.c (quotearg_alloc): New function.
28793         (quotearg_buffer_restyled): Treat lone { and } as special.
28794         Treat = as special.  Work around bug with older shells
28795         that "see" a '\' that is really the 2nd byte of a multibyte char.
28796         Quote empty string with shell_quoting_style.
28797
28798 2004-02-03  Bruno Haible  <bruno@clisp.org>
28799
28800         * m4/pipe.m4: New file, from GNU gettext.
28801
28802 2004-02-03  Bruno Haible  <bruno@clisp.org>
28803
28804         * lib/pipe.h: New file, from GNU gettext.
28805         * lib/pipe.c: New file, from GNU gettext.
28806
28807 2004-01-27  Bruno Haible  <bruno@clisp.org>
28808
28809         * m4/execute.m4: New file, from GNU gettext.
28810
28811 2004-01-27  Bruno Haible  <bruno@clisp.org>
28812
28813         * lib/execute.h: New file, from GNU gettext.
28814         * lib/execute.c: New file, from GNU gettext.
28815         * lib/w32spawn.h: New file, from GNU gettext.
28816
28817 2004-01-24  Paul Eggert  <eggert@twinsun.com>
28818
28819         Merge from diffutils.
28820
28821         * lib/file-type.c (file_type): Add typed memory objects.
28822         * lib/file-type.h (S_TYPEISTMO): New macro.
28823
28824         * lib/c-stack.h (c_stack_action): Remove argv argument.
28825         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
28826         (die): Don't calculate message unless segv_action returns.
28827         (get_stack_location, min_address_from_argv, max_address_from_argv,
28828         volatile stack_base, volatile_stack_size): Remove.
28829         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
28830         that every segmentation violation is a stack overflow.  (Ouch!)
28831         See Debian bug 136249 (still outstanding) for more info about why
28832         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
28833
28834 2004-01-24  Paul Eggert  <eggert@twinsun.com>
28835
28836         Exit-status fix from coreutils.
28837
28838         Use exit_failure consistently in place of EXIT_FAILURE,
28839         so that program exit statuses are consistent on failure.
28840
28841         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
28842         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
28843         * lib/argmatch.h: Comment fix to match the above.
28844         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
28845         Now a macro referring to exit_failure, instead of a separate
28846         variable.  Include "exitfail.h" to get it.
28847         * lib/xstrtol.h: Include "exitfail.h".
28848         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
28849
28850         * lib/long-options.c (parse_long_options): Use prototype
28851         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
28852         for clarity.
28853
28854 2004-01-21  Jim Meyering  <jim@meyering.net>
28855
28856         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
28857         so as not to conflict with a different-sized __mktime_internal
28858         function in GNU libc.
28859         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
28860         Problem building statically-linked `ls' reported by Michael Brunnbauer.
28861
28862 2004-01-20  Karl Berry  <karl@gnu.org>
28863
28864         * config/config.guess: update from config.
28865
28866         * config/srclistvars.sh: GNUWWWLICENSES for karl.
28867
28868 2004-01-20  Bruno Haible  <bruno@clisp.org>
28869
28870         Safer stack allocation.
28871         * lib/setenv.c: Include allocsa.h.
28872         (alloca): Remove fallback definition.
28873         (freea): Remove macro.
28874         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
28875         instead of freea.
28876
28877 2004-01-20  Bruno Haible  <bruno@clisp.org>
28878
28879         * m4/eealloc.m4: New file, from GNU gettext.
28880
28881 2004-01-20  Bruno Haible  <bruno@clisp.org>
28882
28883         * m4/allocsa.m4: New file, from GNU gettext.
28884
28885 2004-01-20  Bruno Haible  <bruno@clisp.org>
28886
28887         * lib/xallocsa.h: New file, from GNU gettext.
28888         * lib/xallocsa.c: New file, from GNU gettext.
28889
28890 2004-01-20  Bruno Haible  <bruno@clisp.org>
28891
28892         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
28893
28894 2004-01-20  Bruno Haible  <bruno@clisp.org>
28895
28896         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
28897         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
28898         specially.
28899
28900 2004-01-20  Bruno Haible  <bruno@clisp.org>
28901
28902         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
28903         patch.
28904
28905 2004-01-20  Bruno Haible  <bruno@clisp.org>
28906
28907         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
28908
28909 2004-01-20  Bruno Haible  <bruno@clisp.org>
28910
28911         * lib/eealloc.h: New file.
28912
28913 2004-01-20  Bruno Haible  <bruno@clisp.org>
28914
28915         * lib/binary-io.h: Avoid warnings on Cygwin.
28916
28917 2004-01-20  Bruno Haible  <bruno@clisp.org>
28918
28919         * lib/allocsa.h: New file, from GNU gettext.
28920         * lib/allocsa.c: New file, from GNU gettext.
28921
28922 2004-01-18  Karl Berry  <karl@gnu.org>
28923
28924         * doc/gpl.texi, doc/lgpl.texi: new files.
28925
28926 2004-01-18  Karl Berry  <karl@gnu.org>
28927
28928         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
28929         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
28930
28931 2004-01-15  Paul Eggert  <eggert@twinsun.com>
28932
28933         Merge from coreutils.
28934
28935         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
28936         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
28937         (gl_DEFAULT_POSIX2_VERSION): Move
28938         the documentation from 'configure' into 'config.hin',
28939         so that 'configure --help' isn't burdened by it and
28940         we don't have to worry about its formatting there.
28941         Reword the documentation so that it's more succinct
28942         and can be run together into a single paragraph.
28943         * m4/same.m4 (gl_SAME): Check for pathconf.
28944
28945 2004-01-15  Paul Eggert  <eggert@twinsun.com>
28946
28947         Merge from coreutils.
28948
28949         * lib/posixver.c: Include posixver.h.
28950
28951         * lib/same.c: Include <stdbool.h>, <limits.h>.
28952         (_POSIX_NAME_MAX): Define if not defined.
28953         (MIN): New macro.
28954         (same_name): If file names are silently truncated, report
28955         that the file names are the same if they are the same after
28956         the silent truncation.
28957
28958         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
28959         conversion function.
28960         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
28961         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
28962         longer needed.
28963
28964 2004-01-15  Jim Meyering  <jim@meyering.net>
28965
28966         Merge from coreutils.
28967
28968         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
28969         if no library is required.
28970         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
28971         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
28972         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
28973         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
28974         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
28975         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
28976         value, $ac_cv_search_crypt, if it's "none required".
28977         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
28978         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
28979         not gl_FUNC_GETLOADAVG.
28980         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
28981         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
28982
28983 2004-01-15  Jim Meyering  <jim@meyering.net>
28984
28985         Merge from coreutils.
28986
28987         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
28988         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
28989         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
28990
28991         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
28992         optional configure-time default.
28993
28994         * lib/version-etc.c (version_etc_copyright): Update copyright date.
28995
28996         * lib/xreadlink.c (xreadlink): Correct outdated comment.
28997
28998 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
28999
29000         Merge from coreutils.
29001
29002         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
29003         value, $ac_cv_search_nanosleep, if it's "none required".
29004
29005 2004-01-14  Paul Eggert  <eggert@twinsun.com>
29006
29007         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
29008         with like-named macro in fnmatch.c.
29009         (EXT): Use an internal constant instead.
29010
29011         Merge fnmatch patches from glibc.
29012         * lib/fnmatch.c (mbsinit): Remove define.
29013         Add libc_hidden_ver (__fnmatch, fnmatch).
29014         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
29015         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
29016
29017 2004-01-14  Karl Berry  <karl@gnu.org>
29018
29019         * config/install-sh: update from automake.
29020
29021 2004-01-13  Karl Berry  <karl@gnu.org>
29022
29023         * config/install-sh: update from automake.
29024
29025 2004-01-09  Karl Berry  <karl@gnu.org>
29026
29027         * config/install-sh: update from automake.
29028
29029 2004-01-05  Karl Berry  <karl@gnu.org>
29030
29031         * config/config.{sub,guess}: update from config.
29032
29033 2003-12-31  Karl Berry  <karl@gnu.org>
29034
29035         * config/depcomp: update from automake.
29036
29037 2003-12-14  Karl Berry  <karl@gnu.org>
29038
29039         * lib/config.charset: update from gettext-runtime.
29040
29041 2003-12-03  Paul Eggert  <eggert@twinsun.com>
29042
29043         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
29044         Bug reported by Alfred M. Szmidt.
29045
29046 2003-12-03  Bruno Haible  <bruno@clisp.org>
29047
29048         * m4/gettext.m4: Upgrade from gettext-0.13.
29049         * m4/po.m4: Upgrade from gettext-0.13.
29050         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
29051         * m4/intmax.m4: New file, from gettext-0.13.
29052         * m4/printf-posix.m4: New file, from gettext-0.13.
29053
29054 2003-11-29  Karl Berry  <karl@gnu.org>
29055
29056         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
29057
29058 2003-11-25  Paul Eggert  <eggert@twinsun.com>
29059             Bruno Haible  <bruno@clisp.org>
29060
29061         * lib/printf-parse.h: Don't include sys/types.h.
29062         (ARG_NONE): New macro.
29063         (char_directive): Change type of *arg_index fields to size_t.
29064         * lib/printf-parse.c: Don't include sys/types.h.
29065         (SSIZE_MAX): Remove macro.
29066         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
29067         Remove unnecessary overflow check.
29068         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
29069         fields.
29070
29071 2003-11-25  Bruno Haible  <bruno@clisp.org>
29072
29073         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
29074
29075 2003-11-25  Bruno Haible  <bruno@clisp.org>
29076
29077         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
29078         gt_TYPE_SSIZE_T.
29079
29080 2003-11-24  Paul Eggert  <eggert@twinsun.com>
29081
29082         * modules/alloca: Remove dependency on xalloc.
29083
29084 2003-11-24  Paul Eggert  <eggert@twinsun.com>
29085
29086         * lib/alloca.c: Remove dependency on xalloc module.
29087         (xalloc_die): Remove.
29088         (memory_full) [!defined emacs]: New macro.
29089         [!defined emacs]: Don't include xalloc.h.
29090         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
29091         address arithmetic overflows.  Change datatypes a bit to avoid
29092         unnecessary casts.
29093
29094 2003-11-22  Jim Meyering  <jim@meyering.net>
29095
29096         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
29097         s/size/size_t/.
29098
29099 2003-11-21  Karl Berry  <karl@gnu.org>
29100
29101         * config/config.{sub,guess}: update from config.
29102
29103 2003-11-18  Karl Berry  <karl@gnu.org>
29104
29105         * config/config.{sub,guess}: update from config.
29106
29107         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
29108
29109 2003-11-17  Paul Eggert  <eggert@twinsun.com>
29110
29111         * README: Mention that S+T cannot overflow if S is the size of
29112         an existing object and T is sufficiently small.
29113
29114 2003-11-17  Jim Meyering  <jim@meyering.net>
29115
29116         On systems without utime and without a utimes function capable of
29117         dealing with a NULL struct utimbuf* argument, this utime replacement
29118         could -- in unusual circumstances -- leak a file descriptor.
29119         * lib/utime.c: Include <unistd.h> and <errno.h>.
29120         (utime_null): Be sure to close `fd' and to preserve errno.
29121         Reported by Geoff Collyer via Arnold Robbins.
29122
29123 2003-11-17  Bruno Haible  <bruno@clisp.org>
29124
29125         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
29126         (Depends-on): Add xsize.
29127
29128 2003-11-17  Bruno Haible  <bruno@clisp.org>
29129
29130         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
29131
29132 2003-11-17  Bruno Haible  <bruno@clisp.org>
29133
29134         * lib/vasnprintf.c (alloca): Remove fallback definition.
29135         (freea): Remove definition.
29136         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
29137         Reported by Paul Eggert.
29138
29139 2003-11-16  Paul Eggert  <eggert@twinsun.com>
29140             Bruno Haible  <bruno@clisp.org>
29141
29142         Protect against address arithmetic overflow.
29143         * lib/printf-args.h: Include stddef.h.
29144         (arguments): Change type of field 'count' to size_t.
29145         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
29146         'unsigned int' where appropriate.
29147         * lib/printf-parse.h: Include sys/types.h.
29148         (char_directive): Change type of *arg_index fields to ssize_t.
29149         (char_directives): Change type of fields 'count', max_*_length to
29150         size_t.
29151         * lib/printf-parse.c: Include sys/types.h and xsize.h.
29152         (SSIZE_MAX): Define fallback value.
29153         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
29154         instead of 'int' where appropriate. Check a_allocated, d_allocated
29155         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
29156         * lib/vasnprintf.c: Include xsize.h.
29157         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
29158         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
29159         overflow. Avoid wraparound when converting a width or precision from
29160         decimal to binary.
29161
29162 2003-11-16  Bruno Haible  <bruno@clisp.org>
29163
29164         Update from GNU gettext.
29165         * lib/printf-parse.c: Generalize to it can be compiled for wide
29166         strings.
29167         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
29168         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
29169         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
29170         SNPRINTF): New macros.
29171         Don't include <alloca.h> if the file is used inside libintl.
29172         (local_wcslen): New function, for Solaris 2.5.1.
29173         (VASNPRINTF): Use it instead of wcslen.
29174
29175 2003-11-16  Bruno Haible  <bruno@clisp.org>
29176
29177         * lib/xsize.h (xmax): New function.
29178         (xsum, xsum3, xsum4): Declare as "pure" functions.
29179
29180 2003-11-12  Paul Eggert  <eggert@twinsun.com>
29181
29182         * modules/xalloc (Files): Undo latest change, since xalloc.h
29183         no longer needs SIZE_MAX or PTRDIFF_MAX.
29184
29185 2003-11-12  Paul Eggert  <eggert@twinsun.com>
29186
29187         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
29188         gl_PTRDIFF_MAX.
29189
29190 2003-11-12  Paul Eggert  <eggert@twinsun.com>
29191
29192         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
29193         "return", to pacify some unknown compiler.  Problem reported
29194         by Joerg Schilling.
29195
29196 2003-11-12  Paul Eggert  <eggert@twinsun.com>
29197
29198         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
29199         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
29200         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
29201         heuristic is just as accurate as far as we know, and it removes a
29202         dependency on size_max.m4 and ptrdiff_max.m4.
29203
29204 2003-11-11  Bruno Haible  <bruno@clisp.org>
29205
29206         * modules/xsize (Files): Add m4/size_max.m4.
29207         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
29208
29209 2003-11-11  Bruno Haible  <bruno@clisp.org>
29210
29211         * m4/size_max.m4: New file.
29212         * m4/ptrdiff_max.m4: New file.
29213         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
29214         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
29215         (gl_XALLOC): Invoke it.
29216
29217 2003-11-11  Bruno Haible  <bruno@clisp.org>
29218
29219         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
29220         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
29221         defined.
29222
29223 2003-11-10  Paul Eggert  <eggert@twinsun.com>
29224
29225         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
29226         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
29227         rejected some allocations of exactly SIZE_MAX - 2 bytes.
29228         From Bruno Haible.
29229         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
29230         not (size_t) -1, since it's defined here.
29231
29232 2003-11-09  Karl Berry  <karl@gnu.org>
29233
29234         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
29235
29236 2003-11-06  Paul Eggert  <eggert@twinsun.com>
29237
29238         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
29239         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
29240         Reject sizes of exactly SIZE_MAX bytes.
29241         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
29242         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
29243
29244 2003-11-05  Bruno Haible  <bruno@clisp.org>
29245
29246         * lib/xsize.h: Include limits.h, to avoid a possible collision with
29247         SIZE_MAX defined in <limits.h> on Solaris.
29248
29249 2003-11-04  Jim Meyering  <jim@meyering.net>
29250
29251         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
29252         variable names, rather than @VAR@.
29253         * modules/poll: Likewise.
29254
29255 2003-11-04  Bruno Haible  <bruno@clisp.org>
29256
29257         * modules/xsize: New file.
29258         * modules/linebreak: Depend on xsize.
29259         * MODULES.html.sh (func_all_modules): Add xsize.
29260
29261 2003-11-04  Bruno Haible  <bruno@clisp.org>
29262
29263         * m4/xsize.m4: New file.
29264
29265 2003-11-04  Bruno Haible  <bruno@clisp.org>
29266
29267         * lib/xsize.h: New file.
29268         * lib/linebreak.c: Include xsize.h.
29269         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
29270         argument for overflow.
29271         Suggested by Paul Eggert.
29272
29273 2003-11-03  Karl Berry  <karl@gnu.org>
29274
29275         * config/config.{guess,sub}: update from config.
29276
29277 2003-11-03  Jim Meyering  <jim@meyering.net>
29278
29279         * modules/userspec (lib_SOURCES): Add userspec.h.
29280         (Include): Add "userspec.h".
29281         Improve description.
29282
29283 2003-11-03  Jim Meyering  <jim@meyering.net>
29284
29285         * lib/userspec.c: Include "userspec.h".
29286         * lib/userspec.h: New file.
29287
29288 2003-11-03  Bruno Haible  <bruno@clisp.org>
29289
29290         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
29291
29292 2003-11-03  Bruno Haible  <bruno@clisp.org>
29293
29294         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
29295         available, to avoid (extremely rare) race condition.
29296         Suggested by Paul Eggert.
29297
29298 2003-11-02  Karl Berry  <karl@gnu.org>
29299
29300         * config/srclist.txt (vasprintf.c): sync broken, sigh.
29301
29302 2003-10-31  Paul Eggert  <eggert@twinsun.com>
29303
29304         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
29305         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
29306         (read_filesystem_list): Set and use me_type_malloced.
29307         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
29308         whatever the type happens to be), for brevity and consistency.
29309         Check for size calculation overflow on Alphas running OSF/1.
29310
29311 2003-10-31  Jim Meyering  <jim@meyering.net>
29312
29313         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
29314
29315         * lib/linebuffer.c: Include <string.h> for declaration of memset.
29316
29317 2003-10-30  Paul Eggert  <eggert@twinsun.com>
29318             Bruno Haible  <bruno@clisp.org>
29319
29320         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
29321         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
29322
29323 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
29324
29325         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
29326         netbsd*-gnu*.  Suggested by Robert Millan.
29327
29328 2003-10-29  Paul Eggert  <eggert@twinsun.com>
29329
29330         * modules/group-member: Depend on stdbool.
29331
29332 2003-10-29  Paul Eggert  <eggert@twinsun.com>
29333
29334         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
29335
29336 2003-10-29  Paul Eggert  <eggert@twinsun.com>
29337
29338         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
29339         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
29340         after the 'gnu' in these cases.  This fixes some bugs in the
29341         previous change, and is based on suggestions by Robert Millan.
29342
29343 2003-10-29  Paul Eggert  <eggert@twinsun.com>
29344
29345         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
29346         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
29347         no longer needed.
29348         * lib/quotearg.c (quotearg_n_options): Use it.
29349         * lib/group-member.c: Include <stdbool.h>.
29350         (free_group_info): Arg is now const *; don't free arg.
29351         (get_group_info): Now returns bool and accepts struct group_info *,
29352         rather than returning a malloc'ed struct group_info *.
29353         All uses changed.  Check for overflow in internal size calculation.
29354
29355         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
29356         rather than xmalloc/xrealloc.
29357         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
29358         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
29359         conformance bug: the old code used a pointer after freeing the
29360         storage that it addressed.
29361         * lib/hash.c (hash_initialize): Simplify the code by using
29362         xalloc_oversized rather than doing it by hand.
29363         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
29364         the buffer preserved.  Use free and xmalloc instead.
29365         * lib/quotearg.c (quotearg_n_options): Likewise.
29366         Use a simpler test for size overflow.  Don't use xalloc_oversized
29367         because unsigned int might be wider than size_t (!); this suggests
29368         that we should switch from unsigned int to size_t for slot numbers.
29369
29370 2003-10-28  Paul Eggert  <eggert@twinsun.com>
29371
29372         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
29373         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
29374         NetBSD kernels.  Requested by Richard Stallman.
29375
29376 2003-10-27  Paul Eggert  <eggert@twinsun.com>
29377
29378         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
29379         to allocate the returned structure.  Do not allocate a subarray,
29380         as x2nrealloc will do that.
29381         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
29382         instead of xnrealloc.
29383         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
29384
29385 2003-10-27  Bruno Haible  <bruno@clisp.org>
29386
29387         * lib/stdbool_.h: Better support for BeOS.
29388
29389 2003-10-26  Paul Eggert  <eggert@twinsun.com>
29390
29391         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
29392         now uses inline.
29393
29394 2003-10-26  Paul Eggert  <eggert@twinsun.com>
29395
29396         * lib/xalloc.h (xalloc_oversized): New static inline function, for
29397         callers that want to do their own size-overflow checking.  Include
29398         <stdbool.h>, since xalloc_oversized returns bool.
29399         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
29400         to use xalloc_oversized.
29401
29402         Add two functions x2realloc, x2nrealloc, for programs that grow
29403         arrays dynamically by doubling their sizes.
29404         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
29405         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
29406         New functions.
29407
29408         Port to C99 semantics for 'inline' of external functions.
29409         Bug reported by Bruno Haible.
29410         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
29411         with the old contents of xnmalloc.
29412         (xnmalloc, xmalloc): Use it.
29413         (xnrealloc_inline): New static inline function,
29414         with the old contents of xnrealloc.
29415         (xnrealloc, xrealloc): Use it.
29416
29417         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
29418         that.
29419
29420 2003-10-26  Karl Berry  <karl@gnu.org>
29421
29422         * config/srclist.txt (COPYING.DOC): no longer available from
29423         /gd/gnuorg; don't know where the ultimate source is.
29424
29425 2003-10-25  Paul Eggert  <eggert@twinsun.com>
29426
29427         Fix several address-calculation bugs in the hash modules,
29428         plus some minor code cleanup.
29429
29430         * lib/hash.h: Include <stdbool.h>, for bool.
29431         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
29432         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
29433         hash_get_n_entries, hash_get_max_bucket_length,
29434         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
29435         hash_rehash): Use size_t rather than unsigned.
29436         * lib/hash.c (struct hash_table, hash_get_n_buckets,
29437         hash_get_n_buckets_used, hash_get_n_entries,
29438         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
29439         hash_get_entries, hash_do_for_each, hash_string, is_prime,
29440         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
29441         Likewise.
29442         (SIZE_MAX): Define if not defined.
29443         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
29444         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
29445         hash_print):
29446         Use const * when possible.
29447         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
29448         (check_tuning): Fix bug: if tuning parameters were very close to
29449         0 or 1, rounding errors could have caused subscript violations.
29450         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
29451         (hash_initialize): Add 'fail:' label
29452         to free table and return NULL, and use it to simplify code.
29453         Use calloc rather than clearing the storage ourself.
29454         (hash_initialize, hash_rehash): Check for arithmetic overflow in
29455         buffer size calculations.
29456         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
29457         Include <stddef.h>, for size_t.
29458         * lib/hash-pjw.c (hash_pjw): Likewise.
29459         Switch to method described by Bruno Haible.
29460         Include <limits.h>, for CHAR_BIT.
29461         (SIZE_BITS): New macro.
29462
29463 2003-10-23  Paul Eggert  <eggert@twinsun.com>
29464
29465         * m4/getline.m4 (AM_FUNC_GETLINE):
29466         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
29467         hosts.  Problem reported by Derek Robert Price in
29468         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
29469         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
29470         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
29471
29472 2003-10-21  Paul Eggert  <eggert@twinsun.com>
29473
29474         * lib/getndelim2.c (getndelim2): When size calculation overflows,
29475         ceiling the allocation at NMAX bytes rather than silently
29476         discarding input bytes before NMAX is reached.  This makes
29477         a difference only if NMAX exceeds SIZE_MAX / 2.
29478
29479         * lib/obstack.c: Merge from glibc.
29480         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
29481         Add libc_hidden_def (_obstack_newchunk).
29482         (_obstack_free) [! defined _LIBC]: Remove.
29483         [defined _LIBC]: Make a strong alias from obstack_free, rather than
29484         a clone of the function body.
29485         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
29486         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
29487
29488         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
29489         glibc.
29490         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
29491         arg to memcpy.
29492
29493         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
29494         (obstack_ptr_grow_fast, obstack_int_grow_fast):
29495         Don't use lvalue casts, as GCC plans to remove support for them
29496         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
29497         was also present in the non-GCC version, indicating that this
29498         code had always been buggy and had never been widely used.
29499         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
29500         Use the fast variant of each macro, rather than copying the
29501         definiens of the fast variant; that way, we'll be more likely to
29502         catch future bugs in the fast variants.
29503
29504 2003-10-20  Bruno Haible  <bruno@clisp.org>
29505
29506         * modules/wait-process: New file.
29507         * MODULES.html.sh (func_all_modules): Add wait-process.
29508
29509 2003-10-20  Bruno Haible  <bruno@clisp.org>
29510
29511         * m4/wait-process.m4: New file.
29512
29513 2003-10-20  Bruno Haible  <bruno@clisp.org>
29514
29515         * lib/wait-process.h: New file, from GNU gettext.
29516         * lib/wait-process.c: New file, from GNU gettext.
29517
29518 2003-10-19  Jim Meyering  <jim@meyering.net>
29519
29520         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
29521         HPUX 10.20.
29522
29523 2003-10-18  Karl Berry  <karl@gnu.org>
29524
29525         * config/config.guess: update from config.
29526
29527 2003-10-16  Paul Eggert  <eggert@twinsun.com>
29528
29529         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
29530         (getgroups): First arg is int, not size_t.
29531         Don't let 'free' mangle errno.
29532
29533 2003-10-16  Paul Eggert  <eggert@twinsun.com>
29534
29535         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
29536
29537 2003-10-16  Karl Berry  <karl@gnu.org>
29538
29539         * config/config.{guess,sub}: update from config.
29540
29541 2003-10-16  Jim Meyering  <jim@meyering.net>
29542
29543         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
29544         memcpy.
29545
29546 2003-10-15  Paul Eggert  <eggert@twinsun.com>
29547
29548         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
29549         (SIZE_MAX): Remove.
29550         (new_exclude, add_exclude_file): Initial size no longer needs to
29551         be a power of 2.
29552         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
29553         our own address arithmetic overflow checking.
29554
29555         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
29556         (fnmatch): Do not alloca more than 2000 wide characters;
29557         instead, use malloc for large buffers.
29558         Check for address arithmetic overflow, and return -1
29559         with errno set to ENOMEM in that case.
29560         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
29561         (NEW_PATTERN): Do not alloca more than 8000 bytes;
29562         instead, return -1.  Check for address arithmetic overflow.
29563
29564 2003-10-14  Paul Eggert  <eggert@twinsun.com>
29565
29566         Handle invalid suffixes and overflow independently, so that
29567         callers can treat them independently as needed.  Fix some bugs in
29568         suffix handling, e.g., "100k@" was not diagnosed as an invalid
29569         suffix for a human-readable blocksize.  The major caller-visible
29570         change is the addition of a new
29571         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
29572         that both overflow and suffix chars were found.
29573
29574         * lib/human.c (humblock): Don't check separately for invalid suffix
29575         char; that is xstrtoumax's job (now that its bug is fixed).
29576         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
29577         INTMAX_MAX]: New macros.
29578         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
29579         TYPE_MAXIMUM): New macros.
29580         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
29581         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
29582         if overflow occurs, as it's what __strtol does and it's more useful
29583         in practice.
29584         (__xstrtol): If __strtol reports some error other than ERANGE,
29585         reflect it to the caller as LONGINT_INVALID.  If it reports
29586         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
29587         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
29588         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
29589         value.
29590         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
29591         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
29592         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
29593         [defined UINTMAX_MAX]: New macros.
29594
29595 2003-10-14  Bruno Haible  <bruno@clisp.org>
29596
29597         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
29598
29599 2003-10-14  Bruno Haible  <bruno@clisp.org>
29600
29601         * m4/sig_atomic_t: New file, from GNU gettext.
29602         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
29603
29604 2003-10-14  Bruno Haible  <bruno@clisp.org>
29605
29606         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
29607         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
29608         Also use volatile where needed.
29609
29610 2003-10-12  Paul Eggert  <eggert@twinsun.com>
29611
29612         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
29613         Change maintainer from Bruno Haible to 'all'.
29614
29615 2003-10-12  Paul Eggert  <eggert@twinsun.com>
29616
29617         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
29618
29619 2003-10-12  Paul Eggert  <eggert@twinsun.com>
29620
29621         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
29622         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
29623         and define in terms of the other primitives.
29624         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
29625         (SIZE_MAX): Define if not already defined.
29626         (array_size_overflow): New function.
29627         (xalloc_die): Abort instead of exiting if 'error' returns.
29628         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
29629         (xmalloc, xrealloc): Use them.
29630         (xcalloc): Check for address arithmetic overflow.
29631         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
29632         a bit faster than strcpy.
29633
29634 2003-10-10  Simon Josefsson  <jas@extundo.com>
29635
29636         * modules/argp (Depends-on): Add restrict and strcase.
29637
29638 2003-10-10  Simon Josefsson  <jas@extundo.com>
29639
29640         * m4/argp.m4: Add AC_C_INLINE.
29641
29642 2003-10-08  Paul Eggert  <eggert@twinsun.com>
29643
29644         Merge getpass from libc, plus a few fixes.
29645
29646         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
29647         Include <stdbool.h>.
29648         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
29649         __fsetlocking to empty.
29650         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
29651         do include <bits/libc-lock.h>.
29652         Do not include <fcntl.h>; not needed.
29653         [_LIBC]: Include <wchar.h>.
29654         (NOTCANCEL_MODE): New macro.
29655         (flockfile, funlockfile) [_LIBC]: New macros.
29656         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
29657         [!_LIBC]: New macros.
29658         (call_fclose): New function.
29659         (getpass): Use it.  Save tty stream separately; this simplifies the
29660         code and makes it more reliable if stdin happens to equal stdout.
29661         Invoke __fsetlocking on tty.
29662         Handle thread cancellation if needed.
29663         Namespace cleanup (use __tcgetattr, __getline).
29664         Use bool for Booleans.
29665         [USE_IN_LIBIO]: Handle wide streams.
29666         [!_LIBC]: Unconditionally do the fseek, since we don't know what
29667         stream might go where.
29668
29669         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
29670         doesn't have to include <stdio.h> before us.
29671         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
29672         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
29673         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
29674         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
29675         if not declared, so that we can use getpass.c code from libc without
29676         rewriting it.
29677         (flockfile, ftrylockfile, funlockfile): New macros.
29678
29679 2003-10-08  Paul Eggert  <eggert@twinsun.com>
29680
29681         * modules/getpass: Depend on stdbool.
29682
29683 2003-10-08  Paul Eggert  <eggert@twinsun.com>
29684
29685         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
29686
29687 2003-10-07  Karl Berry  <karl@gnu.org>
29688
29689         * config/config.{guess,sub}: update from config.
29690
29691 2003-10-06  Jim Meyering  <jim@meyering.net>
29692             Bruno Haible  <bruno@clisp.org>
29693
29694         This lets translators provide better translations for the
29695         "Written by ..." part of --version output.
29696         * lib/version-etc.h: Include stdarg.h.
29697         (version_etc_copyright): Declare as readonly.
29698         (version_etc): Make this function variadic with a NULL-terminated list
29699         of author name strings.
29700         (version_etc_va): New declaration.
29701         * lib/version-etc.c: Include stdarg.h, stdlib.h.
29702         (version_etc_copyright): Declare as readonly.
29703         (version_etc_va): New function. Provide a different translatable string
29704         for each possible number of authors < 10. Abbreviate when there are 10
29705         authors or more.
29706         (version_etc): Make this function variadic. Call version_etc_va.
29707         Suggestion from Gary V. Vaughan.
29708
29709         * lib/long-options.h (parse_long_options): Change prototype: the
29710         authors string is moved to the end and becomes variadic.
29711         * lib/long-options.c: Include stdarg.h.
29712         (parse_long_options): Make this function variadic, too.
29713         Call version_etc_va, not version_etc.
29714
29715 2003-10-06  Bruno Haible  <bruno@clisp.org>
29716
29717         * modules/version-etc-2: Remove file.
29718         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
29719
29720 2003-10-06  Bruno Haible  <bruno@clisp.org>
29721
29722         * modules/fatal-signal: New file.
29723         * MODULES.html.sh (func_all_modules): Add fatal-signal.
29724
29725 2003-10-06  Bruno Haible  <bruno@clisp.org>
29726
29727         * m4/fatal-signal.m4: New file.
29728         * m4/signalblocking.m4: New file, from GNU gettext.
29729
29730 2003-10-06  Bruno Haible  <bruno@clisp.org>
29731
29732         * lib/version-etc-2.h: Remove file.
29733         * lib/version-etc-2.c: Remove file.
29734
29735 2003-10-06  Bruno Haible  <bruno@clisp.org>
29736
29737         * lib/fatal-signal.h: New file, from GNU gettext.
29738         * lib/fatal-signal.c: New file, from GNU gettext.
29739
29740 2003-10-05  Paul Eggert  <eggert@twinsun.com>
29741
29742         * README: Rework advice for preventing empty .o files.
29743         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
29744         not <sys/types.h>.
29745
29746 2003-10-04  Karl Berry  <karl@gnu.org>
29747
29748         * lib/argp*: update from libc.
29749
29750 2003-10-04  Karl Berry  <karl@gnu.org>
29751
29752         * config/config.{guess,sub}: update from config.
29753
29754 2003-10-02  Bruno Haible  <bruno@clisp.org>
29755
29756         * modules/lchown (Include): Add lchown.h.
29757         * modules/time_r (Include): Use "..." syntax.
29758         * modules/xgetdomainname (Include): Add xgetdomainname.h.
29759
29760 2003-10-01  Simon Josefsson  <jas@extundo.com>
29761
29762         * MODULES.html.sh (func_all_modules): Move gethostname from section
29763         'based on' to section 'lacking' POSIX:2001.
29764
29765 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
29766
29767         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
29768         to output mode on the same stream.
29769
29770 2003-09-29  Paul Eggert  <eggert@twinsun.com>
29771
29772         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
29773         Fix arg typo in previous patch.
29774
29775 2003-09-28  Jim Meyering  <jim@meyering.net>
29776
29777         * lib/error.c: Correct cpp indentation.
29778
29779 2003-09-27  Paul Eggert  <eggert@twinsun.com>
29780
29781         * modules/free: New file.
29782
29783 2003-09-27  Paul Eggert  <eggert@twinsun.com>
29784
29785         * m4/free.m4: New file.
29786
29787 2003-09-27  Paul Eggert  <eggert@twinsun.com>
29788
29789         * lib/minmax.h (MIN, MAX)
29790         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
29791         Omit the special code that used __typeof__, since we worry that
29792         it could be more trouble than it's worth.  See:
29793         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
29794         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
29795
29796         * lib/free.c: New file.
29797
29798 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
29799
29800         Trivial fixes to Makefile.am parts of module listings.
29801         * modules/strstr: Append strstr.h to lib_SOURCES.
29802         * modules/strcase: Likewise, for strcase.h.
29803
29804 2003-09-27  Karl Berry  <karl@gnu.org>
29805
29806         * config/mkinstalldirs: update from automake.
29807
29808 2003-09-26  Paul Eggert  <eggert@twinsun.com>
29809
29810         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
29811         (error_tail): Do not loop, reallocating temporary buffer, since
29812         the output cannot contain more wide characters than the input
29813         contains bytes, the size must be big enough already.  This avoids
29814         one potential size overflow calculation.  Check for size overflow
29815         when calculating temporary buffer size.  Free temporary buffer
29816         when done, if it was allocated with malloc; this plugs a memory
29817         leak.  Remove casts from void * to pointers, that are no longer
29818         needed now that we're assuming C89 or better.
29819
29820         Merge error changes from glibc.
29821
29822         * lib/error.c, error.h: Update copyright notice header to match glibc.
29823         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
29824         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
29825         Disable cancellation while printing error.
29826         * lib/error.h: Prepend __ to parameter names.
29827
29828 2003-09-26  Jim Meyering  <jim@meyering.net>
29829
29830         * lib/error.c (error_tail): Move some declarations
29831         into inner scope where the local variables are used.
29832
29833 2003-09-26  Bruno Haible  <bruno@clisp.org>
29834
29835         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
29836         stpncpy().
29837         Don't define stpncpy through config.h; it's now done through stpncpy.h.
29838
29839 2003-09-26  Bruno Haible  <bruno@clisp.org>
29840
29841         * lib/stpncpy.h (gnu_stpncpy): New declaration.
29842         (stpncpy): Define as alias for gnu_stpncpy.
29843         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
29844
29845 2003-09-25  Simon Josefsson  <jas@extundo.com>
29846
29847         * lib/xgetdomainname.h: New file.
29848         * lib/xgetdomainname.c: New file.
29849
29850 2003-09-25  Simon Josefsson  <jas@extundo.com>
29851             Bruno Haible  <bruno@clisp.org>
29852
29853         * modules/getdomainname: New file.
29854         * modules/xgetdomainname: New file.
29855         * MODULES.html.sh (func_all_modules): Add getdomainname,
29856         xgetdomainname.
29857
29858 2003-09-25  Simon Josefsson  <jas@extundo.com>
29859             Bruno Haible  <bruno@clisp.org>
29860
29861         * m4/getdomainname.m4: New file.
29862
29863 2003-09-25  Simon Josefsson  <jas@extundo.com>
29864             Bruno Haible  <bruno@clisp.org>
29865
29866         * lib/getdomainname.h: New file.
29867         * lib/getdomainname.c: New file.
29868
29869 2003-09-25  Karl Berry  <karl@gnu.org>
29870
29871         * lib/argp-fmtstream.c, argp-help.c: update from libc.
29872
29873 2003-09-25  Karl Berry  <karl@gnu.org>
29874
29875         * config/install-sh: update from automake.
29876
29877 2003-09-25  Bruno Haible  <bruno@clisp.org>
29878
29879         * modules/version-etc-2: New file, from modules/version-etc with
29880         modifications.
29881         * MODULES.html.sh (func_all_modules): Add version-etc-2.
29882
29883 2003-09-25  Bruno Haible  <bruno@clisp.org>
29884
29885         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
29886         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
29887
29888 2003-09-24  Simon Josefsson  <jas@extundo.com>
29889
29890         * modules/xgethostname: Add xgethostname.h.
29891
29892 2003-09-24  Paul Eggert  <eggert@twinsun.com>
29893
29894         * lib/linebuffer.c (freebuffer): Don't free the argument, just
29895         the buffer associated with the argument.  Bug reported by
29896         Simon Josefsson.
29897
29898 2003-09-24  Paul Eggert  <eggert@twinsun.com>
29899
29900         * README: Document assumptions that 'int' is at least 32 bits
29901         wide, that integer arithmetic is 2's complement without overflow,
29902         that there are no holes in integer values, that adding sizes of
29903         two nonoverlapping objects can't overflow, and that all-bits-zero
29904         yields scalar zero.  Fix spelling and capitalization typos.
29905
29906 2003-09-19  Karl Berry  <karl@gnu.org>
29907
29908         * lib/argp.h: update from libc.
29909
29910 2003-09-17  Paul Eggert  <eggert@twinsun.com>
29911
29912         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
29913         to avoid spurious warnings like "AC_RUN_IFELSE was called before
29914         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
29915
29916 2003-09-17  Paul Eggert  <eggert@twinsun.com>
29917
29918         * gnulib-tool: Use "test -h", not "test -L", for portability
29919         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
29920         (tags_regexp): Remove, since \| doesn't conform to POSIX.
29921         (sed_extract_prog): Issue s commands one-by-one, rather than
29922         using \| in one s command.
29923
29924 2003-09-16  Paul Eggert  <eggert@twinsun.com>
29925
29926         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
29927         input error, instead of returning NULL the next time we are called
29928         (and therefore losing track of errno).
29929
29930 2003-09-16  Bruno Haible  <bruno@clisp.org>
29931
29932         * gnulib-tool (func_create_testdir): Warn about duplicated
29933         dependencies.
29934
29935 2003-09-15  Paul Eggert  <eggert@twinsun.com>
29936
29937         * modules/argmatch, modules/fatal, modules/obstack,
29938         modules/xalloc, modules/xgethostname: Sort dependencies by
29939         importance, not alphabetically.
29940
29941 2003-09-15  Paul Eggert  <eggert@twinsun.com>
29942
29943         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
29944         fails, so that the caller gets the proper errno.
29945
29946         * lib/readutmp.c (read_utmp): Likewise.
29947         Check for fstat error.  Close stream and free storage
29948         when failing.
29949
29950 2003-09-14  Karl Berry  <karl@gnu.org>
29951
29952         * config/srclist.txt (strdup.c): disable for c89 changes.
29953
29954 2003-09-14  Jim Meyering  <jim@meyering.net>
29955
29956         * lib/getloadavg.c: Correct cpp indentation.
29957         * lib/strdup.c: Likewise.
29958         * lib/vasnprintf.c: Likewise.
29959
29960 2003-09-14  Bruno Haible  <bruno@clisp.org>
29961
29962         * modules/fwriteerror: New file.
29963         * MODULES.html.sh (func_all_modules): Add fwriteerror.
29964
29965 2003-09-14  Bruno Haible  <bruno@clisp.org>
29966
29967         * lib/fwriteerror.h: New file.
29968         * lib/fwriteerror.c: New file.
29969
29970 2003-09-12  Paul Eggert  <eggert@twinsun.com>
29971
29972         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
29973         modules/xgethostname, modules/xalloc: Depend on exit.
29974
29975 2003-09-12  Paul Eggert  <eggert@twinsun.com>
29976
29977         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
29978
29979         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
29980         and AC_MINIX, too, so that their extensions are available.
29981
29982         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
29983         This macro has been superseded by gl_BACKUPFILE.
29984
29985         More patches to assume C89 or better.
29986
29987         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
29988
29989         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
29990         unconditionally.
29991         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
29992         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
29993         Include <string.h>, <stdlib.h> unconditionally.
29994         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
29995         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
29996         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
29997         headers or for string.h.
29998         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
29999         or strtoul.
30000
30001         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
30002         headers.
30003         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
30004         * m4/userspec.m4 (gl_USERSPEC): Likewise.
30005         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
30006         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
30007         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
30008         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
30009         memcpy, memset.
30010         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
30011         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
30012         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
30013         strtol.
30014         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
30015         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
30016         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
30017         strtoul.
30018
30019 2003-09-12  Paul Eggert  <eggert@twinsun.com>
30020
30021         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
30022         * lib/obstack.c [!defined _LIBC]: Likewise.
30023         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
30024         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
30025         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
30026
30027         More changes to assume C89 or better.
30028
30029         * lib/error.c (error_tail): Assume vprintf.
30030
30031         * lib/argmatch.c (getenv): Remove decl.
30032         * lib/progreloc.c (get_full_program_name): Define via prototype.
30033         * lib/setenv.c (clearenv): Likewise.
30034         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
30035         needed.
30036         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
30037         (malloc, memcpy): Remove decls.
30038         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
30039         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
30040         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
30041         (memcpy): Remove macro.
30042         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
30043         (__P): Remove.  All uses removed.
30044         (PTR): Remove.  All uses changed to void *.
30045         (CHAR_BIT, NULL): Remove.
30046         (spaces, zeros, memset_space, memset_zero)
30047         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
30048         Remove.
30049         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
30050         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
30051         Define with prototype.
30052         Remove now-unnecessary prototype decl.
30053         (extra_args_spec): Assume ANSI C.  All uses changed.
30054         (extra_args_spec_iso): Remove.
30055         (my_strftime, emacs_strftimeu): Define via prototype.
30056         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
30057         unconditionally.
30058         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
30059         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
30060         (strtoul, strtol): Remove decls.
30061         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
30062         LONG_MAX): Remove.
30063         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
30064         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
30065         (LOCALE_PARAM_PROTO): New macro.
30066         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
30067         (INTERNAL (strtol), strtol): Define with a prototype.
30068         (PARAMS): Remove.  All uses removed.
30069         * lib/tempname.c: Include <string.h> unconditionally.
30070         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
30071         * lib/xgethostname.c (main): Define with a prototype.
30072         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
30073         Include <stdlib.h> unconditionally.
30074         (calloc, malloc, realloc, free): Remove decls.
30075         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
30076         Include <stdlib.h> unconditionally.  Sort include file names.
30077         (strtod): Remove.
30078         (xstrtod): Define with a prototype.
30079         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
30080         (strtol, strtoul): Remove decls.
30081
30082 2003-09-11  Paul Eggert  <eggert@twinsun.com>
30083
30084         More patches to assume C89 or better.
30085         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
30086         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
30087         string.h, memchr, STDC_HEADERS.
30088
30089 2003-09-11  Paul Eggert  <eggert@twinsun.com>
30090
30091         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
30092         Include <stdlib.h>, <string.h> unconditionally.
30093         Remove now-unnecessary cast to char *.
30094         * lib/strnlen.c: Include <string.h> unconditionally.
30095         * lib/yesno.c (yesno): Define with a prototype.
30096
30097 2003-09-11  Bruno Haible  <bruno@clisp.org>
30098
30099         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
30100
30101 2003-09-10  Jim Meyering  <jim@meyering.net>
30102
30103         * lib/error.c: Correct indentation of cpp directives.
30104
30105 2003-09-10  Bruno Haible  <bruno@clisp.org>
30106
30107         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
30108         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
30109         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
30110         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
30111         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
30112         <stdlib.h> and <string.h> checks.
30113         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
30114         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
30115
30116 2003-09-10  Bruno Haible  <bruno@clisp.org>
30117
30118         * lib/strcspn.c: Include <string.h> unconditionally.
30119         * lib/strpbrk.c: Include <string.h> unconditionally.
30120         * lib/strstr.c: Include <string.h> unconditionally.
30121         * lib/unicodeio.c: Include <string.h> unconditionally.
30122         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
30123         * lib/unsetenv.c: Likewise.
30124         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
30125         * lib/yesno.c: Include <stdlib.h> unconditionally.
30126         (rpmatch): Add prototype.
30127
30128 2003-09-09  Paul Eggert  <eggert@twinsun.com>
30129
30130         More patches to assume C89 or better.
30131         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
30132         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
30133         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
30134         or for string.h.
30135         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
30136         stdlib.h.
30137         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
30138         C headers.
30139         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
30140         string.h.
30141         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
30142         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
30143         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
30144         or for string.h.
30145         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
30146         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
30147         C headers.
30148         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
30149         memcpy.
30150         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
30151         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
30152         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
30153         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
30154         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
30155         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
30156         string.h, free.
30157         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
30158         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
30159         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
30160         C headers, or for string.h.
30161         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
30162         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
30163         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
30164         headers, memory.h, stdlib.h, string.h, strings.h.
30165         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
30166         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
30167         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
30168         strchr.
30169         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
30170         headers, memory.h, string.h.
30171         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
30172         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
30173         free.
30174         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
30175         headers.
30176         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
30177         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
30178         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
30179         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
30180         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
30181
30182 2003-09-09  Paul Eggert  <eggert@twinsun.com>
30183
30184         More K&R removal.
30185
30186         * lib/acosl.c (main): Use a prototype.
30187         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
30188         tanl.c: Likewise.
30189
30190         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
30191
30192         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
30193         (getopt, etopt_long, getopt_long_only, _getopt_internal)
30194         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
30195         with a prototype.
30196         * lib/getopt.c (const): Remove macro.
30197         Include <string.h> unconditionally.
30198         (my_index): Remove; all uses changed to strchr.
30199         (strlen): Remove decl.
30200         (exchange): Remove forward decl; no longer needed.
30201         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
30202         Define with prototype.
30203         * lib/getopt1.c (const): Remove macro.
30204         (getopt_long, getopt_long_only, main): Define with prototype.
30205
30206         * lib/getugroups.c: Include <string.h> unconditionally.
30207
30208         * lib/getusershell.c: Include <stdlib.h> unconditionally.
30209         (getusershell, setusershell, endusershell, readname, main):
30210         Define with prototypes.
30211
30212         * lib/group-member.c: Include group-member.h first.
30213         Include <stdlib.h> unconditionally.
30214
30215         * lib/hard-locale.c: Include hard-locale.h first.
30216         Include <stdlib.h>, <string.h> unconditionally.
30217
30218         * lib/hash.c (free, malloc): Remove decls.
30219         Include <stdlib.h> unconditionally.
30220
30221         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
30222         (getenv): Do not declare.
30223
30224         * lib/idcache.c: Include <string.h> unconditionally.
30225
30226         * lib/long-options.c: Include long-options.h first, to test interface.
30227         Include <stdlib.h> unconditionally.
30228
30229         * lib/makepath.c: Include makepath.h first, to test interface.
30230         Include <stdlib.h> and <string.h> unconditionally.
30231
30232         * lib/linebuffer.c: Include <stdlib.h>.
30233         (free): Remove decl.
30234
30235         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
30236         stddef.h. rpl_malloc returns void *, not char *.
30237         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
30238         prototype.
30239
30240         * lib/md5.h: Include <limits.h> unconditionally.
30241         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
30242         (__P): Remove; all uses removed.
30243         * lib/md5.c: Include "md5.h" first.
30244         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
30245         md5_buffer, md5_process_bytes, md5_process_block):
30246         Define with prototypes.
30247         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
30248         * lib/sha.c: Include "sha.h" first.
30249         Include <stdlib.h>, <string.h> unconditionally.
30250
30251         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
30252         * lib/memcmp.c (__ptr_t): Likewise.
30253         * lib/memrchr.c (__ptr_t): Likewise.
30254         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
30255         Include <string.h> unconditionally.
30256         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
30257         * lib/memchr.c: Include <stdlib.h> unconditionally.
30258         * lib/memchr.c (LONG_MAX): Remove.
30259         * lib/memrchr.c (LONG_MAX): Likewise.
30260         * lib/memchr.c (__memchr): Define via a prototype.
30261         * lib/memrchr.c (__memrchr): Likewise.
30262         * lib/memcmp.c (__P): Remove, and remove all uses.
30263         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
30264         Remove forward decls; no longer needed.
30265         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
30266         Use types required by C89 in prototype.
30267
30268         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
30269         * lib/savedir.c: Likewise.
30270         * lib/mkdir.c (free): Remove decl.
30271         * lib/rmdir.c (rmdir): Define with a prototype.
30272         * lib/savedir.c: Include savedir.h first, to test interface.
30273
30274         * lib/mktime.c (STDC_HEADERS): Remove.
30275         Include <stdlib.h>, <string.h> unconditionally.
30276
30277         * lib/modechange.c: Include <stdlib.h> unconditionally.
30278         (malloc): Remove decl.
30279
30280         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
30281         (free): Remove decl.
30282
30283         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
30284         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
30285         (This type really should be intptr_t, but that's a C99ism.)
30286         (_obstack_memcpy): Remove: all uses changed to memcpy.
30287         Include <string.h> unconditionally.
30288         (struct obstack): Assume __STDC__ for types of members
30289         chunkfun, freefun, extra_arg.
30290         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
30291         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
30292         obstack_begin, obstack_specify_allocation,
30293         obstack_specify_allocation_with_arg, obstack_chunkfun,
30294         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
30295         Remove unprototyped decls and the macros that use them.
30296         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
30297         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
30298         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
30299         (defined __STDC__ && __STDC__)]:
30300         Remove nonprototyped code.
30301         Include <stdlib.h> unconditionally.
30302         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
30303         _obstack_allocated_p, _obstack_free, obstack_free,
30304         _obstack_memory_used, print_and_abort):
30305         Define using prototypes.
30306         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
30307         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
30308         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
30309         obstack_next_free, obstack_object_size, obstack_room) [0]:
30310         Remove unused, unprototyped code.
30311
30312         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
30313
30314         * lib/physmem.c (physmem_total, physmem_available, main): Define
30315         with prototypes.
30316
30317         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
30318         (main): Define with a prototype.
30319
30320         * lib/posixver.c (getenv): Remove decl.
30321
30322         * lib/putenv.c (malloc): Returns void *, not char *.
30323         Include <string.h> unconditionally.
30324         (strchr, memcpy, NULL): Do not define.
30325
30326         * lib/readtokens.c: Include readtokens.h first, to test interface.
30327         Include <stdlib.h>, <string.h> unconditionally.
30328         (init_tokenbuffer): Define with a prototype.
30329
30330         * lib/regex.c (PARAMS): Remove.  All uses removed.
30331         All uses of _RE_ARGS removed, too.
30332         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
30333         unconditionally.
30334         (bzero): Assume memset exists.
30335         (memcmp, memcpy, NULL): Remove.
30336         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
30337         char, or assignments to local vars of type signed char.
30338         (init_syntax_once, PREFIX(extract_number_and_incr),
30339         PREFIX(print_partial_compiled_pattern),
30340         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
30341         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
30342         PREFIX(regex_grow_registers), PREFIX(regex_compile),
30343         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
30344         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
30345         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
30346         wcs_compile_range, byte_compile_range, truncate_wchar,
30347         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
30348         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
30349         count_mbs_length, wcs_re_match_2_internal,
30350         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
30351         PREFIX(alt_match_null_string_p),
30352         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
30353         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
30354         regfree, PREFIX(extract_number)): Define with prototype.  Remove
30355         now-unnecessary declaration, if any.
30356         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
30357         regcomp, regexec):
30358         Remove now-unnecessary casts among pointer types.
30359         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
30360
30361         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
30362         (free): Remove decl.
30363
30364         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
30365
30366         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
30367         (free): Remove decl.
30368
30369         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
30370         * lib/xgetcwd.c: Likewise.
30371
30372         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
30373         (free): Remove decl.
30374
30375         * lib/strchrnul.c (strchrnul): Define with a prototype.
30376         Fix bug: c_in was not converted to char before searching.
30377
30378         The following changes are not K&R related:
30379
30380         * lib/group-member.h: Include <sys/types.h>, so that this file is
30381         self-contained.
30382         * lib/makepath.h: Likewise.
30383
30384         * lib/getusershell.c (readname, default_index, line_size, readname):
30385         Use size_t, not int, for sizes.
30386         (readname): If the size overflows, report an error instead of
30387         looping forever.
30388
30389 2003-09-09  Paul Eggert  <eggert@twinsun.com>
30390
30391         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
30392         libc.
30393
30394 2003-09-09  Paul Eggert  <eggert@twinsun.com>
30395
30396         * README: New section: portability guidelines.
30397
30398 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
30399
30400         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
30401         C89 spec.
30402
30403 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
30404
30405         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
30406
30407 2003-09-08  Paul Eggert  <eggert@twinsun.com>
30408
30409         Assume C89 or better; remove K&R cruft.
30410         A few of these changes were first proposed by Derek Robert Price
30411         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
30412
30413         * lib/addext.c: Include <string.h> unconditionally.
30414         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
30415         Don't declare getenv or malloc.
30416
30417         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
30418         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
30419         (NULL): Remove.
30420         (find_stack_direction, alloca): Use prototypes.
30421
30422         * lib/atexit.c (atexit): Define using a prototype.
30423
30424         * lib/basename.c, dirname.c, stripslash.c:
30425         Include <string.h> unconditionally.
30426
30427         * lib/bcopy.c: Include <stddef.h>.
30428         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
30429
30430         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
30431
30432         * lib/error.h (error, error_at_line, error_print_progname)
30433         [! (defined (__STDC__) && __STDC__)]: Remove decls.
30434         * lib/error.c: Include error.h first, to check interface.
30435         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
30436         (VA_START): Remove; all uses changeed to va_start.
30437         (exit, strerror): Remove decls.
30438         (error_print_progname): Prototype uncondionally.
30439         Don't include <errno.h>; no longer needed.
30440         (private_strerror): Remove.
30441         (error_tail): Always define.
30442         (error, error_at_line): Assume C89 or better; always use prototypes.
30443         * lib/fatal.c: Include "fatal.h" first, to test interface.
30444         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
30445         (VA_START): Remove; all uses changed to va_start.
30446         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
30447         this case.
30448         (exit): Remove decl.
30449         (fatal): Prototype unconditionally.  Assume va_start works.
30450         Abort at end, to pacify gcc.
30451
30452         * lib/euidaccess.c (main): Define with a prototype.
30453
30454         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
30455
30456         * lib/exitfail.c: Include <stdlib.h> unconditionally.
30457
30458         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
30459         prototypes.
30460         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
30461         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
30462         (getenv): Remove decl.
30463         (fnmatch): Define using a prototype.
30464         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
30465         (FCT): Define using a prototype.
30466
30467         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
30468
30469         * lib/gethostname.c: Include <stddef.h>.
30470         (gethostname): Define with prototype.  Length is size_t, not int.
30471
30472 2003-09-08  Paul Eggert  <eggert@twinsun.com>
30473
30474         Assume C89 or better; remove K&R cruft.
30475         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
30476         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
30477         string.h, getenv, malloc.
30478         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
30479         headers.
30480         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
30481         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
30482         do not check for strerror.
30483         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
30484         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
30485         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
30486         do not check for doprnt or vprintf.
30487         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
30488         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
30489
30490 2003-09-08  Paul Eggert  <eggert@twinsun.com>
30491
30492         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
30493         getversion.c should have been removed then, but was accidentally
30494         preserved.
30495
30496         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
30497         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
30498
30499 2003-09-08  Karl Berry  <karl@gnu.org>
30500
30501         * config/config.sub, config.guess, srclistvars.sh: update from savannah
30502                 config, forget about prep.
30503
30504         * config/depcomp, missing: update from automake.
30505
30506 2003-09-07  Paul Eggert  <eggert@twinsun.com>
30507
30508         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
30509         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
30510
30511 2003-09-07  Paul Eggert  <eggert@twinsun.com>
30512
30513         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
30514         copy_tm_result.  Bug reported by Simon Josefsson in
30515         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
30516
30517 2003-09-06  Paul Eggert  <eggert@twinsun.com>
30518
30519         * m4/time_r.m4: New file.
30520         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
30521         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
30522         is. Check for timegm declaration.
30523         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
30524         Do not check for gmtime_r.
30525         Replace mktime if __mktime_internal does not exist and if mktime
30526         hasn't been replaced already.
30527
30528 2003-09-06  Paul Eggert  <eggert@twinsun.com>
30529
30530         * lib/time_r.c, lib/time_r.h: New files.
30531
30532         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
30533         __localtime_r.
30534         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
30535         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
30536
30537         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
30538         __gmtime_r.
30539         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
30540         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
30541         Include <time_r.h>.
30542
30543         * lib/timegm.c: Switch to glibc implementation, with the following
30544         changes:
30545         [defined HAVE_CONFIG_H]: Include <config.h>.
30546         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
30547         (__mktime_internal) [!defined _LIBC]: New decl.
30548         (__gmtime_r) [!defined _LIBC]: New macro and function.
30549         (timegm): Use a prototype, since gnulib assumes C89.
30550         Do not bother declaring tmp to be const, as it's not really usefu.
30551         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
30552         (timegm): Declare only if HAVE_DECL_TIMEGM.
30553
30554 2003-09-06  Paul Eggert  <eggert@twinsun.com>
30555
30556         * MODULES.html.sh (func_all_modules): Add time_r.
30557         * modules/time_r: New file.
30558         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
30559         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
30560
30561 2003-09-03  Paul Eggert  <eggert@twinsun.com>
30562
30563         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
30564         Bug reported by Lute Kamstra in
30565         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
30566
30567         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
30568         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
30569         course with correspondingly smaller numbers for tomorrow and
30570         yesterday.  From Tadayoshi Funaba.  Originally installed into
30571         sh-utils on 1999-08-07, but the patch got lost (I guess during the
30572         coreutils merge?).
30573
30574 2003-08-31  Simon Josefsson  <jas@extundo.com>
30575
30576         * modules/timegm: New file.
30577         * MODULES.html.sh (func_all_modules): Add timegm.
30578
30579 2003-08-31  Simon Josefsson  <jas@extundo.com>
30580
30581         * m4/timegm.m4: New file.
30582
30583 2003-08-31  Simon Josefsson  <jas@extundo.com>
30584
30585         * lib/timegm.h: New file.
30586         * lib/timegm.c: New file.  Based on
30587         wget-1.8.2/src/http.c:mktime_from_utc.
30588
30589 2003-08-31  Karl Berry  <karl@gnu.org>
30590
30591         * lib/argp.h: update from libc.
30592
30593 2003-08-28  Bruno Haible  <bruno@clisp.org>
30594
30595         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
30596         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
30597         followed by '#define fnmatch fnmatch_posix' gives an error.
30598
30599 2003-08-28  Bruno Haible  <bruno@clisp.org>
30600
30601         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
30602         warning on QNX, which defines O_BINARY to 000000.
30603
30604 2003-08-27  Jim Meyering  <jim@meyering.net>
30605
30606         * m4/mkstemp.m4: Require that the system mkstemp be able to create
30607         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
30608         would fail after 32.  Reported by Danny Levinson.  Details here:
30609         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
30610
30611 2003-08-24  Bruno Haible  <bruno@clisp.org>
30612
30613         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
30614         MSVC7 <stdio.h> is included later.
30615
30616 2003-08-22  Simon Josefsson  <jas@extundo.com>
30617
30618         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
30619
30620 2003-08-20  Karl Berry  <karl@gnu.org>
30621
30622         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
30623
30624 2003-08-20  Bruno Haible  <bruno@clisp.org>
30625
30626         * modules/progname: New file.
30627         * MODULES.html.sh (func_all_modules): Add progname.
30628
30629 2003-08-20  Bruno Haible  <bruno@clisp.org>
30630
30631         * lib/progname.h: New file, from GNU gettext.
30632         * lib/progname.c: New file, from GNU gettext.
30633         * lib/progreloc.c: New file, from GNU gettext.
30634
30635 2003-08-19  Jim Meyering  <jim@meyering.net>
30636
30637         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
30638         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
30639
30640 2003-08-19  Bruno Haible  <bruno@clisp.org>
30641
30642         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
30643         more.
30644
30645 2003-08-19  Bruno Haible  <bruno@clisp.org>
30646
30647         * lib/xstrdup.c: Assume <string.h> exists.
30648
30649 2003-08-18  Paul Eggert  <eggert@twinsun.com>
30650
30651         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
30652         in makefile rules.
30653
30654 2003-08-18  Jim Meyering  <jim@meyering.net>
30655
30656         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
30657         * m4/lib-ld.m4: Likewise.
30658
30659 2003-08-18  Jim Meyering  <jim@meyering.net>
30660
30661         * lib/setenv.h: Indent nested cpp directive.
30662         * lib/vasnprintf.c: Remove trailing blanks.
30663
30664 2003-08-17  Simon Josefsson  <jas@extundo.com>
30665
30666         * modules/xstrndup: New file.
30667         * MODULES.html.sh (func_all_modules): Add xstrndup.
30668
30669 2003-08-17  Simon Josefsson  <jas@extundo.com>
30670
30671         * modules/argp: Fix autoconf macro name. Add more dependencies.
30672
30673 2003-08-17  Simon Josefsson  <jas@extundo.com>
30674
30675         * m4/xstrndup.m4: New file.
30676
30677 2003-08-17  Simon Josefsson  <jas@extundo.com>
30678
30679         * m4/argp.m4: New file.
30680
30681 2003-08-17  Simon Josefsson  <jas@extundo.com>
30682             Bruno Haible  <bruno@clisp.org>
30683
30684         * lib/xstrndup.h: New file.
30685         * lib/xstrndup.c: New file.
30686
30687 2003-08-17  Bruno Haible  <bruno@clisp.org>
30688
30689         * modules/strndup (Files, Include): Add lib/strndup.h.
30690
30691 2003-08-17  Bruno Haible  <bruno@clisp.org>
30692
30693         * modules/euidaccess (Files): Add lib/euidaccess.h.
30694
30695 2003-08-17  Bruno Haible  <bruno@clisp.org>
30696
30697         * lib/strndup.h: New file.
30698
30699 2003-08-17  Bruno Haible  <bruno@clisp.org>
30700
30701         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
30702         like AC_GNU_SOURCE.
30703         * modules/extensions (configure.ac): Comment out the invocation of
30704         gl_USE_SYSTEM_EXTENSIONS.
30705
30706 2003-08-16  Paul Eggert  <eggert@twinsun.com>
30707
30708         Merges from coreutils, etc.
30709         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
30710         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
30711         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
30712         fixing a typo.
30713         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
30714         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
30715
30716 2003-08-16  Paul Eggert  <eggert@twinsun.com>
30717
30718         Document merge from coreutils.
30719         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
30720         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
30721         * modules/utime: Add m4/utimes-null.m4.
30722
30723 2003-08-16  Paul Eggert  <eggert@twinsun.com>
30724
30725         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
30726         space, undoing this 2003-08-12 change:
30727         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
30728
30729 2003-08-16  Paul Eggert  <eggert@twinsun.com>
30730
30731         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
30732         strtoul.c from libc, undoing this 2003-08-12 change:
30733         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
30734
30735 2003-08-16  Jim Meyering  <jim@meyering.net>
30736
30737         Merges from coreutils.
30738         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
30739         prefix.  Adjust cache variables similarly.  Create 500 rather than
30740         just 300 files, to exercise bug on Darwin6.5, too.
30741         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
30742         $missing_dir.
30743         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
30744         AM_SYS_POSIX_TERMIOS.
30745         Reported by mkc@mathdogs.com.
30746         Also change use of $am_cv_sys_posix_termios
30747         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
30748         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
30749         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
30750         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
30751         in /proc/mounts until it finds one with matching device number.  This
30752         is unnecessary when the FILE argument *is* a mount point.  No stat call
30753         is necessary in that case.  So, disable the statvfs-testing code on
30754         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
30755         as RedHat bug# 84846.
30756         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
30757         to 1MB, so as not to render systems with no stack size limit (e.g.,
30758         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
30759         Include <unistd.h>.  On some systems,
30760         it is required for the definition of _SC_PAGESIZE.
30761
30762 2003-08-16  Jim Meyering  <jim@meyering.net>
30763
30764         Merge from coreutils.
30765         * lib/xstrtoimax.c: #else #if -> #elif.
30766         * lib/xstrtoumax.c: Likewise.
30767
30768 2003-08-16  Jim Meyering  <jim@meyering.net>
30769
30770         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
30771         * m4/utimes.m4: Removed.
30772         * m4/utimes-null.m4: Renamed from utimes.m4.
30773
30774         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
30775         to 1MB, so as not to render systems with no stack size limit (e.g.,
30776         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
30777         Include <unistd.h>.  On some systems,
30778         it is required for the definition of _SC_PAGESIZE.
30779
30780 2003-08-16  Jim Meyering  <jim@meyering.net>
30781         and Paul Eggert  <eggert@cs.ucla.edu>
30782
30783         Merges from coreutils, etc.
30784
30785         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
30786         using the latest version from cvs.  This avoids problems with #line
30787         directives using a vendor (Sun) compiler.
30788         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
30789         Don't set GETGROUPS_LIB here; now it's
30790         done via getgroups.m4's wrapper function.
30791         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
30792         rather than just in sh-util/configure.in, so that the
30793         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
30794         same.
30795         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
30796         AC_FUNC_GETLOADAVG where to find getloadavg.c.
30797         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
30798         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
30799         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
30800         Remove code that is now done by the newly-required macros.
30801         Append $(EXEEXT) to DF_PROG.
30802         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
30803         Do not invoke or require the following here,
30804         since prereq.m4 or some gnulib .m4 now does this for us:
30805         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
30806         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
30807         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
30808         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
30809         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
30810         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
30811         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
30812         AC_FUNC_OBSTACK.
30813         Do not replace the following functions, as this is now the job
30814         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
30815         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
30816         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
30817         atexit getpass, strdup, getpagesize.
30818         Replace 'raise'.
30819         Do not check for the following functions, as this is now the job
30820         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
30821         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
30822         setregid.
30823         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
30824         Check for sys/sysctl.h.
30825         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
30826         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
30827         of checking for ssize_t ourselves.
30828
30829         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
30830         Require every macro that gnulib/modules/* suggests for us.
30831         (jm_PREREQ_ADDEXT): New macro.
30832         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
30833         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
30834
30835         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
30836         (gl_PHYSMEM): Use it.
30837         Also check for `table' function.
30838         Check for new headers and functions.
30839         Add check for sys/sysmp.h.
30840         With suggestions from Kaveh Ghazi.
30841         Ignore headers that are present but cannot be compiled.  This
30842         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
30843         C 5.4.
30844
30845 2003-08-15  Paul Eggert  <eggert@twinsun.com>
30846
30847         Document merge from coreutils.
30848         * modules/userspec: Depend on posixver.
30849         * modules/strftime: Depend on tzset.
30850
30851 2003-08-15  Paul Eggert  <eggert@twinsun.com>
30852
30853         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
30854         rather than tab, after '#' in shell-script copyright notices.
30855         Suggested by Bruno Haible.
30856
30857 2003-08-15  Paul Eggert  <eggert@twinsun.com>
30858
30859         * config/srclist-update: Use three spaces, rather than tab, after '#'
30860         in shell-script copyright notices.  Suggested by Bruno Haible.
30861         Remove unnecessary parenthesization in regular expression.
30862
30863 2003-08-15  Jim Meyering  <jim@meyering.net>
30864
30865         Merge from coreutils.
30866         * lib/xgethostname.c: Include <stdlib.h>.
30867         (xghostname): Don't exit for anything other than memory-related
30868         failure; just return NULL.
30869         * lib/userspec.c: Include "posixver.h".
30870         (parse_user_spec): Accept `.' as a separator only
30871         in pre-POSIX-200112 mode.
30872         * lib/strtoimax.c: Use #elif rather than #else #if.
30873         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
30874         Remove function, now that we can rely on a working tzset function.
30875         [!_LIBC]: Ensure that the required autoconf test has been run.
30876         [!defined _NL_CURRENT && HAVE_STRFTIME]:
30877         Use underlying_strftime for %r.
30878         * lib/sha.c: Merge in some clean-up and optimization changes from
30879         glibc.
30880         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
30881         Ensure that it is a multiple of 64.
30882         Rearrange loop exit tests so as to avoid performing an
30883         additional fread after encountering an error or EOF.
30884         * lib/realloc.c: Update copyright date.
30885
30886 2003-08-15  Jim Meyering  <jim@meyering.net>
30887         and Paul Eggert  <eggert@twinsun.com>
30888
30889         Merge from coreutils.
30890         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
30891         member but strut utmpx does not.  Needed for AIX 4.3.3.
30892         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
30893
30894 2003-08-15  Jim Meyering  <jim@meyering.net>
30895         and Paul Eggert  <eggert@cs.ucla.edu>
30896
30897         Merges from coreutils, etc.
30898         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
30899         Require gl_FUNC_TZSET_CLOBBER.
30900         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
30901         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
30902         members.
30903
30904 2003-08-14  Paul Eggert  <eggert@twinsun.com>
30905
30906         Help the merge from coreutils.
30907         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
30908         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
30909         * m4/tzset.m4: Use it too.
30910
30911 2003-08-14  Paul Eggert  <eggert@twinsun.com>
30912
30913         * modules/tzset: New file.
30914
30915 2003-08-14  Jim Meyering  <jim@meyering.net>
30916
30917         Merges from coreutils.
30918         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
30919         variable names, rather than @FNMATCH_H@.
30920         * modules/alloca: Likewise for $(ALLOCA_H).
30921
30922         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
30923         the three copies of the literal target, `fnmatch.h'.
30924         * modules/alloca (alloca.h): Likewise.
30925
30926 2003-08-14  Jim Meyering  <jim@meyering.net>
30927
30928         Merge from coreutils.
30929         * m4/tzset.m4: New file.
30930         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
30931         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
30932         otherwise, AIX 5.1 systems would end up using the latter.
30933         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
30934         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
30935         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
30936         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
30937
30938 2003-08-14  Jim Meyering  <jim@meyering.net>
30939
30940         Merge from coreutils.
30941         * lib/obstack.h: Whitespace changes.
30942         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
30943         and xcalloc return values.
30944         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
30945         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
30946         hang on OSF/1 5.1 for DIR on both local and remote file systems.
30947         Reported by (and fix confirmed by) Nelson H. F. Beebe.
30948         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
30949         error from mntctl.
30950         Use mntctl's return value to drive the entry-processing loop, since
30951         we can't rely on the value of the vmt_length member in the last
30952         entry.  On some systems doing so could result in exhausting
30953         virtual memory.  Based in part on a patch from Mike Jetzer.
30954
30955 2003-08-14  Jim Meyering  <jim@meyering.net>
30956         and Paul Eggert  <eggert@twinsun.com>
30957
30958         Merges from coreutils, plus other fixes.
30959         * lib/physmem.c: Merge in portability changes from gcc/libiberty
30960         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
30961         for credits and details.  Thanks to Kaveh Ghazi for helping
30962         to keep these files in sync.
30963         (ARRAY_SIZE): Define it.
30964         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
30965         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
30966         (memcasecmp): Don't assume size_t fits in unsigned int.
30967         Remove casts and duplicate code.
30968         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
30969         (memcpy): Remove definition.
30970         Merge in some clean-up and optimization changes from glibc.
30971         [BLOCKSIZE]: Move definition to top of file.
30972         Ensure that it is a multiple of 64.
30973         Rearrange loop exit tests so as to avoid performing an
30974         additional fread after encountering an error or EOF.
30975         * lib/md5.h (md5_uintptr): Define.
30976         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
30977         return to the initial working directory.  Preserve errno
30978         for caller.
30979         * lib/idcache.c: Include "xalloc.h".
30980         (xmalloc, xrealloc): Remove decls.
30981         (getuser): Remove casts no longer required in C89.
30982         * lib/human.c: Include stdio.h, for sprintf.
30983         * lib/group-member.c: Include "xalloc.h".
30984         (xmalloc, xrealloc): Remove decls.
30985         (get_group_info): Remove casts no longer required in C89.
30986         * lib/getusershell.c (readname): Remove casts no longer required in
30987         C89.
30988         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
30989         * lib/getline.c: Whitespace fix, from coreutils.
30990
30991 2003-08-13  Paul Eggert  <eggert@twinsun.com>
30992
30993         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
30994         Check for isascii.
30995
30996         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
30997         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
30998         Undo previous (whitespace-only) change.
30999
31000 2003-08-13  Paul Eggert  <eggert@twinsun.com>
31001
31002         * lib/exclude.c: Include <ctype.h>
31003         (IN_CTYPE_DOMAIN): New macro.
31004         (is_space): New fn.
31005         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
31006         and empty lines.
31007
31008         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
31009         Undo previous (whitespace-only) change.
31010
31011 2003-08-13  Paul Eggert  <eggert@twinsun.com>
31012
31013         * config/srclist-update: Change update back to the old behavior,
31014         leaving whitespace alone.  Use one 'sed' command rather than a
31015         pipeline.
31016         (fixlicense): Now a variable, not a function.
31017         (remove_trailing_blanks): Remove.
31018         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
31019         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
31020         Undo previous (whitespace-only) change.
31021
31022 2003-08-12  Paul Eggert  <eggert@twinsun.com>
31023
31024         Merge from coreutils.
31025         * modules/euidaccess: Add lib_SOURCES, include for new
31026         file euidaccess.h
31027
31028 2003-08-12  Paul Eggert  <eggert@twinsun.com>
31029
31030         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
31031         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
31032         Normalize leading white space and remove trailing white space.
31033
31034         Merge from coreutils
31035         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
31036
31037         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
31038         0.12.1.  These files are now being upgraded automatically by
31039         ../config/srclist-update.
31040
31041 2003-08-12  Paul Eggert  <eggert@twinsun.com>
31042
31043         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
31044         Normalize leading white space and remove trailing white space.
31045         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
31046         notice, as per ../config/srclist-update.
31047
31048         Merge from coreutils.
31049         * lib/euidaccess.h: New file.
31050         * lib/euidaccess.c: Include it.
31051         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
31052         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
31053         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
31054
31055 2003-08-12  Paul Eggert  <eggert@twinsun.com>
31056
31057         * config/srclist-update: Add copyright notice.
31058         (remove_id_lines, remove_trailing_blanks): New constants.
31059         (fixfile): Use them to normalize spacing a bit in copied files.
31060         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
31061         Normalize leading white space and remove trailing white space.
31062
31063         * config/texinfo.tex: Sync with texinfo.
31064
31065         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
31066         strtoul.c from libc, to merge coreutils whitespace changes.
31067
31068         * config/srclist.txt: Get the following m4 files from gettext:
31069         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
31070         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
31071         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
31072         wint_t.m4.
31073
31074 2003-08-12  Karl Berry  <karl@gnu.org>
31075
31076         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
31077         been made.
31078
31079 2003-08-11  Paul Eggert  <eggert@twinsun.com>
31080
31081         * modules/gnu-source, m4/gnu-source.m4:
31082         Remove; we're assuming Autoconf 2.54 or later now.
31083         Suggested by Bruno Haible.
31084         * MODULES.html.sh (func_all_modules): Remove gnu-source.
31085
31086 2003-08-11  Bruno Haible  <bruno@clisp.org>
31087
31088         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
31089
31090 2003-08-11  Bruno Haible  <bruno@clisp.org>
31091
31092         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
31093         (vasnprintf): Use it instead of wcslen.
31094
31095 2003-08-11  Bruno Haible  <bruno@clisp.org>
31096
31097         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
31098         value to ensure that _Bool promotes to int. Use #define for _Bool when
31099         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
31100
31101 2003-08-10  Karl Berry  <karl@gnu.org>
31102
31103         * lib/regex.h: update from libc (whitespace fix).
31104
31105 2003-08-09  Paul Eggert  <eggert@twinsun.com>
31106
31107         Merge some files from coreutils.  These changes were
31108         originally made by Jim Meyering.
31109         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
31110         many older Unixes require this.
31111         * lib/alloca.c (alloca): Remove cast to argument of free;
31112         no longer needed in C89.
31113         * lib/alloca_.h, regex.h: Fix white space to match
31114         what GNU indent does.
31115
31116 2003-08-09  Paul Eggert  <eggert@twinsun.com>
31117
31118         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
31119         apparently Emacs's Unicode mode got confused before my 2003-08-05
31120         checkin.
31121
31122 2003-08-08  Paul Eggert  <eggert@twinsun.com>
31123
31124         * m4/extensions.m4: New file.
31125         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
31126         Require gl_USE_SYSTEM_EXTENSIONS.
31127         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
31128         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
31129
31130 2003-08-08  Paul Eggert  <eggert@twinsun.com>
31131
31132         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
31133         * modules/extensions, modules/gnu-source: New files.
31134         * modules/timespec, modules/unlocked-io: Depend on extensions.
31135
31136 2003-08-07  Paul Eggert  <eggert@twinsun.com>
31137
31138         * modules/restrict: New file.
31139         * MODULES.html.sh (func_all_modules): Add restrict.
31140         * modules/regex: Depend on restrict.
31141
31142 2003-08-07  Paul Eggert  <eggert@twinsun.com>
31143
31144         * m4/restrict.m4: New file.
31145         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
31146
31147 2003-08-07  Bruno Haible  <bruno@clisp.org>
31148
31149         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
31150         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
31151
31152 2003-08-07  Bruno Haible  <bruno@clisp.org>
31153
31154         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
31155         makes the module 'getndelim2' compatible with the module 'getline'.
31156
31157 2003-08-05  Paul Eggert  <eggert@twinsun.com>
31158
31159         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
31160         byte with "\201" to avoid glitches when editing that source file
31161         with multi-gnome-terminal.
31162
31163 2003-08-05  Paul Eggert  <eggert@twinsun.com>
31164
31165         * lib/bumpalloc.h: Remove.
31166
31167 2003-08-05  Paul Eggert  <eggert@twinsun.com>
31168
31169         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
31170         * modules/bumpalloc: Remove.
31171
31172 2003-08-04  Paul Eggert  <eggert@twinsun.com>
31173
31174         * lib/getloadavg.c: Change copyright notice and spacing to conform to
31175         GNU coding style.
31176
31177         Merge from coreutils.
31178         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
31179         1. From glibc.
31180         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
31181         from Karl Berry, implemented by Jim Meyering.
31182         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
31183         from Dmitry V. Levin.
31184         Remove anachronistic cast of xrealloc.
31185         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
31186         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
31187         type. Otherwise, it wouldn't compile with at least /bin/cc on
31188         ymp-cray-unicos9.0.2.X.
31189         Combine two mostly-identical uses of alloca into one.
31190         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
31191
31192 2003-08-04  Dave Love  <d.love@dl.ac.uk>
31193
31194         [From Emacs.]
31195
31196         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
31197         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
31198         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
31199         obsolete NLIST_NAME_UNION.
31200         [__GNU__]: Undef BSD and FSCALE.
31201         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
31202
31203 2003-08-03  Paul Eggert  <eggert@twinsun.com>
31204
31205         * lib/stdbool_.h (_Bool): Make it signed char, instead of
31206         an enum type, so that it's guaranteed to promote to int.  See:
31207         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
31208
31209 2003-08-03  Karl Berry  <karl@gnu.org>
31210
31211         * config/depcomp: update from automake.
31212
31213 2003-07-31  Paul Eggert  <eggert@twinsun.com>
31214
31215         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
31216         (strerror): Don't assume that a printable int fits in 14 bytes.
31217
31218 2003-07-31  Bruno Haible  <bruno@clisp.org>
31219
31220         * modules/getpass-gnu: New file.
31221         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
31222
31223 2003-07-31  Bruno Haible  <bruno@clisp.org>
31224
31225         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
31226
31227 2003-07-24  Karl Berry  <karl@gnu.org>
31228
31229         * config/missing: update from automake.
31230
31231 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
31232             Bruno Haible  <bruno@clisp.org>
31233
31234         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
31235         * lib/getline.c (getline, getdelim): Likewise.
31236         Remove _GNU_SOURCE define; now it's defined in config.h through
31237         m4/getline.m4.
31238
31239 2003-07-23  Karl Berry  <karl@gnu.org>
31240
31241         * config/config.sub: update from prep.
31242
31243 2003-07-22  Paul Eggert  <eggert@twinsun.com>
31244
31245         * modules/xalloc (Depends-on): Add exitfail.
31246         * modules/xmemcoll: Likewise.
31247
31248 2003-07-22  Paul Eggert  <eggert@twinsun.com>
31249
31250         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
31251         over-parenthesization in macros.
31252
31253         Sync with coreutils.
31254
31255         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
31256         required by C99.
31257
31258         Use `exit_failure' for xalloc and xmemcoll instead of their own
31259         private exit-failure variables.
31260         * lib/xalloc.h (xalloc_exit_failure): Remove.
31261         * lib/xmalloc.c: Likewise.  Include exitfail.h.
31262         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
31263         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
31264         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
31265         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
31266
31267 2003-07-20  Jim Meyering  <jim@meyering.net>
31268
31269         * modules/closeout (Depends-on): Add exitfail.
31270         Suggestion from Bruno Haible.
31271
31272 2003-07-19  Karl Berry  <karl@gnu.org>
31273
31274         * config/config.sub: update from prep.
31275
31276 2003-07-18  Paul Eggert  <eggert@twinsun.com>
31277
31278         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
31279         Remove.
31280         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
31281         to test that it can stand by itself.  Include "exitfail.h".
31282         Clients should set exit_failure instead.
31283         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
31284
31285 2003-07-18  Bruno Haible  <bruno@clisp.org>
31286
31287         * modules/getndelim2: New file.
31288         * modules/getline: Share files with module getndelim2.
31289         * modules/getnline: Depend on getndelim2 instead of sharing files with
31290         it. Add getnline.c to lib_SOURCES.
31291         * MODULES.html.sh (func_all_modules): Add getndelim2.
31292
31293 2003-07-18  Bruno Haible  <bruno@clisp.org>
31294
31295         * m4/getndelim2.m4: New file.
31296         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
31297         invoke gl_PREREQ_GETNDELIM2.
31298         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
31299         gl_PREREQ_GETNDELIM2.
31300         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
31301         gl_GETNDELIM2.
31302
31303 2003-07-18  Bruno Haible  <bruno@clisp.org>
31304
31305         * lib/getndelim2.h: New file.
31306         * lib/getndelim2.c: Make into a module of its own. Include config.h,
31307         getndelim2.h.
31308         (getndelim2): Make non-static. Change return type to ssize_t.
31309         * lib/getline.h: Change argument names.
31310         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
31311         * lib/getnline.c: Include getndelim2.h.
31312
31313 2003-07-18  Andreas Schwab  <schwab@suse.de>
31314
31315         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
31316
31317 2003-07-17  Karl Berry  <karl@gnu.org>
31318
31319         * config/config.sub: update from prep.
31320
31321 2003-07-17  Bruno Haible  <bruno@clisp.org>
31322
31323         * modules/getnline: New file.
31324         * modules/getline: Add lib/getndelim2.c to source file list.
31325         * MODULES.html.sh (func_all_modules): Add getnline.
31326
31327 2003-07-17  Bruno Haible  <bruno@clisp.org>
31328
31329         * m4/getnline.m4: New file.
31330
31331 2003-07-17  Bruno Haible  <bruno@clisp.org>
31332
31333         * m4/Makefile.am.in: Remove file.
31334         * m4/Makefile.am: Remove file.
31335         * m4/Makefile.in: Remove file.
31336
31337 2003-07-17  Bruno Haible  <bruno@clisp.org>
31338
31339         * lib/getnline.h: New file.
31340         * lib/getnline.c: New file.
31341         * lib/getndelim2.c: New file, extracted from getline.c.
31342         (getndelim2): Renamed from getdelim2, with added nmax argument.
31343         * lib/getline.c: Include getndelim2.c.
31344         (getdelim2): Moved out to getndelim2.c.
31345         (getline, getdelim): Update.
31346
31347 2003-07-17  Bruno Haible  <bruno@clisp.org>
31348
31349         * lib/Makefile.am: Remove file.
31350         * lib/Makefile.in: Remove file.
31351
31352 2003-07-17  Bruno Haible  <bruno@clisp.org>
31353
31354         * configure.in: Remove file.
31355         * Makefile.in: Remove file.
31356
31357 2003-07-17  Bruno Haible  <bruno@clisp.org>
31358
31359         * MODULES.html.sh: Put the </BODY> right before </HTML>.
31360
31361 2003-07-16  Karl Berry  <karl@gnu.org>
31362
31363         * config/srclist-update: was running fixlicense twice, which caused
31364                 texinfo.tex to be nullified for some reason.  Simplify,
31365                 $gplsrc is no longer needed as far as I can see?
31366
31367 2003-07-16  Jim Meyering  <jim@meyering.net>
31368
31369         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
31370
31371 2003-07-15  Paul Eggert  <eggert@twinsun.com>
31372
31373         * config/srclist.txt: Get the following files from gettext-runtime/intl
31374         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
31375         ref-del.sin.  From Bruno Haible.
31376         * config/srclist-update (fixfile): Change grep pattern again, since the
31377         previous fix didn't work (there was another trailing $).  Use
31378         '[$]' to escape the $s.
31379
31380 2003-07-15  Karl Berry  <karl@gnu.org>
31381
31382         * lib/vasnprintf.c: update from gettext.
31383
31384 2003-07-15  Karl Berry  <karl@gnu.org>
31385
31386         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
31387         gets expanded when surrounded by '$'.
31388
31389 2003-07-15  Jim Meyering  <jim@meyering.net>
31390
31391         * modules/save-cwd: Don't depend on error.  From Derek Price.
31392
31393 2003-07-15  Jim Meyering  <jim@meyering.net>
31394
31395         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
31396
31397 2003-07-14  Simon Josefsson  <jas@extundo.com>
31398
31399         * modules/mempcpy: New file.
31400         * MODULES.html.sh (func_all_modules): Add mempcpy.
31401
31402 2003-07-14  Simon Josefsson  <jas@extundo.com>
31403
31404         * m4/mempcpy.m4: New file.
31405
31406 2003-07-14  Simon Josefsson  <jas@extundo.com>
31407
31408         * lib/mempcpy.h: New file.
31409         * lib/mempcpy.c: New file.
31410
31411 2003-07-14  Paul Eggert  <eggert@twinsun.com>
31412
31413         * modules/getdate, modules/posixtm: Depend on mktime.
31414
31415 2003-07-14  Paul Eggert  <eggert@twinsun.com>
31416
31417         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
31418         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
31419         unicodeio.c, unicodeio.h, unlocked-io.h:
31420         Switch from LGPL to GPL.
31421
31422 2003-07-14  Paul Eggert  <eggert@twinsun.com>
31423
31424         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
31425         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
31426         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
31427         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
31428         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
31429         updated automatically by ../config/srclist-update.  This changes
31430         their license from LPGL to GPL.
31431
31432 2003-07-14  Paul Eggert  <eggert@twinsun.com>
31433
31434         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
31435         assumed to refer to the root of the most recent stable gettext version.
31436         * config/srclistvars.sh: Add defaults for eggert.
31437         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
31438         Match "This program" as well as "The program".  This is needed
31439         for gettext.
31440
31441 2003-07-14  Jim Meyering  <jim@meyering.net>
31442
31443         Don't emit diagnostics.  Let callers do that.
31444         * lib/save-cwd.c: Don't include "error.h".
31445         (save_cwd): Don't call error.  Ensure that errno is valid
31446         when returning nonzero.
31447
31448         * lib/save-cwd.h (restore_cwd): Update prototype.
31449         * lib/save-cwd.c (restore_cwd): Remove two parameters.
31450         Simplify.  Don't call error upon failure.  Let callers do that.
31451         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
31452         when auditing is enabled.  But don't bother updating the #if.
31453
31454 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
31455
31456         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
31457         it breaks C++ compilation.
31458         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
31459
31460 2003-07-10  Simon Josefsson  <jas@extundo.com>
31461
31462         * modules/strchrnul (Makefile.am): Add strchrnul.h.
31463
31464 2003-07-10  Jim Meyering  <jim@meyering.net>
31465
31466         * m4/clock_time.m4: Remove trailing blank.
31467         * m4/intmax_t.m4: Likewise.
31468
31469 2003-07-10  Jim Meyering  <jim@meyering.net>
31470
31471         * lib/vasnprintf.c: Remove trailing blanks.
31472         Make cpp indentation consistent.
31473
31474 2003-07-09  Paul Eggert  <eggert@twinsun.com>
31475
31476         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
31477         posixver.c, strftime.c, strnlen.c, strverscmp.c:
31478         Switch from LGPL to GPL.
31479
31480 2003-07-09  Paul Eggert  <eggert@twinsun.com>
31481
31482         * config/srclist.txt: Sort sublists.  Add
31483         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
31484         that differ from gnulib for one reason or another; we'd like this list
31485         to be smaller but for now let's document what we have.
31486
31487 2003-07-08  Paul Eggert  <eggert@twinsun.com>
31488
31489         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
31490         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
31491         and sweeter "eval x=$x".
31492         * config/srclist.txt: Get lib/argp* from glibc.
31493
31494 2003-07-07  Paul Eggert  <eggert@twinsun.com>
31495
31496         * lib/mktime.c: Fix some boundary cases and remove need for floating
31497         point.
31498
31499         Issue a compile-time diagnostic if time_t is floating point, or if
31500         two's complement arithmetic is not in effect, or if arithmetic
31501         right shift does not propagate the sign.  These assumptions were
31502         all in the original code but they weren't checked.
31503
31504         (TIME_T_MIDPOINT, verify): New macros.
31505         (__isleap): Remove; it has integer overflow problems.
31506         (leapyear): New function, without those problems.
31507         (ydhms_tm_diff): Remove; splitting into two parts.
31508         (ydhms_diff): New function, containing the arithmetic part of
31509         the old ydhms_tm_diff function.  Issue a compile-time
31510         diagnostic if we are not using C99 integer division.
31511         Avoid casts when possible.
31512         (guess_time_tm): New function, containing the checking part of
31513         the old ydhms_tm_diff function.  Return the new value, rather than
31514         the difference between it and the old.  Accept a new argument T
31515         so that *T specifies the old value.  Check for overflow in the result.
31516
31517         (__mktime_internal): Use a time_t offset, not a long int offset.
31518         This undoes the 2003-06-04 change, which is no longer needed now
31519         that we have better overflow checking.
31520         (localtime_offset): Likewise.
31521
31522         (__mktime_internal): Avoid harmful overflow on hosts where time_t
31523         and long are 64-bit but int is only 32-bit.
31524         (ydhms_diff): Use long int to store year1 and yday1.
31525         Issue a compile-time diagnostic if long int is not wide enough.
31526
31527         (__mktime_internal): Use long int to store adjusted year and yday.
31528         Use plain C rather than preprocessor commands, if that doesn't
31529         affect efficiency.
31530         Check for overflow (and try to repair) after each probe
31531         rather than checking only at the very end.  This avoids some bugs
31532         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
31533         does not equal GMT offset at maximum time).
31534         Use integer to check for overflow rather than floating point; this
31535         is more portable to non-IEEE hosts, and is a tad faster.
31536         When we detect that we are oscillating between two values,
31537         don't check whether tm_isdst has the requested value, since
31538         we already know the answer.  When tm_isdst has the wrong value,
31539         use a different heuristic to find the right one, based on the
31540         extreme values actually observed in practice in tz2003a,
31541         rather than the (overly optimistic) "previous 3 calendar quarters".
31542
31543         (not_equal_tm, print_tm, check_result): Use "const T" rather than
31544         "T const" to accommodate glibc style.
31545         (check_result): Use less-confusing report format.  "long" -> "long int.
31546         (main): Likewise.
31547         Don't loop if the iteration overflows time_t.
31548         Allow a negative step in the iteration.
31549
31550 2003-07-06  Karl Berry  <karl@gnu.org>
31551
31552         * config/depcomp: update from automake.
31553         * config/config.sub: update from prep.
31554
31555 2003-07-03  Karl Berry  <karl@gnu.org>
31556
31557         * config/config.guess: update from prep.
31558
31559 2003-07-01  Paul Eggert  <eggert@twinsun.com>
31560
31561         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
31562         xreadlink.c now includes it unconditionally.
31563
31564 2003-07-01  Paul Eggert  <eggert@twinsun.com>
31565
31566         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
31567         having it depend on HAVE_SYS_TYPES_H.
31568
31569 2003-07-01  Bruno Haible  <bruno@clisp.org>
31570
31571         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
31572         <sys/types.h> should be sufficient.
31573         Reported by Paul Eggert.
31574
31575 2003-06-26  Karl Berry  <karl@gnu.org>
31576
31577         * config/depcomp: update from automake.
31578
31579 2003-06-26  Bruno Haible  <bruno@clisp.org>
31580
31581         * modules/human: Depend on module stdbool.
31582
31583 2003-06-25  Bruno Haible  <bruno@clisp.org>
31584
31585         * modules/readlink: New file.
31586         * modules/xreadlink: Depend on it.
31587         * MODULES.html.sh (func_all_modules): Add readlink.
31588
31589 2003-06-25  Bruno Haible  <bruno@clisp.org>
31590
31591         * m4/readlink.m4: New file.
31592
31593 2003-06-25  Bruno Haible  <bruno@clisp.org>
31594
31595         * lib/readlink.c: New file.
31596
31597 2003-06-22  Karl Berry  <karl@gnu.org>
31598
31599         * config/srclist.txt: update mkinstalldirs from automake.
31600         * config/mkinstalldirs: update.
31601
31602 2003-06-22  Bruno Haible  <bruno@clisp.org>
31603
31604         Portability to mingw32.
31605         * m4/ssize_t.m4: New file, from GNU gettext.
31606         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
31607         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
31608
31609 2003-06-22  Bruno Haible  <bruno@clisp.org>
31610
31611         * modules/safe-read: Add m4/ssize_t.m4.
31612         * modules/xreadlink: Add m4/ssize_t.m4.
31613
31614 2003-06-20  Bruno Haible  <bruno@clisp.org>
31615
31616         Assume C89, so PARAMS isn't needed.
31617         * lib/unicodeio.h (PARAMS): Remove.
31618         * lib/unicodeio.c: Don't use PARAMS.
31619
31620 2003-06-18  Karl Berry  <karl@gnu.org>
31621
31622         * config/config.{guess,sub}: update from prep.
31623
31624 2003-06-18  Jim Meyering  <jim@meyering.net>
31625
31626         Merge changes from coreutils.
31627         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
31628         Remove explicit declarations of xmalloc and realloc.
31629         Include xalloc.h.
31630         (read_utmp): Remove anachronistic cast of xmalloc.
31631
31632 2003-06-17  Paul Eggert  <eggert@twinsun.com>
31633
31634         Assume C89, so PARAMS isn't needed.
31635         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
31636         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
31637         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
31638         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
31639         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
31640         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
31641         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
31642         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
31643         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
31644         lib/xstrtod.h, lib/xstrtol.h: Likewise.
31645         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
31646         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
31647         no longer needed. Anyway, config.h should always be included before any
31648         other file.
31649
31650 2003-06-11  Simon Josefsson  <jas@extundo.com>
31651
31652         * modules/sysexits: New file.
31653         * MODULES.html.sh (func_all_modules): Add sysexits.
31654
31655 2003-06-11  Simon Josefsson  <jas@extundo.com>
31656
31657         * lib/sysexit_.h: New file.
31658
31659 2003-06-11  Derek Price  <derek@ximbiot.com>
31660
31661         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
31662         necessary.
31663
31664 2003-06-11  Bruno Haible  <bruno@clisp.org>
31665
31666         * m4/sysexits.m4: New file.
31667
31668 2003-06-10  Simon Josefsson  <jas@extundo.com>
31669
31670         * lib/argp.h: New file, from glibc.
31671         * lib/argp-ba.c: New file, from glibc.
31672         * lib/argp-eexst.c: New file, from glibc.
31673         * lib/argp-fmtstream.c: New file, from glibc.
31674         * lib/argp-fmtstream.h: New file, from glibc.
31675         * lib/argp-fs-xinl.c: New file, from glibc.
31676         * lib/argp-help.c: New file, from glibc.
31677         * lib/argp-namefrob.h: New file, from glibc.
31678         * lib/argp-parse.c: New file, from glibc.
31679         * lib/argp-pv.c: New file, from glibc.
31680         * lib/argp-pvh.c: New file, from glibc.
31681         * lib/argp-xinl.c: New file, from glibc.
31682
31683 2003-06-10  Simon Josefsson  <jas@extundo.com>
31684
31685         * modules/strchrnul: New file.
31686
31687 2003-06-10  Simon Josefsson  <jas@extundo.com>
31688
31689         * modules/argp: New file.
31690
31691 2003-06-10  Simon Josefsson  <jas@extundo.com>
31692
31693         * m4/strchrnul.m4: New file.
31694
31695 2003-06-10  Simon Josefsson  <jas@extundo.com>
31696
31697         * lib/strchrnul.h: New file.
31698         * lib/strchrnul.c: New file.
31699
31700 2003-06-10  Bruno Haible  <bruno@clisp.org>
31701
31702         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
31703
31704 2003-06-07  Karl Berry  <karl@gnu.org>
31705
31706         * config/config.{guess,sub}: update from prep.
31707
31708 2003-06-07  Jim Meyering  <jim@meyering.net>
31709
31710         * modules/strtod: Use $(...) notation, not @...@ for
31711         AC_REPLACE'd variables.
31712         * modules/localcharset: Likewise.
31713
31714 2003-06-07  Jim Meyering  <jim@meyering.net>
31715
31716         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
31717         in place of my name in the copyright comment.
31718         Remove definition and uses of __P.
31719
31720         From coreutils.
31721         * lib/stat.c: Don't declare xmalloc explicitly.
31722         Instead, include "xalloc.h".
31723         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
31724         xrealloc, and xcalloc return values.
31725         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
31726         Improve comment.
31727         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
31728
31729 2003-06-07  Bruno Haible  <bruno@clisp.org>
31730
31731         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
31732         avoid AC_CONFIG_LINKS.
31733         * modules/fnmatch (Makefile.am): Use explicit creation rule for
31734         fnmatch.h, to avoid AC_CONFIG_LINKS.
31735         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
31736
31737 2003-06-07  Bruno Haible  <bruno@clisp.org>
31738
31739         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
31740         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
31741         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
31742         directory.
31743         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
31744         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
31745         directory.
31746
31747 2003-06-06  Jim Meyering  <jim@meyering.net>
31748
31749         Merge from coreutils.
31750         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
31751         Consolidate declarations and initializations of *_base* locals.
31752
31753         Merge from coreutils.
31754         This avoids a core dump on systems without GNU putenv,
31755         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
31756         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
31757         (unsetenv): New static function, from GNU libc.
31758         (rpl_putenv): Use it.
31759
31760         * lib/modechange.c: Remove trailing blanks.
31761
31762         Merge from coreutils.
31763         * lib/fsusage.c: Remove declaration of statfs.
31764         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
31765
31766         * lib/posixtm.c: Include <stdbool.h> unconditionally.
31767
31768 2003-06-06  Jim Meyering  <jim@meyering.net>
31769
31770         * lib/stdbool_.h: Renamed from stdbool.h.in.
31771
31772 2003-06-06  Jim Meyering  <jim@meyering.net>
31773             Bruno Haible  <bruno@clisp.org>
31774
31775         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
31776         Adjust Makefile.am snippet not to redirect directly to target.
31777         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
31778
31779 2003-06-05  Paul Eggert  <eggert@twinsun.com>
31780
31781         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
31782         mismatch, look in future quarters as well as past.  This fixes a
31783         bug when processing fall-backwards gaps immediately after a long
31784         period of daylight-saving time.
31785
31786         * lib/mktime.c: Assume freestanding C89 or better.
31787         (HAVE_LIMITS_H): Remove.  Assume it's 1.
31788         (__P): Remove; not used.
31789         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
31790         (mktime, not_equal_tm, print_tm, check_result,
31791         main): Use prototypes.  Use const * where appropriate.
31792         (main): Fix typo in testing code that uncovered by above changes.
31793         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
31794
31795 2003-06-04  Paul Eggert  <eggert@twinsun.com>
31796
31797         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
31798         locale.h, localeconv.  This merges changes from coreutils.
31799
31800         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
31801         It can be removed after the next Autoconf is released.
31802         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
31803         needed.
31804
31805 2003-06-04  Paul Eggert  <eggert@twinsun.com>
31806
31807         * lib/mktime.c: Fix Debian bug 177940
31808         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
31809         (localtime_offset): Now long int, not time_t, because we want it
31810         to be guaranteed to be signed.  All uses changed.
31811         (__mktime_internal): If overflow would occur when adding offset,
31812         don't add it.
31813
31814         Merge 'human' changes from coreutils.  Rewrite to support
31815         locale-specific notations like thousands separators.
31816         * lib/human.c: Simplify authorship notice.
31817         Include human.h immediately after config.h.
31818         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
31819         <limits.h>: Do not include, since human.h does.
31820         (SIZE_MAX, UINTMAX_MAX): New macros.
31821         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
31822         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
31823         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
31824         (power_letter): Renamed from suffixes.
31825         (generate_suffix_backwards): Remove.
31826         (adjust_value): Now takes int style (because of human.h changes)
31827         and long double value (for greater precision on some platforms).
31828         (group_number): New function.
31829         (human_readable): Use it.  Use integer options, not enum.
31830         Put the options before the sizes in the arg list.
31831         Support all the new options.
31832         The old human_readable function has been removed;
31833         use inttostr.h instead.
31834         (human_readable, default_block_size, humblock):
31835         Use uintmax_t, not int, for block sizes.
31836         (human_readable_inexact, block_size_types): Remove.
31837         (block_size_opts): New constant.
31838         (human_options): Renamed from human_block_size, with new signature
31839         that allows block sizes up to UINTMAX_MAX.  All callers changed.
31840         * lib/human.h: Add copyright and authorship notice.
31841         Include <limits.h> and <stdbool.h> unconditionally.
31842         (PARAMS): Remove.  All uses removed.
31843         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
31844         (enum human_inexact_style): Remove tag; now a nameless enum.
31845         (human_floor, human_ceiling, human_round_to_even): Now have
31846         values 2, 0, 1 rather than -1, 1, 0.
31847         (human_group_digits, human_suppress_point_zero, human_autoscale,
31848         human_base_1024, human_SI, human_B): New constants.
31849         (human_readable_inexact, human_block_size): Remove.
31850         (human_readable): Size args are now uintmax_t, not int.
31851         (human_options): New decl.
31852
31853         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
31854         unnecessary now that we assume C89 or better.  This change
31855         imported from coreutils.
31856
31857         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
31858         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
31859         in the 2003-05-30 sync from glibc.
31860
31861         .h files should stand alone, but we shouldn't include <sys/types.h>
31862         if we can get away with just <stddef.h>.
31863
31864         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
31865         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
31866         rather than <sys/types.h>, as we merely need size_t.
31867         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
31868         to get size_t.
31869         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
31870         Include <stdio.h>, to get FILE.
31871         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
31872         memcasecmp.h has included <stddef.h> and all we need is size_t.
31873         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
31874         our interface, instead of including <sys/types.h>
31875
31876 2003-06-04  Paul Eggert  <eggert@twinsun.com>
31877
31878         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
31879         now, as glibc mktime is buggy on non-glibc systems.
31880
31881 2003-06-03  Karl Berry  <karl@gnu.org>
31882
31883         * config/config.sub: update from prep.
31884
31885 2003-06-02  Paul Eggert  <eggert@twinsun.com>
31886
31887         [from coreutils]
31888         Fix some minor time-related bugs with POSIX time arguments.
31889         Some valid time stamps were being rejected (notably -1, and
31890         time stamps before 1900 on 64-bit hosts).  And some invalid
31891         time stamps were being accepted, e.g. September 31.
31892
31893         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
31894         that we can return (time_t) -1 successfully.
31895         * lib/posixtm.c: Likewise.
31896         [HAVE_STDBOOL_H]: Include <stdbool.h>.
31897         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
31898         (t): Remove static var.
31899         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
31900         of static var.  All uses changed.
31901         (year): Do not reject years before 1900; they can occur with
31902         64-bit time_t.
31903         (posix_time_parse): Do not check for out-of-range components;
31904         that is now the caller's responsibility, since our checks were
31905         only approximations.
31906         (posixtime): Use mktime to check for out-of-range components,
31907         since it knows them exactly.
31908         If mktime returns (time_t) -1, check whether an error actually occurred
31909         by invoking localtime on -1.
31910         (main) [TEST_POSIXTIME]: Check for input data errors, and report
31911         posixtime failures better.
31912         Improve the test data (in comments only).
31913
31914 2003-06-02  Karl Berry  <karl@gnu.org>
31915
31916         * config/mkinstalldirs (version): new variable.
31917         (--version): new option.
31918         (usage): improve message.
31919
31920 2003-05-30  Karl Berry  <karl@gnu.org>
31921
31922         * lib/mktime.c: update from libc.
31923
31924 2003-05-30  Bruno Haible  <bruno@clisp.org>
31925
31926         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
31927         * config/config.rpath: Upgrade to gettext-0.12.1.
31928
31929 2003-05-30  Bruno Haible  <bruno@clisp.org>
31930
31931         * m4/gettext.m4: Upgrade to gettext-0.12.1.
31932         * m4/nls.m4: New file, from gettext-0.12.1.
31933         * m4/po.m4: New file, from gettext-0.12.1.
31934         * m4/progtest.m4: Upgrade to gettext-0.12.1.
31935
31936 2003-05-30  Bruno Haible  <bruno@clisp.org>
31937
31938         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
31939         * lib/localcharset.h: Likewise.
31940         * lib/localcharset.c: Likewise.
31941
31942 2003-05-29  Karl Berry  <karl@gnu.org>
31943
31944         * config/config.rpath: update from gettext.
31945
31946 2003-05-28  Paul Eggert  <eggert@twinsun.com>
31947
31948         Assume the headers required for C89 freestanding compilers.
31949         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
31950         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
31951         * m4/human.m4 (gl_HUMAN): Likewise.
31952         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
31953         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
31954         * m4/userspec.m4 (gl_USERSPEC): Likewise.
31955         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
31956         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
31957         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
31958
31959 2003-05-28  Paul Eggert  <eggert@twinsun.com>
31960
31961         Assume the headers required for C89 freestanding compilers.
31962         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
31963         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
31964         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
31965         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
31966         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
31967         define, since <limits.h> is guaranteed to do that.
31968         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
31969         * lib/exclude.c: Include <stdbool.h> unconditionally.
31970         * lib/tempname.c: Include <stddef.h> unconditionally.
31971         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
31972         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
31973         <stddef.h> does that.
31974         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
31975         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
31976         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
31977         needed.
31978         * lib/xstrtol.c: Likewise.
31979         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
31980         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
31981
31982         * lib/addext.c (addext): Use assignment rather than cast, to avoid
31983         warnings on some platforms.
31984
31985         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
31986         arbitrarily.
31987
31988 2003-05-26  Jim Meyering  <jim@meyering.net>
31989
31990         Merge in a change from coreutils:
31991         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
31992         that is guaranteed to be `no'.  Use `no_such_member' to indicate
31993         that condition, rather than `-1' which is slightly misleading.
31994         Change the name of the cache variable to have the gl_ prefix.
31995         Prompted by a patch from Richard Dawe for DJGPP.
31996
31997 2003-05-24  Karl Berry  <karl@gnu.org>
31998
31999         * config/config.guess: update from prep.
32000
32001 2003-05-22  Karl Berry  <karl@gnu.org>
32002
32003         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
32004
32005 2003-05-20  Karl Berry  <karl@gnu.org>
32006
32007         * config/config.guess: update from prep.
32008
32009 2003-05-18  Karl Berry  <karl@gnu.org>
32010
32011         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
32012         might actually be set by the user.
32013
32014         * config/depcomp, install-sh, mdate-sh: update from automake.
32015
32016 2003-05-17  Bruno Haible  <bruno@clisp.org>
32017
32018         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
32019         invalid expansion for AC_EGREP_CPP.
32020         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
32021         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
32022         Suggested by Akim Demaille <akim@epita.fr> in
32023         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
32024
32025 2003-05-12  Jim Meyering  <jim@meyering.net>
32026
32027         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
32028         the space-padded-by-default conversion specifiers, %e, %k, %l.
32029
32030 2003-05-12  Bruno Haible  <bruno@clisp.org>
32031
32032         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
32033         the string is longer than 4 KB.
32034
32035 2003-05-11  Karl Berry  <karl@gnu.org>
32036
32037         * config/config.{guess,sub}: update from prep.
32038
32039 2003-05-09  Bruno Haible  <bruno@clisp.org>
32040
32041         * modules/error: Add m4/strerror_r.m4 to file list.
32042
32043 2003-05-03  Bruno Haible  <bruno@clisp.org>
32044
32045         Upgrade to Unicode-4.0.
32046         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
32047         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
32048         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
32049         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
32050         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
32051         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
32052         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
32053         Change width of U+E0100..U+E01EF from 1 to 0.
32054
32055 2003-04-25  Jim Meyering  <jim@meyering.net>
32056
32057         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
32058         of type size_t, not int.
32059
32060 2003-04-25  Bruno Haible  <bruno@clisp.org>
32061
32062         * lib/copy-file.c: Include <stddef.h>, for size_t.
32063
32064 2003-04-21  Paul Eggert  <eggert@twinsun.com>
32065
32066         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
32067         code which expansion is under static control.  Patch imported from
32068         Akim Demaille's patch to Bison; see
32069         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
32070
32071 2003-04-14  Bruno Haible  <bruno@clisp.org>
32072
32073         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
32074
32075 2003-04-11  Jim Meyering  <jim@meyering.net>
32076
32077         Merge changes from Coreutils.
32078
32079         2003-03-22  Jim Meyering  <jim@meyering.net>
32080
32081         * lib/strftime.c (widen): Cast alloca return value to proper type.
32082
32083         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
32084
32085         From GNU libc.
32086         * lib/strftime.c (my_strftime): Handle very large width
32087         specifications for numeric values correctly.  Improve checks for
32088         overflow.
32089
32090         2003-01-19  Jim Meyering  <jim@meyering.net>
32091
32092         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
32093         definitions.
32094         (nl_get_alt_digit) [! defined my_strftime]: Define.
32095         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
32096         _nl_get_alt_digit and _nl_get_walt_digit.
32097
32098         * lib/strftime.c (my_strftime): Merge in locale-related changes from
32099         libc. These changes have no effect outside of _LIBC.
32100
32101 2003-04-10  Bruno Haible  <bruno@clisp.org>
32102
32103         * modules/findprog: New file.
32104         * MODULES.html.sh (func_all_modules): Add it.
32105
32106 2003-04-10  Bruno Haible  <bruno@clisp.org>
32107
32108         * m4/findprog.m4: New file.
32109         * m4/eaccess.m4: New file.
32110
32111 2003-04-10  Bruno Haible  <bruno@clisp.org>
32112
32113         * lib/findprog.h: New file, from GNU gettext.
32114         * lib/findprog.c: New file, from GNU gettext.
32115
32116 2003-04-05  Jim Meyering  <jim@meyering.net>
32117
32118         Merge changes from Coreutils.
32119
32120         * lib/exclude.h (PARAMS): Remove definition and uses.
32121         * lib/exclude.c: Remove uses of `PARAMS'.
32122
32123         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
32124         Add test-cases for DOS filenames. Declare program_name.
32125         (main): Set up program_name.  Patch by Rich Dawe.
32126
32127         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
32128         error from mntctl.
32129         Use mntctl's return value to drive the entry-processing loop, since
32130         we can't rely on the value of the vmt_length member in the last
32131         entry.  On some systems doing so could result in exhausting
32132         virtual memory.  Based in part on a patch from Mike Jetzer.
32133
32134 2003-04-04  Bruno Haible  <bruno@clisp.org>
32135
32136         * modules/linebreak: New file.
32137         * MODULES.html.sh (func_all_modules): Add it.
32138
32139 2003-04-04  Bruno Haible  <bruno@clisp.org>
32140
32141         * m4/linebreak.m4: New file.
32142
32143 2003-04-04  Bruno Haible  <bruno@clisp.org>
32144
32145         * lib/linebreak.h: New file, from GNU gettext.
32146         * lib/linebreak.c: New file, from GNU gettext with slight
32147         modifications.
32148         * lib/lbrkprop.h: New file, from GNU gettext.
32149
32150 2003-04-03  Bruno Haible  <bruno@clisp.org>
32151
32152         * modules/utf8-ucs4: New file.
32153         * modules/utf16-ucs4: New file.
32154         * modules/ucs4-utf8: New file.
32155         * modules/ucs4-utf16: New file.
32156         * MODULES.html.sh (func_all_modules): Add them.
32157
32158 2003-04-03  Bruno Haible  <bruno@clisp.org>
32159
32160         * m4/utf-ucs4.m4: New file.
32161         * m4/ucs4-utf.m4: New file.
32162
32163 2003-04-03  Bruno Haible  <bruno@clisp.org>
32164
32165         * lib/utf8-ucs4.h: New file, from GNU gettext.
32166         * lib/utf16-ucs4.h: New file, from GNU gettext.
32167         * lib/ucs4-utf8.h: New file, from GNU gettext.
32168         * lib/ucs4-utf16.h: New file, from GNU gettext.
32169
32170 2003-04-02  Bruno Haible  <bruno@clisp.org>
32171
32172         * modules/binary-io: New file.
32173         * MODULES.html.sh (func_all_modules): Add it.
32174
32175 2003-04-02  Bruno Haible  <bruno@clisp.org>
32176
32177         * lib/binary-io.h: New file, from GNU gettext.
32178
32179 2003-04-01  Bruno Haible  <bruno@clisp.org>
32180
32181         * modules/pathname: New file.
32182         * MODULES.html.sh (func_all_modules): Add it.
32183
32184 2003-04-01  Bruno Haible  <bruno@clisp.org>
32185
32186         * lib/pathname.h: New file, from GNU gettext.
32187         * lib/concatpath.c: New file, from GNU gettext.
32188
32189 2003-03-30  Bruno Haible  <bruno@clisp.org>
32190
32191         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
32192
32193 2003-03-30  Bruno Haible  <bruno@clisp.org>
32194
32195         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
32196         function chown() doesn't exist.
32197
32198 2003-03-28  Bruno Haible  <bruno@clisp.org>
32199
32200         * modules/copy-file: New file.
32201         * MODULES.html.sh (func_all_modules): Add it.
32202
32203 2003-03-28  Bruno Haible  <bruno@clisp.org>
32204
32205         * m4/copy-file.m4: New file.
32206
32207 2003-03-28  Bruno Haible  <bruno@clisp.org>
32208
32209         * lib/copy-file.h: New file, from GNU gettext.
32210         * lib/copy-file.c: New file, from GNU gettext.
32211
32212 2003-03-18  Jim Meyering  <jim@meyering.net>
32213
32214         * lib/quote.c (quote_n): Fix typo in comment.
32215
32216 2003-03-18  Bruno Haible  <bruno@clisp.org>
32217
32218         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
32219         checking.
32220         * m4/onceonly_2_57.m4: Likewise.
32221
32222 2003-03-17  Bruno Haible  <bruno@clisp.org>
32223
32224         * m4/onceonly.m4: Require autoconf 2.54 or newer.
32225         (m4_quote): Remove macro.
32226         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
32227
32228 2003-03-14  Jim Meyering  <jim@meyering.net>
32229
32230         Merge changes from Coreutils.
32231         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
32232         to be const, in order to avoid warnings.
32233         (obstack_room): Likewise.
32234         (obstack_empty_p): Likewise.
32235
32236 2003-03-14  Bruno Haible  <bruno@clisp.org>
32237
32238         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
32239         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
32240
32241 2003-03-13  Paul Eggert  <eggert@twinsun.com>
32242
32243         Merge changes from Bison.
32244         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
32245         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
32246         when compiling Bison 1.875's `bitset bset = obstack_alloc
32247         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
32248         * lib/hash.c: Include <stdbool.h> unconditionally.
32249
32250 2003-03-13  Paul Eggert  <eggert@twinsun.com>
32251
32252         * m4/onceonly.m4 (m4_quote): New macro.
32253         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
32254         Quote AC_FOREACH variable-expansions properly.
32255
32256 2003-03-13  Paul Eggert  <eggert@twinsun.com>
32257
32258         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
32259
32260 2003-03-09  Paul Eggert  <eggert@twinsun.com>
32261
32262         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
32263         Reported by Bruce Becker; see:
32264         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
32265
32266 2003-03-03  Paul Eggert  <eggert@twinsun.com>
32267             Bruno Haible  <bruno@clisp.org>
32268
32269         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
32270         Reported by John Hughes, see
32271         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
32272
32273 2003-02-20  Bruno Haible  <bruno@clisp.org>
32274
32275         * MODULES.html.sh (func_all_modules): Add poll.
32276
32277 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
32278
32279         * modules/poll: New file.
32280
32281 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
32282
32283         * lib/poll_.h: New file.
32284         * lib/poll.c: New file.
32285
32286 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
32287
32288         * m4/poll.m4: New file.
32289
32290 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
32291
32292         * modules/mathl: New file.
32293
32294 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
32295
32296         * lib/mathl.h: New file.
32297         * lib/acosl.c: New file.
32298         * lib/asinl.c: New file.
32299         * lib/atanl.c: New file.
32300         * lib/ceill.c: New file.
32301         * lib/cosl.c: New file.
32302         * lib/expl.c: New file.
32303         * lib/floorl.c: New file.
32304         * lib/frexpl.c: New file.
32305         * lib/ldexpl.c: New file.
32306         * lib/logl.c: New file.
32307         * lib/sincosl.c: New file.
32308         * lib/sinl.c: New file.
32309         * lib/sqrtl.c: New file.
32310         * lib/tanl.c: New file.
32311         * lib/trigl.c: New file.
32312         * lib/trigl.h: New file.
32313
32314 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
32315
32316         * m4/mathl.m4: New file.
32317
32318 2003-02-18  Bruno Haible  <bruno@clisp.org>
32319
32320         * MODULES.html.sh (func_all_modules): Add mathl.
32321
32322 2003-02-17  Bruno Haible  <bruno@clisp.org>
32323
32324         * modules/mkdtemp: New module.
32325         * MODULES.html.sh (func_all_modules): Add it.
32326
32327 2003-02-17  Bruno Haible  <bruno@clisp.org>
32328
32329         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
32330
32331 2003-02-17  Bruno Haible  <bruno@clisp.org>
32332
32333         * lib/mkdtemp.h: New file, from GNU gettext.
32334         * lib/mkdtemp.c: New file, from GNU gettext.
32335
32336 2003-02-02  Jim Meyering  <jim@meyering.net>
32337
32338         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
32339         e.g. glibc-2.2.93.
32340
32341 2003-01-31  Bruno Haible  <bruno@clisp.org>
32342
32343         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
32344         'rpl_rename'.
32345         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
32346         'rpl_strnlen'.
32347         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
32348         'rpl_strtod'.
32349         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
32350         'rpl_utime'.
32351
32352 2003-01-31  Bruno Haible  <bruno@clisp.org>
32353
32354         * lib/rename.c: #undef rename before defining rpl_rename.
32355         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
32356
32357 2003-01-30  Bruno Haible  <bruno@clisp.org>
32358
32359         * modules/vasnprintf, modules/vasprintf: New modules.
32360         * MODULES.html.sh (func_all_modules): Add them.
32361
32362 2003-01-30  Bruno Haible  <bruno@clisp.org>
32363
32364         * m4/signed.m4: New file, from GNU gettext.
32365         * m4/longdouble.m4: New file, from GNU gettext.
32366         * m4/wchar_t.m4: New file, from GNU gettext.
32367         * m4/wint_t.m4: New file, from GNU gettext.
32368         * m4/vasnprintf.m4: New file.
32369         * m4/vasprintf.m4: New file.
32370
32371 2003-01-30  Bruno Haible  <bruno@clisp.org>
32372
32373         * lib/printf-args.h: New file, from GNU gettext.
32374         * lib/printf-args.c: New file, from GNU gettext.
32375         * lib/printf-parse.h: New file, from GNU gettext.
32376         * lib/printf-parse.c: New file, from GNU gettext.
32377         * lib/vasnprintf.h: New file, from GNU gettext.
32378         * lib/vasnprintf.c: New file, from GNU gettext.
32379         * lib/asnprintf.c: New file, from GNU gettext.
32380         * lib/vasprintf.h: New file, from GNU gettext with modifications.
32381         * lib/vasprintf.c: New file, from GNU gettext.
32382         * lib/asprintf.c: New file, from GNU gettext.
32383
32384 2003-01-29  Bruno Haible  <bruno@clisp.org>
32385
32386         * modules/stpncpy: New module.
32387         * MODULES.html.sh (func_all_modules): Add it.
32388
32389 2003-01-29  Bruno Haible  <bruno@clisp.org>
32390
32391         * m4/stpncpy.m4: New file.
32392
32393 2003-01-29  Bruno Haible  <bruno@clisp.org>
32394
32395         * lib/stpncpy.h: New file, from GNU gettext with modifications.
32396         * lib/stpncpy.c: New file, from GNU gettext with modifications.
32397
32398 2003-01-28  Bruno Haible  <bruno@clisp.org>
32399
32400         * modules/c-ctype: New module.
32401         * MODULES.html.sh (func_all_modules): Add it.
32402
32403 2003-01-28  Bruno Haible  <bruno@clisp.org>
32404
32405         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
32406         Paul Eggert.
32407         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
32408         Paul Eggert.
32409
32410 2003-01-27  Bruno Haible  <bruno@clisp.org>
32411
32412         * modules/xsetenv: New module.
32413         * MODULES.html.sh (func_all_modules): Add it.
32414
32415 2003-01-27  Bruno Haible  <bruno@clisp.org>
32416
32417         * lib/xsetenv.h: New file, from GNU gettext.
32418         * lib/xsetenv.c: New file, from GNU gettext.
32419
32420 2003-01-23  Jim Meyering  <jim@meyering.net>
32421
32422         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
32423         from working on systems without dirfd (at least Irix and OSF1/Tru64).
32424
32425 2003-01-23  Bruno Haible  <bruno@clisp.org>
32426
32427         * modules/minmax: New module.
32428         * MODULES.html.sh (func_all_modules): Add it.
32429
32430 2003-01-23  Bruno Haible  <bruno@clisp.org>
32431
32432         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
32433         Eggert.
32434
32435 2003-01-22  Bruno Haible  <bruno@clisp.org>
32436
32437         * modules/exit: New module.
32438         * MODULES.html.sh (func_all_modules): Add it.
32439
32440 2003-01-22  Bruno Haible  <bruno@clisp.org>
32441
32442         * lib/exit.h: New file, from GNU gettext.
32443
32444 2003-01-19  Bruno Haible  <bruno@clisp.org>
32445
32446         * gnulib-tool: Recognize option --extract-maintainer.
32447         (func_get_maintainer): New function.
32448         * modules/*: Add Maintainer entry.
32449
32450 2003-01-16  Jim Meyering  <jim@meyering.net>
32451
32452         * m4/regex.m4: The `regex' struct is both input and output.
32453         Initialize it before each use.  Patch by Tim Waugh.
32454
32455 2003-01-16  Bruno Haible  <bruno@clisp.org>
32456
32457         * MODULES.html.sh: Add a table of contents. Add the module name as
32458         leftmost column. Add hyperlinks.
32459
32460 2003-01-15  Bruno Haible  <bruno@clisp.org>
32461
32462         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
32463
32464 2003-01-15  Bruno Haible  <bruno@clisp.org>
32465
32466         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
32467         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
32468         suffix.
32469
32470 2003-01-15  Bruno Haible  <bruno@clisp.org>
32471
32472         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
32473
32474 2003-01-15  Bruno Haible  <bruno@clisp.org>
32475
32476         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
32477         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
32478
32479 2003-01-14  Jim Meyering  <jim@meyering.net>
32480
32481         * lib/same.c (same_name): Tweak a comment.
32482
32483 2003-01-14  Bruno Haible  <bruno@clisp.org>
32484
32485         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
32486         when a string comparison is sufficient.
32487
32488 2003-01-14  Bruno Haible  <bruno@clisp.org>
32489
32490         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
32491         'unsigned int'.
32492
32493 2003-01-14  Bruno Haible  <bruno@clisp.org>
32494
32495         * lib/hash-pjw.c: Add comment about low quality of this function.
32496
32497 2003-01-13  Bruno Haible  <bruno@clisp.org>
32498
32499         * modules/stpcpy: Distribute lib/stpcpy.h.
32500         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
32501
32502 2003-01-13  Bruno Haible  <bruno@clisp.org>
32503
32504         * modules/*: Add a description.
32505         * modules/strpbrk: Fix Makefile.am snippet.
32506         * modules/strtoimax: Fix dependencies.
32507         * modules/strtoumax: Likewise.
32508
32509 2003-01-13  Bruno Haible  <bruno@clisp.org>
32510
32511         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
32512         * modules/alloca (Makefile.am): All object files depend on alloca.h.
32513         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
32514
32515 2003-01-13  Bruno Haible  <bruno@clisp.org>
32516
32517         * gnulib-tool (func_create_testdir): Store config/* files in the main
32518         directory.
32519         * config.rpath: Move to ...
32520         * config/config.rpath: ... here.
32521         * modules/gettext: Contains config/config.rpath, not config.rpath.
32522         * modules/iconv: Likewise.
32523
32524 2003-01-12  Paul Eggert  <eggert@twinsun.com>
32525
32526         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
32527         to avoid collisions with libcurses and libreadline.
32528
32529         * m4/getstr.m4: Remove.
32530         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
32531
32532 2003-01-12  Paul Eggert  <eggert@twinsun.com>
32533
32534         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
32535         to avoid collisions with libcurses and libreadline.
32536
32537         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
32538         * lib/getstr.h, getstr.c: Remove.
32539         * lib/getline.c: Include "getline.h", to check interface.
32540         Move body of old getstr.c here: this defines MIN_CHUNK and
32541         declares getdelim2, which is renamed from getstr.
32542         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
32543
32544         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
32545         All uses changed.
32546         * lib/linebuffer.h: Likewise.
32547         (readline): Remove backward-compatibility macro.
32548
32549 2003-01-12  Paul Eggert  <eggert@twinsun.com>
32550
32551         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
32552         to avoid collisions with libcurses and libreadline.
32553         * getstr: Remove.
32554         * MODULES.html.sh: Remove getstr.
32555         * modules/getline: Depend on unlocked-io, not getstr.
32556
32557 2003-01-12  Jim Meyering  <jim@meyering.net>
32558
32559         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
32560
32561 2003-01-10  Bruno Haible  <bruno@clisp.org>
32562
32563         * modules/alloca: Change Makefile.am requirements. Simplify Include
32564         requirements. Add lib/alloca_.h to file list.
32565
32566 2003-01-10  Bruno Haible  <bruno@clisp.org>
32567
32568         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
32569
32570 2003-01-10  Bruno Haible  <bruno@clisp.org>
32571
32572         * lib/alloca_.h: New file.
32573         * lib/getdate.y: Unconditionally include alloca.h.
32574         * lib/makepath.c: Likewise.
32575         * lib/setenv.c: Likewise.
32576         * lib/userspec.c: Likewise.
32577
32578 2003-01-09  Karl Berry  <karl@gnu.org>
32579
32580         * MODULES.html.sh: include `dirname $0` in PATH, to find
32581         gnulib-tool.
32582
32583 2003-01-09  Bruno Haible  <bruno@clisp.org>
32584
32585         * modules/stdbool: Change configure.ac, Makefile.am requirements.
32586         Simplify Include requirements. Add lib/stdbool.h.in to file list.
32587
32588 2003-01-09  Bruno Haible  <bruno@clisp.org>
32589
32590         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
32591
32592 2003-01-09  Bruno Haible  <bruno@clisp.org>
32593
32594         * lib/stdbool.h.in: New file.
32595
32596 2003-01-09  Bruno Haible  <bruno@clisp.org>
32597
32598         * gnulib-tool (func_all_modules): Ignore files ending in ~.
32599         * MODULES.html.sh: Likewise.
32600
32601 2003-01-08  Jim Meyering  <jim@meyering.net>
32602
32603         * lib/full-write.c: Undefine and define-away `const' after inclusion
32604         of errno.h, not before.  Suggestion from Bruno Haible.
32605
32606 2003-01-08  Bruno Haible  <bruno@clisp.org>
32607
32608         * modules/full-read: Depend on full-write.
32609
32610 2003-01-08  Bruno Haible  <bruno@clisp.org>
32611
32612         * lib/safe-read.c: Include specification header first, to ensure its
32613         selfcontainedness.
32614         * lib/full-write.c: Likewise.
32615
32616 2003-01-07  Jim Meyering  <jim@meyering.net>
32617
32618         * lib/full-write.c: Rework so that it may serve to define full_read,
32619         too.
32620         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
32621
32622 2003-01-07  Bruno Haible  <bruno@clisp.org>
32623
32624         * lib/strtoimax.c: Include <stdint.h> as an alternative to
32625         <inttypes.h>.
32626         * lib/xstrtol.h: Likewise.
32627         * lib/xstrtoimax.c: Likewise.
32628         * lib/xstrtoumax.c: Likewise.
32629         * lib/human.h: Likewise.
32630
32631         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
32632         on systems that have <inttypes.h> but not <stdint.h>.
32633
32634 2003-01-07  Bruno Haible  <bruno@clisp.org>
32635
32636         * MODULES.html.sh: Add copyright notice.
32637         (missed_files): Omit CVS directory entries.
32638         (func_module): Make it work with sed-3.02.
32639         * MODULES.txt: Remove file.
32640
32641 2003-01-06  Jim Meyering  <jim@meyering.net>
32642
32643         * lib/version-etc.c: Update year in translatable copyright string.
32644
32645 2003-01-03  Karl Berry  <karl@gnu.org>
32646
32647         * config/config.{guess,sub}: update from prep.
32648
32649 2003-01-02  Karl Berry  <karl@gnu.org>
32650
32651         * doc/COPYING.DOC: belatedly updated to 1.2.
32652
32653 2003-01-01  Karl Berry  <karl@gnu.org>
32654
32655         * gnulib-tool (func_verify_module): report module name $module in
32656         error message, not $1.
32657         * gnulib-tool (create-testdir): don't complain if destdir couldn't
32658         be created, only if it doesn't exist.
32659         * gnulib-tool (last_checkin_date): don't expand the $Date here.
32660
32661 2002-12-31  Paul Eggert  <eggert@twinsun.com>
32662
32663         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
32664
32665 2002-12-31  Paul Eggert  <eggert@twinsun.com>
32666
32667         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
32668         memcmp if strcoll doesn't work.
32669
32670 2002-12-31  Bruno Haible  <bruno@clisp.org>
32671
32672         * lib/utime.c (utime_null): No need to call ftruncate if the file was
32673         nonempty.
32674
32675 2002-12-31  Bruno Haible  <bruno@clisp.org>
32676
32677         * lib/memcoll.c (STRCOLL): New macro.
32678         (memcoll): Use it.
32679
32680 2002-12-31  Bruno Haible  <bruno@clisp.org>
32681
32682         * lib/localcharset.h: New file.
32683         * lib/localcharset.c: Include it.
32684         * lib/unicodeio.c: Likewise.
32685
32686 2002-12-31  Bruno Haible  <bruno@clisp.org>
32687
32688         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
32689         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
32690
32691 2002-12-31  Bruno Haible  <bruno@clisp.org>
32692
32693         * lib/getline.h: Include <stddef.h>, for size_t.
32694
32695         * lib/unicodeio.h: Include <stddef.h>, for size_t.
32696         * lib/unicodeio.c: Don't include <stddef.h>.
32697
32698 2002-12-31  Bruno Haible  <bruno@clisp.org>
32699
32700         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
32701         HAVE_TM_ZONE.
32702
32703 2002-12-24  Karl Berry  <karl@gnu.org>
32704
32705         * config/config.guess: update from prep.
32706
32707 2002-12-24  Bruno Haible  <bruno@clisp.org>
32708
32709         General infrasructure.
32710         * m4/README: Rewritten.
32711         * m4/onceonly.m4: New file.
32712         * m4/onceonly_2_57.m4: New file.
32713
32714         Module atexit.
32715         * m4/atexit.m4: New file.
32716
32717         Module strtod.
32718         * m4/strtod.m4: New file.
32719
32720         Module strtol.
32721         * m4/strtol.m4: New file.
32722
32723         Module strtoul.
32724         * m4/strtoul.m4: New file.
32725
32726         Module memchr.
32727         * m4/memchr.m4: New file.
32728
32729         Module memcmp.
32730         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
32731         (jm_FUNC_MEMCMP): Invoke it.
32732
32733         Module memcpy.
32734         * m4/memcpy.m4: New file.
32735
32736         Module memmove.
32737         * m4/memmove.m4: New file.
32738
32739         Module memset.
32740         * m4/memset.m4: New file.
32741
32742         Module strcspn.
32743         * m4/strcspn.m4: New file.
32744
32745         Module strpbrk.
32746         * m4/strpbrk.m4: New file.
32747
32748         Module strstr.
32749         * m4/strstr.m4: New file.
32750
32751         Module strerror.
32752         * m4/strerror.m4: New file.
32753
32754         Module mktime.
32755         * m4/mktime.m4: Renamed from jm-mktime.m4.
32756         (gl_PREREQ_MKTIME): New macro.
32757         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
32758
32759         Module malloc.
32760         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
32761         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
32762         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
32763
32764         Module realloc.
32765         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
32766         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
32767         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
32768
32769         Module strftime.
32770         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
32771         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
32772         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
32773         gl_TM_GMTOFF.
32774         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
32775
32776         Module xalloc.
32777         * m4/xalloc.m4: New file.
32778
32779         Module alloca.
32780         * m4/alloca.m4: New file.
32781
32782         Module putenv.
32783         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
32784         (jm_FUNC_PUTENV): Invoke it.
32785
32786         Module setenv.
32787         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
32788         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
32789         when invoked twice.
32790         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
32791         gt_FUNC_SETENV.
32792
32793         Module memrchr.
32794         * m4/memrchr.m4: New file.
32795
32796         Module stpcpy.
32797         * m4/stpcpy.m4: New file.
32798
32799         Module strcase.
32800         * m4/strcase.m4: New file.
32801
32802         Module strdup.
32803         * m4/strdup.m4: New file.
32804
32805         Module strnlen.
32806         * m4/strnlen.m4: New file.
32807
32808         Module strndup.
32809         * m4/strndup.m4: New file.
32810
32811         Module xstrtod.
32812         * m4/xstrtod.m4: New file.
32813
32814         Module xstrtol.
32815         * m4/xstrtol.m4: New file.
32816
32817         Module getdate.
32818         * m4/getdate.m4: New file.
32819
32820         Module unlocked-io.
32821         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
32822         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
32823         * m4/jm-glibc-io.m4n: Remove file.
32824
32825         Module long-options.
32826         * m4/long-options.m4: New file.
32827
32828         Module md5.
32829         * m4/md5.m4: New file.
32830
32831         Module sha.
32832         * m4/sha.m4: New file.
32833
32834         Module getstr.
32835         * m4/getstr.m4: New file.
32836
32837         Module getline.
32838         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
32839         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
32840         <sys/types.h>, for size_t. Use the function name gnu_getline, not
32841         simply getline. Infoke gl_PREREQ_GETLINE.
32842
32843         Module obstack.
32844         * m4/obstack.m4: New file.
32845
32846         Module hash.
32847         * m4/hash.m4: New file.
32848
32849         Module readtokens.
32850         * m4/readtokens.m4: New file.
32851
32852         Module strverscmp.
32853         * m4/strverscmp.m4: New file.
32854
32855         Module stdbool.
32856         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
32857         OSF/1.
32858
32859         Module strtoll.
32860         * m4/strtoll.m4: New file.
32861
32862         Module strtoull.
32863         * m4/strtoull.m4: New file.
32864
32865         Module strtoimax.
32866         * m4/strtoimax.m4: New file.
32867
32868         Module strtoumax.
32869         * m4/strtoumax.m4: New file.
32870
32871         Module xstrtoimax.
32872         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
32873         jm_AC_PREREQ_XSTRTOIMAX.
32874         Moved the strtol prerequisites to strtol.m4.
32875         Moved the strtoll prerequisites to strtoll.m4.
32876         Moved the strtoimax prerequisites to strtoimax.m4.
32877
32878         Module xstrtoumax.
32879         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
32880         jm_AC_PREREQ_XSTRTOUMAX.
32881         Moved the strtoul prerequisites to strtoul.m4.
32882         Moved the strtoull prerequisites to strtoull.m4.
32883         Moved the strtoumax prerequisites to strtoumax.m4.
32884
32885         Module chown.
32886         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
32887         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
32888
32889         Module dup2.
32890         * m4/dup2.m4: New file.
32891
32892         Module ftruncate.
32893         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
32894         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
32895
32896         Module getgroups.
32897         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
32898         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
32899
32900         Module gettimeofday.
32901         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
32902         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
32903         gl_PREREQ_GETTIMEOFDAY.
32904
32905         Module mkdir.
32906         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
32907         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
32908
32909         Module mkstemp.
32910         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
32911         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
32912         jm_AC_TYPE_UINTMAX_T.
32913         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
32914
32915         Module stat.
32916         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
32917         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
32918
32919         Module lstat.
32920         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
32921         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
32922
32923         Module timespec.
32924         * m4/timespec.m4 (gl_TIMESPEC): New macro.
32925         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
32926         * m4/st_mtim.m4: Indentation.
32927
32928         Module nanosleep.
32929         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
32930         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
32931         gl_PREREQ_NANOSLEEP.
32932
32933         Module regex.
32934         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
32935         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
32936         (gl_REGEX): New macro.
32937
32938         Module rename.
32939         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
32940         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
32941
32942         Module rmdir.
32943         * m4/rmdir.m4: New file.
32944
32945         Module utime.
32946         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
32947         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
32948         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
32949
32950         Module dirname.
32951         * m4/dirname.m4: New file.
32952
32953         Module getopt.
32954         * m4/getopt.m4: New file.
32955
32956         Module unistd-safer.
32957         * m4/unistd-safer.m4: New file.
32958
32959         Module fnmatch.
32960         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
32961         declaration.
32962         (gl_PREREQ_FNMATCH_EXTRA): New macro.
32963         (gl_FUNC_FNMATCH_POSIX): New macro.
32964         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
32965         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
32966         simply fnmatch.
32967
32968         Module exclude.
32969         * m4/exclude.m4: New file.
32970
32971         Module human.
32972         * m4/human.m4: New file.
32973
32974         Module acl.
32975         * m4/acl.m4: Nop.
32976
32977         Module backupfile.
32978         * m4/backupfile.m4: New file.
32979         * m4/d-ino.m4: Indentation.
32980
32981         Module fsusage.
32982         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
32983         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
32984         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
32985
32986         Module dirfd.
32987         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
32988         requirements.
32989
32990         Module euidaccess.
32991         * m4/euidaccess.m4: New file.
32992
32993         Module file-type.
32994         * m4/file-type.m4: New file.
32995
32996         Module fileblocks.
32997         * m4/fileblocks.m4: New file.
32998
32999         Module filemode.
33000         * m4/filemode.m4: New file.
33001
33002         Module isdir.
33003         * m4/isdir.m4: New file.
33004
33005         Module lchown.
33006         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
33007         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
33008
33009         Module makepath.
33010         * m4/makepath.m4: New file.
33011
33012         Module modechange.
33013         * m4/modechange.m4: New file.
33014
33015         Module mountlist.
33016         * m4/mountlist.m4: New file.
33017         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
33018         Indentation.
33019
33020         Module path-concat.
33021         * m4/path-concat.m4: New file.
33022
33023         Module pathmax.
33024         * m4/pathmax.m4: New file.
33025
33026         Module same.
33027         * m4/same.m4: New file.
33028
33029         Module save-cwd.
33030         * m4/save-cwd.m4: New file.
33031
33032         Module savedir.
33033         * m4/savedir.m4: New file.
33034
33035         Module xgetcwd.
33036         * m4/xgetcwd.m4: New file.
33037         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
33038
33039         Module xreadlink.
33040         * m4/xreadlink.m4: New file.
33041
33042         Module safe-read.
33043         * m4/safe-read.m4: New file.
33044
33045         Module safe-write.
33046         * m4/safe-write.m4: New file.
33047
33048         Module closeout.
33049         * m4/closeout.m4: New file.
33050
33051         Module stdio-safer.
33052         * m4/stdio-safer.m4: New file.
33053
33054         Module getpass.
33055         * m4/getpass.m4: New file.
33056
33057         Module getugroups.
33058         * m4/getugroups.m4: New file.
33059
33060         Module group-member.
33061         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
33062         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
33063
33064         Module idcache.
33065         * m4/idcache.m4: New file.
33066
33067         Module userspec.
33068         * m4/userspec.m4: New file.
33069
33070         Module gettime.
33071         * m4/clock_time.m4: New file.
33072         * m4/gettime.m4: New file.
33073
33074         Module settime.
33075         * m4/settime.m4: New file.
33076
33077         Module posixtm.
33078         * m4/posixtm.m4: New file.
33079
33080         Module gethostname.
33081         * m4/gethostname.m4: New file.
33082
33083         Module canon-host.
33084         * m4/canon-host.m4: New file.
33085
33086         Module gettext.
33087         * m4/codeset.m4: New file, from gettext-0.11.5.
33088         * m4/gettext.m4: New file, from gettext-0.11.5.
33089         * m4/glibc21.m4: New file, from gettext-0.11.5.
33090         * m4/iconv.m4: New file, from gettext-0.11.5.
33091         * m4/intdiv0.m4: New file, from gettext-0.11.5.
33092         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
33093         * m4/inttypes.m4: New file, from gettext-0.11.5.
33094         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
33095         * m4/isc-posix.m4: New file, from gettext-0.11.5.
33096         * m4/lcmessage.m4: New file, from gettext-0.11.5.
33097         * m4/lib-ld.m4: New file, from gettext-0.11.5.
33098         * m4/lib-link.m4: New file, from gettext-0.11.5.
33099         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
33100         * m4/progtest.m4: New file, from gettext-0.11.5.
33101         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
33102         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
33103         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
33104
33105         Module localcharset.
33106         * m4/localcharset.m4: New file.
33107
33108         Module hard-locale.
33109         * m4/hard-locale.m4: New file.
33110
33111         Module mbswidth.
33112         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
33113         onceonly macros.
33114         * m4/mbrtowc.m4: Add comment.
33115
33116         Module memcasecmp.
33117         * m4/memcasecmp.m4: New file.
33118
33119         Module memcoll.
33120         * m4/memcoll.m4: New file.
33121
33122         Module unicodeio.
33123         * m4/unicodeio.m4: New file.
33124
33125         Module rpmatch.
33126         * m4/rpmatch.m4: New file.
33127
33128         Module yesno.
33129         * m4/yesno.m4: New file.
33130
33131         Module exitfail.
33132         * m4/exitfail.m4: New file.
33133
33134         Module c-stack.
33135         * m4/c-stack.m4 (gl_C_STACK): New macro.
33136         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
33137
33138         Module error.
33139         * m4/error.m4 (gl_ERROR): New macro.
33140         (jm_PREREQ_ERROR): Use onceonly macros.
33141
33142         Module fatal.
33143         * m4/fatal.m4: New file.
33144
33145         Module getloadavg.
33146         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
33147         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
33148
33149         Module getpagesize.
33150         * m4/getpagesize.m4: New file.
33151
33152         Module getusershell.
33153         * m4/getusershell.m4: New file.
33154
33155         Module physmem.
33156         * m4/physmem.m4: New file.
33157
33158         Module posixver.
33159         * m4/posixver.m4: New file.
33160
33161         Module quotearg.
33162         * m4/quotearg.m4: New file.
33163
33164         Module quote.
33165         * m4/quote.m4: New file.
33166
33167         Module readutmp.
33168         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
33169
33170         Module sig2str.
33171         * m4/sig2str.m4: New file.
33172
33173         Other.
33174         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
33175         ulonglong.m4.
33176         * m4/intmax_t.m4: New file.
33177         * m4/d-type.m4: Indentation.
33178         * m4/jm-macros.m4: Update.
33179         * m4/prereq.m4 (jm_PREREQ): Update.
33180         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
33181         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
33182         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
33183         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
33184         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
33185         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
33186         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
33187         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
33188         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
33189         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
33190         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
33191         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
33192         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
33193         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
33194         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
33195         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
33196         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
33197         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
33198         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
33199
33200 2002-12-24  Bruno Haible  <bruno@clisp.org>
33201
33202         * MODULES.txt: Update according to m4/ changes.
33203
33204         Module gettext.
33205         * config.rpath: New file, from gettext-0.11.5.
33206
33207         * modules/*: New module descriptions.
33208         * gnulib-tool: New file.
33209         * MODULES.html.sh: New file.
33210
33211 2002-12-21  Karl Berry  <karl@gnu.org>
33212
33213         * doc/fdl.texi: update to version 1.2.
33214
33215 2002-12-19  Karl Berry  <karl@gnu.org>
33216
33217         * config/config.guess: update from prep.
33218
33219 2002-12-18  Bruno Haible  <bruno@clisp.org>
33220
33221         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
33222         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
33223
33224 2002-12-17  Bruno Haible  <bruno@clisp.org>
33225
33226         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
33227         stdlib.h, string.h.
33228
33229 2002-12-17  Bruno Haible  <bruno@clisp.org>
33230
33231         * lib/canon-host.c (strdup): Remove unused declaration.
33232
33233         * lib/fsusage.c: Include full_read.h.
33234         (get_fs_usage): Use full_read instead of safe_read.
33235
33236         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
33237
33238 2002-12-12  Karl Berry  <karl@gnu.org>
33239
33240         * config/config.guess: update from prep.
33241
33242 2002-12-11  Bruno Haible  <bruno@clisp.org>
33243
33244         * m4/setenv.m4: New file, from gettext-0.11.5.
33245
33246 2002-12-11  Bruno Haible  <bruno@clisp.org>
33247
33248         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
33249         not unsetenv().
33250         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
33251         modifications:
33252
33253         2002-12-11  Bruno Haible  <bruno@clisp.org>
33254
33255                 * setenv.c (alloca): Fall back to malloc.
33256                 (freea): New macro.
33257                 (setenv): Use freea() to free memory allocated with alloca().
33258
33259         2002-11-13  Bruno Haible  <bruno@clisp.org>
33260
33261                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
33262                 function declarations.
33263                 * unsetenv.c (unsetenv): Likewise.
33264
33265         2002-03-04  Bruno Haible  <bruno@clisp.org>
33266
33267                 Portability to AIX 4.3.3.
33268                 * unsetenv.c: New file, extracted from setenv.c.
33269                 * setenv.c: Move the unsetenv() function to unsetenv.c.
33270
33271         2001-12-20  Bruno Haible  <bruno@clisp.org>
33272
33273                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
33274                 use malloc instead. For SunOS 4.
33275
33276         2001-12-11  Bruno Haible  <bruno@clisp.org>
33277
33278                 * setenv.c: Declare alloca.
33279                 (compar_fn_t): New typedef.
33280                 (KNOWN_VALUE, STORE_VALUE): Use it.
33281
33282         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
33283         setenv.h.
33284
33285 2002-12-10  Paul Eggert  <eggert@twinsun.com>
33286
33287         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
33288         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
33289         Choose values that are less likely to collide with system fnmatch
33290         options.
33291         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
33292         defined (e.g., a pure POSIX system).
33293         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
33294         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
33295
33296 2002-12-06  Paul Eggert  <eggert@twinsun.com>
33297
33298         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
33299         a pain in practice to deal with generated m4 files.  This change
33300         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
33301
33302         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
33303         and jm-glibc-io.m4, as they are no longer a special case.
33304         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
33305         kludge and the auto-generation stuff.  Check only whether the
33306         functions are declared, not whether they exist, since older hosts
33307         that don't declare the functions can't use the optimization anyway.
33308
33309 2002-12-06  Jim Meyering  <jim@meyering.net>
33310
33311         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
33312
33313         Merge in changes from libc's misc/error.c, in preparation
33314         for the merge of gnulib's changes back into libc.
33315
33316         * lib/error.c (_): Define only if not already defined.
33317         Move definition to follow all #include directives.
33318         Include unlocked-io.h only if !_LIBC.
33319         [_LIBC]: Include <libio/libioP.h>.
33320         [USE_IN_LIBIO]: Include <libio/iolibio.h>
33321         (fflush): Tweak definition to use INTUSE.
33322         (putc): Define.
33323
33324 2002-12-05  Paul Eggert  <eggert@twinsun.com>
33325
33326         * lib/alloca.c [defined emacs]: Include "lisp.h".
33327         (xalloc_die) [defined emacs]: New macro.
33328         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
33329         [! defined emacs]: Include <xalloc.h>.
33330         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
33331         (pointer): Typedef to POINTER_TYPE *.
33332         (malloc): Remove decl; we now always use xmalloc.
33333         (alloca): Use old-style definition, since Emacs needs this.
33334         Check for arithmetic overflow when computing combined size.
33335
33336 2002-12-04  Paul Eggert  <eggert@twinsun.com>
33337
33338         Do not generate unlocked-io.h automatically, since it's easier to
33339         maintain it by hand.
33340
33341         * lib/unlocked-io.h: New file, from GNU diffutils,
33342         but with proper copyright notice and attribution.
33343         * lib/gen-uio: Remove.
33344         * lib/Makefile.am: Add copyright notice.
33345         (libfetish_a_SOURCES): Add unlocked-io.h.
33346         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
33347         (DISTCLEANFILES, io_functions): Remove macros.
33348         (EXTRA_DIST): Remove gen_uio.
33349         (unlocked-io.h): Remove rule.
33350
33351 2002-12-04  Jim Meyering  <jim@meyering.net>
33352
33353         Reflect the fact that stat.c and lstat.c are no longer generated.
33354         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
33355         (DISTCLEANFILES): Likewise.
33356         (EXTRA_DIST): Likewise.
33357         (all_local): Don't depend on stat.c or lstat.c.
33358         (stat.c, lstat.c): Remove rules.
33359         (EXTRA_DIST): Remove xstat.in.
33360
33361         * lib/xstat.in: Remove file.  Contents moved into stat.c.
33362         * lib/stat.c: New file.  Contents mostly from xstat.in.
33363         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
33364         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
33365
33366         * lib/safe-read.c: Rework so that it may serve to define safe_write,
33367         too.
33368         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
33369
33370 2002-12-03  Jim Meyering  <jim@meyering.net>
33371
33372         * lib/safe-read.c, safe-write.c: Change variable names and comments,
33373         but not semantics, to minimize the differences between these two files.
33374         (safe_read): Change comment to mention SAFE_READ_ERROR.
33375
33376         * lib/safe-read.c (IS_EINTR): Define.
33377         (safe_read): Use IS_EINTR in place of in-function cpp directives.
33378
33379 2002-12-02  Jim Meyering  <jim@meyering.net>
33380
33381         * lib/safe-read.c (EINTR): Define.
33382         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
33383         (INT_MAX): Provide fallback.
33384         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
33385
33386         * lib/safe-read.h (SAFE_READ_ERROR): Define.
33387
33388 2002-12-02  Bruno Haible  <bruno@clisp.org>
33389
33390         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
33391         Define, taken from safe-read.c.
33392         (INT_MAX): Provide fallback.
33393         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
33394         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
33395
33396         * lib/safe-read.c (EINTR): Remove definition.
33397         (safe_read): Don't use EINTR if it is absent.
33398
33399 2002-12-01  Jim Meyering  <jim@meyering.net>
33400
33401         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
33402         zero.
33403         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
33404
33405 2002-11-27  Paul Eggert  <eggert@twinsun.com>
33406
33407         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
33408         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
33409         with `if (! (value < limit)) abort ();', for readability.
33410
33411 2002-11-26  Karl Berry  <karl@gnu.org>
33412
33413         * lib/strdup.c: copy from libc again, with jim's ok.
33414         * lib/.cppi-disable: re-add strdup.c
33415
33416 2002-11-25  Karl Berry  <karl@gnu.org>
33417
33418         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
33419         instead of "strtol.c".
33420
33421 2002-11-25  Karl Berry  <karl@gnu.org>
33422
33423         * config/install-sh: update from automake for variable quoting, $0 in
33424         error msgs, etc.
33425
33426         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
33427         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
33428         entry.
33429
33430 2002-11-25  Jim Meyering  <jim@meyering.net>
33431
33432         * lib/mktime.c: Sync from libc, now that it has the latest fix.
33433
33434 2002-11-24  Karl Berry  <karl@gnu.org>
33435
33436         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
33437         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
33438
33439 2002-11-24  Jim Meyering  <jim@meyering.net>
33440
33441         Update from coreutils:
33442
33443         * lib/mktime.c: Merge in changes from libc.
33444
33445         Avoid a link-time failure on some Linux systems.
33446         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
33447         (otherwise).
33448         (__mon_yday): Declare with the STATIC attribute.
33449         (__mktime_internal): Likewise.
33450         Based on a report from Greg Schafer.
33451
33452 2002-11-23  Jim Meyering  <jim@meyering.net>
33453
33454         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
33455         Use `unsigned', not `int', as type of index.
33456
33457         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
33458
33459         * lib/fsusage.c: Remove unneeded parentheses around operands of
33460         `defined'.
33461
33462 2002-11-22  Paul Eggert  <eggert@twinsun.com>
33463
33464         * lib/quotearg.h: Allow multiple inclusion by surrounding with
33465         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
33466         so that we can be included first.
33467         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
33468         * lib/quotearg.c: Include quotearg.h immediately after config.h.
33469         No need to include stddef.h or sys/types.h any more.
33470         Surround local include files with "", not "<>".
33471         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
33472         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
33473         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
33474         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
33475         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
33476         (ISPRINT): Remove; no longer needed now that we assume C89.
33477
33478         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
33479         Preserve errno.
33480
33481         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
33482         quotearg_char): Use SIZE_MAX rather than
33483         (size_t) -1 when we are talking about "infinity".
33484
33485         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
33486
33487 2002-11-22  Paul Eggert  <eggert@twinsun.com>
33488
33489         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
33490         hint that one should use `if (! x) abort ();' rather than `assert
33491         (x);', and anyway it's one less thing to worry about configuring.
33492         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
33493         hash_rehash, hash_insert): Use abort rather than assert.
33494
33495 2002-11-22  Bruno Haible  <bruno@clisp.org>
33496
33497         * lib/safe-read.h: Assume C89. Add comments.
33498         (safe_read): Change return type to size_t.
33499         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
33500         byte counts > SSIZE_MAX correctly.
33501         * lib/safe-write.h: New file.
33502         * lib/safe-write.c: New file.
33503         * lib/full-read.h: New file.
33504         * lib/full-read.c: New file.
33505         * lib/full-write.h: Assume C89. Add comments.
33506         * lib/full-write.c: Include safe-write.h.
33507         (full_write): Rewritten to use safe_write.
33508         Suggested by Jim Meyering and Paul Eggert.
33509
33510 2002-11-21  Jim Meyering  <jim@meyering.net>
33511
33512         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
33513
33514         Merge in changes from the coreutils.
33515
33516         2002-09-25  Paul Eggert  <eggert@twinsun.com>
33517         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
33518         <stdint.h>.
33519         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
33520         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
33521         int.  Work more efficiently if X is the same width as uintmax_t.
33522         Do not compare X to -1, to avoid bogus compiler warning.
33523         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
33524         Don't assume that f_frsize and f_bsize are the same type.
33525
33526         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
33527         warning on FreeBSD.
33528
33529         * lib/makepath.c (make_path): Restore umask *before* creating the final
33530         component.
33531         (make_path): Minor reformatting.
33532
33533         * lib/xmalloc.c: Adjust to work with new autoconf macros,
33534         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
33535         HAVE_MALLOC/HAVE_REALLOC.
33536
33537         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
33538         dummy ones.  At least on GNU/Linux systems, `auto' means something
33539         else.
33540         From Michael Stone.
33541
33542 2002-11-21  Bruno Haible  <bruno@clisp.org>
33543
33544         Remove case insensitive option matching.
33545         * lib/argmatch.h (argcasematch): Remove declaration.
33546         (ARGCASEMATCH): Remove macro.
33547         (__xargmatch_internal): Remove case_sensitive argument.
33548         (XARGMATCH): Update.
33549         (XARGCASEMATCH): Remove macro.
33550         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
33551         case_sensitive argument.
33552         (argcasematch): Remove function.
33553         (__xargmatch_internal): Remove case_sensitive argument.
33554         (main): Use XARGMATCH instead of XARGCASEMATCH.
33555
33556         * lib/xmalloc.c: Change compile-time error message. Add comment about
33557         required autoconf version.
33558
33559 2002-11-20  Paul Eggert  <eggert@twinsun.com>
33560
33561         Merge argmatch cleanups from Bison.  Assume C89.
33562
33563         * lib/argmatch.c: Include config.h here, not in argmatch.h.
33564         Include stdlib.h, for EXIT_FAILURE.
33565         Always include <string.h>, since we assume C89.
33566         (EXIT_FAILURE): Remove pre-C89 bug workaround.
33567         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
33568         Include <stddef.h> instead, since it's all we need for size_t.
33569         (PARAMS): Remove.  All uses removed.
33570         (ARRAY_CARDINALITY): Do not bother to #undef.
33571         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
33572         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
33573         Remove unnecessary parentheses.
33574         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
33575         Insert necessary parentheses.
33576         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
33577         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
33578
33579 2002-11-19  Bruno Haible  <bruno@clisp.org>
33580
33581         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
33582         * lib/mbswidth.h: Include <stddef.h>, for size_t.
33583
33584         * lib/mbswidth.h (PARAMS): Remove macro.
33585         (mbswidth, mbsnwidth): Use ANSI C function declarations.
33586         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
33587
33588         * lib/gcd.h (PARAMS): Remove macro.
33589         (gcd): Use ANSI C function declarations.
33590         * lib/gcd.c (gcd): Likewise.
33591
33592 2002-11-15  Bruno Haible  <bruno@clisp.org>
33593
33594         * lib/strcspn.c: Include <stddef.h>.
33595         (strcspn): Use ANSI C function declaration. Change return type to
33596         size_t. Use NULL.
33597         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
33598         (strpbrk): Use NULL.
33599         * lib/strpbrk.h (PARAMS): Remove macro.
33600         (strpbrk): Use ANSI C function declaration.
33601         * lib/strstr.c: Don't include <sys/types.h>.
33602         * lib/strstr.h (PARAMS): Remove macro.
33603         (strstr): Use ANSI C function declarations.
33604
33605 2002-11-14  Karl Berry  <karl@gnu.org>
33606
33607         * config/mkinstalldirs: `do' on separate line, instead of
33608         `for var; do'.
33609
33610 2002-11-06  Bruno Haible  <bruno@clisp.org>
33611
33612         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
33613         * lib/gcd.c (gcd): Likewise.
33614
33615 2002-11-05  Bruno Haible  <bruno@clisp.org>
33616
33617         * lib/gcd.h: New file, from gettext-0.11.5.
33618         * lib/gcd.c: New file, from gettext-0.11.5.
33619
33620 2002-11-05  Bruno Haible  <bruno@clisp.org>
33621
33622         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
33623         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
33624         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
33625         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
33626
33627         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
33628         <libintl.h>.
33629         * lib/makepath.c: Include gettext.h instead of <locale.h> and
33630         <libintl.h>.
33631
33632         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
33633         * lib/human.c: Include gettext.h instead of <libintl.h>.
33634         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
33635         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
33636         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
33637         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
33638         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
33639         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
33640         (textdomain): Remove definition.
33641         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
33642
33643         * lib/long-options.c: Remove include of <libintl.h> and definition of
33644         _.
33645         * lib/same.c: Remove include of <libintl.h> and definition of _.
33646
33647 2002-11-04  Owen Taylor  <otaylor@redhat.com>
33648
33649         * lib/config.charset: A few additions for Solaris.
33650
33651 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
33652
33653         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
33654         * lib/localcharset.c (locale_charset): Declare as extern "C".
33655
33656 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
33657
33658         * lib/config.charset: msdos in uk_UA uses CP1125.
33659
33660 2002-11-04  Bruno Haible  <bruno@clisp.org>
33661
33662         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
33663         * lib/strcase.h: New file, from GNU gettext-0.11.5.
33664         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
33665         * lib/strstr.h: New file, from GNU gettext-0.11.5.
33666         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
33667
33668 2002-11-04  Bruno Haible  <bruno@clisp.org>
33669
33670         * lib/localcharset.c (locale_charset): Don't return an empty string.
33671
33672 2002-11-04  Bruno Haible  <bruno@clisp.org>
33673
33674         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
33675         aliases.
33676
33677 2002-11-04  Bruno Haible  <bruno@clisp.org>
33678
33679         * lib/config.charset: Update for newest glibc. Add canonical names
33680         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
33681
33682 2002-11-04  Bruno Haible  <bruno@clisp.org>
33683
33684         * lib/config.charset: Add support for NetBSD.
33685
33686 2002-11-04  Bruno Haible  <bruno@clisp.org>
33687
33688         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
33689
33690 2002-11-01  Bruno Haible  <bruno@clisp.org>
33691
33692         * configure.in: Add AC_CONFIG_AUX_DIR call.
33693         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
33694         test/Makefile.
33695         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
33696
33697 2002-09-28  Karl Berry  <karl@gnu.org>
33698
33699         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
33700         installed automake until the next release, since changes have been
33701         made.
33702
33703 2002-09-25  Karl Berry  <karl@gnu.org>
33704
33705         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
33706         * lib/getopt*: copy from libc/posix.
33707         * lib/gettext.h: copy from gettext.
33708         * lib/.cppi-disable: add strdup.c, gettext.h.
33709
33710 2002-09-25  Karl Berry  <karl@gnu.org>
33711
33712         * config/srclist.txt: enable gettext.h check.
33713         * config/config.{guess,sub}: update from prep.
33714         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
33715                 from automake 1.6.3.
33716         See srclist*.
33717
33718 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
33719
33720         * regex.c (PATFETCH): Remove the translating fetch.
33721         (PATFETCH_RAW): Rename to PATFETCH.
33722         (set_image_of_range): New fun.
33723         (SET_RANGE_TABLE_WORK_AREA): Use it.
33724         (regex_compile): Don't translate the pattern chars so eagerly.
33725         Only do it when inserting an `exactn' bytecode or when handling
33726         a char-range.
33727         (mutually_exclusive_p): Avoid empty statement.
33728
33729 2002-07-06  Jim Meyering  <meyering@lucent.com>
33730
33731         * m4/README: Don't mention Makefile.am.in.
33732         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
33733
33734 2002-07-01  Jim Meyering  <meyering@lucent.com>
33735
33736         * lib/c-stack.c: Include sys/time.h.
33737         From Volker Borchert.
33738
33739 2002-06-26  Paul Eggert  <eggert@twinsun.com>
33740
33741         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
33742
33743 2002-06-26  Paul Eggert  <eggert@twinsun.com>
33744
33745         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
33746         New macro.  Use it uniformly instead of
33747         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
33748         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
33749         reported by Vin Shelton.
33750
33751 2002-06-22  Paul Eggert  <eggert@twinsun.com>
33752
33753         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
33754         Do not assume SA_SIGINFO behavior.
33755         Bug reported by Jim Meyering on NetBSD 1.5.2.
33756
33757 2002-06-22  Jim Meyering  <meyering@lucent.com>
33758
33759         * m4/c-stack.m4: New file, from diffutils-2.8.2.
33760         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
33761
33762         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
33763         now that configure.ac uses AC_GNU_SOURCE.
33764         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
33765         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
33766
33767         Update to latest tools.  Suggestions from Paul Eggert.
33768         * m4/stdbool.m4: New file, from diffutils-2.8.2.
33769         * m4/gnu-source.m4: Update from diffutils-2.8.2.
33770         * m4/fnmatch.m4: Likewise.
33771         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
33772         to AC_HEADER_STDBOOL
33773
33774 2002-06-22  Jim Meyering  <meyering@lucent.com>
33775
33776         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
33777         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
33778
33779 2002-06-22  Jim Meyering  <meyering@lucent.com>
33780
33781         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
33782
33783         * lib/exitfail.c, exitfail.h: Likewise.
33784         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
33785
33786         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
33787         of fnmatch.h.
33788         (EXTRA_DIST): Add fnmatch_loop.c.
33789         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
33790
33791         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
33792         * lib/fnmatch.c: Update from diffutils-2.8.2.
33793         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
33794         * lib/fnmatch.h: Remove file.
33795
33796 2002-06-21  Jim Meyering  <meyering@lucent.com>
33797
33798         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
33799         * m4/mbrtowc.m4: Likewise.
33800
33801         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
33802         * m4/mbswidth.m4: Reflect name change:
33803         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
33804         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
33805
33806         * m4/lib-link.m4: Update from gettext-0.11.2.
33807         * m4/gettext.m4: Likewise.
33808
33809         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
33810         From Alfred M. Szmidt.
33811
33812 2002-06-18  Paul Eggert  <eggert@twinsun.com>
33813
33814         * lib/file-type.h: Report an error if neither S_ISREG nor
33815         S_IFREG is defined, instead of using a test specific to glibc
33816         2.2.  This should be safe, since POSIX requires S_ISREG and
33817         Unix Version 7 had S_IFREG.  We don't need to check for
33818         <sys/types.h> since we don't use any symbols that it defines.
33819
33820 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
33821
33822         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
33823         $@-t, so that each temporary file name is unique and valid in the first
33824         8 characters, for operation under DOS.
33825
33826 2002-06-15  Paul Eggert  <eggert@twinsun.com>
33827
33828         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
33829
33830 2002-06-15  Jim Meyering  <meyering@lucent.com>
33831
33832         Work even with DJGPP 2.03, which lacks support for symlinks.
33833         From Richard Dawe.
33834         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
33835         is defined.
33836         * lib/lchown.c (S_ISLNK): Likewise.
33837
33838 2002-06-15  Jim Meyering  <meyering@lucent.com>
33839
33840         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
33841         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
33842         have been included before this file.
33843
33844 2002-06-14  Jim Meyering  <meyering@lucent.com>
33845
33846         * lib/file-type.h: Use the version from diffutils-2.8.2.
33847         * lib/file-type.c: Likewise.
33848
33849 2002-06-07  Jim Meyering  <meyering@lucent.com>
33850
33851         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
33852         They're needed at least for NetBSD 1.5.2.
33853         ($statxfs_includes): Include those same headers.
33854         ($statxfs_includes): Include sys/vfs.h if available.
33855         ($statxfs_includes): Likewise for sys/statvfs.h.
33856         Check for the following members in both structs statfs and statvfs:
33857         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
33858
33859 2002-06-01  Jim Meyering  <meyering@lucent.com>
33860
33861         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
33862         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
33863
33864 2002-05-28  Jim Meyering  <meyering@lucent.com>
33865
33866         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
33867         Reported by Volker Borchert.
33868
33869 2002-05-27  Jim Meyering  <meyering@lucent.com>
33870
33871         Fix a problem seen only on nonconforming systems whereby ls.c's
33872         use of localtime, and then of gettimeofday would cause trouble:
33873         the localtime call used to initialize rpl_gettimeofday's save
33874         mechanism would clobber ls's current local time information so
33875         that in any long listing the first file would always be listed
33876         with date 1970-01-01.  Analysis by Volker Borchert.
33877
33878         * lib/gettimeofday.c (localtime): Undefine.
33879         (rpl_localtime): New function.
33880
33881 2002-05-27  Jim Meyering  <meyering@lucent.com>
33882
33883         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
33884         localtime.
33885
33886         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
33887         use the replacement function; it wouldn't resolve at link time.
33888         Reported by Volker Borchert.
33889
33890 2002-05-22  Jim Meyering  <meyering@lucent.com>
33891
33892         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
33893         file-type.h.
33894         * lib/file-type.h: New file.
33895         * lib/file-type.c (file_type): New file/function.  Extracted from
33896         diffutils.
33897
33898 2002-04-30  Jim Meyering  <meyering@lucent.com>
33899
33900         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
33901
33902 2002-04-29  Paul Eggert  <eggert@twinsun.com>
33903
33904         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
33905
33906 2002-04-29  Paul Eggert  <eggert@twinsun.com>
33907
33908         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
33909         Do not check for alloca.h (no longer used) or stdbool.h (was never
33910         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
33911
33912 2002-04-29  Paul Eggert  <eggert@twinsun.com>
33913
33914         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
33915
33916 2002-04-29  Jim Meyering  <meyering@lucent.com>
33917
33918         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
33919         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
33920         Use AC_FUNC_STRNLEN here instead.
33921
33922         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
33923         With autoconf-2.53a, it's part of AC_PROG_CC.
33924
33925 2002-04-28  Paul Eggert  <eggert@twinsun.com>
33926
33927         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
33928         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
33929
33930 2002-04-28  Paul Eggert  <eggert@twinsun.com>
33931
33932         * lib/sig2str.h, lib/sig2str.c: New files.
33933         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
33934
33935 2002-04-28  Paul Eggert  <eggert@twinsun.com>
33936
33937         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
33938         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
33939         of 127, since 64 is the largest conceivable number for ancient
33940         nonstandard hosts.
33941         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
33942
33943 2002-04-28  Jim Meyering  <meyering@lucent.com>
33944
33945         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
33946
33947 2002-04-24  Jim Meyering  <meyering@lucent.com>
33948
33949         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
33950         (jm_PREREQ): Use it.
33951
33952         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
33953         mach/mach.h fcntl.h.
33954         Check for this function: setlocale.
33955
33956 2002-04-24  Jim Meyering  <meyering@lucent.com>
33957
33958         * lib/gettext.h: New file, from Gettext.
33959         * lib/Makefile.am (INCLUDES): Remove -I../intl.
33960         (libfetish_a_SOURCES): Add gettext.h.
33961
33962 2002-04-16  Jim Meyering  <meyering@lucent.com>
33963
33964         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
33965         ut_pid, ut_id, ut_exit.
33966
33967 2002-04-16  Jim Meyering  <meyering@lucent.com>
33968
33969         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
33970         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
33971         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
33972
33973 2002-04-12  Jim Meyering  <meyering@lucent.com>
33974
33975         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
33976         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
33977         existence of the getmntinfo function.  Needed for Darwin 5.3.
33978
33979         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
33980         This is necessary at least on Darwin 5.3.
33981
33982         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
33983         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
33984         strnlen.o in the library, and that makes some versions of ranlib
33985         object.
33986
33987 2002-04-12  Jim Meyering  <meyering@lucent.com>
33988
33989         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
33990
33991 2002-04-09  Jim Meyering  <meyering@lucent.com>
33992
33993         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
33994         to be more precise.  Rather than saying we're checking whether the
33995         function `works', say what we're testing.
33996         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
33997         Reported by Bruno Haible.
33998
33999 2002-03-10  Jim Meyering  <meyering@lucent.com>
34000
34001         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
34002         Suggestion from Santiago Vila.
34003
34004 2002-03-08  Jim Meyering  <meyering@lucent.com>
34005
34006         * lib/rename.c: Mention that this wrapper is needed also on
34007         mips-dec-ultrix4.4 systems.
34008
34009 2002-03-02  Jim Meyering  <meyering@lucent.com>
34010
34011         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
34012         not HAVE_CLOCK_SETTIME.
34013
34014 2002-02-27  Paul Eggert  <eggert@twinsun.com>
34015
34016         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
34017         Check for clock_settime.
34018
34019 2002-02-27  Paul Eggert  <eggert@twinsun.com>
34020
34021         * lib/nanosleep.h: Rename to....
34022         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
34023
34024         * lib/gettime.c: New file.
34025         * lib/settime.c: New file.
34026         * lib/stime.c: Remove.
34027
34028         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
34029         timespec.h.  Remove nanosleep.h.
34030
34031 2002-02-25  Paul Eggert  <eggert@twinsun.com>
34032
34033         * m4/acl.m4: New file.
34034         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
34035         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
34036
34037 2002-02-25  Paul Eggert  <eggert@twinsun.com>
34038
34039         * lib/acl.c, lib/acl.h: New files.
34040         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
34041
34042 2002-02-24  Jim Meyering  <meyering@lucent.com>
34043
34044         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
34045         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
34046         cause trouble.  Reported by Nelson Beebe.
34047
34048 2002-02-23  Paul Eggert  <eggert@twinsun.com>
34049
34050         * lib/path-concat.c (xpath_concat): Reorder code to pacify
34051         compilers that don't know that xalloc_die never returns.
34052
34053 2002-02-20  Jim Meyering  <meyering@lucent.com>
34054
34055         * lib/getdate.c: Regenerate using bison-1.33.
34056
34057 2002-02-17  Jim Meyering  <meyering@lucent.com>
34058
34059         * config/config.guess (main): Don't use `head -1'; it's no longer
34060         portable. Use `sed 1q' instead.
34061
34062 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
34063
34064         * m4/codeset.m4: Upgrade to gettext-0.11.
34065         * m4/gettext.m4: Upgrade to gettext-0.11.
34066         * m4/glibc21.m4: Upgrade to gettext-0.11.
34067         * m4/iconv.m4: Upgrade to gettext-0.11.
34068         * m4/isc-posix.m4: Upgrade to gettext-0.11.
34069         * m4/lcmessage.m4: Upgrade to gettext-0.11.
34070         * m4/lib-ld.m4: New file, from gettext-0.11.
34071         * m4/lib-link.m4: New file, from gettext-0.11.
34072         * m4/lib-prefix.m4: New file, from gettext-0.11.
34073         * m4/progtest.m4: Upgrade to gettext-0.11.
34074
34075 2002-02-15  Paul Eggert  <eggert@twinsun.com>
34076
34077         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
34078         (jm_PREREQ): Use it.
34079
34080 2002-02-15  Paul Eggert  <eggert@twinsun.com>
34081
34082         * lib/posixver.c, lib/posixver.h: New files.
34083         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
34084
34085 2002-02-02  Paul Eggert  <eggert@twinsun.com>
34086             Bruno Haible  <bruno@clisp.org>
34087
34088         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
34089         (fwrite_success_callback): New declaration.
34090         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
34091         print_unicode_char. Call failure callback instead of error.
34092         (fwrite_success_callback): New function.
34093         (exit_failure_callback): New function.
34094         (fallback_failure_callback): New function.
34095         (print_unicode_char): Call unicode_to_mb.
34096
34097 2002-01-26  Jim Meyering  <meyering@lucent.com>
34098
34099         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
34100         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
34101
34102 2002-01-26  Jim Meyering  <meyering@lucent.com>
34103
34104         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
34105
34106 2002-01-22  Paul Eggert  <eggert@twinsun.com>
34107
34108         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
34109
34110 2002-01-22  Jim Meyering  <meyering@lucent.com>
34111
34112         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
34113         Otherwise, some versions of automake would omit the rule that makes
34114         Makefile from Makefile.in.
34115
34116 2002-01-21  Paul Eggert  <eggert@twinsun.com>
34117
34118         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
34119         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
34120         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
34121         (memcoll): Set errno to zero if there is no error.
34122
34123         * lib/quotearg.c (quotearg_buffer_restyled):
34124         Fix bug with quoting buffers containing NUL when backslashing escapes.
34125         This bug was exposed by the other changes in this patch.
34126         (quotearg_n_options): New arg ARGSIZE.
34127         All callers changed.
34128         (quoting_options_from_style): New function.
34129         (quotearg_n_style): Use it.
34130         (quotearg_n_style_mem): New function.
34131
34132         * lib/quotearg.h (quotearg_n_style_mem): New function.
34133
34134 2002-01-19  Jim Meyering  <meyering@lucent.com>
34135
34136         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
34137         Remove useless quotes: DF_PROG="df".
34138         * m4/strnlen.m4: New file.
34139
34140 2002-01-16  Paul Eggert  <eggert@twinsun.com>
34141
34142         * lib/backupfile.c (ISDIGIT): Comment fix.
34143         * lib/getdate.y (ISDIGIT): Likewise.
34144         * lib/posixtm.c (ISDIGIT, year): Likewise.
34145         * lib/strverscmp.c (ISDIGIT): Likewise.
34146         * lib/userspec.c (ISDIGIT): Likewise.
34147
34148 2002-01-16  Jim Meyering  <meyering@lucent.com>
34149
34150         * lib/getdate.y: Add three semicolons, each just before a closing
34151         brace. Bison (as of version 1.31) no longer papers over that mistake.
34152
34153 2002-01-05  Jim Meyering  <meyering@lucent.com>
34154
34155         * lib/version-etc.c (version_etc_copyright): Update copyright year.
34156
34157 2001-12-19  Paul Eggert  <eggert@twinsun.com>
34158
34159         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
34160         not silently exit merely because the output buffer happens to
34161         have nothing pending.
34162
34163 2001-12-18  Paul Eggert  <eggert@twinsun.com>
34164
34165         See the big note in ../ChangeLog.
34166         * lib/human.c (suffixes): Prefer K to k for 1024.
34167         (generate_suffix_backwards): New function.
34168         (human_readable_inexact): Use it.
34169         * lib/xstrtol.c (__xstrtol): If there is no number but there
34170         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
34171         Accept 'K' as well as 'k'.
34172
34173 2001-12-15  Jim Meyering  <meyering@lucent.com>
34174
34175         * lib/regex.h (__restrict_arr): Update from libc.
34176
34177         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
34178         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
34179         (STREQ): Define.
34180
34181 2001-12-14  Jim Meyering  <meyering@lucent.com>
34182
34183         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
34184         Suggestion from Bruno Haible.
34185
34186 2001-12-10  Jim Meyering  <meyering@lucent.com>
34187
34188         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
34189         xrealloc, Instead, include "xalloc.h".
34190         (initbuffer): Don't cast xmalloc return value to char*.
34191         (readline): Reword comment.
34192         Don't cast xrealloc return value to char*
34193         Return NULL, not 0.
34194
34195 2001-12-09  Jim Meyering  <meyering@lucent.com>
34196
34197         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
34198         about `signed and unsigned type in conditional expression'.
34199         * lib/posixtm.c (posix_time_parse): Likewise.
34200
34201         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
34202
34203         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
34204         to avoid a pedantic warning.
34205
34206         * lib/getstr.c: Don't include assert.h.
34207         (getstr): Remove warning-evoking assertions.
34208         Return -1 if offset parameter is out of bounds.
34209         Change the type of a local from int to size_t.
34210
34211         * lib/strftime.c (my_strftime_localtime_r): Include this function
34212         definition in the `#if ! HAVE_TM_GMTOFF' block.
34213
34214         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
34215         Include xalloc.h instead.
34216
34217 2001-12-02  Jim Meyering  <meyering@lucent.com>
34218
34219         * lib/tempname.c: Don't declare getenv, thus reverting the change of
34220         2001-11-18.  It's no longer necessary, now that stdlib.h is always
34221         included.
34222
34223         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
34224         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
34225
34226 2001-11-30  Akim Demaille  <akim@epita.fr>
34227
34228         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
34229         before being defined.
34230
34231 2001-11-27  Paul Eggert  <eggert@twinsun.com>
34232
34233         * lib/quotearg.h (quotearg_n, quotearg_n_style):
34234         First arg is int, not unsigned.
34235         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
34236         (SIZE_MAX, UINT_MAX): New macros.
34237         (quotearg_n_options): Abort if N is negative.
34238         Avoid overflow check on hosts where size_t is 64 bits and int
34239         is 32 bits, as overflow is impossible there.
34240         Fix off-by-one typo that caused unnecessary reallocation.
34241
34242 2001-11-27  Jim Meyering  <meyering@lucent.com>
34243
34244         * lib/tempname.c: Merge with version from libc.
34245         * lib/regex.c: Likewise.
34246
34247         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
34248         systems for which STDC_HEADERS is 0, it was not included, resulting in
34249         a warning about an integer-to-pointer conversion problem with getenv.
34250         Reported by Volker Borchert.
34251
34252 2001-11-26  Jim Meyering  <meyering@lucent.com>
34253
34254         * lib/gtod.h: Remove file.
34255         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
34256         * lib/gettimeofday.c: Don't include gtod.h.
34257         (GTOD_init): Remove function.
34258         (rpl_gettimeofday): Do its job here instead, rather than aborting.
34259         Suggestion from Volker Borchert.
34260
34261 2001-11-23  Jim Meyering  <meyering@lucent.com>
34262
34263         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
34264         it.
34265         * lib/hash.c (struct hash_table): Define it here instead.
34266
34267 2001-11-22  Jim Meyering  <meyering@lucent.com>
34268
34269         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
34270
34271 2001-11-20  Jim Meyering  <meyering@lucent.com>
34272
34273         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
34274         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
34275
34276 2001-11-19  Jim Meyering  <meyering@lucent.com>
34277
34278         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
34279         directory.  Use "conftestXXXXXX" as the template.
34280         Suggestion from Paul Eggert.
34281
34282         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
34283         immediately, so the test doesn't mistakenly hit the max-open-files
34284         limit.
34285
34286 2001-11-18  Paul Eggert  <eggert@twinsun.com>
34287
34288         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
34289         (TEMPORARIES): New macro.
34290         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
34291         removes an artificial limitation (e.g. HP-UX 10.20, where
34292         TMP_MAX is 17576).
34293
34294 2001-11-18  Jim Meyering  <meyering@lucent.com>
34295
34296         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
34297
34298 2001-11-18  Jim Meyering  <meyering@lucent.com>
34299
34300         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
34301         on SunOS 4.
34302
34303         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
34304         files will be created before anything else.
34305
34306 2001-11-17  Paul Eggert  <eggert@twinsun.com>
34307
34308         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
34309         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
34310
34311 2001-11-17  Jim Meyering  <meyering@lucent.com>
34312
34313         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
34314         Prompted by a report from Bob Proulx.
34315
34316         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
34317         Instead, require UTILS_FUNC_MKSTEMP.
34318
34319 2001-11-17  Jim Meyering  <meyering@lucent.com>
34320
34321         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
34322         Now, that's done as part of AC_FUNC_STRTOD.
34323
34324 2001-11-17  Jim Meyering  <meyering@lucent.com>
34325
34326         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
34327         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
34328         rather than group writable.  Patch by Juan F. Codagnone.
34329
34330         * lib/readtokens.c: Remove explicit declarations of xmalloc and
34331         xrealloc, Instead, include "xalloc.h".
34332
34333         * lib/mountlist.c: Include unlocked-io.h after all system headers.
34334         Remove explicit declarations of xmalloc, xrealloc,
34335         and xstrdup.  Instead, include "xalloc.h".
34336
34337         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
34338         unlocked-io.h.
34339         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
34340         Likewise.
34341         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
34342
34343         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
34344         Reported by Padraig Brady.
34345
34346         * lib/mkstemp.c: #undef mkstemp.
34347         Include config.h.
34348         (rpl_mkstemp): Rename from mkstemp.
34349         Protoize.
34350
34351 2001-11-16  Jim Meyering  <meyering@lucent.com>
34352
34353         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
34354         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
34355         determine the amount of total physical memory, use pstat_getstatic.
34356         HPUX-11 doesn't define _SC_PHYS_PAGES.
34357         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
34358         If sysconf couldn't be used to determine the amount of available
34359         physical memory, use both pstat_getstatic and pstat_getdynamic.
34360         Based on a patch from Bob Proulx.
34361
34362 2001-11-10  Jim Meyering  <meyering@lucent.com>
34363
34364         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
34365         (jm_PREREQ): Use it.
34366
34367 2001-11-09  Jim Meyering  <meyering@lucent.com>
34368
34369         * m4/jm-macros.m4: Require autoconf-2.52f.
34370         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
34371         Use these AC_-prefixed names, not the AM_-prefixed ones.
34372
34373         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
34374
34375 2001-11-05  Jim Meyering  <meyering@lucent.com>
34376
34377         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
34378
34379 2001-11-04  Jim Meyering  <meyering@lucent.com>
34380
34381         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
34382         $DEFS.
34383
34384 2001-11-03  Jim Meyering  <meyering@lucent.com>
34385
34386         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
34387         of AC_DEFUN.
34388
34389         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
34390         know the name of the variable in the macro definition.
34391
34392 2001-11-03  Jim Meyering  <meyering@lucent.com>
34393
34394         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
34395         in argmatch_to_argument call.
34396
34397         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
34398         argument.
34399
34400         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
34401         e.g., a fault due to an attempt to free a NULL pointer.
34402
34403 2001-11-01  Jim Meyering  <meyering@lucent.com>
34404
34405         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
34406         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
34407
34408 2001-11-01  Jim Meyering  <meyering@lucent.com>
34409
34410         * lib/dirfd.c, lib/dirfd.h: New files.
34411         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
34412
34413         * lib/hash.c (hash_print) [TESTING]: Clean up.
34414
34415 2001-10-22  Paul Eggert  <eggert@twinsun.com>
34416
34417         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
34418         to avoid a warning if -Wall.
34419
34420 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
34421
34422         * README: New file
34423         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
34424         (per RMS's instructions, this is now the canonical source)
34425         * lgpl/, gpl/: New directories.
34426
34427 2001-10-21  Paul Eggert  <eggert@twinsun.com>
34428
34429         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
34430
34431 2001-10-21  Jim Meyering  <meyering@lucent.com>
34432
34433         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
34434         this code would end up calling gettext even in packages built
34435         with --disable-nls.
34436         * lib/getopt.c (_): Likewise.
34437         * lib/regex.c (_): Likewise.
34438
34439 2001-10-20  Paul Eggert  <eggert@twinsun.com>
34440
34441         * m4/error.m4 (jm_PREREQ_ERROR):
34442         Do not invoke AC_CHECK_FUNCS with strerror_r, as
34443         AC_FUNC_STRERROR_R does that.
34444         Check for strerror declaration.
34445
34446         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
34447         are supposed to have them these days.
34448         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
34449         Merge changes from latest Autoconf CVS.
34450         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
34451         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
34452         POSIX decided to standardize on the int flavor of strerror_r.
34453
34454 2001-10-20  Paul Eggert  <eggert@twinsun.com>
34455
34456         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
34457         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
34458         Use strerror_r that is only a macro, even if it is not a function.
34459         (strerror): Check for HAVE_DECL_STRERROR before declaring.
34460         (private_strerror): Use prototypes, not old-style function definition.
34461         (print_errno_message): New function.
34462         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
34463         char*-flavored one.
34464         (error_tail, error, error_at_line): Use it.
34465
34466 2001-10-11  Jim Meyering  <meyering@lucent.com>
34467
34468         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
34469         and quote_n (1, ... to avoid clobbering a buffer.
34470
34471 2001-10-05  Jim Meyering  <meyering@lucent.com>
34472
34473         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
34474         hash-pjw.h.
34475         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
34476         * lib/hash-pjw.h: New file.
34477
34478 2001-09-30  Jim Meyering  <meyering@lucent.com>
34479
34480         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
34481         `struct fsstat' has the `f_fstypename' member.
34482         Use that to define FS_TYPE, which is now used to make
34483         the getfsstat link test tighter.
34484
34485 2001-09-30  Jim Meyering  <meyering@lucent.com>
34486
34487         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
34488         Include <sys/ucred.h>, for Apple Darwin.
34489         Include sys/mount.h and sys/fs_types.h only if available.
34490         (FS_TYPE): Define.
34491         (read_filesystem_list): Use FS_TYPE.
34492
34493 2001-09-29  Paul Eggert  <eggert@twinsun.com>
34494
34495         * lib/exclude.c (excluded_filename): 0 -> false, since it's
34496         a boolean context.
34497
34498 2001-09-29  Jim Meyering  <meyering@lucent.com>
34499
34500         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
34501         [one-argument getmntent function]): Include stdio.h before mntent.h.
34502         SunOS 4.1.x needs it for the declaration of `FILE'.
34503         Patch by Volker Borchert.
34504
34505         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
34506         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
34507         sys/fs_types.h, and make the link-test for getfsstat guard #include
34508         directives with appropriate #if HAVE_*_H tests so that we can
34509         detect getfsstat on Apple Darwin1.3.7 systems.
34510         Reported by Nelson Beebe.
34511         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
34512
34513 2001-09-28  Paul Eggert  <eggert@twinsun.com>
34514
34515         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
34516         #defines strtoimax.  Also treat the other strto* functions
34517         like strtoimax.
34518
34519         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
34520         Check for strtoul and strtoumax,
34521         as those declarations are made even in the signed case.
34522         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
34523         Likewise, for strtol and strtoimax.
34524
34525 2001-09-28  Paul Eggert  <eggert@twinsun.com>
34526
34527         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
34528         #defines strtoimax.  Also treat the other strto* functions
34529         like strtoimax.
34530
34531         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
34532         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
34533         (strtoimax, strtoumax): Do not declare if already defined as a macro.
34534
34535 2001-09-26  Jim Meyering  <meyering@lucent.com>
34536
34537         Most macros in unlocked-io.h had the wrong number of arguments.
34538         * lib/gen-uio: New script.
34539         (USE_UNLOCKED_IO): Define to 1 if not already defined.
34540         * lib/unlocked-io.hin: Remove file.
34541         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
34542         rather than trying to embed it here.
34543         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
34544         Reported by Padraig Brady.
34545
34546 2001-09-25  Volker Borchert  <bt@teknon.de>
34547
34548         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
34549         `result'.
34550
34551 2001-09-24  Jim Meyering  <meyering@lucent.com>
34552
34553         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
34554
34555 2001-09-23  Jim Meyering  <meyering@lucent.com>
34556
34557         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
34558         instead of the mere test for existence of mntent.h.  The latter
34559         would get a false-positive on AIX 3.4 systems.
34560         In the outer getmntent if-block, don't die if neither of the getmntent
34561         tests succeeds.  Instead, just fall through and continue with the
34562         remaining tests.
34563
34564 2001-09-23  Jim Meyering  <meyering@lucent.com>
34565
34566         * lib/mountlist.c: Remove useless parentheses in #if directives.
34567         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
34568         the deprecated MOUNTED symbol is no longer defined in mntent.h.
34569
34570 2001-09-22  Jim Meyering  <meyering@lucent.com>
34571
34572         * m4/gettext.m4: New file.  From gettext.
34573         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
34574         * m4/progtest.m4: Likewise
34575         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
34576         * m4/glibc21.m4: Likewise.
34577
34578         * m4/libintl.m4: Remove.  No longer used.
34579
34580 2001-09-22  Jim Meyering  <meyering@lucent.com>
34581
34582         * lib/localcharset.c: Update from latest gettext.
34583         * lib/config.charset: Likewise.
34584
34585 2001-09-20  Jim Meyering  <meyering@lucent.com>
34586
34587         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
34588         strtoimax.
34589         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
34590         strtoumax.
34591
34592 2001-09-20  Jim Meyering  <meyering@lucent.com>
34593
34594         * lib/xstrtol.c (strtoimax): Guard declaration with
34595         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
34596         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
34597         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
34598         (strtoumax): Likewise, for completeness (it wasn't necessary).
34599
34600 2001-09-17  Paul Eggert  <eggert@twinsun.com>
34601
34602         * lib/strtoimax.c (HAVE_LONG_LONG):
34603         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
34604         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
34605         to work around bug in IBM C compiler.
34606
34607 2001-09-17  Jim Meyering  <meyering@lucent.com>
34608
34609         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
34610         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
34611         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
34612         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
34613         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
34614         whenever the right hand side need not be expanded by the shell.
34615
34616 2001-09-16  Paul Eggert  <eggert@twinsun.com>
34617
34618         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
34619         library.  It's not correct, as some older glibcs are buggy.
34620         fnmatch wasn't fixed until glibc 2.2.
34621
34622         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
34623         special shell magic here.
34624
34625 2001-09-16  Jim Meyering  <meyering@lucent.com>
34626
34627         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
34628         * m4/jm-macros.m4: Require it.
34629
34630 2001-09-16  Jim Meyering  <meyering@lucent.com>
34631
34632         * lib/mkdir.c: New file.
34633
34634 2001-09-15  Jim Meyering  <meyering@lucent.com>
34635
34636         * m4/jm-macros.m4: Check for help2man.
34637
34638 2001-09-11  Jim Meyering  <meyering@lucent.com>
34639
34640         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
34641         The body, by Paul Eggert, was moved here from configure.in.
34642         * m4/jm-macros.m4: Require UTILS_HOST_OS.
34643
34644 2001-09-04  Paul Eggert  <eggert@twinsun.com>
34645
34646         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
34647         (jm_PREREQ): Use it.
34648
34649 2001-09-04  Paul Eggert  <eggert@twinsun.com>
34650
34651         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
34652         Use ssize_t, not int, to store result of readlink.
34653         Check for ssize_t overflow as well as size_t overflow,
34654         as POSIX says the result of readlink is implementation-defined
34655         when ssize_t overflows.
34656         Remove unnecessary cast to char*.
34657         Use free+malloc instead of realloc, as the storage doesn't need
34658         to be preserved and it's clearer and can be more efficient that way.
34659         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
34660         * lib/xreadlink.h (xreadlink): Update prototype.
34661
34662 2001-09-04  Paul Eggert  <eggert@twinsun.com>
34663
34664         * lib/xgetcwd.c: Revert some of the previous change; intead,
34665         fix the HAVE_GETCWD_NULL code to behave more like the
34666         !HAVE_GETCWD_NULL code used to.
34667
34668         Include "xalloc.h".
34669         (xgetcwd): Do not return NULL when memory is exhausted; instead,
34670         invoke xalloc_die.
34671
34672 2001-09-03  Paul Eggert  <eggert@twinsun.com>
34673
34674         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
34675         sys/param.h, as pathmax.h includes them.
34676
34677 2001-09-03  Paul Eggert  <eggert@twinsun.com>
34678
34679         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
34680         (jm_PREREQ_XGETCWD): New macro.
34681
34682         * m4/getcwd.m4: New file.
34683
34684 2001-09-03  Paul Eggert  <eggert@twinsun.com>
34685
34686         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
34687         like the HAVE_GETCWD_NULL code.
34688         Include pathmax.h if not HAVE_GETCWD.
34689         Do not include xalloc.h.
34690         (INITIAL_BUFFER_SIZE): New symbol.
34691         Do not use xmalloc / xrealloc, since the caller is responsible for
34692         handling errors.  Preserve errno around `free' during failure.
34693         Do not overrun buffer when using getwd.
34694
34695 2001-09-03  Paul Eggert  <eggert@twinsun.com>
34696
34697         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
34698         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
34699         getcwd (NULL, 0).
34700
34701 2001-09-03  Paul Eggert  <eggert@twinsun.com>
34702
34703         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
34704         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
34705         spotted by Jim Meyering.
34706
34707 2001-09-03  Jim Meyering  <meyering@lucent.com>
34708
34709         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
34710         failure.
34711
34712 2001-09-02  Jim Meyering  <meyering@lucent.com>
34713
34714         * lib/error.c: Update from GNU libc.
34715
34716 2001-09-01  Jim Meyering  <meyering@lucent.com>
34717
34718         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
34719         Used by df.
34720
34721 2001-09-01  Jim Meyering  <meyering@lucent.com>
34722
34723         * lib/xreadlink.c: New file.
34724         * lib/xreadlink.h: New file.
34725         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
34726         xreadlink.h.
34727
34728         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
34729         doesn't conflict with sparc Solaris 7's definition in
34730         /usr/include/sys/int_types.h.
34731
34732         * lib/exclude.c: Use `""', not `<>' to #include non-system header
34733         files.
34734         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
34735         and strncasecmp as r-values.  Unixware didn't have declarations.
34736
34737 2001-08-31  Paul Eggert  <eggert@twinsun.com>
34738
34739         * lib/xstrtol.h: Add copyright notice.
34740         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
34741         LONGINT_INVALID_SUFFIX_CHAR.
34742
34743 2001-08-31  Paul Eggert  <eggert@twinsun.com>
34744
34745         * lib/xstrtol.c (strtoimax): New decl.
34746
34747 2001-08-31  Paul Eggert  <eggert@twinsun.com>
34748
34749         * lib/xgetcwd.c: Don't include pathmax.h.
34750         Include stdlib.h and unistd.h if available.
34751         Include xalloc.h.
34752         (xmalloc, xstrdup, free): Remove decls.
34753         (xgetcwd): Don't assume sizes fit in unsigned.
34754         Check for overflow when computing sizes.
34755         Simplify reallocation code.
34756
34757 2001-08-31  Paul Eggert  <eggert@twinsun.com>
34758
34759         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
34760         a directory's st_size can have an arbitrary value, so the old
34761         usage could waste an arbitrary amount of memory.  All uses
34762         changed.
34763         * lib/savedir.h: Update prototype.
34764
34765 2001-08-31  Paul Eggert  <eggert@twinsun.com>
34766
34767         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
34768
34769         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
34770         old strtoimax.c.
34771
34772         Also, make the following further changes to make this file's
34773         configuration more similar to that of strtol.c:
34774         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
34775         (strtoumax, uintmax_t, strtoull, strtol): Remove.
34776         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
34777         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
34778         changed to signed values.
34779
34780         And make the following changes as well:
34781         Fix copyright notice, as 1999 was missing.
34782         (verify): New macro.
34783         (strtoimax): Check sizes at compile-time, not run-time.
34784         Prefer strtol to strtoll if both work.
34785         (main): Remove; it was not that useful and was a pain to maintain.
34786
34787         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
34788
34789 2001-08-31  Jim Meyering  <meyering@lucent.com>
34790
34791         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
34792         Use an initial, malloc'd, buffer of length 128 rather than
34793         a statically allocated one of length 1024.
34794
34795 2001-08-30  Paul Eggert  <eggert@twinsun.com>
34796
34797         Simplify code, partly by assuming autoconf 2.52 semantics.
34798
34799         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
34800
34801         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
34802         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
34803         All uses removed.
34804         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
34805         Move AC_REQUIRE to next-to-top level, to avoid confusion.
34806         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
34807         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
34808         jm_AC_HEADER_INTTYPES_H.
34809         * m4/jm-macros.m4 (jm_MACROS): Likewise.
34810
34811         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
34812
34813         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
34814         Quote first arg of AC_DEFUN.
34815         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
34816         since they are needed to parse the include file even if we need
34817         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
34818         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
34819         but with opposite signedness.
34820
34821 2001-08-30  Paul Eggert  <eggert@twinsun.com>
34822
34823         Merge 'exclude' changes from tar 1.13.22.
34824         This fixes one or two unlikely storage allocation overflow bugs,
34825         but doesn't change user-visible behavior otherwise.
34826
34827 2001-08-30  Paul Eggert  <eggert@twinsun.com>
34828
34829         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
34830         (jm_PREREQ_EXCLUDE): New macro.
34831
34832 2001-08-30  Paul Eggert  <eggert@twinsun.com>
34833
34834         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
34835         tm to be declared.
34836
34837 2001-08-30  Paul Eggert  <eggert@twinsun.com>
34838
34839         * lib/hash.c: Remove '2001' from copyright notice.
34840
34841 2001-08-30  Paul Eggert  <eggert@twinsun.com>
34842
34843         * lib/full-write.h: New file.
34844         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
34845         * lib/full-write.c: Correct credits, as cccp.c no longer
34846         exists and anyway it was so heavily changed from the old cccp
34847         code as to be unrecognizable.  Include full-write.h.
34848         (full_write) Return size_t, with short writes meaning failure.
34849         All callers changed.  This fixes a bug with large buffers
34850         on 64-bit hosts.
34851         * lib/utime.c: Include full-write.h.
34852
34853 2001-08-30  Paul Eggert  <eggert@twinsun.com>
34854
34855         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
34856         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
34857         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
34858         Include if available.
34859         (<xalloc.h>): Include
34860         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
34861         (verify): New macro.  Use it to verify that EXCLUDE macros do not
34862         collide with FNM macros.
34863         (struct patopts): New struct.
34864         (struct exclude): Use it, as exclude patterns now come with options.
34865         (new_exclude): Support above changes.
34866         (new_exclude, add_exclude_file):
34867         Initial size must now be a power of two to simplify overflow checking.
34868         (free_exclude, fnmatch_no_wildcards): New function.
34869         (excluded_filename): No longer requires options arg, as the options
34870         are determined by add_exclude.  Now returns bool, not int.
34871         (excluded_filename, add_exclude):
34872         Add support for the fancy new exclusion options.
34873         (add_exclude, add_exclude_file): Now takes int options arg.
34874         Check for arithmetic overflow when computing sizes.
34875         (add_exclude_file): xrealloc might modify errno, so don't
34876         realloc until after errno might be used.
34877
34878         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
34879         New macros.
34880         (free_exclude): New decl.
34881         (add_exclude, add_exclude_file): Now takes int options arg.
34882         (excluded_filename): No longer requires options arg, as the options
34883         are determined by add_exclude.  Now returns bool, not int.
34884
34885 2001-08-30  Paul Eggert  <eggert@twinsun.com>
34886
34887         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
34888
34889 2001-08-27  Jim Meyering  <meyering@lucent.com>
34890
34891         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
34892
34893         * lib/version-etc.c (N_): Remove definition.
34894         Revert most of last change.
34895         Instead, simply don't mark the `Copyright...' string for translation.
34896         Based on advice from Paul Eggert.
34897
34898         * lib/strtoxmax.c: Tweak comment.
34899
34900 2001-08-26  Jim Meyering  <meyering@lucent.com>
34901
34902         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
34903
34904         * m4/xstrtoimax.m4: New file.
34905         * m4/xstrtoumax.m4: Add comments explaining why we
34906         AC_REPLACE_FUNCS(strtol).
34907
34908 2001-08-26  Jim Meyering  <meyering@lucent.com>
34909
34910         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
34911         of copyright with `%s' so translators don't get an untranslated
34912         message in 2002.
34913         (COPYRIGHT_YEAR): Define.
34914         (version_etc): Use fprintf rather than fputs.
34915         Suggestion from Ulrich Drepper.
34916
34917         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
34918
34919         * lib/strtoll.c: New file, from GNU libc.
34920         * lib/xstrtoimax.c: New file.
34921
34922         * lib/xstrtol.h: Add xstrtoimax.
34923         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
34924         * lib/strtoimax.c: New file.  Likewise, but first define
34925         STRTOUXMAX_SIGNED.
34926
34927         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
34928         ...
34929         * lib/strtoxmax.c: ... then renamed to this.
34930
34931 2001-08-18  Paul Eggert  <eggert@twinsun.com>
34932
34933         * m4/inttypes.m4: Add AC_PREREQ(2.13).
34934         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
34935         (jm_AC_TYPE_INTMAX_T): New macro.
34936         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
34937
34938         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
34939
34940         * m4/longlong.m4: Renamed from ulonglong.m4.
34941         * m4/inttypes.m4: Renamed from inttypes_h.m4.
34942         * m4/uintmax_t.m4: Removed.
34943
34944 2001-08-13  Paul Eggert  <eggert@twinsun.com>
34945
34946         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
34947         Port to Solaris 8, where 'sed' requires a space after the 'r'
34948         command, and where sh dislikes "$/".  Clean up the spacing a bit.
34949         Redirect output to $tmp just once.
34950
34951 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
34952
34953         * lib/addext.c (<errno.h>): Include.
34954         (errno): Declare if not defined.
34955         (addext): Work correctly when pathconf returns -1 and leaves
34956         errno alone because there is no limit.  Also, work even if
34957         pathconf returns a value greater than SIZE_MAX.
34958
34959 2001-08-12  Jim Meyering  <meyering@lucent.com>
34960
34961         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
34962         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
34963         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
34964         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
34965         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
34966         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
34967         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
34968         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
34969         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
34970         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
34971         utime.m4, utimes.m4, xstrtoumax.m4:
34972         Quote the first argument in each use of AC_DEFUN.
34973
34974 2001-08-12  Jim Meyering  <meyering@lucent.com>
34975
34976         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
34977         Simply `return getcwd (NULL, 0);'.
34978         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
34979         Use 1300 as initial value for length, not PATH_MAX.
34980
34981         * lib/pathmax.h: Clean up cpp syntax.
34982
34983 2001-08-12  Jim Meyering  <meyering@lucent.com>
34984
34985         * lib/gettimeofday.c: New file.
34986         * lib/gtod.h: New file.
34987         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
34988
34989 2001-08-05  Jim Meyering  <meyering@lucent.com>
34990
34991         * m4/jm-macros.m4: Require autoconf-2.52.
34992
34993 2001-08-04  Jim Meyering  <meyering@lucent.com>
34994
34995         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
34996         stmt, to get in sync with glibc.
34997
34998 2001-08-03  Paul Eggert  <eggert@twinsun.com>
34999
35000         The following changes are from gettext 0.10.39 as maintained by
35001         Bruno Haible.
35002
35003         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
35004         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
35005         with inverted sense.  All uses changed.
35006
35007         * lib/mbswidth.c: Don't include <limits.h>.
35008         Include <stdlib.h> and <string.h> unconditionally.
35009         (iswcntrl, mbsinit, ISCNTRL): New macros.
35010         (mbsnwidth): Use K&R style function declarations.
35011         Don't bother checking for MB_LEN_MAX == 1, since the compiler
35012         can optimize it when MB_CUR_MAX == 1.
35013         The width of control characters is zero, not 1.
35014
35015 2001-08-03  Paul Eggert  <eggert@twinsun.com>
35016
35017         The following changes are from gettext 0.10.39 as maintained by
35018         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
35019
35020         * m4/codeset.m4: Upgrade to serial AM1.
35021         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
35022         all uses changed.  Quote first arg of AC_DEFUN.
35023         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
35024
35025         * m4/iconv.m4: Upgrade to serial AM2.
35026         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
35027         Add --with-libconv-prefix.
35028         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
35029         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
35030         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
35031         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
35032         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
35033
35034         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
35035         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
35036         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
35037         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
35038         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
35039         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
35040         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
35041         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
35042         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
35043
35044         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
35045         string.h any more.
35046
35047         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
35048         not the default value.
35049
35050         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
35051         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
35052         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
35053         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
35054         Also check for iswcntrl, used for wcwidth fallback.
35055         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
35056         to Autoconf 2.13.
35057
35058 2001-08-03  Jim Meyering  <meyering@lucent.com>
35059
35060         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
35061         as it was in the original.  Reported by Paul Eggert.
35062
35063 2001-07-16  Jim Meyering  <meyering@lucent.com>
35064
35065         * m4/gettimeofday.m4: New file.
35066         Prompted by a report from Bernhard Baehr.
35067
35068 2001-07-15  Jim Meyering  <meyering@lucent.com>
35069
35070         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
35071         stuff. Now it's in ../Makefile.cfg.
35072
35073 2001-07-15  Jim Meyering  <meyering@lucent.com>
35074
35075         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
35076         (BUILT_SOURCES): Add unlocked-io.h.
35077         (io_functions): Define.
35078         (unlocked-io.h): New rule.
35079         (DISTCLEANFILES): Add unlocked-io.h.
35080         (all-local): Depend on unlocked-io.h, to ensure it is created.
35081
35082         * lib/unlocked-io.hin: New file
35083
35084         * lib/regex.c: Update from glibc.
35085
35086 2001-07-05  Jim Meyering  <meyering@lucent.com>
35087
35088         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
35089         recommendation.
35090         (libfetish_a_SOURCES): Put all .h files here instead.
35091         Remove a thus-exposed (better checks in automake) duplicate and
35092         two unnecessary .h files.
35093
35094 2001-07-04  Jim Meyering  <meyering@lucent.com>
35095
35096         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
35097         that generates jm-glibc-io.m4 so that it doesn't trigger any make
35098         distcheck failure.
35099
35100 2001-07-02  Jim Meyering  <meyering@lucent.com>
35101
35102         The following changes were prompted by suggestions from Bruno Haible.
35103
35104         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
35105         is now generated.
35106         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
35107         definition of EXTRA_DIST.
35108         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
35109         ensure that the generated file is created/updated whenever the list
35110         of $(unlocked_functions) is changed.
35111         (jm-glibc-io.m4): New rule.
35112         (unlocked-io.h): New rule -- currently unused.
35113
35114 2001-06-24  Jim Meyering  <meyering@lucent.com>
35115
35116         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
35117         unmatched right bracket, rather than kludging it with an extra,
35118         falsely-matching quote in a comment.  Patch by Akim Demaille.
35119
35120 2001-06-11  Jim Meyering  <meyering@lucent.com>
35121
35122         * lib/regex.c: Update from GNU libc.
35123
35124 2001-05-27  Jim Meyering  <meyering@lucent.com>
35125
35126         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
35127         Check for ut_type in struct utmp.
35128
35129 2001-05-27  Jim Meyering  <meyering@lucent.com>
35130
35131         * lib/readutmp.h (UT_TYPE): Define.
35132
35133 2001-05-24  Jim Meyering  <meyering@lucent.com>
35134
35135         * lib/argmatch.c: Include "quote.h".
35136         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
35137         quote function.  Reported by Göran Uddeborg.
35138
35139 2001-05-22  Jim Meyering  <meyering@lucent.com>
35140
35141         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
35142         now that we use the package-supplied version unconditionally.
35143         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
35144
35145 2001-05-21  Jim Meyering  <meyering@lucent.com>
35146
35147         * m4/regex.m4: Change a couple backticks to single quotes to avoid
35148         shell syntax errors.
35149
35150 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
35151
35152         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
35153
35154 2001-05-20  Paul Eggert  <eggert@twinsun.com>
35155
35156         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
35157         Don't bother to check library strftime, since
35158         we'll be using our own my_strftime function anyway.
35159         Define my_strftime instead of strftime.
35160
35161 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
35162
35163         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
35164         which is not yet declared.
35165
35166 2001-05-15  Jim Meyering  <meyering@lucent.com>
35167
35168         * m4/regex.m4: Use proper quoting so brackets appear in the test
35169         program.
35170         Reported by, and with help from, Bruno Haible.
35171
35172 2001-05-13  Jim Meyering  <meyering@lucent.com>
35173
35174         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
35175         undefined.
35176
35177 2001-05-11  Paul Eggert  <eggert@twinsun.com>
35178
35179         dirname code cleanup.  base_name now behaves more compatibly
35180         with POSIX basename when given file names that have trailing
35181         slashes, and similarly for dir_name.  Add new primitives
35182         base_len and dir_len.  Put the directory-name-related decls
35183         into dirname.h.
35184
35185         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
35186         * lib/backupfile.c (base_name): Likewise.
35187         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
35188         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
35189         * lib/makepath.c (strip_trailing_slashes): Likewise.
35190         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
35191         ISSLASH): Likewise.
35192         * lib/rename.c (strip_trailing_slashes): Likewise.
35193         * lib/same.c (base_name): Likewise.
35194         * lib/stripslash.c (ISSLASH): Likewise.
35195
35196         * lib/addext.c: Include <dirname.h> after size_t is defined.
35197         * lib/backupfile.c: Likewise.
35198
35199         * lib/addext.c (addext): Use base_len to trim redundant
35200         trailing slashes instead of doing it ourselves.
35201         But do not trim the last slash if it is not redundant.
35202
35203         * lib/backupfile.c (find_backup_file_name,
35204         max_backup_version): Use base_len instead of rolling it ourselves.
35205         Handle the case of "" and (on DOS) "C:" correctly.
35206
35207         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
35208         needed. Include <string.h>, <dirname.h>.
35209         (base_name): Allow file names ending in slashes, other than names
35210         that are all slashes.  In this case, return the basename followed
35211         by the slashes.  This is more general, and can be used in places
35212         where the original base_name purposely had an assertion failure.
35213         (base_len): New function.
35214
35215         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
35216         Do not include <assert.h>; no longer needed.
35217         Include xalloc.h.
35218         (memrchr): Remove decl.
35219         (dir_name_r): Remove.
35220         (dir_len): Renamed from dirlen.  All callers changed.
35221         Rewrite in terms of base_name, for simplicity and consistency.
35222         (dir_name): Never return NULL.  All callers changed.
35223         Do not include <stdlib.h> in test program; no longer needed.
35224         return 0; is fine for test program.
35225
35226         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
35227         New macros.
35228         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
35229
35230         * lib/path-concat.c (path_concat): Use base_len to compute
35231         base length, not strlen; this means we cannot rely on memcpy
35232         to null-terminate.
35233
35234         * lib/same.c (STREQ): Remove.
35235         (same_name): Handle the case where the basename ends in trailing '/'.
35236
35237         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
35238         a slash was stripped.  Do not strip the last slash after a
35239         file system prefix.
35240
35241 2001-05-11  Paul Eggert  <eggert@twinsun.com>
35242
35243         * lib/Makefile.am (libfetish_a_SOURCES):
35244         Add strftime.c, since we now compile it on all hosts.
35245
35246         * lib/strftime.c (my_strftime):
35247         Define to nstrftime if emacs, but only if my_strftime is not defined.
35248         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
35249         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
35250         Add one more extra argument: a nanoseconds value.
35251         All uses changed.
35252         (ns): New macro.
35253         (my_strftime function): Add %N format.
35254         (emacs_strftimeu): Renamed from emacs_strftime,
35255         with extra ut argument.
35256
35257 2001-05-09  Paul Eggert  <eggert@twinsun.com>
35258
35259         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
35260
35261 2001-04-21  Jim Meyering  <meyering@lucent.com>
35262
35263         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
35264         doesn't interfere.
35265
35266 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
35267
35268         * m4/ftruncate.m4: Check for chsize.
35269         Link with ftruncate.o unconditionally if ftruncate is missing.
35270         This was required when cross-compiling to i586-mingw32msvc.
35271
35272 2001-04-08  Jim Meyering  <meyering@lucent.com>
35273
35274         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
35275         recomputed; that's necessary when the offset spans a DST transition.
35276         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
35277
35278 2001-04-02  Jim Meyering  <meyering@lucent.com>
35279
35280         * lib/regex.h, regex.c: Update from GNU libc.
35281
35282 2001-03-24  Jim Meyering  <meyering@lucent.com>
35283
35284         * m4/jm-macros.m4: Require autoconf-2.49d.
35285
35286 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
35287
35288         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
35289
35290 2001-03-19  Paul Eggert  <eggert@twinsun.com>
35291
35292         * lib/version-etc.c (version_etc_copyright): Update to 2001.
35293
35294 2001-03-17  Jim Meyering  <meyering@lucent.com>
35295
35296         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
35297         now that the version in autoconf is equivalent.
35298         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
35299
35300         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
35301         Suggestion from Akim Demaille.
35302
35303         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
35304         (jm_PREREQ_TEMPNAME): New function.
35305
35306 2001-03-16  Paul Eggert  <eggert@twinsun.com>
35307
35308         * lib/tempname.c (uint64_t): Define to uintmax_t if
35309         not defined, and if UINT64_MAX is not defined.
35310         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
35311         Reported by John David Anglin.
35312
35313 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
35314
35315         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
35316         resolve alias if codeset is empty.
35317         * lib/config.charset (BeOS): Use wildcard syntax.
35318
35319 2001-03-13  Jim Meyering  <meyering@lucent.com>
35320
35321         * lib/path-concat.c (path_concat)
35322         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
35323         concatenating e.g., `C:' and `foo'.
35324         From Bruno Haible.
35325
35326 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
35327
35328         * lib/localcharset.c (locale_charset): Don't use
35329         setlocale(LC_CTYPE,NULL). Don't return NULL.
35330         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
35331
35332 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
35333
35334         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
35335         support for DOS/DJGPP.
35336
35337 2001-03-01  Paul Eggert  <eggert@twinsun.com>
35338
35339         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
35340         lacks mkstemp.  Compile our own tempname.c if we compile our own
35341         mkstemp.c, as mkstemp relies on tempname.
35342
35343 2001-03-01  Jim Meyering  <meyering@lucent.com>
35344
35345         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
35346         AH_VERBATIM really does output its argument verbatim.
35347
35348 2001-02-28  Paul Eggert  <eggert@twinsun.com>
35349
35350         * lib/Makefile.am (libfetish_a_SOURCES):
35351         Add dup-safer.c, fopen-safer.c.
35352         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
35353
35354         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
35355         * lib/unistd-safer.h: New files.
35356
35357 2001-02-25  Paul Eggert  <eggert@twinsun.com>
35358
35359         The mkstemp replacement is taken from glibc 2.2.2, with some
35360         portability fixes for use outside glibc, as follows:
35361
35362         * lib/tempname.c (struct_stat64): New macro.
35363         (direxists, __gen_tempname): Use it.
35364         This avoids a portability problem with Solaris 8.
35365
35366         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
35367         (<stddef.h>, <stdint.h>, <string.h>):
35368         Include only if STDC_HEADERS || _LIBC.
35369         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
35370         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
35371         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
35372         (__set_errno): Define this macro if <errno.h> doesn't.
35373         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
35374         Define these macros if <stdio.h> doesn't.
35375         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
35376         Define these macros if <sys/stat.h>
35377         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
35378         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
35379         __xstat64): Define if not _LIBC.
35380         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
35381         (__gen_tempname): Invoke gettimeofday only if
35382         HAVE_GETTIMEOFDAY || _LIBC;
35383         otherwise, fall back on plain "time".
35384         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
35385
35386         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
35387
35388         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
35389
35390 2001-02-18  Paul Eggert  <eggert@twinsun.com>
35391
35392         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
35393
35394 2001-02-17  Paul Eggert  <eggert@twinsun.com>
35395
35396         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
35397         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
35398         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
35399         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
35400
35401 2001-02-17  Paul Eggert  <eggert@twinsun.com>
35402
35403         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
35404         Remove workaround macros for hosts that have mbrtowc but not
35405         mbstate_t, as we now insist on proper declarations for both
35406         before using mbrtowc.
35407
35408 2001-02-17  Jim Meyering  <meyering@lucent.com>
35409
35410         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
35411         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
35412         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
35413         UnixWare 7.1.1.
35414
35415         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
35416         rather than AC_CACHE_VAL.
35417
35418 2001-02-17  Jim Meyering  <meyering@lucent.com>
35419
35420         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
35421         around included file name.
35422
35423         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
35424
35425         * lib/strftime.c: Update from GNU libc (the only changes were to
35426         comments).
35427
35428 2001-02-17  Jim Meyering  <meyering@lucent.com>
35429
35430         * lib/regex.c: Update from libc.
35431
35432 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
35433
35434         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
35435         clash.
35436
35437 2001-02-16  Paul Eggert  <eggert@twinsun.com>
35438
35439         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
35440         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
35441         Reported by Mark Hounschell via Paul Eggert.
35442
35443 2001-02-07  Jim Meyering  <meyering@lucent.com>
35444
35445         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
35446
35447 2001-02-05  Jim Meyering  <meyering@lucent.com>
35448
35449         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
35450         it includes the patch required for `large file' support with at least
35451         HP-UX's 10.20 /bin/cc.
35452
35453 2001-02-03  Jim Meyering  <meyering@lucent.com>
35454
35455         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
35456         AS_IF, now that it works once again (mysteriously).
35457         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
35458
35459 2001-01-30  Jim Meyering  <meyering@lucent.com>
35460
35461         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
35462         * m4/chown.m4: Rename conftestchown to conftest.chown.
35463         * m4/rename.m4: s/conftestdir/conftest.d1/ and
35464         s/conftestdir2/conftest.d2/.
35465         * m4/utimes.m4: s/conftestdata/conftest.data/
35466         Inspired by Pavel Roskin's change in autoconf.
35467
35468 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
35469
35470         * lib/config.charset: Update for FreeBSD 4.2.
35471
35472 2001-01-27  Jim Meyering  <meyering@lucent.com>
35473
35474         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
35475         a use of AS_IF.
35476         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
35477
35478 2001-01-26  Jim Meyering  <meyering@lucent.com>
35479
35480         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
35481         quotearg.c includes it.
35482
35483 2001-01-26  Jim Meyering  <meyering@lucent.com>
35484
35485         * lib/quotearg.c: Include stddef.h.
35486         * lib/quote.c: Include stddef.h.
35487         Reported by Axel Kittenberger.
35488
35489         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
35490         line in double quotes so that it evokes a better diagnostic.
35491         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
35492         Reported by Axel Kittenberger.
35493
35494 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
35495
35496         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
35497         as if it was a `charset'.
35498
35499 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
35500
35501         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
35502         has const.
35503
35504 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
35505
35506         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
35507         to avoid a warning.  Add back 'const' to inptr.
35508
35509 2001-01-20  Jim Meyering  <meyering@lucent.com>
35510
35511         Be sure that headers are checked before used in code compiled
35512         for the type checks.
35513         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
35514         In place of that, invoke jm_CHECK_ALL_TYPES.
35515         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
35516         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
35517         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
35518         The check for ssize_t was mistakenly run before the test for unistd.h.
35519
35520         The configure-time check for stdbool.h was missing.
35521         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
35522         (jm_PREREQ_HASH): New function.
35523
35524 2001-01-17  Jim Meyering  <meyering@lucent.com>
35525
35526         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
35527         for autoconf-2.49c.
35528         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
35529
35530 2001-01-16  Jim Meyering  <meyering@lucent.com>
35531
35532         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
35533         From Bruno Haible.
35534
35535 2001-01-14  Jim Meyering  <meyering@lucent.com>
35536
35537         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
35538         foo and bar.  Create conftestdir/ in the script, not in the C code.
35539         Remove directories in the script, not in the C code.
35540         Remove conftestdir{,2} before trying to create the directory.
35541         Make the entire configure script fail if the mkdir fails.
35542
35543 2001-01-14  Jim Meyering  <meyering@lucent.com>
35544
35545         * lib/rename.c: New file.  From Volker Borchert.
35546         Include stdlib.h, string.h or strings.h, and xalloc.h.
35547         Use strip_trailing_slashes rather than open-coding it.
35548
35549 2001-01-03  Paul Eggert  <eggert@twinsun.com>
35550
35551         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
35552
35553 2001-01-03  Jim Meyering  <meyering@lucent.com>
35554
35555         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
35556         of local `inptr' to avoid warning with some system declarations of
35557         iconv.
35558
35559 2001-01-02  Volker Borchert  <bt@teknon.de>
35560
35561         * m4/rename.m4: New file.
35562         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
35563
35564 2001-01-01  Jim Meyering  <meyering@lucent.com>
35565
35566         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
35567         even on systems with utmpx.h.  It's necessary for the declaration of
35568         utmp's ut_user member.  Reported by Andreas Jaeger.
35569
35570         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
35571         available. They are required for the declarations of getgrgid and
35572         getpwuid resp.
35573         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
35574         Reported by Andreas Jaeger.
35575
35576 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
35577
35578         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
35579         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
35580         so `make install' also works in VPATH builds.
35581
35582 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
35583
35584         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
35585         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
35586         can be used in subdirectories.
35587
35588 2000-12-29  Paul Eggert  <eggert@twinsun.com>
35589
35590         * lib/modechange.c: Do not assume that mode_t uses the
35591         traditional octal encoding.  E.g. "chmod 1 FOO" should set
35592         the other-execute bit of FOO even if S_IXOTH != 1.
35593
35594         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
35595         WOTH, XOTH, ALLM): New macros.
35596         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
35597          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
35598         Use them.
35599         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
35600         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
35601         (mode_compile):
35602         No need to use uintmax_t; unsigned long is long enough.
35603         Don't bother to get suffix since we don't use it.
35604
35605 2000-12-26  Jim Meyering  <meyering@lucent.com>
35606
35607         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
35608         better with autoheader.
35609
35610 2000-12-24  Jim Meyering  <meyering@lucent.com>
35611
35612         * lib/hash.c (is_prime): Return explicit boolean values.
35613         (hash_get_first): Return NULL to appease Irix5.6's 89.
35614         Reported by Nelson Beebe.
35615
35616 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
35617
35618         * lib/localcharset.c (locale_charset): Add support for Win32.
35619
35620 2000-12-18  Paul Eggert  <eggert@twinsun.com>
35621
35622         * lib/physmem.h, lib/physmem.c: New files.
35623
35624         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
35625         (noinst_HEADERS): Add physmem.h.
35626
35627         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
35628         't' for compatibility with Solaris 8 sort.
35629
35630 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
35631
35632         * lib/config.charset: Add support for BeOS.
35633
35634 2000-12-17  Jim Meyering  <meyering@lucent.com>
35635
35636         * m4/dos.m4 (jm_AC_DOS): New file and macro.
35637         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
35638
35639 2000-12-16  Jim Meyering  <meyering@lucent.com>
35640
35641         This bug had a serious impact on chown: `chown N:M FILE' (for integer
35642         N and M) would have treated it like `chown N:N FILE'.
35643
35644         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
35645
35646 2000-12-16  Jim Meyering  <meyering@lucent.com>
35647
35648         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
35649         SHELLS_FILE to a file name that's useful on djgpp systems.
35650         Include stdlib.h.
35651         (ADDITIONAL_DEFAULT_SHELLS): Define.
35652         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
35653         Based mostly on a patch from Prashant TR.
35654
35655 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
35656
35657         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
35658         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
35659         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
35660
35661 2000-12-08  Andreas Schwab  <schwab@suse.de>
35662
35663         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
35664         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
35665
35666 2000-12-07  Jim Meyering  <meyering@lucent.com>
35667
35668         * lib/stripslash.c (ISSLASH): Define.
35669         (strip_trailing_slashes): Use ISSLASH rather than comparing against
35670         `/'.
35671         From Prashant TR.
35672
35673         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
35674         (dir_name_r): Declare this function as static.
35675         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
35676         manifest itself on a name containing a mix of slashes and
35677         backslashes.
35678         Make this function work with names starting with a DOS-style
35679         drive letter and colon prefix.
35680         (dir_name): Append `.' if necessary.
35681         Based mostly on patches from Prashant TR and Eli Zaretskii.
35682
35683         * lib/dirname.h (dir_name_r): Remove prototype.
35684
35685 2000-12-06  Paul Eggert  <eggert@twinsun.com>
35686
35687         * m4/off_t-format.m4: Remove this file.
35688         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
35689
35690 2000-12-06  Jim Meyering  <meyering@lucent.com>
35691
35692         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
35693         replacement strtoull, we may well need the replacement strtoul, too.
35694         Check for declarations of strtoul and strtoull.
35695         Check for strtol.  Mainly as a cue to cause automake to include
35696         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
35697         Check for limits.h -- strtol.c needs it.
35698
35699 2000-12-05  Jim Meyering  <meyering@lucent.com>
35700
35701         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
35702
35703 2000-12-04  Jim Meyering  <meyering@lucent.com>
35704
35705         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
35706         Also include memory.h, stdlib.h, unistd.h if appropriate.
35707         Reported by Andreas Jaeger (conflicting declaration of malloc).
35708
35709 2000-12-02  Jim Meyering  <meyering@lucent.com>
35710
35711         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
35712         * m4/jm-macros.m4 (jm_MACROS): require it.
35713
35714 2000-12-02  Jim Meyering  <meyering@lucent.com>
35715
35716         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
35717
35718 2000-12-01  Paul Eggert  <eggert@twinsun.com>
35719
35720         * lib/memrchr.c: Include <config.h> before any system include file.
35721
35722 2000-11-30  Jim Meyering  <meyering@lucent.com>
35723
35724         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
35725
35726 2000-11-30  Jim Meyering  <meyering@lucent.com>
35727
35728         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
35729
35730 2000-11-29  Paul Eggert  <eggert@twinsun.com>
35731
35732         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
35733
35734 2000-11-26  Jim Meyering  <meyering@lucent.com>
35735
35736         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
35737
35738 2000-11-22  Paul Eggert  <eggert@twinsun.com>
35739
35740         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
35741         size of (size_t) -1; it's not portable.
35742
35743 2000-11-17  Jim Meyering  <meyering@lucent.com>
35744
35745         * lib/strstr.c: Update from GNU libc.
35746
35747 2000-11-17  Akim Demaille  <akim@epita.fr>
35748
35749         * lib/obstack.h: Formatting changes.
35750         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
35751         prevent type checking.
35752         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
35753         cast the value to (void *): assigning a `foo *' to a `void *'
35754         variable is valid.
35755         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
35756
35757 2000-11-16  Jim Meyering  <meyering@lucent.com>
35758
35759         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
35760
35761 2000-11-11  Jim Meyering  <meyering@lucent.com>
35762
35763         * lib/error.c: Add a couple #includes, merging from GNU libc version.
35764
35765 2000-11-10  Jim Meyering  <meyering@lucent.com>
35766
35767         * lib/obstack.h: Update from GNU libc.
35768         * lib/obstack.c: Likewise.
35769
35770 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
35771
35772         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
35773
35774 2000-11-06  Paul Eggert  <eggert@twinsun.com>
35775
35776         * lib/getusershell.c (setusershell): Use rewind rather than
35777         fseek/fseeko, to avoid configuration hassles with fseeko.
35778         Don't bother opening SHELLS_FILE if shellstream is NULL;
35779         it's not necessary.
35780
35781 2000-11-05  Jim Meyering  <meyering@lucent.com>
35782
35783         * lib/makepath.h (make_dir): Declare.
35784         * lib/makepath.c (make_dir): Remove `static' attribute.
35785         Tweak a comment.
35786
35787 2000-11-04  Jim Meyering  <meyering@lucent.com>
35788
35789         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
35790
35791 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
35792
35793         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
35794         last one in a bucket, advance to the next bucket.
35795
35796 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
35797
35798         * lib/fnmatch.c: Do not comment out all the code if we are using
35799         the GNU C library, because in some cases we are replacing buggy
35800         code in the GNU C library itself.
35801
35802 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
35803
35804         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
35805         (regex_compile): Catch bogus \(\1\).
35806
35807 2000-10-30  Paul Eggert  <eggert@twinsun.com>
35808
35809         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
35810         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
35811         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
35812
35813 2000-10-30  Paul Eggert  <eggert@twinsun.com>
35814
35815         * lib/error.h, getline.h, modechange.h:
35816         Remove "2000" from Copyright line, as the file hasn't been
35817         changed this year other than in the copyright notice.
35818
35819         * lib/xalloc.h: Add "2000" to Copyright line, as this file
35820         was changed this year.
35821
35822 2000-10-29  Jim Meyering  <meyering@lucent.com>
35823
35824         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
35825         renaming.
35826         * m4/ls-mntd-fs.m4: Likewise
35827
35828 2000-10-29  Jim Meyering  <meyering@lucent.com>
35829
35830         * lib/xstat.in: Fix grammar in comment.
35831
35832 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
35833
35834         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
35835         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
35836         doesn't define __restrict_arr.
35837
35838 2000-10-28  Jim Meyering  <meyering@lucent.com>
35839
35840         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
35841         (jm_PREREQ_MEMCHR): New function.
35842
35843 2000-10-28  Jim Meyering  <meyering@lucent.com>
35844
35845         * lib/memchr.c: Update from libc.
35846         Adjust for portability:
35847         [HAVE_STDLIB_H]: Include stdlib.h.
35848         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
35849         Undef __memchr, too.
35850         [!weak_alias]: Define __memchr to memchr.
35851
35852         * lib/regex.c: Update from libc.
35853         * lib/regex.h: Likewise.
35854         * lib/getopt1.c: Likewise.
35855         * lib/memcmp.c: Likewise.
35856
35857         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
35858         Avoid using fseek, when possible -- it's broken by design.
35859         Patch by Ulrich Drepper.
35860
35861 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
35862
35863         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
35864         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
35865         Giving in to popular pressure to shut up the compiler with casts.
35866
35867 2000-10-26  Jim Meyering  <meyering@lucent.com>
35868
35869         * lib/strftime.c: Update from libc.
35870
35871 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
35872
35873         * regex.c: More `unsigned char' -> `re_char' changes.
35874         Also change several `int' into `re_wchar_t'.
35875         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
35876         (PUSH_FAILURE_POINTER): Don't cast any more.
35877         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
35878         We want GCC to complain, since this piece of code makes
35879         re_match non-reentrant, which *should* be fixed.
35880         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
35881         (EXTEND_BUFFER): Use RETALLOC.
35882         (SET_LIST_BIT): Don't cast.
35883         (re_wchar_t): New type.
35884         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
35885         that those two functions will always properly return.
35886         (IMMEDIATE_QUIT_CHECK): Cast to void.
35887         (analyse_first): Use recursion rather than an explicit stack.
35888         (re_compile_fastmap): Can't fail anymore.
35889         (re_search_2): Don't check re_compile_fastmap for failure.
35890         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
35891         Now also sets the new value (passed in a new argument).
35892         (re_match_2_internal): Use it.
35893         Also, use a new var `reg' of type size_t when looping through regs
35894         rather than reuse the inappropriate `mcnt'.
35895
35896 2000-10-25  Jim Meyering  <meyering@lucent.com>
35897
35898         * lib/obstack.c: Update from libc.
35899
35900 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
35901
35902         * regex.c (regex_compile): Change the way of handling a range from
35903         a char less than 256 to a char not less than 256.
35904
35905 2000-10-24  Andrew Innes  <andrewi@gnu.org>
35906
35907         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
35908         NT-Emacs only.
35909         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
35910         so that re_search functions only quit when callers expect them to.
35911
35912 2000-10-23  Jim Meyering  <meyering@lucent.com>
35913
35914         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
35915         wrong.  That set_locale call must not have any side effects.
35916         From Paul Eggert.
35917
35918 2000-10-22  Jim Meyering  <meyering@lucent.com>
35919
35920         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
35921         [CYCLIC]: Remove now-unused definition.
35922
35923         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
35924         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
35925         Suggestion from Ulrich Drepper.
35926
35927 2000-10-21  Jim Meyering  <meyering@lucent.com>
35928
35929         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
35930         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
35931         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
35932
35933 2000-10-21  Jim Meyering  <meyering@lucent.com>
35934
35935         * lib/dirname.c (memrchr): Declare if necessary.
35936         (dir_name): Remove the restriction that there be no
35937         trailing slashes.  Now, this code skips past them, effectively
35938         ignoring them.
35939         [TEST_DIRNAME] (main): New unit tests.
35940
35941         * lib/memrchr.c: New file from GNU libc.
35942         Undef __memrchr, too.
35943         [!weak_alias]: Define __memrchr to memrchr.
35944         Guard weak_alias use with `#ifdef weak_alias'.
35945
35946 2000-10-21  Jim Meyering  <meyering@lucent.com>
35947
35948         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
35949         (dir_name): Use dir_name_r.
35950         * lib/dirname.h (dir_name_r): Declare it.
35951
35952 2000-10-17  Jim Meyering  <meyering@lucent.com>
35953
35954         * lib/quote.h (PARAMS): Define and use.
35955         Reported by Akim Demaille.
35956
35957         * lib/getopt.c: Update from libc.
35958
35959 2000-10-16  Jim Meyering  <meyering@lucent.com>
35960
35961         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
35962         setlocale.
35963         From Jan Fedak.
35964
35965 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
35966
35967         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
35968
35969 2000-09-25  Jim Meyering  <meyering@lucent.com>
35970
35971         * lib/md5.h (rol): Define (from GnuPG).
35972
35973         * lib/sha.c: Give credit (GnuPG) where due.
35974         (M): Use rol rather than open-coding it.
35975         Add a FIXME comment.
35976
35977 2000-09-21  Jim Meyering  <meyering@lucent.com>
35978
35979         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
35980         Reported by Michael Stone.
35981
35982 2000-09-20  Jim Meyering  <meyering@lucent.com>
35983
35984         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
35985         (noinst_HEADERS): Add sha.h.
35986         Based on code from Scott G. Miller and from GnuPG.
35987
35988 2000-09-18  Jim Meyering  <meyering@lucent.com>
35989
35990         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
35991         LIBS. Otherwise, everyone ends up linking with -lelf for some
35992         configurations.
35993         Reported by Mike Stone.
35994
35995 2000-09-15  Jim Meyering  <meyering@lucent.com>
35996
35997         * lib/regex.c: Update from libc.
35998
35999 2000-09-10  Jim Meyering  <meyering@lucent.com>
36000
36001         * lib/getopt.c (_getopt_internal): Update from glibc.
36002
36003 2000-09-09  Jim Meyering  <meyering@lucent.com>
36004
36005         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
36006         think it should be used as a general replacement for isascii.
36007         * lib/fnmatch.c: Likewise.
36008         * lib/mbswidth.c: Likewise
36009         * lib/regex.c: Likewise.
36010
36011         Don't use atoi.
36012         * lib/userspec.c: Include sys/param.h and limits.h.
36013         Include xstrtol.h.
36014         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
36015         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
36016         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
36017         UID, GID.  Check range.
36018
36019 2000-09-06  Jim Meyering  <meyering@lucent.com>
36020
36021         * lib/getopt.c (_getopt_internal): Update from glibc.
36022
36023 2000-08-30  Jim Meyering  <meyering@lucent.com>
36024
36025         * lib/strftime.c: Merge in changes from GNU libc.
36026
36027 2000-08-26  Jim Meyering  <meyering@lucent.com>
36028
36029         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
36030         * m4/fpending.m4: New file.
36031
36032 2000-08-26  Jim Meyering  <meyering@lucent.com>
36033
36034         * lib/closeout.c: Include "__fpending.h".
36035         (close_stdout_status): Return right away if there's nothing to flush.
36036
36037         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
36038         * lib/__fpending.c: New file.
36039         * lib/__fpending.h: New file.
36040
36041 2000-08-20  Jim Meyering  <meyering@lucent.com>
36042
36043         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
36044         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
36045         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
36046
36047 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
36048
36049         Improve fileutils installation on systems where running
36050         programs (like install) can't be unlinked.
36051         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
36052         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
36053
36054 2000-08-07  Paul Eggert  <eggert@twinsun.com>
36055
36056         Standardize on "memory exhausted" instead of "Memory exhausted"
36057         or "virtual memory exhausted".
36058         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
36059         "virtual memory exhausted".
36060         * lib/same.c (same_name): Invoke xalloc_die instead of printing
36061         our own message.
36062         * lib/userspec.c (parse_user_spec): Likewise.
36063         * lib/bumpalloc.h: comment fix
36064         * lib/same.c, userspec.c: Include xalloc.h.
36065
36066         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
36067         not char *const and pointing to a constant array.
36068         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
36069         (xrealloc): Comment fix.
36070
36071         * lib/userspec.c (parse_user_spec):
36072         Don't translate a message until just before returning,
36073         to avoid unnecessary translation.
36074
36075 2000-08-07  Jim Meyering  <meyering@lucent.com>
36076
36077         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
36078         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
36079         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
36080         getgroups.c, gethostname.c, getopt.h, group-member.c,
36081         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
36082         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
36083         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
36084         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
36085         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
36086         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
36087         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
36088         yesno.c: Back out Copyright date changes for each file with no change
36089         this year.  This eases coordination with other programs using the same
36090         source code modules.  From Paul Eggert.
36091
36092 2000-08-06  Paul Eggert  <eggert@twinsun.com>
36093
36094         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
36095         not char, for compatibility with glibc 2.1.3 strftime.c.
36096
36097 2000-08-03  Greg McGary  <greg@mcgary.org>
36098
36099         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
36100         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
36101         (EXTEND_BUFFER): Use them.
36102
36103 2000-08-01  Jim Meyering  <meyering@lucent.com>
36104
36105         * lib/dirname.c (ISSLASH): Define.
36106         (BACKSLASH_IS_PATH_SEPARATOR): Define.
36107         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
36108         both `\' and `/' may be use as path separators.
36109         Based on a patch from Prashant TR.
36110
36111 2000-07-31  Paul Eggert  <eggert@twinsun.com>
36112
36113         * lib/quotearg.c (quotearg_n_options): Don't make the initial
36114         slot vector a constant, since it might get modified.
36115
36116 2000-07-31  Jim Meyering  <meyering@lucent.com>
36117
36118         * lib/xmalloc.c: Use `virtual memory exhausted', not
36119         `Memory exhausted'.
36120         * lib/obstack.c (print_and_abort): Likewise.
36121
36122 2000-07-30  Paul Eggert  <eggert@twinsun.com>
36123
36124         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
36125         buffer, so that the caller can always quote one small
36126         component of a "memory exhausted" message in slot 0.
36127         From a suggestion by Jim Meyering.
36128
36129 2000-07-30  Jim Meyering  <meyering@lucent.com>
36130
36131         * lib/makepath.c (make_path): Quote the other instance, too.
36132
36133         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
36134         (STATIC_BUF_SIZE): Define.
36135         (quotearg_n_options): Use only statically allocated storage when
36136         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
36137         than STATIC_BUF_SIZE.
36138
36139 2000-07-29  Jim Meyering  <meyering@lucent.com>
36140
36141         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
36142         * lib/dirname.c (dir_name): Likewise.
36143
36144         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
36145         `/'.
36146
36147         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
36148         (dir_name): Assert that there are no trailing slashes.
36149
36150 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
36151
36152         * lib/mbswidth.h (mbswidth): Add a flags argument.
36153         (mbswidth): New declaration.
36154         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
36155         * lib/mbswidth.c (mbswidth): Add a flags argument.
36156         (mbsnwidth): New function.
36157
36158 2000-07-24  Jim Meyering  <meyering@lucent.com>
36159
36160         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
36161
36162 2000-07-23  Paul Eggert  <eggert@twinsun.com>
36163
36164         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
36165
36166 2000-07-23  Paul Eggert  <eggert@twinsun.com>
36167
36168         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
36169         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
36170         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
36171         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
36172         invoke multibyte primitives.
36173
36174 2000-07-23  Paul Eggert  <eggert@twinsun.com>
36175
36176         * lib/quotearg.c:
36177         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
36178         so that mbstate_t is always defined.
36179
36180         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
36181         be 1 in at least one GCC installation, and this configuration
36182         error is likely to be common.  Ignoring MB_LEN_MAX hurts
36183         performance on hosts that have mbrtowc but have only unibyte
36184         locales, but I assume these hosts are rare.
36185
36186 2000-07-23  Paul Eggert  <eggert@twinsun.com>
36187
36188         * lib/mbswidth.c (_XOPEN_SOURCE):
36189         Don't define; this causes problems on Solaris 7.
36190         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
36191
36192 2000-07-23  Jim Meyering  <meyering@lucent.com>
36193
36194         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
36195         too: getgrgid, getpwuid, getuid.
36196
36197 2000-07-23  Jim Meyering  <meyering@lucent.com>
36198
36199         * lib/basename.c (base_name): Add an assertion.
36200
36201 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
36202
36203         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
36204         shadow its mbsinit function.
36205
36206 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
36207
36208         * lib/mbswidth.h: New file.
36209         * lib/mbswidth.c: New file.
36210         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
36211         (noinst_HEADERS): Add mbswidth.h.
36212
36213 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
36214
36215         * lib/config.charset: Add support for FreeBSD. Improve support for
36216         HP-UX and IRIX 6.
36217
36218 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
36219
36220         * m4/mbswidth.m4: New file.
36221         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
36222
36223 2000-07-15  Jim Meyering  <meyering@lucent.com>
36224
36225         * lib/makepath.c: Include quote.h.
36226         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
36227         corresponding argument in a `quote (...)' call.
36228         Give better diagnostics.
36229
36230         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
36231         (noinst_HEADERS): Add quote.h.
36232
36233         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
36234         from tar's src/misc.c.
36235         * lib/quote.h: New file.  Prototypes for same.
36236
36237 2000-07-14  Paul Eggert  <eggert@twinsun.com>
36238
36239         From a suggestion by Bruno Haible.
36240         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
36241         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
36242         to decide whether to define the BeOS workaround macro;
36243         this adjusts to the change to AC_MBSTATE_T.
36244
36245 2000-07-14  Jim Meyering  <meyering@lucent.com>
36246
36247         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
36248         jm_AC_TYPE_UINTMAX_T.
36249
36250 2000-07-13  Paul Eggert  <eggert@twinsun.com>
36251
36252         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
36253
36254         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
36255         quotearg_buffer_restyled): Add support for
36256         clocale_quoting_style.  Undo previous change to
36257         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
36258         and "{RIGHT QUOTATION MARK}" msgids.
36259
36260 2000-07-10  Paul Eggert  <eggert@twinsun.com>
36261
36262         From a suggestion by Bruno Haible.
36263         * m4/mbstate_t.m4 (AC_MBSTATE_T):
36264         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
36265         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
36266         and mbstate_t, to a single-part test that simply defines mbstate_t.
36267         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
36268         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
36269
36270 2000-07-10  Jim Meyering  <meyering@lucent.com>
36271
36272         * m4/strerror_r.m4: Mirror the correction made in autoconf.
36273
36274         * m4/gnu-source.m4: Output to confdefs.h directly.
36275         Suggestion from Akim Demaille.
36276
36277 2000-07-09  Paul Eggert  <eggert@twinsun.com>
36278
36279         The old behavior of quoting `like this' doesn't look good with
36280         newer, ISO-style fonts.  See:
36281         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
36282
36283         Instead, quote "like this" by default.  Let the translator
36284         tailor the locale-specific quoting behavior by providing
36285         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
36286
36287         * lib/quotearg.c (N_): New macro.
36288         (gettext_default): New function.
36289         (quotearg_buffer_restyled): Use
36290         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
36291         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
36292
36293 2000-07-09  Jim Meyering  <meyering@lucent.com>
36294
36295         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
36296         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
36297
36298         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
36299         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
36300
36301 2000-07-09  Jim Meyering  <meyering@lucent.com>
36302
36303         * lib/Most files: Update copyright dates to include 2000.
36304
36305 2000-07-08  Jim Meyering  <meyering@lucent.com>
36306
36307         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
36308         if not defined.
36309         (xgethostname): Remove now-unnecessary #ifdef.
36310         Move declaration of `err' into loop where it's used.
36311
36312 2000-07-05  Paul Eggert  <eggert@twinsun.com>
36313         and Bruno Haible  <haible@clisp.cons.org>
36314
36315         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
36316         only if the test for an object-type mbstate_t fails.  This
36317         prevents us from mistakenly reporting that mbstate_t is a
36318         system object type after we "#define mbstate_t int" to work
36319         around its lack.
36320
36321 2000-07-05  Paul Eggert  <eggert@twinsun.com>
36322         and Bruno Haible  <haible@clisp.cons.org>
36323
36324         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
36325
36326 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
36327
36328         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
36329         to strerror_r.
36330         Include <ctype.h> for use of isalpha.
36331
36332 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
36333
36334         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
36335         by allocating a larger buffer. Test the gethostname return value for
36336         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
36337         returns an error and ENAMETOOLONG isn't defined.
36338
36339 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
36340
36341         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
36342         dimension.
36343
36344 2000-07-04  Jim Meyering  <meyering@lucent.com>
36345
36346         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
36347         of the deprecated AC_CHECKING.
36348
36349 2000-07-04  Jim Meyering  <meyering@lucent.com>
36350
36351         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
36352         Reported by Bruno Haible.
36353
36354 2000-07-04  Jim Meyering  <meyering@lucent.com>
36355
36356         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
36357         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
36358         lacks mbrtowc.
36359
36360 2000-07-03  Paul Eggert  <eggert@twinsun.com>
36361
36362         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
36363         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
36364
36365 2000-07-03  Paul Eggert  <eggert@twinsun.com>
36366         and Bruno Haible  <haible@clisp.cons.org>
36367
36368         * lib/quotearg.c (mbrtowc):
36369         Assign to *pwc, and return 1 only if result is nonzero.
36370         (iswprint): Use ISPRINT when substituting our own mbrtowc.
36371
36372 2000-07-03  Jim Meyering  <meyering@lucent.com>
36373
36374         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
36375
36376 2000-07-03  Jim Meyering  <meyering@lucent.com>
36377
36378         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
36379         This is necessary to get a definition of e.g., UTMP_FILE on
36380         HP-UX 10.20.
36381         From Bob Proulx.
36382
36383 2000-07-02  Jim Meyering  <meyering@lucent.com>
36384
36385         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
36386
36387         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
36388         AC_LIBOBJ(function_name).
36389         * m4/chown.m4: Likewise.
36390         * m4/fnmatch.m4: Likewise.
36391         * m4/ftruncate.m4: Likewise.
36392         * m4/getgroups.m4: Likewise.
36393         * m4/getline.m4: Likewise.
36394         * m4/group-member.m4: Likewise.
36395         * m4/jm-macros.m4: Likewise.
36396         * m4/lstat.m4: Likewise.
36397         * m4/malloc.m4: Likewise.
36398         * m4/memcmp.m4: Likewise.
36399         * m4/nanosleep.m4: Likewise.
36400         * m4/putenv.m4: Likewise.
36401         * m4/realloc.m4: Likewise.
36402         * m4/regex.m4: Likewise.
36403         * m4/stat.m4: Likewise.
36404         * m4/strftime.m4: Likewise.
36405
36406 2000-07-02  Jim Meyering  <meyering@lucent.com>
36407
36408         * lib/quotearg.c (mbstate_t): Don't define here.
36409
36410 2000-07-02  Jim Meyering  <meyering@lucent.com>
36411
36412         * lib/nanosleep.c (SIGCONT): Define if not already defined.
36413
36414 2000-07-01  Jim Meyering  <meyering@lucent.com>
36415
36416         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
36417
36418 2000-07-01  Jim Meyering  <meyering@lucent.com>
36419
36420         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
36421         problem.
36422
36423 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
36424
36425         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
36426         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
36427
36428 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
36429
36430         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
36431         per change in ../m4/ls-mntd-fs.m4.
36432         (read_filesystem_list): Ignore symbolic links.
36433
36434 2000-06-29  Jim Meyering  <meyering@lucent.com>
36435
36436         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
36437         for declaration of strcmp.
36438
36439         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
36440
36441         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
36442         Avoid warning by casting result to `char *' to remove `const'.
36443
36444 2000-06-28  Jim Meyering  <meyering@lucent.com>
36445
36446         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
36447         included by quotearg.c, for which we perform this test.  From
36448         Bruno Haible.
36449
36450 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
36451
36452         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
36453         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
36454         <utmpx.h> exists, put readutmp.o into LIBOBJS.
36455
36456 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
36457
36458         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
36459
36460 2000-06-26  Paul Eggert  <eggert@twinsun.com>
36461
36462         savedir now sets errno on failure and invokes xmalloc to get memory.
36463         Fix a couple of other minor bugs while we're at it.
36464
36465         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
36466         (NAMLEN): Remove macro.
36467         (malloc, realloc): Remove decls.
36468         (stpcpy): Likewise.
36469         ("xalloc.h"): Include.
36470         (NAME_SIZE_DEFAULT): New macro.
36471         (savedir): Use xmalloc / xrealloc to allocate memory.
36472         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
36473         Skip "" directory entries.
36474         Use strlen to calculate directory entry length, since the old method
36475         is rarely used these days and isn't worth supporting.
36476         Don't use a pointer after freeing it.
36477         Check for integer overflow when calculating allocation size.
36478         Use memcpy to copy entries, instead of stpcpy.
36479         Set errno properly when returning NULL.
36480         Check for readdir error.
36481
36482 2000-06-26  Jim Meyering  <meyering@lucent.com>
36483
36484         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
36485
36486 2000-06-25  Jim Meyering  <meyering@lucent.com>
36487
36488         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
36489         Linux header bug when _XOPEN_SOURCE is defined to 500.
36490
36491 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
36492
36493         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
36494         deficiency.
36495
36496 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
36497
36498         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
36499         Include xalloc.h.
36500         Don't include <stdlib.h>.  Don't declare malloc, realloc.
36501
36502 2000-06-24  Jim Meyering  <meyering@lucent.com>
36503
36504         * m4/strerror_r.m4: Revive this file -- to try out an experimental
36505         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
36506         for which strerror does return char*, but which lacks a conveniently
36507         accessible declaration of the function.  If the compile-test says
36508         strerror_r doesn't work, then resort to a `run'-test that works on
36509         BeOS and segfaults on DEC Unix.
36510
36511 2000-06-24  Jim Meyering  <meyering@lucent.com>
36512
36513         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
36514
36515 2000-06-23  Paul Eggert  <eggert@twinsun.com>
36516
36517         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
36518         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
36519
36520 2000-06-23  Paul Eggert  <eggert@twinsun.com>
36521
36522         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
36523         (mbrtowc, mbstate_t): Define substitutes if
36524         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
36525         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
36526         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
36527
36528 2000-06-23  Jim Meyering  <meyering@lucent.com>
36529
36530         * m4/afs.m4: Add missing AC_MSG_RESULT.
36531         Reported by Bruno Haible.
36532
36533         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
36534         Suggestion from Bruno Haible.
36535
36536 2000-06-23  Jim Meyering  <meyering@lucent.com>
36537
36538         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
36539
36540 2000-06-21  Jim Meyering  <meyering@lucent.com>
36541
36542         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
36543
36544 2000-06-21  Jim Meyering  <meyering@lucent.com>
36545
36546         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
36547         (noinst_HEADERS): Add getstr.h.
36548
36549         * lib/getline.c (getstr): Move into a separate file.
36550         * lib/getstr.c (getstr): New file, extracted from getline.c, with
36551         the following changes: new parameter, delim2; both delim[12]
36552         parameters have type `int', not `char'.  The latter would lose
36553         with 8-bit delimiters.
36554         * lib/getstr.h: New file.
36555
36556 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
36557
36558         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
36559         than 1024, return a memory chunk of least possible size, instead
36560         of size PATH_MAX + 2. In the loop, increment the size proportionally.
36561         Use free/xmalloc instead of xrealloc to avoid copying for very long
36562         paths.
36563
36564 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
36565
36566         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
36567         the empty string.
36568
36569 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
36570
36571         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
36572         address, not strdup.  Include <stdlib.h> and don't declare free().
36573
36574 2000-06-19  Jim Meyering  <meyering@lucent.com>
36575
36576         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
36577
36578 2000-06-18  Jim Meyering  <meyering@lucent.com>
36579
36580         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
36581
36582         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
36583         `checking whether...' message to be consistent with that of the
36584         lstat test.
36585
36586 2000-06-18  Jim Meyering  <meyering@lucent.com>
36587
36588         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
36589         Besides, these days every porting target provides a mkdir function.
36590
36591         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
36592         needed. (this snippet comes from src/system.h).
36593
36594 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
36595
36596         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
36597
36598 2000-06-15  Paul Eggert  <eggert@twinsun.com>
36599
36600         * lib/human.c (adjust_value): New function.
36601         (human_readable_inexact): Apply rounding style even when
36602         printing approximate values.
36603
36604 2000-06-14  Paul Eggert  <eggert@twinsun.com>
36605
36606         * lib/human.c (human_readable_inexact): Allow an input block
36607         size that is not a multiple of the output block size, and vice versa.
36608         Reported by Piergiorgio Sartor.
36609
36610 2000-06-14  Paul Eggert  <eggert@twinsun.com>
36611
36612         * lib/getdate.y (get_date): Apply relative times after time
36613         zone indicator, not before.  Reported by Todd A. Jacobs.
36614
36615 2000-06-13  Jim Meyering  <meyering@lucent.com>
36616
36617         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
36618
36619         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
36620
36621 2000-06-12  Paul Eggert  <eggert@twinsun.com>
36622
36623         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
36624
36625 2000-06-12  Jim Meyering  <meyering@lucent.com>
36626
36627         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
36628         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
36629         optional argument.
36630         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
36631         the optional argument, `lib'.
36632
36633 2000-06-08  Jim Meyering  <meyering@lucent.com>
36634
36635         * m4/largefile.m4: Remove file (now that it's part of autoconf).
36636
36637 2000-06-04  Paul Eggert  <eggert@twinsun.com>
36638
36639         Rewrite largefile configuration so that we don't need to run
36640         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
36641         AC_CANONICAL_HOST in configure.in -- jmm]
36642
36643         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
36644         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
36645         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
36646         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
36647         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
36648         All uses changed.
36649         Instead of inspecting the output of getconf, try to compile the
36650         test program without and with the macro definition.
36651         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
36652         for getconf.  Instead, check for the needed flags by compiling
36653         test programs.
36654
36655 2000-06-04  Paul Eggert  <eggert@twinsun.com>
36656
36657         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
36658
36659 2000-06-04  Jim Meyering  <meyering@lucent.com>
36660
36661         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
36662         SunOS 4.1.4 for which gid_t is an unsigned type.
36663
36664 2000-06-03  Jim Meyering  <meyering@lucent.com>
36665
36666         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
36667         now that autoconf requires that.
36668
36669         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
36670         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
36671         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
36672
36673 2000-06-03  Jim Meyering  <meyering@lucent.com>
36674
36675         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
36676
36677 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
36678
36679         * m4/glibc21.m4: New file.
36680         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
36681
36682 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
36683
36684         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
36685         newer, don't install charset.alias.
36686         * lib/config.charset: Change the Linux/glibc rules so they become empty
36687         on glibc-2.1 or newer.
36688
36689 2000-06-02  Jim Meyering  <meyering@lucent.com>
36690
36691         * lib/mountlist.c: Back out last change.  Instead, do this...
36692         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
36693         me_dummy member using the same `ignore'-testing code.
36694         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
36695         fs_type strings.
36696         From Mark D. Roth.
36697
36698 2000-05-29  Jim Meyering  <meyering@lucent.com>
36699
36700         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
36701         mounts with the `ignore' attribute.  Based on a patch from
36702         Mark D. Roth.
36703
36704 2000-05-28  Jim Meyering  <meyering@lucent.com>
36705
36706         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
36707         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
36708         * m4/stat.m4: Likewise.
36709         * m4/lstat.m4: Likewise.
36710         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
36711
36712         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
36713         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
36714
36715 2000-05-26  Jim Meyering  <meyering@lucent.com>
36716
36717         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
36718
36719 2000-05-24  Jim Meyering  <meyering@lucent.com>
36720
36721         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
36722         autoconf requires that.
36723         * m4/lib-check.m4: Likewise.
36724         * m4/jm-macros.m4: Likewise.
36725         * m4/strftime.m4: Likewise.
36726
36727         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
36728         AC_CHECK_DECLS, now that autoconf requires that.
36729
36730 2000-05-22  Jim Meyering  <meyering@lucent.com>
36731
36732         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
36733         * m4/lstat.m4: Likewise.
36734
36735 2000-05-22  Jim Meyering  <meyering@lucent.com>
36736
36737         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
36738
36739 2000-05-20  Jim Meyering  <meyering@lucent.com>
36740
36741         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
36742         (jm_PREREQ): Use it.
36743
36744 2000-05-18  Jim Meyering  <meyering@lucent.com>
36745
36746         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
36747         back, too, since it may have been modified by allocate_entry.
36748         (hash_delete): Rewrite to use neither the assignment operator
36749         nor the comma operator in an if-expression.
36750
36751 2000-05-15  Paul Eggert  <eggert@twinsun.com>
36752
36753         * lib/closeout.c:
36754         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
36755         Remove; no longer needed.
36756         "quotearg.h": Add include.
36757         (file_name): Do not bother to explicitly initialize to NULL; it's less
36758         efficient on some hosts.
36759         (close_stdout_status): Remove test as to whether stdout was already
36760         closed; it breaks for the case "echo x | sort >&-".
36761         Quote file name colons.
36762         Do not assume that _("write error") lacks format strings.
36763
36764 2000-05-15  Jim Meyering  <meyering@lucent.com>
36765
36766         * lib/version-etc.c (version_etc_copyright): Update the copyright
36767         string used in all --version output.
36768
36769 2000-05-14  Jim Meyering  <meyering@lucent.com>
36770
36771         * lib/closeout.c (close_stdout_set_file_name): New function.
36772         (close_stdout_status): Use new file-scoped global.
36773         Return right away if fstat says the stdout file descriptor is invalid.
36774         * lib/closeout.h (close_stdout_set_file_name): Declare.
36775
36776 2000-05-10  Jim Meyering  <meyering@lucent.com>
36777
36778         * lib/closeout.c [default_exit_status]: New file-scoped variable.
36779         (close_stdout_set_status): New function.
36780         * lib/closeout.h (close_stdout_set_status): Declare.
36781
36782 2000-05-09  Jim Meyering  <meyering@lucent.com>
36783
36784         * m4/gettext.m4: Rename this...
36785         * m4/libintl.m4: ...to this.
36786
36787 2000-05-08  Jim Meyering  <meyering@lucent.com>
36788
36789         * lib/long-options.c: Don't include closeout.h.
36790         (parse_long_options): Don't call close_stdout for --version.
36791
36792 2000-05-06  Paul Eggert  <eggert@twinsun.com>
36793
36794         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
36795         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
36796         2.1.3 bug.  This avoids a clash when files like regex.c define
36797         _GNU_SOURCE.
36798
36799 2000-05-06  Jim Meyering  <meyering@lucent.com>
36800
36801         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
36802         (AC_REPLACE_FUNCS): Add strnlen.
36803
36804         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
36805         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
36806
36807         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
36808         AC_SEARCH_LIBS call for nanosleep.
36809         (LIB_NANOSLEEP): Set and AC_SUBST.
36810
36811 2000-05-06  Jim Meyering  <meyering@lucent.com>
36812
36813         * lib/strnlen.c: Undefine __strnlen and strnlen.
36814         [!weak_alias]: Define __strnlen to strnlen.
36815
36816         * lib/atexit.c: New file, from libiberty.
36817
36818 2000-05-06  Jim Meyering  <meyering@lucent.com>
36819
36820         * lib/closeout.c (close_stdout_status): Also check for errors on the
36821         stderr stream.
36822
36823 2000-05-05  Jim Meyering  <meyering@lucent.com>
36824
36825         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
36826         AC_SEARCH_LIBS call for clock_gettime.
36827         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
36828
36829         * m4/search-libs.m4: Update from autoconf.
36830
36831         su doesn't work on Solaris 2.6.
36832         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
36833         <shadow.h>.  Reported by Dragos Harabor.
36834
36835 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
36836
36837         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
36838         memcpy instead of xmalloc, xrealloc, path_concat.
36839         (locale_charset): Treat empty environment variables as absent.
36840         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
36841
36842 2000-05-04  Jim Meyering  <meyering@lucent.com>
36843
36844         * lib/getopt.c: Update from glibc.
36845         * lib/obstack.c: Likewise.
36846         * lib/obstack.h: Likewise.
36847         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
36848         file
36849
36850         * lib/regex.h: Likewise.
36851         * lib/strndup.c: Likewise.
36852         * lib/strnlen.c: New file, from glibc.
36853
36854 2000-05-03  Jim Meyering  <meyering@lucent.com>
36855
36856         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
36857
36858 2000-05-02  Paul Eggert  <eggert@twinsun.com>
36859
36860         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
36861         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
36862         compile-time test, rather than inspecting host and OS, to
36863         decide whether to define _LARGEFILE_SOURCE.
36864
36865 2000-05-01  Jim Meyering  <meyering@lucent.com>
36866
36867         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
36868
36869         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
36870         Based on a patch from Bruno Haible.
36871
36872 2000-05-01  Jim Meyering  <meyering@lucent.com>
36873
36874         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
36875
36876 2000-04-29  Jim Meyering  <meyering@lucent.com>
36877
36878         * lib/path-concat.c: Declare strdup only if it's not defined.
36879         * lib/canon-host.c: Likewise.
36880
36881 2000-04-28  Jim Meyering  <meyering@lucent.com>
36882
36883         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
36884         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
36885         is included first, then limits.h is included by locale.h by libintl.h.
36886         From John David Anglin.
36887
36888 2000-04-25  Jim Meyering  <meyering@lucent.com>
36889
36890         * lib/makepath.c (S_IRWXUGO): Define.
36891         (make_path): Always perform explicit chmod if MODE specifies any
36892         of the `special' permission bits.  Prompted by a bug report against
36893         install from Mate Wierdl and Joost van Baal.
36894
36895 2000-04-18  Jim Meyering  <meyering@lucent.com>
36896
36897         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
36898         (jm_PREREQ): Use it.
36899
36900 2000-04-18  Jim Meyering  <meyering@lucent.com>
36901
36902         * lib/README: New file.
36903
36904         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
36905         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
36906
36907 2000-04-17  Jim Meyering  <meyering@lucent.com>
36908
36909         Get it right :-)
36910         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
36911         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
36912         Suggestion from Akim Demaille.
36913
36914 2000-04-17  Jim Meyering  <meyering@lucent.com>
36915
36916         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
36917         the definition of it to rpl_strftime also defined-away the system's
36918         declaration.
36919
36920 2000-04-15  Jim Meyering  <meyering@lucent.com>
36921
36922         Use `C' to denote so-called `contiguous' files, the same way
36923         that tar does.
36924         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
36925         (ftypelet): Use S_ISCTG.
36926         From Michael Deutschmann.
36927
36928 2000-04-14  Jim Meyering  <meyering@lucent.com>
36929
36930         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
36931         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
36932         clobbered.
36933
36934 2000-04-14  Jim Meyering  <meyering@lucent.com>
36935
36936         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
36937
36938 2000-04-13  Jim Meyering  <meyering@lucent.com>
36939
36940         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
36941         AH_VERBATIM to insert required #ifndef into config.h.in.
36942         Suggestion from Akim Demaille.
36943
36944 2000-04-12  Jim Meyering  <meyering@lucent.com>
36945
36946         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
36947         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
36948         Christian Krackowizer.
36949
36950         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
36951         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
36952         (AC_SYS_LARGEFILE): Require.
36953         (AM_C_PROTOTYPES): Require.
36954
36955 2000-04-08  Jim Meyering  <meyering@lucent.com>
36956
36957         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
36958         names don't conflict.  Reported by Eli Zaretskii.
36959
36960 2000-04-07  Jim Meyering  <meyering@lucent.com>
36961
36962         * lib/putenv.c: Move inclusion of errno.h so it follows that of
36963         sys/types.h, to work around system header problems on AIX 3.2.5.
36964         From Bruno Haible.
36965
36966 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
36967
36968         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
36969         bug.  Deal with the different error behavior of Irix iconv.
36970
36971 2000-04-05  Paul Eggert  <eggert@twinsun.com>
36972
36973         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
36974         IRIX if the installer said otherwise.
36975
36976 2000-04-05  Jim Meyering  <meyering@lucent.com>
36977
36978         Portability tweaks required for ultrix4.3.
36979         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
36980         (jm_CHECK_DECLS): Add getutent to the list of functions.
36981         (_jm_DECL_HEADERS): Add utmpx.h.
36982         From John David Anglin.
36983
36984         * m4/strftime.m4: Back out the 2000-04-02 change.
36985         Instead of that change, simply undefine putenv in the test program.
36986
36987 2000-04-05  Jim Meyering  <meyering@lucent.com>
36988
36989         Portability tweaks required for ultrix4.3.
36990         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
36991         getutent.
36992         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
36993         * lib/canon-host.c: Declare strdup.
36994         * lib/path-concat.c: Likewise.
36995         From John David Anglin.
36996
36997 2000-04-04  Jim Meyering  <meyering@lucent.com>
36998
36999         Be more DOS 8.3-friendly.
37000         * lib/ref-add.sin: Renamed from ref-add.sed.in.
37001         * lib/ref-del.sin: Renamed from ref-del.sed.in.
37002         * lib/Makefile.am: Reflect renaming.
37003         Reported by Eli Zaretskii.
37004
37005         Use a temporary file name that won't clash with `charset.alias'
37006         in the DOS 8.3 name space.
37007         * lib/Makefile.am (charset_tmp): Define.
37008         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
37009         (uninstall-local): Likewise.
37010         Reported by Eli Zaretskii.
37011
37012 2000-04-03  Jim Meyering  <meyering@lucent.com>
37013
37014         * m4/gettext.m4: Fix typo in comment.
37015
37016         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
37017         textutils/configure.in).  Suggestion from Paul Eggert.
37018         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
37019
37020 2000-04-02  Paul Eggert  <eggert@twinsun.com>
37021
37022         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
37023         variable in the shell rather than using putenv, which isn't
37024         portable.  This avoids the configure-time inter-test dependency
37025         on the potentially-renamed putenv function.
37026
37027 2000-03-30  Paul Eggert  <eggert@twinsun.com>
37028
37029         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
37030         before checking struct stat.st_blksize, so that
37031         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
37032
37033 2000-03-29  Paul Eggert  <eggert@twinsun.com>
37034
37035         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
37036         since strftime.c uses HAVE_STRFTIME to decide whether to use
37037         the underlying strftime.
37038
37039 2000-03-29  Paul Eggert  <eggert@twinsun.com>
37040
37041         * lib/time/strftime.c (my_strftime): Make sure we call the system
37042         strftime, not ourselves, when invoking the underlying strftime.
37043
37044 2000-03-24  Jim Meyering  <meyering@lucent.com>
37045
37046         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
37047         (charset_alias): Define.
37048         (install-exec-local): Factor out common code.
37049         (uninstall-local): Split lines longer than 80.
37050         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
37051         (SUFFIXES): Define.
37052         (.sed.in.sed): New rule.  Don't redirect directly to $@.
37053         (CLEANFILES): Add ref-add.sed and ref-del.sed.
37054
37055 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
37056
37057         * lib/config.charset: Output a line containing "Packages using this
37058         file".
37059         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
37060         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
37061         ref-del.sed): New rules.
37062
37063 2000-03-17  Jim Meyering  <meyering@lucent.com>
37064
37065         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
37066         Otherwise, include <strings.h>
37067
37068 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
37069
37070         * lib/unicodeio.c (utf8_wctomb): New function.
37071         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
37072         format instead of in UCS-4 with platform dependent endianness.
37073
37074 2000-03-10  Jim Meyering  <meyering@lucent.com>
37075
37076         * m4/lib-check.m4: Look for getspnam in -lgen, too.
37077         From Marco Franzen.
37078
37079 2000-03-07  Paul Eggert  <eggert@twinsun.com>
37080
37081         * lib/savedir.c (savedir): Work even if directory size is
37082         negative; this can happen with some screwy NFS configurations.
37083
37084 2000-03-06  Jim Meyering  <meyering@lucent.com>
37085
37086         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
37087         if it's NULL (because we ran out of memory).  From Bruno Haible.
37088
37089 2000-03-05  Jim Meyering  <meyering@lucent.com>
37090
37091         * lib/localcharset.c ("path-concat.h"): Include.
37092         (get_charset_aliases): Use path_concat instead of ANSI string
37093         concatenation.
37094
37095         * lib/unicodeio.h (PARAMS): Define.
37096         Use it to guard prototype.
37097
37098 2000-03-04  Jim Meyering  <meyering@lucent.com>
37099
37100         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
37101         for lib/localcharset.c.
37102
37103 2000-03-04  Jim Meyering  <meyering@lucent.com>
37104
37105         * lib/Makefile.am (install-exec-local): Create $(libdir) before
37106         installing into it.
37107         (uninstall-local): Uncomment this rule so `make distcheck' works
37108         once again.
37109
37110         * lib/unicodeio.c (<errno.h>): Include it.
37111         (errno): Declare if not defined.
37112
37113         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
37114
37115         * lib/config.charset: New version, incorporating remarks from a linux
37116         i18n mailing list.  From Bruno Haible.
37117
37118 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
37119
37120         * m4/codeset.m4: New file.
37121         * m4/iconv.m4: New file.
37122         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
37123
37124 2000-03-03  Jim Meyering  <meyering@lucent.com>
37125
37126         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
37127
37128 2000-03-02  Jim Meyering  <meyering@lucent.com>
37129
37130         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
37131         the messages come out on separate lines.
37132
37133         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
37134         rather than jm_CHECK_DECLARATIONS.
37135         * m4/decl.m4: Remove now-unused file.
37136
37137         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
37138         geteuid.
37139
37140 2000-03-02  Jim Meyering  <meyering@lucent.com>
37141
37142         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
37143
37144 2000-03-01  Jim Meyering  <meyering@lucent.com>
37145
37146         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
37147         * lib/unicodeio.c: Likewise.
37148
37149 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
37150
37151         * lib/config.charset: New file.
37152         * lib/localcharset.c: New file.
37153         * lib/unicodeio.h, lib/unicodeio.c: New files.
37154         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
37155         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
37156         (noinst_HEADERS): Add unicodeio.h.
37157         (all-local, install-exec-local, charset.alias): New targets.
37158
37159 2000-02-28  Paul Eggert  <eggert@twinsun.com>
37160
37161         * lib/quotearg.c (ALERT_CHAR): New macro.
37162         (quotearg_buffer_restyled): Use it.
37163
37164 2000-02-27  Jim Meyering  <meyering@lucent.com>
37165
37166         * m4/check-decl.m4: Add getenv to the list.
37167
37168 2000-02-27  Jim Meyering  <meyering@lucent.com>
37169
37170         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
37171         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
37172
37173         * lib/backupfile.c: Guard inclusion of stdlib.h with
37174         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
37175         Declare malloc if needed.
37176
37177         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
37178         `#ifndef HAVE_DECL..'
37179         now that autoconf always defines the HAVE_DECL_ symbols.
37180         * lib/human.c: Likewise.
37181         * lib/same.c: Likewise.
37182         * lib/strtoumax.c: Likewise.
37183
37184         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
37185         declaration check was not run.
37186         * lib/hash.c: Likewise.
37187         * lib/human.c: Likewise.
37188         * lib/same.c: Likewise.
37189         * lib/strtoumax.c: Likewise.
37190
37191         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
37192         `.', then first look up the entire `.'-containing string as a login
37193         name.
37194
37195 2000-02-23  Jim Meyering  <meyering@lucent.com>
37196
37197         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
37198         in place of my hack.
37199
37200 2000-02-18  Paul Eggert  <eggert@twinsun.com>
37201
37202         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
37203         (textint): New typedef.
37204         (parser_control): Member year changed from int to textint.
37205         All uses changed.
37206         (YYSTYPE): Removed; replaced by %union with int and textint members.
37207         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
37208         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
37209         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
37210         (tSNUMBER, tUNUMBER): Now of type <textintval>.
37211         (date, number, to_year): Use width of number in digits, not its value,
37212         to determine whether it's a 2-digit year, or a 2-digit time.
37213         (yylex): Store number of digits of numeric tokens.
37214         Reported by John Kendall.
37215
37216         (parser_control): Changed from struct parser_control to typedef (for
37217         consistency).  All uses changed.
37218
37219         (tID): Removed; not used.
37220         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
37221
37222 2000-02-14  Paul Eggert  <eggert@twinsun.com>
37223
37224         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
37225         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
37226
37227 2000-02-12  Jim Meyering  <meyering@lucent.com>
37228
37229         * lib/userspec.c (ISDIGIT): Define it.
37230         (isdigit): Remove definition.
37231         (is_number): Use ISDIGIT, not isdigit.
37232         <libintl.h>: Include.
37233         (_ and N_): Define.
37234         (parse_user_spec): Mark translatable strings.
37235
37236 2000-02-10  Jim Meyering  <meyering@lucent.com>
37237
37238         With these changes, nanosleep.[ch] are finally enough like the other
37239         lib/* replacement files to compile on a few more losing systems.
37240
37241         * lib/nanosleep.h: Don't include config.h.
37242         Remove prototype from declaration of nanosleep.
37243         (PARAMS): Remove now-unneeded definition.
37244         * lib/nanosleep.c: #undef nanosleep.
37245         (rpl_nanosleep): Rename from nanosleep.
37246
37247 2000-02-10  Jim Meyering  <meyering@lucent.com>
37248
37249         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
37250         gnu_nanosleep to rpl_nanosleep.
37251
37252 2000-02-09  Jim Meyering  <meyering@lucent.com>
37253
37254         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
37255         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
37256
37257 2000-02-08  Akim Demaille  <akim@epita.fr>
37258
37259         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
37260         `[' and `]' and remove uses of `changequote'.
37261         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
37262         (AC_SYS_LARGEFILE): Likewise.
37263         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
37264         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
37265         of changequote.
37266         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
37267         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
37268         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
37269         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
37270
37271 2000-02-05  Jim Meyering  <meyering@lucent.com>
37272
37273         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
37274         Remove explicit use of AC_HEADER_TIME.  It is required by
37275         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
37276         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
37277         in autoconf whereby the expansion of the latter ended up preceding
37278         the expansion of its prerequisite, AC_HEADER_TIME.
37279         Reported by Volker Borchert.
37280
37281 2000-02-03  Jim Meyering  <meyering@lucent.com>
37282
37283         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
37284
37285 2000-02-03  Jim Meyering  <meyering@lucent.com>
37286
37287         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
37288         rather than with `#if HAVE_UTMPNAME'.
37289
37290 2000-02-02  Jim Meyering  <meyering@lucent.com>
37291
37292         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
37293         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
37294         Reported by Eli Zaretskii.
37295
37296 2000-02-01  Jim Meyering  <meyering@lucent.com>
37297
37298         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
37299
37300 2000-01-31  Jim Meyering  <meyering@lucent.com>
37301
37302         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
37303         functions.  Add the time.h and sys/time.h headers along with the
37304         AC_REQUIRE'ment of AC_HEADER_TIME.
37305
37306 2000-01-31  Jim Meyering  <meyering@lucent.com>
37307
37308         * lib/nanosleep.h (nanosleep): Guard declaration with
37309         `#if ! HAVE_DECL_NANOSLEEP'.
37310         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
37311         the declaration in that vendor's sys/timers.h.
37312         Reported by Christian Krackowizer.
37313
37314         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
37315         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
37316         (ISPRINT): Likewise.
37317         Reported by Tom Tromey.
37318
37319 2000-01-30  Jim Meyering  <meyering@lucent.com>
37320
37321         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
37322
37323         * m4/prereq.m4 (utmp_includes): Define.
37324         Check for ut_user and ut_name members in both struct utmpx
37325         and struct utmp.
37326
37327 2000-01-30  Jim Meyering  <meyering@lucent.com>
37328
37329         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
37330         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
37331         header files where only utmpx.ut_user is declared.
37332
37333         * lib/readutmp.h (UT_USER): Define.
37334
37335 2000-01-29  Jim Meyering  <meyering@lucent.com>
37336
37337         * m4/lib-check.m4: New file containing library-related checks from
37338         fileutils and sh-utils (textutils had none).
37339
37340 2000-01-28  Jim Meyering  <meyering@lucent.com>
37341
37342         * m4/perl.m4: Change format of warning message to look more like that
37343         from the missing script.  Suggestion from François Pinard.
37344
37345 2000-01-25  Jim Meyering  <meyering@lucent.com>
37346
37347         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
37348         well as time.h in the compile check.
37349         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
37350         Fix typo in cross-compiling case: s/yes/no/.
37351
37352 2000-01-23  Jim Meyering  <meyering@lucent.com>
37353
37354         * m4/jm-macros.m4: Move df-related tests here from
37355         fileutils/configure.in
37356
37357         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
37358         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
37359
37360         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
37361         s/space/ac_fsusage_space/.
37362         (jm_FILE_SYSTEM_USAGE): Take two parameters.
37363
37364         * m4/ftruncate.m4: New file (derived from part of
37365         fileutils/configure.in).
37366         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
37367         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
37368
37369         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
37370         AC_SUBST these here, rather than just in sh-util/configure.in, so
37371         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
37372         all the same.
37373         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
37374         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
37375         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
37376         (AC_SUBST(POW_LIBM)): Likewise.
37377         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
37378
37379 2000-01-23  Jim Meyering  <meyering@lucent.com>
37380
37381         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
37382         obstack.c.
37383
37384 2000-01-22  Jim Meyering  <meyering@lucent.com>
37385
37386         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
37387
37388         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
37389
37390         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
37391         configure.in
37392         (AC_CHECK_HEADERS): Likewise for sh-utils.
37393         (AC_CHECK_HEADERS): Likewise for textutils.
37394         Merge the three lists of headers.
37395
37396         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
37397         from fileutils' configure.in.
37398
37399         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
37400         code. Moved tests into their own function (_jm_DECL_HEADERS) in
37401         check-decl.m4.
37402
37403         * m4/check-decl.m4: Use #if rather than #ifdef.
37404         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
37405         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
37406         (_jm_DECL_HEADERS): Define new function.
37407         (jm_CHECK_DECLARATIONS): Require it.
37408
37409 2000-01-22  Jim Meyering  <meyering@lucent.com>
37410
37411         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
37412         [! HAVE_DECL_STRTOULL]: Declare strtoull.
37413         Required for some AIX systems.  Reported by Christian Krackowizer.
37414         [TESTING] (main): New function.
37415
37416         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
37417         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
37418         letters.
37419
37420         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
37421         iswprint.
37422
37423         * lib/strverscmp.c (ISDIGIT): Define.
37424         (strverscmp): Use ISDIGIT, not isdigit.
37425
37426 2000-01-19  Jim Meyering  <meyering@lucent.com>
37427
37428         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
37429         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
37430         defines `struct timespec' in <sys/time.h>
37431
37432         * m4/c-bs-a.m4: Remove uses of changequote altogether.
37433         Thanks to Akim for explaining.
37434
37435 2000-01-17  Paul Eggert  <eggert@twinsun.com>
37436
37437         * lib/nanosleep.c (nanosleep):
37438         Don't use SA_INTERRUPT to decide whether to call sigaction, as
37439         POSIX.1 doesn't require SA_INTERRUPT and some systems
37440         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
37441         it's been part of POSIX.1 since day 1 (in 1988).
37442
37443 2000-01-17  Jim Meyering  <meyering@lucent.com>
37444
37445         * lib/interlock: Remove unused file.  Reported by François Pinard.
37446
37447 2000-01-16  Paul Eggert  <eggert@twinsun.com>
37448
37449         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
37450         alert, backslash, formfeed, and vertical tab unnecessarily in
37451         shell quoting style.
37452
37453 2000-01-16  Jim Meyering  <meyering@lucent.com>
37454
37455         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
37456         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
37457         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
37458         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
37459
37460 2000-01-16  Jim Meyering  <meyering@lucent.com>
37461
37462         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
37463         because the latter didn't work.
37464
37465 2000-01-15  Jim Meyering  <meyering@lucent.com>
37466
37467         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
37468         (AC_REPLACE_FUNCS): Add memcpy and memset.
37469         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
37470         Add strpbrk.
37471         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
37472
37473 2000-01-12  Jim Meyering  <meyering@lucent.com>
37474
37475         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
37476         (jm_PREREQ): Use it.
37477         (jm_PREREQ_READUTMP): New macro.
37478         (jm_PREREQ): Use it.
37479
37480 2000-01-11  Paul Eggert  <eggert@twinsun.com>
37481
37482         Quote multibyte characters correctly.
37483         * m4/c-bs-a.m4: New file.
37484         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
37485         (jm_PREREQ): Use it.
37486
37487 2000-01-11  Paul Eggert  <eggert@twinsun.com>
37488
37489         * m4/uintmax_t.m4: Port to autoconf 2.13.
37490
37491 2000-01-08  Jim Meyering  <meyering@ascend.com>
37492
37493         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
37494         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
37495
37496 2000-01-04  Jim Meyering  <meyering@ascend.com>
37497
37498         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
37499         jm_STRUCT_DIRENT_D_TYPE.
37500         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
37501         jm_STRUCT_DIRENT_D_INO.
37502         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
37503         jm_STRUCT_UTIMBUF.
37504         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
37505         renamings.
37506         * m4/utime.m4: Likewise.
37507
37508         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
37509         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
37510
37511 2000-01-03  Paul Eggert  <eggert@twinsun.com>
37512
37513         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
37514         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
37515
37516 2000-01-02  Jim Meyering  <meyering@ascend.com>
37517
37518         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
37519         remember if this is necessary.
37520
37521 1999-12-26  Jim Meyering  <meyering@ascend.com>
37522
37523         * m4/jm-macros.m4: Use it here.
37524         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
37525
37526 1999-12-23  Jim Meyering  <meyering@ascend.com>
37527
37528         * m4/jm-macros.m4: Check for clock_gettime (moved from
37529         fileutils/configure.in)
37530         Check for gettimeofday.
37531
37532 1999-12-20  Jim Meyering  <meyering@ascend.com>
37533
37534         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
37535         autoconf-2.14a-1999-12-20.
37536
37537 1999-12-19  Jim Meyering  <meyering@ascend.com>
37538
37539         * m4/lstat-slash.m4: New file.
37540         * m4/jm-macros.m4: Use the new macro:
37541         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
37542
37543 1999-12-07  Jim Meyering  <meyering@ascend.com>
37544
37545         * m4/perl.m4: Require that File::Compare be available, too.
37546         Too many systems seem to lack it.
37547
37548         * m4/strftime.m4: Add checks for most of the cpp macros tested in
37549         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
37550
37551 1999-11-18  Paul Eggert  <eggert@twinsun.com>
37552
37553         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
37554         problem with the QNX 4.25 shell, which doesn't propagate exit
37555         status of failed commands inside shell assignments.
37556
37557 1999-11-17  Jim Meyering  <meyering@ascend.com>
37558
37559         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
37560
37561 1999-11-07  Jim Meyering  <meyering@ascend.com>
37562
37563         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
37564
37565 1999-11-06  Jim Meyering  <meyering@ascend.com>
37566
37567         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
37568         * m4/jm-macros.m4 (jm_MACROS): Use it here.
37569
37570 1999-11-05  Jim Meyering  <meyering@ascend.com>
37571
37572         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
37573         configure.in of textutils, fileutils, and sh-utils into this one
37574         (shared between those packages) file.
37575         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
37576         AC_STRUCT_ST_BLKSIZE.
37577
37578 1999-11-03  Jim Meyering  <meyering@ascend.com>
37579
37580         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
37581         of AC_CHECK_TYPE checks includes unistd.h.
37582         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
37583         Suggestion from Akim Demaille.
37584
37585 1999-10-30  Jim Meyering  <meyering@ascend.com>
37586
37587         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
37588         m4-quoted string.
37589         * m4/ls-mntd-fs.m4: Likewise.
37590         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
37591         * m4/jm-winsz1.m4: Likewise.
37592
37593         * m4/const.m4: Remove file, since the fix made it into the experimental
37594         version of autoconf.
37595         * m4/mktime.m4: Likewise.
37596
37597         * m4/check-type.m4: Remove file, now that the latest version of
37598         AC_CHECK_TYPE takes a third arg to specify additional #includes.
37599
37600         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
37601         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
37602         AC_CHECK_TYPE.
37603
37604 1999-10-04  Jim Meyering  <meyering@ascend.com>
37605
37606         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
37607
37608 1999-09-22  Paul Eggert  <eggert@twinsun.com>
37609
37610         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
37611         2.95.1 bug with HP-UX 10.20.
37612
37613 1999-09-17  Jim Meyering  <meyering@ascend.com>
37614
37615         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
37616         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
37617         due to missing strdup (against sh-utils-2.0).
37618
37619 1999-08-29  Jim Meyering  <meyering@ascend.com>
37620
37621         * m4/jm-macros.m4: Require jm_BISON.
37622         * m4/bison.m4: New file.
37623
37624 1999-08-17  Paul Eggert  <eggert@twinsun.com>
37625
37626         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
37627         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
37628
37629 1999-08-05  Jim Meyering  <meyering@ascend.com>
37630
37631         * m4/getline.m4: Rename test file from conftestdata to conftest.data
37632         to avoid conflicts with `conftest' on 8+3 filesystems.
37633         Suggestion from Eli Zaretskii.
37634
37635 1999-08-04  Jim Meyering  <meyering@ascend.com>
37636
37637         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
37638         fileutils and sh-utils (textutils's getline test was inadequate).
37639         (AM_FUNC_GETLINE): Run this test.
37640         (AC_CHECK_FUNCS): Check for getdelim.
37641         Reported by Bob Proulx.
37642
37643 1999-08-02  Jim Meyering  <meyering@ascend.com>
37644
37645         * m4/jm-macros.m4: Add a comment.
37646
37647 1999-08-01  Paul Eggert  <eggert@twinsun.com>
37648
37649         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
37650         <inttypes.h> defines strtoumax as a macro (and not as a
37651         function).
37652
37653 1999-08-01  Paul Eggert  <eggert@twinsun.com>
37654
37655         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
37656         that we can shift, multiply and divide unsigned long long
37657         values; Ultrix cc can't do it.
37658
37659 1999-08-01  Paul Eggert  <eggert@twinsun.com>
37660
37661         * m4/mktime.m4: New file, which is a preview of what should appear
37662         in the next public autoconf release.
37663
37664 1999-08-01  Paul Eggert  <eggert@twinsun.com>
37665
37666         * m4/lfs.m4: Remove this file.
37667         * m4/largefile.m4: New file.  It contains the old contents of
37668         lfs.m4, except that all names with prefix AC_LFS have been
37669         changed to use the prefix AC_SYS_LARGEFILE instead, to be
37670         compatible with future autoconf versions.  Also, some minor m4
37671         quoting problems have been fixed.
37672
37673 1999-08-01  Paul Eggert  <eggert@twinsun.com>
37674
37675         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
37676         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
37677         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
37678         and simplify the shell code.
37679
37680 1999-08-01  Jim Meyering  <meyering@ascend.com>
37681
37682         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
37683         m4.
37684
37685 1999-07-20  Jim Meyering  <meyering@ascend.com>
37686
37687         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
37688
37689 1999-07-15  Jim Meyering  <meyering@ascend.com>
37690
37691         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
37692
37693 1999-05-22  Jim Meyering  <meyering@ascend.com>
37694
37695         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
37696
37697 1999-05-20  Jim Meyering  <meyering@ascend.com>
37698
37699         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
37700         Add a colon after each `then' in case $4 is empty.
37701
37702 1999-05-16  Jim Meyering  <meyering@ascend.com>
37703
37704         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
37705
37706 1999-05-10  Jim Meyering  <meyering@ascend.com>
37707
37708         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
37709
37710         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
37711         AC_FUNC_MKTIME.
37712
37713 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
37714
37715         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
37716
37717 1999-05-04  Paul Eggert  <eggert@twinsun.com>
37718
37719         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
37720         not CPPFLAGS, so that linking works correctly in IRIX.
37721
37722 1999-04-30  Paul Eggert  <eggert@twinsun.com>
37723
37724         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
37725
37726 1999-04-20  Paul Eggert  <eggert@twinsun.com>
37727
37728         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
37729         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
37730         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
37731         jm_AC_TYPE_UNSIGNED_LONG_LONG.
37732         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
37733
37734         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
37735
37736 1999-04-20  Jim Meyering  <meyering@ascend.com>
37737
37738         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
37739         AC_REPLACE xstroull if necessary.  From Paul Eggert.
37740         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
37741
37742 1999-04-18  Jim Meyering  <meyering@ascend.com>
37743
37744         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
37745         * m4/jm-macros.m4: Use it.
37746
37747 1999-04-06  Jim Meyering  <meyering@ascend.com>
37748
37749         * m4/strftime.m4: Remove test for %f.
37750
37751 1999-03-29  Jim Meyering  <meyering@ascend.com>
37752
37753         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
37754         superset of the AC_TYPE_* checks in the textutils, fileutils,
37755         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
37756         AC_TYPE_PID_T.
37757
37758 1999-03-28  Jim Meyering  <meyering@ascend.com>
37759
37760         * m4/jm-macros.m4: Define GNU_PACKAGE here.
37761         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
37762         replaced e.g., in the *.sh files of the sh-utils.
37763
37764 1999-03-20  Jim Meyering  <meyering@ascend.com>
37765
37766         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
37767         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
37768         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
37769
37770 1999-03-19  Jim Meyering  <meyering@ascend.com>
37771
37772         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
37773
37774 1999-03-12  Jim Meyering  <meyering@ascend.com>
37775
37776         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
37777
37778 1999-03-07  Jim Meyering  <meyering@ascend.com>
37779
37780         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
37781         declared.
37782
37783 1999-02-17  Jim Meyering  <meyering@ascend.com>
37784
37785         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
37786         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
37787
37788 1999-02-07  Jim Meyering  <meyering@ascend.com>
37789
37790         * m4/group-member.m4: New file -- extracted from sh-utils'
37791         configure.in.
37792
37793         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
37794         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
37795
37796 1999-02-06  Jim Meyering  <meyering@ascend.com>
37797
37798         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
37799         * m4/fnmatch.m4: Likewise.
37800         * m4/getgroups.m4: Likewise.
37801         * m4/lstat.m4: Likewise.
37802         * m4/malloc.m4: Likewise.
37803         * m4/putenv.m4: Likewise.
37804         * m4/realloc.m4: Likewise.
37805         * m4/regex.m4: Likewise.
37806         * m4/stat.m4: Likewise.
37807         * m4/strftime.m4: Likewise.
37808         Suggestion from Alain Magloire.
37809
37810         * m4/chown.m4: Use `.$ac_objext', not `.o'.
37811         * m4/fnmatch.m4: Likewise.
37812         * m4/getgroups.m4: Likewise.
37813         * m4/getline.m4: Likewise.
37814         * m4/lstat.m4: Likewise.
37815         * m4/malloc.m4: Likewise.
37816         * m4/memcmp.m4: Likewise.
37817         * m4/putenv.m4: Likewise.
37818         * m4/realloc.m4: Likewise.
37819         * m4/regex.m4: Likewise.
37820         * m4/stat.m4: Likewise.
37821         * m4/strftime.m4: Likewise.
37822         Suggestion from Alain Magloire.
37823
37824         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
37825         an argument.
37826
37827         * m4/regex.m4: Add a run-time Test for proper operation of
37828         re_compile_pattern.
37829
37830 1999-01-31  Jim Meyering  <meyering@ascend.com>
37831
37832         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
37833
37834 1999-01-30  Jim Meyering  <meyering@ascend.com>
37835
37836         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
37837
37838         * m4/jm-mktime.m4: Make this a wrapper around the official
37839         AM_FUNC_MKTIME rather than my private copy, now that the official one
37840         is up to date.
37841         * m4/mktime.m4: Remove file.
37842
37843         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
37844         * m4/uptime.m4: Likewise.
37845         * m4/uintmax_t.m4: Likewise.
37846
37847 1999-01-28  Jim Meyering  <meyering@ascend.com>
37848
37849         * m4/jm-macros.m4: Use jm_AFS.
37850         * m4/afs.m4: New file (from fileutils' configure.in).
37851
37852         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
37853         * m4/chown.m4: Likewise.
37854         * m4/d-ino.m4: Likewise.
37855         * m4/d-type.m4: Likewise.
37856         * m4/fnmatch.m4: Likewise.
37857         * m4/getgroups.m4: Likewise.
37858         * m4/gettext.m4: Likewise.
37859         * m4/jm-mktime.m4: Likewise.
37860         * m4/jm-winsz2.m4: Likewise.
37861         * m4/lcmessage.m4: Likewise.
37862         * m4/ls-mntd-fs.m4: Likewise.
37863         * m4/malloc.m4: Likewise.
37864         * m4/memcmp.m4: Likewise.
37865         * m4/putenv.m4: Likewise.
37866         * m4/realloc.m4: Likewise.
37867         * m4/st_mtim.m4: Likewise.
37868         * m4/strftime.m4: Likewise.
37869
37870 1999-01-16  Jim Meyering  <meyering@ascend.com>
37871
37872         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
37873         (ARGMATCH_DIE_DECL): Define.
37874
37875 1999-01-12  Jim Meyering  <meyering@ascend.com>
37876
37877         * m4/Makefile.am.in: Rewrite to avoid using fmt.
37878         Reported by Lars Hecking.
37879
37880 1999-01-10  Jim Meyering  <meyering@ascend.com>
37881
37882         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
37883         gross kludge.
37884         * m4/inttypes_h.m4: Likewise.
37885         * m4/lstat.m4: Likewise.
37886         * m4/malloc.m4: Likewise.
37887         * m4/readdir.m4: Likewise.
37888         * m4/realloc.m4: Likewise.
37889         * m4/st_dm_mode.m4: Likewise.
37890         * m4/stat.m4: Likewise.
37891         * m4/utimbuf.m4: Likewise.
37892         * m4/utimes.m4: Likewise.
37893
37894         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
37895         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
37896         comments in config.h.in are meaningful.
37897
37898         * m4/jm-macros.m4: Require autoconf-2.13 here.
37899
37900         * m4/regex.m4: By default, don't use the included regex.c on systems
37901         with glibc 2.  Suggestion from Uli Drepper.
37902
37903 1999-01-02  Jim Meyering  <meyering@ascend.com>
37904
37905         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
37906
37907 1998-12-18  Jim Meyering  <meyering@ascend.com>
37908
37909         * m4/Makefile.am.in (Makefile.am): Simplify rule.
37910         Based on a suggestion from Lars Hecking.
37911
37912 1998-11-16  Paul Eggert  <eggert@twinsun.com>
37913
37914         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
37915
37916 1998-11-16  Jim Meyering  <meyering@ascend.com>
37917
37918         * m4/lfs.m4: Double-quote the `uname...` expression.
37919
37920 1998-11-14  Jim Meyering  <meyering@ascend.com>
37921
37922         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
37923         * m4/stat.m4: Likewise.
37924
37925 1998-11-03  Jim Meyering  <meyering@ascend.com>
37926
37927         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
37928         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
37929
37930 1998-10-18  Jim Meyering  <meyering@ascend.com>
37931
37932         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
37933
37934 1998-10-17  Jim Meyering  <meyering@ascend.com>
37935
37936         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
37937         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
37938         calls for those previously hard-coded headers.  Instead, take a new
37939         parameter.
37940         (jm_CHECK_DECLARATIONS): Reflect interface change.
37941         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
37942         (jm_CHECK_DECL_LOCALTIME_R): New macro.
37943
37944         * m4/mktime.m4: Test for spring-forward gap before long-running test.
37945
37946 1998-10-14  Jim Meyering  <meyering@ascend.com>
37947
37948         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
37949         instead of "TZ=America/Vancouver".  From Paul Eggert.
37950
37951 1998-10-11  Jim Meyering  <meyering@ascend.com>
37952
37953         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
37954         This adds a test for a recently added compatibility fix for mktime.c.
37955         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
37956
37957 1998-09-27  Jim Meyering  <meyering@ascend.com>
37958
37959         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
37960
37961         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
37962         ../configure.in, including a change from Gordon Matzigkeit to allow
37963         cross-compiling for the Hurd.
37964
37965         * m4/glibc.m4: New file/macro to test for the GNU C Library
37966         versions 1 and 2.  From Gordon Matzigkeit.
37967         Indent.
37968
37969 1998-09-21  Jim Meyering  <meyering@ascend.com>
37970
37971         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
37972
37973 1998-08-18  Paul Eggert  <eggert@twinsun.com>
37974
37975         Port nanosecond-resolution times to UnixWare 2.1.2 and
37976         pedantic Solaris 2.6.
37977
37978         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
37979         AC_STRUCT_ST_MTIM.
37980         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
37981         Generate name of ns member, instead of just 1 or undef.
37982         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
37983
37984 1998-08-15  Jim Meyering  <meyering@ascend.com>
37985
37986         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
37987         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
37988         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
37989         instead of jm_TYPE_SSIZE_T.
37990
37991 1998-08-12  Jim Meyering  <meyering@ascend.com>
37992
37993         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
37994
37995 1998-08-02  Jim Meyering  <meyering@ascend.com>
37996
37997         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
37998         in acconfig.h manually.
37999
38000 1998-07-31  Paul Eggert  <eggert@twinsun.com>
38001
38002         * m4/st_mtim.m4: New file.
38003
38004 1998-07-28  Jim Meyering  <meyering@ascend.com>
38005
38006         * m4/utimes.m4: Undef stat.
38007
38008 1998-07-25  Jim Meyering  <meyering@ascend.com>
38009
38010         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
38011         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
38012
38013 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
38014
38015         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
38016         uid and gid actually remain unchanged.
38017
38018 1998-07-07  Jim Meyering  <meyering@ascend.com>
38019
38020         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
38021
38022 1998-07-04  Jim Meyering  <meyering@ascend.com>
38023
38024         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
38025         to prove that this macro can be used in packages without regex.c.
38026
38027 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
38028
38029         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
38030         is to be used.
38031
38032 1998-07-03  Jim Meyering  <meyering@ascend.com>
38033
38034         * m4/gettext.m4: Add -lintl if it's found to be necessary.
38035
38036         * m4/gettext.m4: New file -- from gettext-0.10.35.
38037         * m4/lcmessage.m4: Likewise.
38038         * m4/progtest.m4: Likewise.
38039
38040         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
38041         * m4/jm-macros.m4: Require the new macro.
38042
38043 1998-06-29  Jim Meyering  <meyering@ascend.com>
38044
38045         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
38046         for the definition of NGROUPS (used in a system header included
38047         by sys/mount.h).
38048
38049 1998-06-28  Jim Meyering  <meyering@ascend.com>
38050
38051         * m4/ls-mntd-fs.m4: New file.
38052         * m4/fstypename.m4: New file.
38053
38054         * m4/jm-macros.m4: Require the new macro.
38055         * m4/jm-glibc-io.m4: New file.
38056
38057 1998-05-19  Jim Meyering  <meyering@ascend.com>
38058
38059         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
38060         * m4/lchown.m4: New file.
38061
38062         * m4/Makefile.am.in: New file.
38063         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
38064
38065 1998-05-14  Jim Meyering  <meyering@ascend.com>
38066
38067         * m4/Makefile.am (EXTRA_DIST): Add them.
38068         * m4/jm-macros.m4: New file.
38069         * m4/utimbuf.m4: New file.
38070
38071 1998-05-12  Jim Meyering  <meyering@ascend.com>
38072
38073         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
38074
38075 1998-05-11  Jim Meyering  <meyering@ascend.com>
38076
38077         * m4/isc-posix.m4: New file.
38078
38079 1998-05-10  Jim Meyering  <meyering@ascend.com>
38080
38081         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
38082
38083 1998-05-09  Jim Meyering  <meyering@ascend.com>
38084
38085         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
38086         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
38087         with automake.
38088
38089         * m4/ssize_t.m4: New file.
38090         * m4/mktime.m4: Remove file -- the new automake has this now.
38091
38092 1998-04-26  Jim Meyering  <meyering@ascend.com>
38093
38094         * m4/assert.m4: New file.
38095         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
38096
38097 1998-04-05  Jim Meyering  <meyering@ascend.com>
38098
38099         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
38100         (jm_PREREQ): Use it here.
38101
38102 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
38103
38104         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
38105         in acconfig.h.
38106
38107 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
38108
38109         * m4/prereq.m4: New file.
38110         * m4/error.m4: New file.
38111         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
38112
38113 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
38114
38115         * m4/getline.m4: Don't set am_cv_func_working_getline before the
38116         cache-check for the same variable -- that defeated the purpose of
38117         the test; the test program was never run.  This was a problem only
38118         on systems with losing getline functions -- HP-UX 10.20 is one.
38119         Reported by Bjorn Helgaas.
38120
38121 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
38122
38123         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
38124
38125 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
38126
38127         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
38128
38129         * m4/const.m4: New file.  Use an initializer in this declaration
38130         typedef int charset[2]; const charset x;
38131         Reported by Bob Glickstein.
38132
38133 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
38134
38135         * m4/chown.m4: Fix reversed types on -1 args to chown.
38136         From Kaveh Ghazi.
38137
38138 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
38139
38140         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
38141         Add lseek and memchr.
38142
38143         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
38144         T.E.Dickey <dickey@clark.net> said that some older preprocessors
38145         have a 20-character limit on names.
38146
38147 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
38148
38149         * m4/inttypes_h.m4: New file.
38150         * m4/uintmax_t.m4: New file.
38151         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
38152
38153 Copyright (C) 1997-2008 Free Software Foundation, Inc.
38154 Copying and distribution of this file, with or without modification,
38155 are permitted provided the copyright notice and this notice are preserved.